/*
Theme Name: Ammonite Sports Therapy
Template: hello-elementor
Version: 1.0
*/

@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600&family=Montserrat:wght@600;700;800&display=swap');


/* =========================================================
   GLOBAL BRAND STYLES
   Change ONLY these values to update the website globally
========================================================= */
:root {
    --navy: #071C2A;
    --gold: #DFA91F;
    --body-text: #183247;

    --navy-rgb: 7, 28, 42;
    --gold-rgb: 223, 169, 31;

    --font-body: 'Inter', sans-serif;
    --font-heading: 'Montserrat', sans-serif;
}

body {
    font-family: var(--font-body);
    font-weight: 400;
    color: var(--body-text);
}

p {
    font-family: var(--font-body);
    color: var(--body-text);
}

h1,
h2,
h3,
h4,
h5,
h6 {
    font-family: var(--font-heading) !important;
    font-weight: 800!important;
}

.ast-header,
.ast-footer,
button,
.ast-btn {
    font-family: var(--font-heading);
}

.info {
	font-weight:700;
}
.who-card{
    position:relative;
    display:block;
    overflow:hidden;
    border-radius:22px;
    aspect-ratio:4/5;
    text-decoration:none;
    color:#fff;
    background:var(--navy);
    cursor:pointer;
}

.who-card img{
    width:100%;
    height:100%;
    object-fit:cover;
    transition:.7s ease;
}

.who-overlay{
    position:absolute;
    inset:0;
    background:linear-gradient(
        to top,
        rgba(0,0,0,.88) 8%,
        rgba(0,0,0,.45) 45%,
        rgba(0,0,0,.05) 100%
    );
    transition:.5s;
}

.who-content{
    position:absolute;
    left:30px;
    right:30px;
    bottom:28px;
    transition:.45s ease;
}

.who-small{
    display:inline-block;
    font-size:11px;
    letter-spacing:2px;
    text-transform:uppercase;
    color:var(--gold);
    margin-bottom:10px;
}

.who-content h3{
    margin:0;
    font-size:34px;
    font-weight:700;
    line-height:1.05;
}

.who-intro{
    margin:12px 0 0;
    font-size:16px;
    opacity:.9;
}

.who-more{
    margin-top:28px;
    opacity:0;
    max-height:0;
    overflow:hidden;
    transform:translateY(20px);
    transition:.45s ease;
}

.who-more p{
    margin:10px 0;
    font-size:15px;
    color:#f2f2f2;
}

.who-card:hover img{
    transform:scale(1.08);
}

.who-card:hover .who-overlay{
    background:linear-gradient(
        to top,
        rgba(0,0,0,.95) 0%,
        rgba(0,0,0,.65) 55%,
        rgba(0,0,0,.15) 100%
    );
}

.who-card:hover .who-content{
    bottom:40px;
}

.who-card:hover .who-more{
    opacity:1;
    max-height:220px;
    transform:translateY(0);
}
.ast-location-box {
    display: grid;
    grid-template-columns: 48% 52%;
    width: 100%;
    
    overflow: hidden;
    min-height: 255px;
}

.ast-location-box__image {
    min-height: 255px;
    overflow: hidden;
}

.ast-location-box__image img {
    width: 100%;
    height: 100%;
    min-height: 255px;
    display: block;
    object-fit: cover;
    transition: transform 0.6s ease;
}

.ast-location-box:hover .ast-location-box__image img {
    transform: scale(1.04);
}

.ast-location-box__content {
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding: 34px 38px;
}

.ast-location-box__heading {
    display: flex;
    align-items: center;
    gap: 9px;
    margin-bottom: 10px;
}

.ast-location-box__pin {
    color: var(--gold);
    font-size: 13px;
    line-height: 1;
}

.ast-location-box__heading h3 {
    margin: 0;
    color: var(--gold);
    font-size: 20px;
    font-weight: 700;
    line-height: 1.1;
    text-transform: uppercase;
}

.ast-location-box__content h4 {
    margin: 0 0 10px;
    color: var(--navy);
    font-size: 17px;
    font-weight: 700;
    line-height: 1.3;
}

.ast-location-box__content p {
    margin: 0 0 24px;
    color: var(--body-text);
    font-size: 15px;
    line-height: 1.65;
}

.ast-location-box__button {
    display: inline-flex;
    align-items: center;
    justify-content: space-between;
    gap: 24px;
    width: fit-content;
    padding: 13px 18px;
    background: var(--gold);
    color: #ffffff;
    text-decoration: none;
    text-transform: uppercase;
    font-size: 12px;
    font-weight: 700;
    letter-spacing: 0.4px;
    transition:
        background 0.3s ease,
        transform 0.3s ease;
}

.ast-location-box__button:hover {
    background: var(--navy);
    color: #ffffff;
    transform: translateY(-2px);
}

.ast-location-box__button span {
    font-size: 17px;
    line-height: 1;
}

/* Tablet and mobile */

@media (max-width: 767px) {
    .ast-location-box {
        grid-template-columns: 1fr;
    }

    .ast-location-box__image,
    .ast-location-box__image img {
        min-height: 220px;
        height: 220px;
    }

    .ast-location-box__content {
        padding: 28px 25px 32px;
    }

    .ast-location-box__heading h3 {
        font-size: 19px;
    }
}

.ast-footer {
    --ast-navy: var(--navy);
    --ast-navy-light: var(--navy);
    --ast-gold: var(--gold);
    --ast-cream: #f7f4ee;
    --ast-white: #ffffff;
    --ast-text-light: rgba(255, 255, 255, 0.74);

    background: var(--ast-navy);
    color: var(--ast-white);
    overflow: hidden;
}


/* CTA */

.ast-footer__cta {
    background: var(--ast-cream);
    color: var(--ast-navy);
    padding: 48px 6%;
}

.ast-footer__cta-content {
    width: 100%;
    max-width: 1400px;
    margin: 0 auto;

    display: grid;
    grid-template-columns: 1.15fr 1fr auto;
    align-items: center;
    gap: 50px;
}

.ast-footer__eyebrow {
    display: block;
    margin-bottom: 8px;

    color: var(--ast-gold);
    font-size: 12px;
    font-weight: 700;
    letter-spacing: 1.8px;
}

.ast-footer__cta h2 {
    margin: 0;
    color: var(--ast-navy);
    font-size: clamp(30px, 3vw, 48px);
    line-height: 1.05;
}

.ast-footer__cta p {
    margin: 0;
    max-width: 460px;

    color: var(--body-text);
    font-size: 17px;
    line-height: 1.7;
}

.ast-footer__cta-buttons {
    display: flex;
    gap: 12px;
}

.ast-footer__button {
    display: inline-flex;
    align-items: center;
    justify-content: space-between;
    gap: 22px;

    min-height: 52px;
    padding: 0 22px;

    text-decoration: none;
    text-transform: uppercase;
    font-size: 12px;
    font-weight: 600;
    letter-spacing: 0.5px;

    transition:
        background 0.3s ease,
        color 0.3s ease,
        transform 0.3s ease;
}

.ast-footer__button span {
    font-size: 18px;
    line-height: 1;
}

.ast-footer__button--gold {
    background: var(--ast-gold);
    color: var(--ast-navy);
    border: 1px solid var(--ast-gold);
}

.ast-footer__button--outline {
    background: transparent;
    color: var(--ast-navy);
    border: 1px solid rgba(var(--navy-rgb), 0.45);
}

.ast-footer__button:hover {
    transform: translateY(-2px);
}

.ast-footer__button--gold:hover {
    background: var(--ast-navy);
    border-color: var(--ast-navy);
    color: var(--ast-white);
}

.ast-footer__button--outline:hover {
    background: var(--ast-navy);
    border-color: var(--ast-navy);
    color: var(--ast-white);
}


/* Main footer */

.ast-footer__main {
    padding: 70px 6% 60px;
}

.ast-footer__grid {
    width: 100%;
    max-width: 1400px;
    margin: 0 auto;

    display: grid;
    grid-template-columns: 1.3fr 0.75fr 0.85fr 1.25fr;
    gap: 70px;
}

.ast-footer__brand {
    padding-right: 30px;
}

.ast-footer__logo {
    display: block;
    width: 170px;
    max-width: 100%;
    height: auto;
    margin-bottom: 32px;
}

.ast-footer__brand > p {
    margin: 0;
    max-width: 330px;

    color: var(--ast-text-light);
    font-size: 15px;
    line-height: 1.75;
}

.ast-footer__socials {
    display: flex;
    gap: 10px;
    margin-top: 26px;
}

.ast-footer__socials a {
    display: flex;
    align-items: center;
    justify-content: center;

    width: 40px;
    height: 40px;

    border: 1px solid rgba(var(--gold-rgb), 0.65);
    border-radius: 50%;

    color: var(--ast-white);
    text-decoration: none;
    font-size: 15px;
    font-weight: 700;

    transition:
        background 0.3s ease,
        color 0.3s ease,
        border-color 0.3s ease;
}

.ast-footer__socials a:hover {
    background: var(--ast-gold);
    border-color: var(--ast-gold);
    color: var(--ast-navy);
}

.ast-footer__column h3 {
    position: relative;
    margin: 0 0 28px;
    padding-bottom: 15px;

    color: var(--ast-white);
    font-size: 14px;
    font-weight: 700;
    letter-spacing: 1px;
    text-transform: uppercase;
}

.ast-footer__column h3::after {
    content: "";
    position: absolute;
    left: 0;
    bottom: 0;

    width: 34px;
    height: 2px;

    background: var(--ast-gold);
}

.ast-footer__column ul {
    margin: 0;
    padding: 0;
    list-style: none;
}

.ast-footer__column li {
    margin-bottom: 13px;
}

.ast-footer__column li a {
    color: var(--ast-text-light);
    text-decoration: none;
    font-size: 15px;

    transition:
        color 0.3s ease,
        padding-left 0.3s ease;
}

.ast-footer__column li a:hover {
    color: var(--ast-gold);
    padding-left: 4px;
}


/* Contact */

.ast-footer__contact > a {
    display: block;
    margin-bottom: 18px;

    color: var(--ast-white);
    text-decoration: none;
    font-size: 15px;
    line-height: 1.5;
    overflow-wrap: anywhere;
}

.ast-footer__contact > a span {
    display: block;
    margin-bottom: 3px;

    color: var(--ast-gold);
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 1px;
    text-transform: uppercase;
}

.ast-footer__locations {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 22px;

    margin-top: 28px;
    padding-top: 25px;

    border-top: 1px solid rgba(255, 255, 255, 0.12);
}

.ast-footer__locations p {
    margin: 0;

    color: var(--ast-text-light);
    font-size: 13px;
    line-height: 1.65;
}

.ast-footer__locations strong {
    color: var(--ast-white);
    font-size: 14px;
}


/* Bottom bar */

.ast-footer__bottom {
    width: calc(100% - 12%);
    max-width: 1400px;
    margin: 0 auto;
    padding: 25px 0 28px;

    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 30px;

    border-top: 1px solid rgba(255, 255, 255, 0.12);
}

.ast-footer__bottom p {
    margin: 0;
    color: rgba(255, 255, 255, 0.55);
    font-size: 13px;
}

.ast-footer__legal {
    display: flex;
    align-items: center;
    gap: 22px;

    color: rgba(255, 255, 255, 0.55);
    font-size: 13px;
}

.ast-footer__legal a {
    color: rgba(255, 255, 255, 0.7);
    text-decoration: none;
}

.ast-footer__legal a:hover {
    color: var(--ast-gold);
}

.ast-footer__legal span a {
    color: var(--ast-gold);
}


/* Tablet */

@media (max-width: 1100px) {

    .ast-footer__cta-content {
        grid-template-columns: 1fr 1fr;
    }

    .ast-footer__cta-buttons {
        grid-column: 1 / -1;
    }

    .ast-footer__grid {
        grid-template-columns: 1.2fr 1fr 1fr;
        gap: 50px;
    }

    .ast-footer__contact {
        grid-column: 1 / -1;
    }

    .ast-footer__locations {
        max-width: 600px;
    }
}


/* Mobile */

@media (max-width: 767px) {

    .ast-footer__cta {
        padding: 40px 6%;
    }

    .ast-footer__cta-content {
        grid-template-columns: 1fr;
        gap: 22px;
    }

    .ast-footer__cta-buttons {
        grid-column: auto;
        flex-direction: column;
    }

    .ast-footer__button {
        width: 100%;
    }

    .ast-footer__main {
        padding: 55px 6% 40px;
    }

    .ast-footer__grid {
        grid-template-columns: 1fr;
        gap: 42px;
    }

    .ast-footer__brand {
        padding-right: 0;
    }

    .ast-footer__contact {
        grid-column: auto;
    }

    .ast-footer__locations {
        grid-template-columns: 1fr;
    }

    .ast-footer__bottom {
        width: 88%;
        flex-direction: column;
        align-items: flex-start;
    }

    .ast-footer__legal {
        flex-direction: column;
        align-items: flex-start;
        gap: 10px;
    }
}

.ast-header {
    --ast-navy: var(--navy);
    --ast-navy-light: var(--navy);
    --ast-gold: var(--gold);
    --ast-white: #ffffff;
    --ast-border: rgba(var(--navy-rgb), 0.12);

    position: relative;
    z-index: 999;
    width: 100%;
    font-family: inherit;
}


/* Top bar */

.ast-header__top {
    background: var(--ast-navy);
    color: var(--ast-white);
}

.ast-header__top-inner {
    width: 88%;
    max-width: 1400px;
    min-height: 44px;
    margin: 0 auto;

    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 30px;
}

.ast-header__contact {
    display: flex;
    align-items: center;
    gap: 28px;
}

.ast-header__contact a {
    display: inline-flex;
    align-items: center;
    gap: 7px;

    color: white;
    text-decoration: none;
    font-size: 13px;

    transition: color 0.25s ease;
}

.ast-header__contact a span {
    color: white;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 0.8px;
    text-transform: uppercase;
}

.ast-header__contact a:hover {
    color: var(--ast-gold);
}

.ast-header__top-links {
    display: flex;
    align-items: center;
    gap: 13px;

    color: rgba(255, 255, 255, 0.62);
    font-size: 12px;
}

.ast-header__top-links > a {
    display: flex;
    align-items: center;
    justify-content: center;

    width: 25px;
    height: 25px;

    border: 1px solid rgba(255, 255, 255, 0.22);
    border-radius: 50%;

    color: var(--ast-white);
    text-decoration: none;
    font-size: 11px;
    font-weight: 700;

    transition:
        background 0.25s ease,
        border-color 0.25s ease,
        color 0.25s ease;
}

.ast-header__top-links > a:hover {
    background: var(--ast-gold);
    border-color: var(--ast-gold);
    color: var(--ast-navy);
}


/* Main header */

.ast-header__main {
    position: relative;
    background: rgba(255, 255, 255, 0.98);
    border-bottom: 1px solid var(--ast-border);
    box-shadow: 0 8px 30px rgba(var(--navy-rgb), 0.06);
}

.ast-header__main-inner {
    position: relative;

    width: 88%;
    max-width: 1400px;
    min-height: 112px;
    margin: 0 auto;

    display: flex;
    align-items: center;
    gap: 40px;
}


/* Logo */

.ast-header__logo {
    position: relative;
    z-index: 3;

    display: flex;
    align-items: center;
    justify-content: center;

    width: 145px;
    min-width: 145px;
    height: 145px;

    margin-top: 18px;
    margin-bottom: -46px;

    border-radius: 50%;
    background: var(--ast-white);

    box-shadow: 0 12px 32px rgba(var(--navy-rgb), 0.13);
}

.ast-header__logo img {
    display: block;
    width: 134px;
    height: 134px;
    object-fit: contain;
    border-radius: 50%;
}


/* Navigation */

.ast-header__nav {
    margin-left: auto;
}

.ast-header__nav > ul {
    display: flex;
    align-items: center;
    gap: 34px;

    margin: 0;
    padding: 0;
    list-style: none;
}

.ast-header__nav li {
    position: relative;
}

.ast-header__nav > ul > li > a {
    position: relative;

    display: flex;
    align-items: center;
    gap: 5px;

    padding: 43px 0;

    color: var(--ast-navy);
    text-decoration: none;
    font-size: 15px!important;
    font-weight: 700!important;
    letter-spacing: 0.15px;

    transition: color 0.25s ease;
}

.ast-header__nav > ul > li > a::after {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    bottom: 25px;

    width: 0;
    height: 2px;
    margin: auto;

    background: var(--ast-gold);

    transition: width 0.25s ease;
}

.ast-header__nav > ul > li:hover > a,
.ast-header__nav > ul > li > a:hover {
    color: var(--ast-gold);
}

.ast-header__nav > ul > li:hover > a::after {
    width: 100%;
}

.ast-header__arrow {
    position: relative;
    top: -1px;
    font-size: 12px;
}


/* Dropdowns */

.ast-header__dropdown {
    position: absolute;
    top: calc(100% - 15px);
    left: -24px;

    width: 250px;
    margin: 0;
    padding: 12px 0;

    list-style: none;

    background: var(--ast-white);
    border-top: 3px solid var(--ast-gold);
    box-shadow: 0 18px 45px rgba(var(--navy-rgb), 0.14);

    opacity: 0;
    visibility: hidden;
    transform: translateY(12px);

    transition:
        opacity 0.25s ease,
        visibility 0.25s ease,
        transform 0.25s ease;
}

.ast-header__has-dropdown:hover .ast-header__dropdown {
    opacity: 1;
    visibility: visible;
    transform: translateY(0);
}

.ast-header__dropdown li a {
    display: block;
    padding: 14px 24px;

    color: var(--ast-navy);
    text-decoration: none;
    font-size: 14px;
    font-weight: 600;

    transition:
        background 0.25s ease,
        color 0.25s ease,
        padding-left 0.25s ease;
}

.ast-header__dropdown li a:hover {
    padding-left: 28px;
    background: #f7f4ee;
    color: var(--ast-gold);
}


/* Booking button */

.ast-header__book {
    display: inline-flex;
    align-items: center;
    justify-content: space-between;
    gap: 28px;

    min-height: 56px;
    padding: 0 24px;

    background: var(--gold);
    color: var(--ast-navy);

    text-decoration: none;
    text-transform: uppercase;
    white-space: nowrap;

    font-size: 12px!important;
    font-weight: 600!important;
    letter-spacing: 0.35px;

    transition:
        background 0.3s ease,
        color 0.3s ease,
        transform 0.3s ease;
}

.ast-header__book span {
    font-size: 18px;
    line-height: 1;
}

.ast-header__book:hover {
    background: var(--ast-navy);
    color: var(--ast-white);
    transform: translateY(-2px);
}


/* CSS-only mobile menu controls */

.ast-header__menu-toggle,
.ast-header__hamburger {
    display: none;
}


/* Optional sticky header */

@media (min-width: 1001px) {
    .ast-header__main {
        position: sticky;
        top: 0;
        z-index: 999;
    }
}


/* Smaller desktops */

@media (max-width: 1250px) {

    .ast-header__main-inner {
        gap: 24px;
    }

    .ast-header__nav > ul {
        gap: 22px;
    }

    .ast-header__nav > ul > li > a {
        font-size: 12px;
    }

    .ast-header__book {
        padding: 0 17px;
        gap: 14px;
        font-size: 11px;
    }
}


/* Tablet and mobile */

@media (max-width: 1000px) {

    .ast-header__top {
        display: none;
    }

    .ast-header__main-inner {
        width: 90%;
        min-height: 82px;
        justify-content: space-between;
    }

    .ast-header__logo {
        width: 88px;
        min-width: 88px;
        height: 88px;

        margin-top: 10px;
        margin-bottom: -20px;
    }

    .ast-header__logo img {
        width: 80px;
        height: 80px;
    }

    .ast-header__book {
        margin-left: auto;
        min-height: 44px;
        padding: 0 15px;
        font-size: 10px;
    }

    .ast-header__hamburger {
        display: flex;
        flex-direction: column;
        justify-content: center;
        gap: 5px;

        width: 42px;
        height: 42px;

        cursor: pointer;
    }

    .ast-header__hamburger span {
        display: block;
        width: 28px;
        height: 2px;
        margin-left: auto;

        background: var(--ast-navy);

        transition:
            transform 0.3s ease,
            opacity 0.3s ease;
    }

    .ast-header__nav {
        position: absolute;
        top: 100%;
        left: -5%;
        right: -5%;

        margin: 0;
        padding: 18px 5% 28px;

        background: var(--ast-white);
        border-top: 1px solid var(--ast-border);
        box-shadow: 0 20px 35px rgba(var(--navy-rgb), 0.12);

        opacity: 0;
        visibility: hidden;
        transform: translateY(-10px);

        transition:
            opacity 0.3s ease,
            visibility 0.3s ease,
            transform 0.3s ease;
    }

    .ast-header__nav > ul {
        display: block;
    }

    .ast-header__nav > ul > li {
        border-bottom: 1px solid rgba(var(--navy-rgb), 0.09);
    }

    .ast-header__nav > ul > li > a {
        justify-content: space-between;
        padding: 16px 2px;
        font-size: 14px;
    }

    .ast-header__nav > ul > li > a::after {
        display: none;
    }

    .ast-header__dropdown {
        position: static;

        display: block;
        width: 100%;
        padding: 0 0 10px 15px;

        border: 0;
        box-shadow: none;

        opacity: 1;
        visibility: visible;
        transform: none;
    }

    .ast-header__dropdown li a {
        padding: 9px 5px;
        color: rgba(var(--navy-rgb), 0.7);
    }

    .ast-header__menu-toggle:checked ~ .ast-header__nav {
        opacity: 1;
        visibility: visible;
        transform: translateY(0);
    }

    .ast-header__menu-toggle:checked
        + .ast-header__hamburger
        span:nth-child(1) {
        transform: translateY(7px) rotate(45deg);
    }

    .ast-header__menu-toggle:checked
        + .ast-header__hamburger
        span:nth-child(2) {
        opacity: 0;
    }

    .ast-header__menu-toggle:checked
        + .ast-header__hamburger
        span:nth-child(3) {
        transform: translateY(-7px) rotate(-45deg);
    }
}


/* Small mobile */

@media (max-width: 600px) {

    .ast-header__main-inner {
        width: 92%;
    }

    .ast-header__logo {
        width: 78px;
        min-width: 78px;
        height: 78px;
    }

    .ast-header__logo img {
        width: 71px;
        height: 71px;
    }

    .ast-header__book {
        padding: 0 13px;
    }

    .ast-header__book span {
        display: none;
    }
}


/* Very small mobile */

@media (max-width: 420px) {

    .ast-header__book {
        display: none;
    }
}

body{
    font-family: var(--font-body);
    font-weight:400;
}

h1,
h2,
h3,
h4,
h5,
h6,
.ast-header,
.ast-footer,
button,
.ast-btn{
    font-family: var(--font-heading);
}





/* =========================================================
   SPORTS THERAPY PAGE HERO
========================================================= */

.ast-page-hero {
    --ast-navy: var(--navy);
    --ast-gold: var(--gold);
    --ast-white: #ffffff;

    position: relative;
    width: 100%;
    min-height: 440px;
    margin: 0;
    overflow: hidden;
    background: var(--ast-navy);
    color: var(--ast-white);
}

.ast-page-hero__background {
    position: absolute;
    inset: 0;
    z-index: 0;
}

.ast-page-hero__background img {
    display: block;
    width: 100%;
    height: 100%;
    min-height: 440px;
    object-fit: cover;
    object-position: center;
}

.ast-page-hero__overlay {
    position: absolute;
    inset: 0;
    z-index: 1;

    background: linear-gradient(
        90deg,
        rgba(var(--navy-rgb), 0.97) 0%,
        rgba(var(--navy-rgb), 0.88) 38%,
        rgba(var(--navy-rgb), 0.48) 68%,
        rgba(var(--navy-rgb), 0.12) 100%
    );
}

.ast-page-hero__inner {
    position: relative;
    z-index: 2;

    display: flex;
    align-items: center;

    width: 88%;
    max-width: 1400px;
    min-height: 65vh;
    margin: 0 auto;
    padding: 65px 0;
    box-sizing: border-box;
}

.ast-page-hero__content {
    width: 100%;
    max-width: 650px;
}

.ast-page-hero__eyebrow {
    position: relative;

    display: inline-flex;
    align-items: center;
    gap: 12px;

    margin-bottom: 18px;

    color: var(--ast-gold);
    font-family: var(--font-heading);
    font-size: 12px;
    font-weight: 700;
    line-height: 1.4;
    letter-spacing: 1.7px;
    text-transform: uppercase;
}

.ast-page-hero__eyebrow::before {
    content: "";
    display: block;
    width: 38px;
    height: 2px;
    background: var(--ast-gold);
}

.ast-page-hero h1 {
    margin: 0 !important;
    padding: 0 !important;

    color: var(--ast-white) !important;
    font-family: var(--font-heading) !important;
    font-size: clamp(45px, 5vw, 68px) !important;
    font-weight: 800 !important;
    line-height: 1.03 !important;
    letter-spacing: -1.6px !important;
    text-transform: none !important;
}

.ast-page-hero p {
    max-width: 600px;
    margin: 22px 0 0 !important;

    color: rgba(255, 255, 255, 0.83) !important;
    font-family: var(--font-body);
    font-size: 17px !important;
    font-weight: 400 !important;
    line-height: 1.7 !important;
}

.ast-page-hero__button {
    display: inline-flex;
    align-items: center;
    justify-content: space-between;
    gap: 30px;

    min-height: 54px;
    margin-top: 28px;
    padding: 0 22px;

    background: var(--ast-gold);
    color: var(--ast-navy) !important;

    font-family: var(--font-heading);
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 0.45px;
    text-decoration: none !important;
    text-transform: uppercase;

    transition:
        background 0.3s ease,
        color 0.3s ease,
        transform 0.3s ease;
}

.ast-page-hero__button span {
    font-size: 18px;
    line-height: 1;
}

.ast-page-hero__button:hover {
    background: var(--ast-white);
    color: var(--ast-navy) !important;
    transform: translateY(-2px);
}


/* Tablet */

@media (max-width: 900px) {

    .ast-page-hero,
    .ast-page-hero__inner,
    .ast-page-hero__background img {
        min-height: 410px;
    }

    .ast-page-hero__content {
        max-width: 580px;
    }

    .ast-page-hero h1 {
        font-size: 52px !important;
    }
}


/* Mobile */

@media (max-width: 767px) {

    .ast-page-hero,
    .ast-page-hero__inner,
    .ast-page-hero__background img {
        min-height: 480px;
    }

    .ast-page-hero__background img {
        object-position: 65% center;
    }

    .ast-page-hero__overlay {
        background:
            linear-gradient(
                90deg,
                rgba(var(--navy-rgb), 0.96) 0%,
                rgba(var(--navy-rgb), 0.88) 72%,
                rgba(var(--navy-rgb), 0.52) 100%
            ),
            linear-gradient(
                0deg,
                rgba(var(--navy-rgb), 0.42) 0%,
                transparent 60%
            );
    }

    .ast-page-hero__inner {
        align-items: flex-end;
        width: 88%;
        padding: 70px 0 55px;
    }

    .ast-page-hero__eyebrow {
        margin-bottom: 14px;
        font-size: 10px;
        letter-spacing: 1.3px;
    }

    .ast-page-hero__eyebrow::before {
        width: 28px;
    }

    .ast-page-hero h1 {
        font-size: clamp(40px, 12vw, 52px) !important;
        letter-spacing: -1px !important;
    }

    .ast-page-hero p {
        margin-top: 18px !important;
        font-size: 15px !important;
        line-height: 1.65 !important;
    }

    .ast-page-hero__button {
        width: 100%;
        margin-top: 24px;
    }
}

/* =========================================================
   SERVICES IMAGE GALLERY
========================================================= */

.ast-services-gallery {
    padding: 90px 6% 105px;
}

.ast-services-heading {
    position: relative;
    display: grid;
    grid-template-columns: 1.05fr 0.95fr;
    align-items: end;
    gap: 60px;
    width: 100%;
    max-width: 1400px;
    margin: 0 auto 38px;
    padding-bottom: 28px;
    border-bottom: 1px solid rgba(var(--navy-rgb), 0.14);
}

.ast-services-heading::after {
    content: "";
    position: absolute;
    bottom: -1px;
    left: 0;
    width: 86px;
    height: 3px;
    background: var(--gold);
}

.ast-services-heading__title span {
    display: inline-flex;
    align-items: center;
    gap: 12px;
    margin-bottom: 16px;
    color: var(--gold);
    font-family: var(--font-heading);
    font-size: 12px;
    font-weight: 700;
    letter-spacing: 2px;
    text-transform: uppercase;
}

.ast-services-heading__title span::before {
    content: "";
    width: 40px;
    height: 2px;
    background: var(--gold);
}

.ast-services-heading h2 {
    max-width: 620px;
    margin: 0;
    color: var(--navy);
    font-family: var(--font-heading);
    font-size: clamp(40px, 3.5vw, 56px);
    font-weight: 800;
    line-height: 1.02;
    letter-spacing: -1.8px;
}

.ast-services-heading__intro {
    max-width: 470px;
    justify-self: end;
    padding-bottom: 5px;
}

.ast-services-heading__intro p {
    margin: 0;
    color: var(--body-text);
    font-family: var(--font-body);
    font-size: 17px;
    line-height: 1.75;
}

.ast-services-heading__link {
    display: inline-flex;
    align-items: center;
    gap: 18px;
    margin-top: 22px;
    color: var(--navy);
    font-family: var(--font-heading);
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 0.6px;
    text-decoration: none;
    text-transform: uppercase;
}

.ast-services-heading__link span {
    color: var(--gold);
    font-size: 18px;
    transition: transform 0.3s ease;
}

.ast-services-heading__link:hover span {
    transform: translateX(5px);
}

.ast-services-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 20px;
    width: 100%;
    max-width: 1400px;
    margin: 0 auto;
}

.ast-service-image {
    position: relative;
    height: 650px;
    overflow: hidden;
    border-radius: 18px;
    color: #ffffff;
    text-decoration: none;
}

.ast-service-image img {
    position: absolute;
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.7s ease;
}

.ast-service-overlay {
    position: absolute;
    inset: 0;
    background: linear-gradient(
        180deg,
        rgba(0, 0, 0, 0) 20%,
        rgba(var(--navy-rgb), 0.18) 45%,
        rgba(var(--navy-rgb), 0.88) 100%
    );
    transition: background 0.4s ease;
}

.ast-service-content {
    position: absolute;
    z-index: 5;
    right: 40px;
    bottom: 40px;
    left: 40px;
    color: #ffffff;
    transition: bottom 0.45s ease;
}

.ast-service-content small {
    display: block;
    margin-bottom: 18px;
    color: var(--gold);
    font-family: var(--font-heading);
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 2px;
}

.ast-service-content h3 {
    margin: 0 0 18px;
    color: #ffffff;
    font-family: var(--font-heading);
    font-size: 44px;
    font-weight: 800;
    line-height: 1;
}

.ast-service-content p {
    max-height: 0;
    margin: 0;
    overflow: hidden;
    color: rgba(255, 255, 255, 0.85);
    font-family: var(--font-body);
    font-size: 16px;
    line-height: 1.75;
    opacity: 0;
    transition:
        max-height 0.45s ease,
        margin 0.45s ease,
        opacity 0.45s ease;
}

.ast-service-arrow {
    position: absolute;
    right: 0;
    bottom: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 46px;
    height: 46px;
    border: 2px solid var(--gold);
    border-radius: 50%;
    background: transparent;
    color: var(--gold);
    font-size: 18px;
    font-weight: 700;
    transition:
        background 0.35s ease,
        color 0.35s ease,
        transform 0.35s ease;
}

.ast-service-image:hover img {
    transform: scale(1.08);
}

.ast-service-image:hover .ast-service-overlay {
    background: linear-gradient(
        180deg,
        rgba(var(--navy-rgb), 0.15),
        rgba(var(--navy-rgb), 0.35),
        rgba(var(--navy-rgb), 0.95)
    );
}

.ast-service-image:hover .ast-service-content {
    bottom: 55px;
}

.ast-service-image:hover .ast-service-content p {
    max-height: 160px;
    margin-top: 18px;
    opacity: 1;
}

.ast-service-image:hover .ast-service-arrow {
    background: var(--gold);
    color: var(--navy);
    transform: translateX(4px);
}

@media (max-width: 950px) {
    .ast-services-heading {
        grid-template-columns: 1fr;
        gap: 24px;
    }

    .ast-services-heading__intro {
        max-width: 650px;
        justify-self: start;
    }

    .ast-services-grid {
        grid-template-columns: 1fr;
    }

    .ast-service-image {
        height: 520px;
    }

    .ast-service-content h3 {
        font-size: 38px;
    }
}

@media (max-width: 767px) {
    .ast-services-gallery {
        padding: 70px 6% 80px;
    }

    .ast-services-heading {
        margin-bottom: 34px;
        padding-bottom: 26px;
    }

    .ast-services-heading h2 {
        font-size: clamp(38px, 11vw, 50px);
    }

    .ast-services-heading__intro p {
        font-size: 15px;
    }

    .ast-service-image {
        height: 470px;
        border-radius: 14px;
    }

    .ast-service-content {
        right: 26px;
        bottom: 28px;
        left: 26px;
    }

    .ast-service-content h3 {
        padding-right: 54px;
        font-size: 34px;
    }

    .ast-service-content p {
        max-height: none;
        margin-top: 14px;
        font-size: 15px;
        opacity: 1;
    }

    .ast-service-arrow {
        width: 42px;
        height: 42px;
    }
}

/* =========================================================
   CLEAN ABOUT SECTION
========================================================= */

.ast-about-clean {
    --ast-navy: var(--navy);
    --ast-gold: var(--gold);
    --ast-cream: #f7f4ee;
    --ast-white: #ffffff;
    --ast-text: #4b5861;

    padding: 105px 6%;
    background: var(--ast-cream);
}

.ast-about-clean__inner {
    display: grid;
    grid-template-columns: 0.92fr 1.08fr;
    align-items: center;
    gap: 85px;

    width: 100%;
    max-width: 1400px;
    margin: 0 auto;
}


/* CONTENT */

.ast-about-clean__content {
    max-width: 620px;
}

.ast-about-clean__eyebrow {
    display: inline-flex;
    align-items: center;
    gap: 12px;

    margin-bottom: 18px;

    color: var(--ast-gold);
    font-family: var(--font-heading);
    font-size: 12px;
    font-weight: 700;
    letter-spacing: 1.8px;
    text-transform: uppercase;
}

.ast-about-clean__eyebrow::before {
    content: "";
    width: 38px;
    height: 2px;
    background: var(--ast-gold);
}

.ast-about-clean h2 {
    max-width: 650px;
    margin: 0 0 25px;

    color: var(--ast-navy);
    font-family: var(--font-heading);
    font-size: clamp(40px, 4vw, 58px);
    font-weight: 800;
    line-height: 1.04;
    letter-spacing: -1.6px;
}

.ast-about-clean p {
    margin: 0 0 18px;

    color: var(--body-text);
    font-family: var(--font-body);
    font-size: 16px;
    line-height: 1.75;
}

.ast-about-clean__lead {
    color: var(--ast-navy) !important;
    font-size: 18px !important;
    font-weight: 500;
}


/* DETAILS */

.ast-about-clean__details {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 24px;

    margin-top: 32px;
    padding-top: 28px;

    border-top: 1px solid rgba(var(--navy-rgb), 0.13);
}

.ast-about-clean__details div {
    min-width: 0;
}

.ast-about-clean__details strong {
    display: block;
    margin-bottom: 6px;

    color: var(--ast-navy);
    font-family: var(--font-heading);
    font-size: 14px;
    font-weight: 700;
}

.ast-about-clean__details span {
    display: block;

    color: #67737b;
    font-family: var(--font-body);
    font-size: 12px;
    line-height: 1.5;
}


/* BUTTON */

.ast-about-clean__button {
    display: inline-flex;
    align-items: center;
    justify-content: space-between;
    gap: 28px;

    min-height: 54px;
    margin-top: 34px;
    padding: 0 22px;

    background: var(--ast-navy);
    color: var(--ast-white);

    font-family: var(--font-heading);
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 0.45px;
    text-decoration: none;
    text-transform: uppercase;

    transition:
        background 0.3s ease,
        color 0.3s ease,
        transform 0.3s ease;
}

.ast-about-clean__button span {
    font-size: 18px;
}

.ast-about-clean__button:hover {
    background: var(--ast-gold);
    color: var(--ast-navy);
    transform: translateY(-2px);
}


/* VISUAL */

.ast-about-clean__visual {
    position: relative;
    padding-bottom: 78px;
}

.ast-about-clean__image {
    width: 100%;
    height: 510px;
    overflow: hidden;
    background: #ddd;
}

.ast-about-clean__image img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
}


/* TESTIMONIAL */

.ast-about-clean__testimonial {
    position: absolute;
    right: 28px;
    bottom: 0;

    width: min(380px, calc(100% - 56px));
    margin: 0;
    padding: 27px 30px;

    background: var(--ast-navy);
    color: var(--ast-white);
    box-shadow: 0 18px 42px rgba(var(--navy-rgb), 0.18);
}

.ast-about-clean__stars {
    margin-bottom: 12px;

    color: var(--ast-gold);
    font-size: 13px;
    letter-spacing: 3px;
}

.ast-about-clean__testimonial p {
    margin: 0 0 14px;

    color: rgba(255, 255, 255, 0.88);
    font-family: var(--font-body);
    font-size: 14px;
    font-style: italic;
    line-height: 1.65;
}

.ast-about-clean__testimonial cite {
    color: var(--ast-gold);
    font-family: var(--font-heading);
    font-size: 10px;
    font-style: normal;
    font-weight: 700;
    letter-spacing: 1px;
    text-transform: uppercase;
}


/* TABLET */

@media (max-width: 1050px) {

    .ast-about-clean__inner {
        grid-template-columns: 1fr;
        gap: 60px;
    }

    .ast-about-clean__content {
        max-width: 760px;
    }

    .ast-about-clean__visual {
        max-width: 800px;
    }
}


/* MOBILE */

@media (max-width: 767px) {

    .ast-about-clean {
        padding: 75px 6%;
    }

    .ast-about-clean__inner {
        gap: 45px;
    }

    .ast-about-clean h2 {
        font-size: clamp(36px, 11vw, 48px);
    }

    .ast-about-clean__lead {
        font-size: 16px !important;
    }

    .ast-about-clean__details {
        grid-template-columns: 1fr;
        gap: 18px;
    }

    .ast-about-clean__visual {
        padding-bottom: 0;
    }

    .ast-about-clean__image {
        height: 360px;
    }

    .ast-about-clean__testimonial {
        position: relative;
        right: auto;
        bottom: auto;

        width: 100%;
        margin-top: 0;
        padding: 23px 24px;
        box-shadow: none;
    }
}

/*=============================
SERVICES HEADING
=============================*/

.ast-services-heading{

max-width:720px;

margin:0 auto 45px;
margin-left:0;

}

.ast-services-eyebrow{

display:flex;
align-items:center;
gap:14px;

margin-bottom:18px;

font-family: var(--font-heading);
font-size:12px;
font-weight:700;
letter-spacing:2px;
text-transform:uppercase;

color:var(--gold);

}

.ast-services-eyebrow:before{

content:"";

width:42px;
height:2px;

background:var(--gold);

}

.ast-services-heading h2{

margin:0 0 22px;

font-family: var(--font-heading);
font-size:clamp(46px,4vw,60px);
font-weight:800;
line-height:1.02;
letter-spacing:-2px;

color:var(--navy);

max-width:680px;

}

.ast-services-heading p{

margin:0;

max-width:620px;

font-family: var(--font-body);
font-size:18px;
line-height:1.8;

color: var(--body-text);

}

.ast-services-link{

display:inline-flex;
align-items:center;
gap:16px;

margin-top:28px;

font-family: var(--font-heading);
font-size:11px;
font-weight:700;
letter-spacing:1px;
text-transform:uppercase;

color:var(--navy);

text-decoration:none;

transition:.3s;

}

.ast-services-link span{

color:var(--gold);
font-size:18px;

transition:.3s;

}

.ast-services-link:hover{

color:var(--gold);

}

.ast-services-link:hover span{

transform:translateX(5px);

}

/* =========================================================
   SERVICES HEADING â€” ALL LEFT ALIGNED
========================================================= */

.ast-services-heading {
    display: block !important;
    grid-template-columns: none !important;
    align-items: initial !important;
    justify-content: initial !important;
    gap: 0 !important;

    width: 100%;
    max-width: 1400px;
    margin: 0 auto 42px !important;
    padding: 0 0 30px !important;

    text-align: left !important;
    border-bottom: 1px solid rgba(var(--navy-rgb), 0.14);
}

.ast-services-heading::after {
    content: "";
    display: block;
    width: 86px;
    height: 3px;
    margin-top: 30px;
    background: var(--gold);
}


/* Eyebrow */

.ast-services-heading .ast-services-eyebrow {
    display: inline-flex !important;
    align-items: center;
    gap: 13px;

    margin: 0 0 16px !important;

    color: var(--gold);
    font-family: var(--font-heading);
    font-size: 12px;
    font-weight: 700;
    line-height: 1.4;
    letter-spacing: 2px;
    text-transform: uppercase;
}

.ast-services-heading .ast-services-eyebrow::before {
    content: "";
    display: block;
    flex: 0 0 40px;
    width: 40px;
    height: 2px;
    background: var(--gold);
}


/* Main title */

.ast-services-heading h2 {
    display: block !important;
    width: 100% !important;
    max-width: 760px !important;

    margin: 0 0 22px !important;
    padding: 0 !important;

    color: var(--navy) !important;
    font-family: var(--font-heading) !important;
    font-size: clamp(42px, 4vw, 60px) !important;
    font-weight: 800 !important;
    line-height: 1.04 !important;
    letter-spacing: -1.8px !important;
    text-align: left !important;
}


/* Intro */

.ast-services-heading > p {
    display: block !important;
    width: 100% !important;
    max-width: 680px !important;

    margin: 0 !important;
    padding: 0 !important;

    color: var(--body-text);
    font-family: var(--font-body);
    font-size: 17px !important;
    font-weight: 400 !important;
    line-height: 1.75 !important;
    text-align: left !important;
}


/* Link */

.ast-services-heading .ast-services-link {
    display: inline-flex !important;
    align-items: center;
    gap: 15px;

    margin: 24px 0 0 !important;

    color: var(--navy) !important;
    font-family: var(--font-heading);
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 0.8px;
    text-decoration: none;
    text-transform: uppercase;
}

.ast-services-heading .ast-services-link span {
    color: var(--gold);
    font-size: 18px;
    line-height: 1;
    transition: transform 0.3s ease;
}

.ast-services-heading .ast-services-link:hover {
    color: var(--gold) !important;
}

.ast-services-heading .ast-services-link:hover span {
    transform: translateX(5px);
}


/* Remove old inner column behaviour */

.ast-services-heading__title,
.ast-services-heading__intro,
.ast-services-bottom {
    display: contents !important;
    max-width: none !important;
    justify-self: auto !important;
    padding: 0 !important;
}


/* Mobile */

@media (max-width: 767px) {

    .ast-services-heading {
        margin-bottom: 32px !important;
        padding-bottom: 24px !important;
    }

    .ast-services-heading h2 {
        max-width: 100% !important;
        font-size: clamp(36px, 11vw, 48px) !important;
    }

    .ast-services-heading > p {
        font-size: 15px !important;
    }
}

.ast-service-content{
    position:absolute;
    left:34px;
    right:34px;
    bottom:34px;

    display:flex;
    flex-direction:column;
    align-items:flex-start;

    color:#fff;
}
.ast-service-arrow{

    position:relative;

    margin-top:18px;

    width:46px;
    height:46px;

    display:flex;
    align-items:center;
    justify-content:center;

    border:2px solid var(--gold);
    border-radius:50%;

    background:transparent;
    color:var(--gold);

    font-size:18px;

    transition:.35s;

}


/* =========================================================
   HERO REVIEW BANNER
========================================================= */

.ast-hero__review-banner {
    display: grid;
    grid-template-columns: auto 1px 1fr auto;
    align-items: center;
    gap: 24px;

    width: 100%;
    max-width: 720px;
    margin-top: 38px;
    padding-top: 23px;

    border-top: 1px solid rgba(255, 255, 255, 0.2);
}

.ast-hero__review-rating {
    min-width: 145px;
}

.ast-hero__review-stars {
    margin-bottom: 5px;

    color: var(--gold);
    font-family: var(--font-body);
    font-size: 14px;
    line-height: 1;
    letter-spacing: 2px;
}

.ast-hero__review-rating strong {
    display: block;

    color: #ffffff;
    font-family: var(--font-heading);
    font-size: 12px;
    font-weight: 700;
    line-height: 1.4;
}

.ast-hero__review-divider {
    width: 1px;
    height: 48px;
    background: rgba(255, 255, 255, 0.2);
}

.ast-hero__review-banner p {
    max-width: 390px;
    margin: 0 !important;

    color: rgba(255, 255, 255, 0.7) !important;
    font-family: var(--font-body);
    font-size: 13px !important;
    font-style: italic;
    line-height: 1.6 !important;
}

.ast-hero__review-link {
    display: inline-flex;
    align-items: center;
    gap: 10px;

    color: var(--gold);
    font-family: var(--font-heading);
    font-size: 10px;
    font-weight: 700;
    letter-spacing: 0.8px;
    text-decoration: none;
    text-transform: uppercase;
    white-space: nowrap;
}

.ast-hero__review-link span {
    font-size: 17px;
    line-height: 1;
    transition: transform 0.3s ease;
}

.ast-hero__review-link:hover span {
    transform: translateX(4px);
}


/* Tablet */

@media (max-width: 900px) {

    .ast-hero__review-banner {
        grid-template-columns: auto 1px 1fr;
    }

    .ast-hero__review-link {
        grid-column: 3;
    }
}


/* Mobile */

@media (max-width: 767px) {

    .ast-hero__review-banner {
        display: grid;
        grid-template-columns: 1fr;
        gap: 13px;

        margin-top: 28px;
        padding-top: 20px;
    }

    .ast-hero__review-divider {
        display: none;
    }

    .ast-hero__review-banner p {
        max-width: 100%;
        font-size: 12px !important;
    }

    .ast-hero__review-link {
        grid-column: auto;
        margin-top: 2px;
    }
}

/* =========================================================
   LOCATIONS SECTION
========================================================= */

.ast-locations-section {
    --ast-navy: var(--navy);
    --ast-gold: var(--gold);
    --ast-cream: #f7f4ee;
    --ast-white: #ffffff;
    --ast-text: #53616a;

    padding: 95px 6%;
}

.ast-locations-section__inner {
    width: 100%;
    max-width: 1400px;
    margin: 0 auto;
}


/* Heading */

.ast-locations-section__heading {
    max-width: 760px;
    margin-bottom: 48px;
}

.ast-locations-section__heading > span {
    display: inline-flex;
    align-items: center;
    gap: 12px;

    margin-bottom: 16px;

    color: var(--ast-gold);
    font-family: var(--font-heading);
    font-size: 12px;
    font-weight: 700;
    letter-spacing: 1.9px;
    text-transform: uppercase;
}

.ast-locations-section__heading > span::before {
    content: "";
    width: 40px;
    height: 2px;
    background: var(--ast-gold);
}

.ast-locations-section__heading h2 {
    max-width: 720px;
    margin: 0 0 18px;

    color: var(--ast-navy);
    font-family: var(--font-heading);
    font-size: clamp(38px, 4vw, 56px);
    font-weight: 800;
    line-height: 1.05;
    letter-spacing: -1.5px;
}

.ast-locations-section__heading p {
    max-width: 620px;
    margin: 0;

    color: var(--body-text);
    font-family: var(--font-body);
    font-size: 17px;
    line-height: 1.75;
}


/* Grid */

.ast-locations-section__grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 28px;
}


/* Card */

.ast-location-card {
    display: grid;
    grid-template-columns: 46% 54%;
    min-height: 390px;

    overflow: hidden;

    background: var(--ast-white);
    box-shadow: 0 18px 45px rgba(var(--navy-rgb), 0.08);

    transition:
        transform 0.35s ease,
        box-shadow 0.35s ease;
}

.ast-location-card:hover {
    transform: translateY(-6px);
    box-shadow: 0 25px 60px rgba(var(--navy-rgb), 0.13);
}


/* Image */

.ast-location-card__image {
    position: relative;
    min-height: 390px;
    overflow: hidden;
}

.ast-location-card__image img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;

    transition: transform 0.6s ease;
}

.ast-location-card:hover .ast-location-card__image img {
    transform: scale(1.05);
}

.ast-location-card__image::after {
    content: "";
    position: absolute;
    inset: 0;

    background: linear-gradient(
        180deg,
        rgba(var(--navy-rgb), 0.02) 30%,
        rgba(var(--navy-rgb), 0.5) 100%
    );
}

.ast-location-card__label {
    position: absolute;
    z-index: 2;
    left: 22px;
    bottom: 22px;

    padding: 9px 12px;

    background: var(--ast-navy);
    color: var(--ast-white);

    font-family: var(--font-heading);
    font-size: 10px;
    font-weight: 700;
    letter-spacing: 0.8px;
    text-transform: uppercase;
}


/* Content */

.ast-location-card__content {
    display: flex;
    flex-direction: column;
    justify-content: center;

    padding: 38px 38px 36px;
}

.ast-location-card__town {
    display: inline-flex;
    align-items: center;
    gap: 9px;

    margin-bottom: 10px;

    color: var(--ast-gold);
    font-family: var(--font-heading);
    font-size: 12px;
    font-weight: 700;
    letter-spacing: 1.4px;
    text-transform: uppercase;
}

.ast-location-card__town::before {
    content: "";
    width: 7px;
    height: 7px;
    border-radius: 50%;
    background: var(--ast-gold);
}

.ast-location-card h3 {
    margin: 0 0 15px;

    color: var(--ast-navy);
    font-family: var(--font-heading);
    font-size: 25px;
    font-weight: 800;
    line-height: 1.15;
    letter-spacing: -0.5px;
}

.ast-location-card__address {
    margin: 0 0 17px;

    color: var(--ast-navy);
    font-family: var(--font-body);
    font-size: 14px;
    font-weight: 600;
    line-height: 1.65;
}

.ast-location-card__text {
    margin: 0;

    color: var(--ast-text);
    font-family: var(--font-body);
    font-size: 14px;
    line-height: 1.7;
}


/* Actions */

.ast-location-card__actions {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 20px;

    margin-top: 26px;
}

.ast-location-card__button {
    display: inline-flex;
    align-items: center;
    justify-content: space-between;
    gap: 25px;

    min-height: 50px;
    padding: 0 19px;

    background: var(--ast-gold);
    color: var(--ast-navy);

    font-family: var(--font-heading);
    font-size: 10px;
    font-weight: 800;
    letter-spacing: 0.5px;
    text-decoration: none;
    text-transform: uppercase;

    transition:
        background 0.3s ease,
        color 0.3s ease,
        transform 0.3s ease;
}

.ast-location-card__button span {
    font-size: 17px;
    line-height: 1;
}

.ast-location-card__button:hover {
    background: var(--ast-navy);
    color: var(--ast-white);
    transform: translateY(-2px);
}

.ast-location-card__link {
    color: var(--ast-navy);
    font-family: var(--font-heading);
    font-size: 10px;
    font-weight: 700;
    letter-spacing: 0.6px;
    text-decoration: none;
    text-transform: uppercase;

    border-bottom: 1px solid rgba(var(--navy-rgb), 0.3);
    padding-bottom: 3px;
}

.ast-location-card__link:hover {
    color: var(--ast-gold);
    border-color: var(--ast-gold);
}


/* Tablet */

@media (max-width: 1100px) {

    .ast-locations-section__grid {
        grid-template-columns: 1fr;
    }

    .ast-location-card {
        grid-template-columns: 42% 58%;
    }
}


/* Mobile */

@media (max-width: 767px) {

    .ast-locations-section {
        padding: 72px 6%;
    }

    .ast-locations-section__heading {
        margin-bottom: 34px;
    }

    .ast-locations-section__heading h2 {
        font-size: clamp(36px, 11vw, 48px);
    }

    .ast-locations-section__heading p {
        font-size: 15px;
    }

    .ast-location-card {
        grid-template-columns: 1fr;
    }

    .ast-location-card__image {
        min-height: 280px;
    }

    .ast-location-card__content {
        padding: 30px 26px 32px;
    }

    .ast-location-card h3 {
        font-size: 22px;
    }

    .ast-location-card__actions {
        flex-direction: column;
        align-items: stretch;
        gap: 15px;
    }

    .ast-location-card__button {
        width: 100%;
    }

    .ast-location-card__link {
        width: fit-content;
    }
}

/* =========================================================
   WHO WE HELP CARDS â€” COMPLETE REPLACEMENT
========================================================= */

.who-card {
    --who-navy: var(--navy);
    --who-gold: var(--gold);
    --who-white: #ffffff;

    position: relative;
    display: block;

    width: 100%;
    min-height: 450px;
    overflow: hidden;

    border-radius: 20px;
    background: var(--who-navy);
    color: var(--who-white) !important;
    text-decoration: none !important;

    cursor: pointer;
    isolation: isolate;

    transition:
        transform 0.35s ease,
        box-shadow 0.35s ease;
}

.who-card:hover {
    transform: translateY(-7px);
    box-shadow: 0 22px 48px rgba(var(--navy-rgb), 0.18);
}


/* IMAGE */

.who-card > img {
    position: absolute;
    inset: 0;
    z-index: 0;

    display: block;
    width: 100%;
    height: 100%;

    object-fit: cover;
    object-position: center;

    transition: transform 0.7s ease;
}

.who-card:hover > img {
    transform: scale(1.07);
}


/* OVERLAY */

.who-overlay {
    position: absolute;
    inset: 0;
    z-index: 1;

    background:
        linear-gradient(
            180deg,
            rgba(var(--navy-rgb), 0.04) 15%,
            rgba(var(--navy-rgb), 0.18) 42%,
            rgba(var(--navy-rgb), 0.96) 100%
        );

    transition: background 0.45s ease;
}

.who-card:hover .who-overlay {
    background:
        linear-gradient(
            180deg,
            rgba(var(--navy-rgb), 0.16) 5%,
            rgba(var(--navy-rgb), 0.54) 48%,
            rgba(var(--navy-rgb), 0.98) 100%
        );
}


/* CONTENT */

.who-content {
    position: absolute;
    right: 30px;
    bottom: 30px;
    left: 30px;
    z-index: 2;

    color: var(--who-white) !important;

    transition: bottom 0.45s ease;
}

.who-card:hover .who-content {
    bottom: 36px;
}


/* EYEBROW */

.who-small {
    display: block;
    margin: 0 0 11px;

    color: var(--who-gold) !important;
    font-family: var(--font-heading) !important;
    font-size: 10px !important;
    font-weight: 700 !important;
    line-height: 1.4 !important;
    letter-spacing: 1.7px !important;
    text-transform: uppercase !important;
}


/* TITLE */

.who-content h3 {
    margin: 0 !important;

    color: var(--who-white) !important;
    font-family: var(--font-heading) !important;
    font-size: 34px !important;
    font-weight: 800 !important;
    line-height: 1.05 !important;
    letter-spacing: -0.8px !important;
    text-transform: none !important;
}


/* INTRO */

.who-intro {
    margin: 12px 0 0 !important;

    color: rgba(255, 255, 255, 0.88) !important;
    font-family: var(--font-body) !important;
    font-size: 15px !important;
    font-weight: 400 !important;
    line-height: 1.6 !important;
}


/* HOVER DETAILS */

.who-more {
    max-height: 0;
    margin-top: 0;
    overflow: hidden;

    opacity: 0;
    transform: translateY(16px);

    transition:
        max-height 0.5s ease,
        margin-top 0.5s ease,
        opacity 0.4s ease,
        transform 0.45s ease;
}

.who-more p {
    position: relative;

    margin: 0 0 10px !important;
    padding-left: 19px;

    color: rgba(255, 255, 255, 0.9) !important;
    font-family: var(--font-body);
    font-size: 14px !important;
    font-weight: 500 !important;
    line-height: 1.45 !important;
}

/* Hide the typed tick and replace it with a gold one */

.who-more p {
    font-size: 0 !important;
}

.who-more p::before {
    content: "âœ“";
    position: absolute;
    top: 0;
    left: 0;

    color: var(--body-text);
    font-family: var(--font-body);
    font-size: 14px;
    font-weight: 700;
}

.who-more p::after {
    font-family: var(--font-body);
    font-size: 14px;
    font-weight: 500;
}

.who-more p:nth-child(1)::after {
    content: "Running injuries";
}

.who-more p:nth-child(2)::after {
    content: "Shin splints";
}

.who-more p:nth-child(3)::after {
    content: "Achilles pain";
}

.who-more p:nth-child(4)::after {
    content: "Marathon recovery";
}

.who-more p:nth-child(5)::after {
    content: "Injury prevention";
}

.who-card:hover .who-more {
    max-height: 230px;
    margin-top: 25px;

    opacity: 1;
    transform: translateY(0);
}


/* GOLD ACCENT */

.who-card::after {
    content: "";
    position: absolute;
    right: 30px;
    bottom: 0;
    left: 30px;
    z-index: 3;

    height: 3px;

    background: var(--who-gold);
    transform: scaleX(0);
    transform-origin: left;

    transition: transform 0.4s ease;
}

.who-card:hover::after {
    transform: scaleX(1);
}


/* TABLET */

@media (max-width: 1100px) {

    .who-card {
        min-height: 450px;
    }

    .who-content h3 {
        font-size: 30px !important;
    }
}


/* MOBILE */

@media (max-width: 767px) {

    .who-card {
        min-height: 520px;
        border-radius: 16px;
    }

    .who-content {
        right: 24px;
        bottom: 25px;
        left: 24px;
    }

    .who-content h3 {
        font-size: 30px !important;
    }

    .who-intro {
        font-size: 14px !important;
    }

    /* Always reveal details because touch devices have no reliable hover */

    .who-more {
        max-height: 230px;
        margin-top: 22px;

        opacity: 1;
        transform: none;
    }
}

/* =========================================================
   FULL-WIDTH IMAGE CTA
========================================================= */

.ast-image-cta {
    --ast-navy: var(--navy);
    --ast-gold: var(--gold);
    --ast-cream: #f7f4ee;
    --ast-white: #ffffff;
    --ast-text: #52606a;

    position: relative;
    overflow: hidden;
    background: var(--ast-cream);
}


/* IMAGE */

.ast-image-cta__media {
    width: 100%;
    height: 560px;
    overflow: hidden;
}

.ast-image-cta__media img {
    display: block;
    width: 100%;
    height: 100%;

    object-fit: cover;
    object-position: center;

    transition: transform 0.8s ease;
}

.ast-image-cta:hover .ast-image-cta__media img {
    transform: scale(1.025);
}


/* CONTENT PANEL */

.ast-image-cta__panel {
    position: relative;
    z-index: 2;

    display: grid;
    grid-template-columns: 1fr auto;
    align-items: center;
    gap: 70px;

    width: 88%;
    max-width: 1400px;
    margin: -115px auto 0;
    padding: 48px 52px;

    background: var(--ast-cream);
    box-sizing: border-box;
}


/* TEXT */

.ast-image-cta__content {
    max-width: 760px;
}

.ast-image-cta__eyebrow {
    display: inline-flex;
    align-items: center;
    gap: 12px;

    margin-bottom: 14px;

    color: var(--ast-gold);
    font-family: var(--font-heading);
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 1.8px;
    text-transform: uppercase;
}

.ast-image-cta__eyebrow::before {
    content: "";
    width: 38px;
    height: 2px;
    background: var(--ast-gold);
}

.ast-image-cta h2 {
    margin: 0 0 16px;

    color: var(--ast-navy);
    font-family: var(--font-heading);
    font-size: clamp(38px, 4vw, 58px);
    font-weight: 800;
    line-height: 1.03;
    letter-spacing: -1.5px;
}

.ast-image-cta p {
    max-width: 680px;
    margin: 0;

    color: var(--body-text);
    font-family: var(--font-body);
    font-size: 17px;
    line-height: 1.7;
}


/* ACTIONS */

.ast-image-cta__actions {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 18px;

    min-width: 230px;
}

.ast-image-cta__button {
    display: inline-flex;
    align-items: center;
    justify-content: space-between;
    gap: 28px;

    min-width: 230px;
    min-height: 56px;
    padding: 0 22px;

    background: var(--ast-gold);
    color: var(--ast-navy);

    font-family: var(--font-heading);
    font-size: 11px;
    font-weight: 800;
    letter-spacing: 0.5px;
    text-decoration: none;
    text-transform: uppercase;

    transition:
        background 0.3s ease,
        color 0.3s ease,
        transform 0.3s ease;
}

.ast-image-cta__button span {
    font-size: 18px;
}

.ast-image-cta__button:hover {
    background: var(--ast-navy);
    color: var(--ast-white);
    transform: translateY(-2px);
}

.ast-image-cta__link {
    color: var(--ast-navy);
    font-family: var(--font-heading);
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 0.5px;
    text-decoration: none;
    text-transform: uppercase;

    border-bottom: 1px solid rgba(var(--navy-rgb), 0.3);
    padding-bottom: 4px;
}

.ast-image-cta__link:hover {
    color: var(--ast-gold);
    border-color: var(--ast-gold);
}


/* TABLET */

@media (max-width: 1000px) {

    .ast-image-cta__media {
        height: 500px;
    }

    .ast-image-cta__panel {
        grid-template-columns: 1fr;
        gap: 30px;

        margin-top: -90px;
        padding: 42px;
    }

    .ast-image-cta__actions {
        flex-direction: row;
        align-items: center;
    }
}


/* MOBILE */

@media (max-width: 767px) {

    .ast-image-cta__media {
        height: 390px;
    }

    .ast-image-cta__media img {
        object-position: 62% center;
    }

    .ast-image-cta__panel {
        width: 88%;
        margin-top: -55px;
        padding: 30px 26px 34px;
    }

    .ast-image-cta h2 {
        font-size: clamp(34px, 11vw, 46px);
    }

    .ast-image-cta p {
        font-size: 15px;
    }

    .ast-image-cta__actions {
        flex-direction: column;
        align-items: stretch;
    }

    .ast-image-cta__button {
        width: 100%;
        min-width: 0;
    }

    .ast-image-cta__link {
        width: fit-content;
    }
}

/* =========================================================
   WIDE IMAGE CTA WITH FLOATING BAR
========================================================= */

.ast-wide-cta {
    --ast-navy: var(--navy);
    --ast-gold: var(--gold);
    --ast-white: #ffffff;

    position: relative;
    min-height: 560px;
    overflow: hidden;
    background: var(--ast-navy);
}


/* IMAGE */

.ast-wide-cta__image {
    position: absolute;
    inset: 0;
}

.ast-wide-cta__image::after {
    content: "";
    position: absolute;
    inset: 0;

    background:
        linear-gradient(
            90deg,
            rgba(var(--navy-rgb), 0.12) 0%,
            rgba(var(--navy-rgb), 0.02) 50%,
            rgba(var(--navy-rgb), 0.14) 100%
        );
}

.ast-wide-cta__image img {
    display: block;
    width: 100%;
    height: 100%;

    object-fit: cover;
    object-position: center;
}


/* CTA BAR */

.ast-wide-cta__bar {
    position: absolute;
    z-index: 2;

    right: 6%;
    bottom: 55px;
    left: 6%;

    display: grid;
    grid-template-columns: 1fr auto;
    align-items: center;
    gap: 60px;

    max-width: 1400px;
    margin: 0 auto;
    padding: 32px 36px;

    background: rgba(var(--navy-rgb), 0.96);
    backdrop-filter: blur(8px);

    border-left: 5px solid var(--ast-gold);
}


/* MESSAGE */

.ast-wide-cta__eyebrow {
    display: block;
    margin-bottom: 9px;

    color: var(--ast-gold);
    font-family: var(--font-heading);
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 1.7px;
    text-transform: uppercase;
}

.ast-wide-cta h2 {
    max-width: 760px;
    margin: 0;

    color: var(--ast-white);
    font-family: var(--font-heading);
    font-size: clamp(26px, 3vw, 42px);
    font-weight: 800;
    line-height: 1.08;
    letter-spacing: -1px;
}


/* ACTIONS */

.ast-wide-cta__actions {
    display: flex;
    align-items: center;
    gap: 22px;
}

.ast-wide-cta__button {
    display: inline-flex;
    align-items: center;
    justify-content: space-between;
    gap: 28px;

    min-height: 54px;
    padding: 0 22px;

    background: var(--ast-gold);
    color: var(--ast-navy);

    font-family: var(--font-heading);
    font-size: 11px;
    font-weight: 800;
    letter-spacing: 0.5px;
    text-decoration: none;
    text-transform: uppercase;

    transition:
        background 0.3s ease,
        color 0.3s ease,
        transform 0.3s ease;
}

.ast-wide-cta__button span {
    font-size: 18px;
}

.ast-wide-cta__button:hover {
    background: var(--ast-white);
    transform: translateY(-2px);
}

.ast-wide-cta__contact {
    color: var(--ast-white);
    font-family: var(--font-heading);
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 0.6px;
    text-decoration: none;
    text-transform: uppercase;

    border-bottom: 1px solid rgba(255, 255, 255, 0.45);
    padding-bottom: 4px;
}

.ast-wide-cta__contact:hover {
    color: var(--ast-gold);
    border-color: var(--ast-gold);
}


/* TABLET */

@media (max-width: 1000px) {

    .ast-wide-cta {
        min-height: 520px;
    }

    .ast-wide-cta__bar {
        grid-template-columns: 1fr;
        gap: 24px;
    }
}


/* MOBILE */

@media (max-width: 767px) {

    .ast-wide-cta {
        min-height: 540px;
    }

    .ast-wide-cta__image img {
        object-position: 62% center;
    }

    .ast-wide-cta__bar {
        right: 6%;
        bottom: 24px;
        left: 6%;

        padding: 26px 24px;
    }

    .ast-wide-cta h2 {
        font-size: 30px;
    }

    .ast-wide-cta__actions {
        flex-direction: column;
        align-items: stretch;
    }

    .ast-wide-cta__button {
        width: 100%;
    }

    .ast-wide-cta__contact {
        width: fit-content;
    }
}
/* =========================================================
   ABOUT AMMONITE â€” COMPLETE SECTION
========================================================= */

.ast-about-clean {
    --ast-navy: var(--navy);
    --ast-gold: var(--gold);
    --ast-cream: #f7f4ee;
    --ast-white: #ffffff;
    --ast-text: #53616a;

    padding: 100px 6%;
    overflow: hidden;
    background: var(--ast-cream);
}

.ast-about-clean__inner {
    display: grid;
    grid-template-columns: 0.9fr 1.1fr;
    align-items: center;
    gap: 80px;

    width: 100%;
    max-width: 1400px;
    margin: 0 auto;
}


/* =========================================================
   CONTENT
========================================================= */

.ast-about-clean__content {
    max-width: 620px;
}

.ast-about-clean__eyebrow {
    display: inline-flex;
    align-items: center;
    gap: 12px;

    margin-bottom: 18px;

    color: var(--ast-gold);
    font-family: var(--font-heading);
    font-size: 12px;
    font-weight: 700;
    letter-spacing: 1.8px;
    text-transform: uppercase;
}

.ast-about-clean__eyebrow::before {
    content: "";
    width: 38px;
    height: 2px;
    background: var(--ast-gold);
}

.ast-about-clean h2 {
    max-width: 660px;
    margin: 0 0 24px;

    color: var(--ast-navy);
    font-family: var(--font-heading);
    font-size: clamp(40px, 4vw, 58px);
    font-weight: 800;
    line-height: 1.03;
    letter-spacing: -1.7px;
}

.ast-about-clean p {
    margin: 0 0 18px;

    color: var(--body-text);
    font-family: var(--font-body);
    font-size: 16px;
    line-height: 1.75;
}

.ast-about-clean__lead {
    color: var(--ast-navy) !important;
    font-size: 18px !important;
    font-weight: 500;
}


/* =========================================================
   SIMPLE STATEMENT ROW
========================================================= */

.ast-about-clean__statement {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 14px;

    margin-top: 30px;
    padding: 20px 0;

    border-top: 1px solid rgba(var(--navy-rgb), 0.13);
    border-bottom: 1px solid rgba(var(--navy-rgb), 0.13);
}

.ast-about-clean__statement span {
    color: var(--ast-navy);
    font-family: var(--font-heading);
    font-size: 12px;
    font-weight: 700;
    letter-spacing: 0.4px;
    text-transform: uppercase;
}

.ast-about-clean__statement i {
    display: block;
    width: 5px;
    height: 5px;

    border-radius: 50%;
    background: var(--ast-gold);
}


/* =========================================================
   BUTTON
========================================================= */

.ast-about-clean__button {
    display: inline-flex;
    align-items: center;
    justify-content: space-between;
    gap: 28px;

    min-height: 54px;
    margin-top: 30px;
    padding: 0 22px;

    background: var(--ast-navy);
    color: var(--ast-white);

    font-family: var(--font-heading);
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 0.45px;
    text-decoration: none;
    text-transform: uppercase;

    transition:
        background 0.3s ease,
        color 0.3s ease,
        transform 0.3s ease;
}

.ast-about-clean__button span {
    font-size: 18px;
    line-height: 1;
}

.ast-about-clean__button:hover {
    background: var(--ast-gold);
    color: var(--ast-navy);
    transform: translateY(-2px);
}


/* =========================================================
   VISUAL
========================================================= */

.ast-about-clean__visual {
    position: relative;
    padding-bottom: 70px;
}

.ast-about-clean__image {
    width: 100%;
    height: 520px;
    overflow: hidden;
    background: #d9d9d9;
}

.ast-about-clean__image img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
}


/* =========================================================
   TESTIMONIAL
========================================================= */

.ast-about-clean__testimonial {
    position: absolute;
    right: 28px;
    bottom: 0;

    width: min(390px, calc(100% - 56px));
    margin: 0;
    padding: 28px 30px;

    background: var(--ast-navy);
    color: var(--ast-white);
    box-shadow: 0 18px 42px rgba(var(--navy-rgb), 0.18);
}

.ast-about-clean__stars {
    margin-bottom: 12px;

    color: var(--ast-gold);
    font-size: 13px;
    letter-spacing: 3px;
}

.ast-about-clean__testimonial p {
    margin: 0 0 14px;

    color: rgba(255, 255, 255, 0.88);
    font-family: var(--font-body);
    font-size: 14px;
    font-style: italic;
    line-height: 1.65;
}

.ast-about-clean__testimonial cite {
    color: var(--ast-gold);
    font-family: var(--font-heading);
    font-size: 10px;
    font-style: normal;
    font-weight: 700;
    letter-spacing: 1px;
    text-transform: uppercase;
}


/* =========================================================
   TABLET
========================================================= */

@media (max-width: 1050px) {

    .ast-about-clean__inner {
        grid-template-columns: 1fr;
        gap: 55px;
    }

    .ast-about-clean__content {
        max-width: 760px;
    }

    .ast-about-clean__visual {
        max-width: 820px;
    }
}


/* =========================================================
   MOBILE
========================================================= */

@media (max-width: 767px) {

    .ast-about-clean {
        padding: 72px 6%;
    }

    .ast-about-clean__inner {
        gap: 42px;
    }

    .ast-about-clean h2 {
        font-size: clamp(36px, 11vw, 48px);
    }

    .ast-about-clean__lead {
        font-size: 16px !important;
    }

    .ast-about-clean__statement {
        align-items: flex-start;
        flex-direction: column;
        gap: 9px;
    }

    .ast-about-clean__statement i {
        display: none;
    }

    .ast-about-clean__button {
        width: 100%;
    }

    .ast-about-clean__visual {
        padding-bottom: 0;
    }

    .ast-about-clean__image {
        height: 360px;
    }

    .ast-about-clean__testimonial {
        position: relative;
        right: auto;
        bottom: auto;

        width: 100%;
        margin-top: 0;
        padding: 23px 24px;

        box-shadow: none;
    }
}

.ast-header__top-links {
    display: flex;
    align-items: center;
    gap: 13px;
    color: rgba(255, 255, 255, 0.85);
    font-size: 12px;
}

.ast-header__book {
    display: inline-flex;
    align-items: center;
    justify-content: space-between;
    gap: 28px;
    min-height: 56px;
    padding: 0 24px;
    background: var(--ast-gold);
    color: var(--ast-navy);
    text-decoration: none;
    text-transform: uppercase;
    white-space: nowrap;
    font-size: 13px;
    font-weight: 700;
    letter-spacing: 0.35px;
    transition: background 0.3s ease, color 0.3s ease, transform 0.3s ease;
}

/*==================================================
 SERVICES PAGE
==================================================*/

.ast-services-page{
--cream:#f8f5ef;
    --text:#5d6972;

    padding:120px 6%;
    background:#fff;
}

.ast-services-page__inner{
    max-width:1400px;
    margin:auto;
}


/*=========================
Heading
=========================*/

.ast-services-page__heading{
    max-width:760px;
    margin:0 auto 110px;
    text-align:center;
}

.ast-services-page__eyebrow{

    display:inline-flex;
    align-items:center;
    gap:14px;

    margin-bottom:18px;

    color:var(--gold);

    font-family: var(--font-heading);
    font-size:12px;
    font-weight:700;
    letter-spacing:2px;
    text-transform:uppercase;

}

.ast-services-page__eyebrow:before{

    content:"";

    width:42px;
    height:2px;

    background:var(--gold);

}

.ast-services-page h2{

    margin:0 0 22px;

    color:var(--navy);

    font-family: var(--font-heading);
    font-size:clamp(42px,5vw,64px);
    line-height:1.03;
    font-weight:800;
    letter-spacing:-2px;

}

.ast-services-page__heading p{

    color: var(--body-text);

    font-size:18px;
    line-height:1.8;

}


/*=========================
List
=========================*/

.ast-services-page__list{

    display:flex;
    flex-direction:column;
    gap:130px;

}


/*=========================
Service Layout
=========================*/

.ast-service-feature{

    display:grid;
    grid-template-columns:1fr 1fr;
    gap:90px;

    align-items:center;

}

.ast-service-feature--reverse .ast-service-feature__image{

    order:2;

}

.ast-service-feature--reverse .ast-service-feature__content{

    order:1;

}


/*=========================
Image
=========================*/

.ast-service-feature__image{

    position:relative;

}

.ast-service-feature__image img{

    width:100%;
    height:640px;

    object-fit:cover;

    display:block;

}

.ast-service-feature__image:after{

    content:"";

    position:absolute;
    inset:0;

    background:linear-gradient(to top,
    rgba(var(--navy-rgb), .40),
    rgba(var(--navy-rgb), .05));

}

.ast-service-feature__label{

    position:absolute;

    left:34px;
    bottom:30px;

    z-index:3;

    color:#fff;

    font-family: var(--font-heading);
    font-size:11px;
    font-weight:700;
    letter-spacing:2px;
    text-transform:uppercase;

}


/*=========================
Content
=========================*/

.ast-service-feature__number{

    display:block;

    margin-bottom:18px;

    color:var(--gold);

    font-family: var(--font-heading);
    font-size:65px;
    font-weight:800;
    line-height:1;

    opacity:.18;

}

.ast-service-feature h3{

    margin:0 0 18px;

    color:var(--navy);

    font-family: var(--font-heading);
    font-size:52px;
    line-height:1;
    font-weight:800;

}

.ast-service-feature__lead{

    margin-bottom:25px;

    color:var(--navy);

    font-size:22px;
    font-weight:500;
    line-height:1.6;

}

.ast-service-feature p{

    color: var(--body-text);

    font-size:17px;
    line-height:1.9;

}


/*=========================
Points
=========================*/

.ast-service-feature__points{

    list-style:none;

    margin:40px 0;

    padding:0;

    display:grid;
    grid-template-columns:repeat(2,1fr);
    gap:18px;

}

.ast-service-feature__points li{

    position:relative;

    padding-left:30px;

    color:var(--navy);

    font-size:16px;

}

.ast-service-feature__points li:before{

    content:"";

    position:absolute;

    left:0;
    top:9px;

    width:10px;
    height:10px;

    border-radius:50%;

    background:var(--gold);

}


/*=========================
Buttons
=========================*/

.ast-service-feature__actions{

    display:flex;
    align-items:center;
    gap:28px;

    margin-top:20px;

}

.ast-service-feature__button{

    display:inline-flex;
    align-items:center;
    gap:24px;

    padding:17px 26px;

    background:var(--navy);

    color:#fff;

    text-decoration:none;

    font-family: var(--font-heading);
    font-size:12px;
    font-weight:700;
    letter-spacing:1px;
    text-transform:uppercase;

    transition:.35s;

}

.ast-service-feature__button:hover{

    background:var(--gold);

    color:var(--navy);

}

.ast-service-feature__text-link{

    color:var(--navy);

    font-family: var(--font-heading);
    font-size:13px;
    font-weight:700;
    letter-spacing:1px;
    text-transform:uppercase;
    text-decoration:none;

}

.ast-service-feature__text-link:hover{

    color:var(--gold);

}


/*=========================
Bottom CTA
=========================*/

.ast-services-page__cta{

    margin-top:140px;

    padding:70px;

    background:var(--cream);

    display:flex;
    justify-content:space-between;
    align-items:center;
    gap:60px;

}

.ast-services-page__cta span{

    color:var(--gold);

    font-family: var(--font-heading);
    font-size:12px;
    font-weight:700;
    letter-spacing:2px;
    text-transform:uppercase;

}

.ast-services-page__cta h3{

    margin:18px 0 0;

    max-width:650px;

    color:var(--navy);

    font-family: var(--font-heading);
    font-size:42px;
    line-height:1.08;
    font-weight:800;

}

.ast-services-page__cta-button{

    white-space:nowrap;

    padding:18px 28px;

    background:var(--gold);

    color:var(--navy);

    text-decoration:none;

    font-family: var(--font-heading);
    font-size:12px;
    font-weight:700;
    letter-spacing:1px;
    text-transform:uppercase;

    transition:.35s;

}

.ast-services-page__cta-button:hover{

    background:var(--navy);
    color:#fff;

}


/*=========================
Responsive
=========================*/

@media(max-width:1000px){

.ast-service-feature{

grid-template-columns:1fr;
gap:45px;

}

.ast-service-feature--reverse .ast-service-feature__image{

order:1;

}

.ast-service-feature--reverse .ast-service-feature__content{

order:2;

}

.ast-service-feature__image img{

height:500px;

}

.ast-service-feature h3{

font-size:42px;

}

.ast-services-page__cta{

flex-direction:column;
align-items:flex-start;

}

}

@media(max-width:767px){

.ast-services-page{

padding:80px 6%;

}

.ast-services-page__heading{

margin-bottom:70px;

}

.ast-service-feature{

gap:30px;

}

.ast-service-feature__image img{

height:360px;

}

.ast-service-feature h3{

font-size:34px;

}

.ast-service-feature__lead{

font-size:18px;

}

.ast-service-feature__points{

grid-template-columns:1fr;

}

.ast-services-page__cta{

padding:40px 30px;

}

.ast-services-page__cta h3{

font-size:32px;

}

}

/* =========================================================
   AMMONITE EDITORIAL HERO
========================================================= */

.amm-hero-editorial {
    --amm-navy: var(--navy);
    --amm-gold: var(--gold);
    --amm-white: #ffffff;

    position: relative;

    width: 100%;
    min-height: 690px;

    overflow: hidden;
    background: var(--amm-navy);
}


/* =========================================================
   IMAGE
========================================================= */

.amm-hero-editorial__media {
    position: absolute;
    inset: 0;
}

.amm-hero-editorial__media img {
    display: block;

    width: 100%;
    height: 100%;

    object-fit: cover;
    object-position: center 42%;
}


/* =========================================================
   GRADIENT
========================================================= */

.amm-hero-editorial__overlay {
    position: absolute;
    inset: 0;
    z-index: 1;

    background:
        linear-gradient(
            90deg,
            rgba(var(--navy-rgb), 0.96) 0%,
            rgba(var(--navy-rgb), 0.88) 28%,
            rgba(var(--navy-rgb), 0.56) 48%,
            rgba(var(--navy-rgb), 0.08) 74%
        ),
        linear-gradient(
            0deg,
            rgba(var(--navy-rgb), 0.55) 0%,
            rgba(var(--navy-rgb), 0) 48%
        );
}


/* =========================================================
   INNER
========================================================= */

.amm-hero-editorial__inner {
    position: relative;
    z-index: 3;

    display: flex;
    align-items: center;

    width: 88%;
    max-width: 1400px;
    min-height: 690px;

    margin: 0 auto;
    padding: 72px 0 145px;
}

.amm-hero-editorial__content {
    width: min(670px, 52%);
}


/* =========================================================
   EYEBROW
========================================================= */

.amm-hero-editorial__eyebrow {
    display: flex;
    align-items: center;
    gap: 13px;

    margin-bottom: 25px;

    color: var(--amm-gold);

    font-family: var(--font-heading);
    font-size: 11px;
    font-weight: 800;
    letter-spacing: 1.5px;
    text-transform: uppercase;
}

.amm-hero-editorial__eyebrow::before {
    content: "";

    width: 36px;
    height: 2px;

    flex: 0 0 36px;

    background: var(--amm-gold);
}


/* =========================================================
   HEADING
========================================================= */

.amm-hero-editorial__heading-wrap {
    display: grid;
    grid-template-columns: 4px 1fr;
    gap: 24px;
}

.amm-hero-editorial__line {
    display: block;

    width: 4px;
    height: 100%;

    background: var(--amm-gold);
}

.amm-hero-editorial h1 {
    margin: 0;

    color: var(--amm-white);

    font-family: var(--font-heading);
    font-size: clamp(50px, 5vw, 74px);
    font-weight: 800;
    line-height: 0.98;
    letter-spacing: -3px;
}

.amm-hero-editorial h1 strong {
    display: block;

    color: var(--amm-white);
    font-weight: 800;
}


/* =========================================================
   INTRO
========================================================= */

.amm-hero-editorial__intro {
    max-width: 590px;

    margin: 31px 0 0 28px;

    color: rgba(255, 255, 255, 0.73);

    font-family: var(--font-body);
    font-size: 17px;
    line-height: 1.75;
}


/* =========================================================
   BUTTONS
========================================================= */

.amm-hero-editorial__actions {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;

    margin: 31px 0 0 28px;
}

.amm-hero-editorial__button {
    display: inline-flex;
    align-items: center;
    justify-content: space-between;
    gap: 25px;

    min-height: 57px;
    padding: 0 22px;

    font-family: var(--font-heading);
    font-size: 11px;
    font-weight: 800;
    letter-spacing: 0.55px;
    text-decoration: none;
    text-transform: uppercase;

    transition:
        transform 0.3s ease,
        background 0.3s ease,
        color 0.3s ease,
        border-color 0.3s ease;
}

.amm-hero-editorial__button span {
    font-size: 17px;

    transition: transform 0.3s ease;
}

.amm-hero-editorial__button--primary {
    min-width: 210px;

    background: var(--amm-gold);
    color: var(--amm-navy);
}

.amm-hero-editorial__button--secondary {
    min-width: 195px;

    border: 1px solid rgba(255, 255, 255, 0.3);
    background: rgba(var(--navy-rgb), 0.2);
    color: var(--amm-white);

    backdrop-filter: blur(5px);
}

.amm-hero-editorial__button:hover {
    transform: translateY(-3px);
}

.amm-hero-editorial__button:hover span {
    transform: translateX(4px);
}

.amm-hero-editorial__button--primary:hover {
    background: var(--amm-white);
    color: var(--amm-navy);
}

.amm-hero-editorial__button--secondary:hover {
    border-color: var(--amm-gold);

    background: var(--amm-gold);
    color: var(--amm-navy);
}




/* =========================================================
   TABLET
========================================================= */

@media (max-width: 1050px) {

    .amm-hero-editorial {
        min-height: 650px;
    }

    .amm-hero-editorial__inner {
        width: 90%;
        min-height: 650px;

        padding-bottom: 140px;
    }

    .amm-hero-editorial__content {
        width: 59%;
    }

    .amm-hero-editorial__media img {
        object-position: 63% center;
    }

    .amm-hero-editorial h1 {
        font-size: clamp(46px, 6vw, 62px);
    }

    .amm-hero-editorial__review {
        left: 5%;

        width: 82%;
    }
}


/* =========================================================
   MOBILE
========================================================= */

@media (max-width: 767px) {

    .amm-hero-editorial {
        display: flex;
        flex-direction: column;

        min-height: 0;
    }

    .amm-hero-editorial__media {
        position: relative;

        order: 1;

        width: 100%;
        height: 350px;
    }

    .amm-hero-editorial__media img {
        object-position: 64% center;
    }

    .amm-hero-editorial__overlay {
        display: none;
    }

    .amm-hero-editorial__inner {
        order: 2;

        display: block;

        width: 100%;
        min-height: 0;

        padding: 0;
    }

    .amm-hero-editorial__content {
        width: 100%;
        max-width: none;

        padding: 43px 6% 48px;

        background: var(--amm-navy);
    }

    .amm-hero-editorial__heading-wrap {
        grid-template-columns: 3px 1fr;
        gap: 17px;
    }

    .amm-hero-editorial h1 {
        font-size: clamp(40px, 12vw, 54px);
        letter-spacing: -2px;
    }

    .amm-hero-editorial__intro,
    .amm-hero-editorial__actions {
        margin-left: 20px;
    }

    .amm-hero-editorial__intro {
        font-size: 15px;
        line-height: 1.7;
    }

    .amm-hero-editorial__actions {
        display: grid;
        grid-template-columns: 1fr;
    }

    .amm-hero-editorial__button,
    .amm-hero-editorial__button--primary,
    .amm-hero-editorial__button--secondary {
        width: 100%;
        min-width: 0;
    }

    .amm-hero-editorial__review {
        position: relative;

        left: auto;
        bottom: auto;
        order: 3;

        grid-template-columns: 1fr auto;
        gap: 16px;

        width: 100%;
        padding: 22px 6%;

        box-shadow: none;
    }

    .amm-hero-editorial__review blockquote {
        display: none;
    }
}

/* ==========================================
   HEADER CTA
========================================== */

.ast-header__book{
    display:inline-flex;
    align-items:center;
    justify-content:space-between;
    gap:24px;

    min-width:220px;
    height:54px;
    padding:0 0 0 22px;

    background:var(--gold);
    color:var(--navy);

    border:none;

    text-decoration:none;
    text-transform:uppercase;

    font-family: var(--font-heading);
    font-size:11px;
    font-weight:800;
    letter-spacing:.7px;

    transition:.3s;
}

.ast-header__book span{
    line-height:1;
}

.ast-header__book i{

    display:flex;
    align-items:center;
    justify-content:center;

    width:54px;
    height:54px;

    background:var(--navy);
    color:#fff;

    font-style:normal;
    font-size:18px;

    transition:.3s;
}

.ast-header__book:hover{

    transform:translateY(-2px);

    box-shadow:0 14px 30px rgba(0,0,0,.18);

}

.ast-header__book:hover i{

    background:#fff;
    color:var(--navy);

    transform:translateX(4px);

}

@media(max-width:900px){

.ast-header__book{
display:none;
}

}

/* =========================================================
   HEADER BUTTON â€” MATCH HERO EXACTLY
========================================================= */

.ast-header__book {
    display: inline-flex;
    align-items: center;
    justify-content: space-between;
    gap: 28px;

    min-width: 205px;
    min-height: 50px;
    padding: 0 20px;

    background: var(--gold);
    color: var(--navy);

    border: none;
    border-radius: 0;

    font-family: var(--font-heading);
    font-size: 10px;
    font-weight: 800;
    letter-spacing: 0.45px;
    line-height: 1;
    text-decoration: none;
    text-transform: uppercase;

    transition:
        background 0.3s ease,
        color 0.3s ease,
        transform 0.3s ease;
}

.ast-header__book span {
    color: var(--navy);
    font-family: var(--font-heading);
    font-size: 17px;
    line-height: 1;

    transition: transform 0.3s ease;
}

.ast-header__book:hover {
    background: #ffffff;
    color: var(--navy);
    transform: translateY(-2px);
}

.ast-header__book:hover span {
    transform: translateX(4px);
}


/* TABLET */

@media (max-width: 1150px) {

    .ast-header__book {
        min-width: 180px;
        min-height: 48px;
        padding: 0 17px;

        font-size: 9px;
    }
}


/* MOBILE */

@media (max-width: 900px) {

    .ast-header__book {
        display: none;
    }
}

/* =========================================================
   REVIEW CARD â€” RIGHT SIDE OVERLAP
========================================================= */

.amm-hero-editorial {
    overflow: visible;
    margin-bottom: 0;
}

.amm-hero-editorial__review {
    position: absolute;
    z-index: 10;

    right: 6%;
    left: auto;
    bottom: -70px;

    display: grid;
    grid-template-columns: minmax(190px, 0.9fr) minmax(230px, 1.2fr) auto;
    align-items: center;
    gap: 28px;

    width: min(690px, 55%);
    min-height: 145px;
    padding: 28px 34px;

    overflow: hidden;

    background: #f4f1eb;
    color: var(--navy);

    box-shadow:
        0 22px 55px rgba(var(--navy-rgb), 0.18);

    border: 1px solid rgba(var(--navy-rgb), 0.07);
}


/* RATING */

.amm-hero-editorial__rating {
    position: relative;
    z-index: 2;

    display: flex;
    align-items: flex-start;
    flex-direction: column;
    gap: 8px;
}

.amm-hero-editorial__stars {
    color: var(--gold);

    font-size: 17px;
    line-height: 1;
    letter-spacing: 2px;
}

.amm-hero-editorial__rating > div {
    display: flex;
    flex-direction: column;
    gap: 4px;
}

.amm-hero-editorial__rating strong {
    color: var(--navy);

    font-family: var(--font-heading);
    font-size: 11px;
    font-weight: 800;
    line-height: 1.3;
}

.amm-hero-editorial__rating > div > span {
    color: #6b757c;

    font-family: var(--font-body);
    font-size: 10px;
    line-height: 1.45;
}


/* REVIEW QUOTE */

.amm-hero-editorial__review blockquote {
    position: relative;
    z-index: 2;

    margin: 0;
    padding-left: 27px;

    border-left: 1px solid rgba(var(--navy-rgb), 0.14);

    color: #59666e;

    font-family: var(--font-body);
    font-size: 13px;
    font-style: italic;
    line-height: 1.65;
}


/* REVIEW LINK */

.amm-hero-editorial__review > a {
    position: relative;
    z-index: 2;

    display: inline-flex;
    align-items: center;
    gap: 10px;

    color: var(--navy);

    font-family: var(--font-heading);
    font-size: 9px;
    font-weight: 800;
    letter-spacing: 0.7px;
    text-decoration: none;
    text-transform: uppercase;
    white-space: nowrap;
}

.amm-hero-editorial__review > a span {
    color: var(--gold);
    font-size: 16px;

    transition: transform 0.3s ease;
}

.amm-hero-editorial__review > a:hover span {
    transform: translateX(4px);
}


/* SUBTLE AMMONITE DETAIL */

.amm-hero-editorial__review-mark {
    position: absolute;

    right: -55px;
    bottom: -55px;

    width: 180px;
    height: 180px;

    opacity: 0.07;
    pointer-events: none;
}

.amm-hero-editorial__review-mark span {
    position: absolute;
    top: 50%;
    left: 50%;

    border: 24px solid var(--navy);
    border-radius: 50%;

    transform: translate(-50%, -50%);
}

.amm-hero-editorial__review-mark span:nth-child(1) {
    width: 180px;
    height: 180px;
}

.amm-hero-editorial__review-mark span:nth-child(2) {
    width: 105px;
    height: 105px;
}

.amm-hero-editorial__review-mark span:nth-child(3) {
    width: 38px;
	height: 38px;}

.ast-header__nav > ul > li > a {
   
    font-weight: 500!important;
    
}

	/* =========================================================
   ORIGINAL-STYLE AMMONITE HERO
========================================================= */

.ammonite-main-hero {
    --am-navy: var(--navy);
    --am-gold: var(--gold);
    --am-white: #ffffff;

    position: relative;
    display: flex;
    align-items: center;

    width: 100%;
    min-height: 650px;

    overflow: hidden;
    background: var(--am-navy);
}


/* =========================================================
   BACKGROUND IMAGE
========================================================= */

.ammonite-main-hero__media {
    position: absolute;
    inset: 0;
}

.ammonite-main-hero__media img {
    display: block;

    width: 100%;
    height: 100%;

    object-fit: cover;
    object-position: center 42%;
}


/* =========================================================
   OVERLAY
========================================================= */

.ammonite-main-hero__overlay {
    position: absolute;
    inset: 0;
    z-index: 1;

    background:
        linear-gradient(
            90deg,
            rgba(var(--navy-rgb), 0.97) 0%,
            rgba(var(--navy-rgb), 0.91) 24%,
            rgba(var(--navy-rgb), 0.69) 42%,
            rgba(var(--navy-rgb), 0.27) 66%,
            rgba(var(--navy-rgb), 0.04) 88%
        ),
        linear-gradient(
            0deg,
            rgba(var(--navy-rgb), 0.35) 0%,
            transparent 45%
        );
}


/* =========================================================
   INNER
========================================================= */

.ammonite-main-hero__inner {
    position: relative;
    z-index: 2;

    display: flex;
    align-items: center;

    width: 88%;
    max-width: 1400px;
    min-height: 650px;

    margin: 0 auto;
    padding: 70px 0 60px;
}

.ammonite-main-hero__content {
    width: min(650px, 52%);
}


/* =========================================================
   EYEBROW
========================================================= */

.ammonite-main-hero__eyebrow {
    display: flex;
    align-items: center;
    gap: 13px;

    margin-bottom: 23px;

    color: var(--am-gold);

    font-family: var(--font-heading);
    font-size: 11px;
    font-weight: 800;
    letter-spacing: 1.5px;
    line-height: 1.4;
    text-transform: uppercase;
}

.ammonite-main-hero__eyebrow > span {
    display: block;

    width: 36px;
    height: 2px;

    flex: 0 0 36px;

    background: var(--am-gold);
}


/* =========================================================
   HEADING
========================================================= */

.ammonite-main-hero h1 {
    max-width: 700px;
    margin: 0;

    color: var(--am-white);

    font-family: var(--font-heading);
    font-size: clamp(48px, 4.8vw, 70px);
    font-weight: 800;
    line-height: 1.02;
    letter-spacing: -2.7px;
}

.ammonite-main-hero h1 strong {
    display: block;
    color: var(--am-white);
    font-weight: 800;
}


/* =========================================================
   INTRODUCTION
========================================================= */

.ammonite-main-hero__intro {
    max-width: 600px;

    margin: 27px 0 0;

    color: rgba(255, 255, 255, 0.75);

    font-family: var(--font-body);
    font-size: 17px;
    line-height: 1.72;
}


/* =========================================================
   BUTTONS
========================================================= */

.ammonite-main-hero__buttons {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;

    margin-top: 29px;
}

.ammonite-main-hero__button {
    display: inline-flex;
    align-items: center;
    justify-content: space-between;
    gap: 28px;

    min-height: 56px;
    padding: 0 20px;

    font-family: var(--font-heading);
    font-size: 10px;
    font-weight: 800;
    letter-spacing: 0.45px;
    text-decoration: none;
    text-transform: uppercase;

    transition:
        background 0.3s ease,
        color 0.3s ease,
        border-color 0.3s ease,
        transform 0.3s ease;
}

.ammonite-main-hero__button span {
    font-family: var(--font-heading);
    font-size: 17px;
    line-height: 1;

    transition: transform 0.3s ease;
}

.ammonite-main-hero__button--primary {
    min-width: 205px;

    background: var(--am-gold);
    color: var(--am-navy);
}

.ammonite-main-hero__button--secondary {
    min-width: 215px;

    border: 1px solid rgba(255, 255, 255, 0.3);
    background: rgba(var(--navy-rgb), 0.22);
    color: var(--am-white);
}

.ammonite-main-hero__button:hover {
    transform: translateY(-3px);
}

.ammonite-main-hero__button:hover span {
    transform: translateX(4px);
}

.ammonite-main-hero__button--primary:hover {
    background: var(--am-white);
    color: var(--am-navy);
}

.ammonite-main-hero__button--secondary:hover {
    border-color: var(--am-gold);
    background: var(--am-gold);
    color: var(--am-navy);
}


/* =========================================================
   REVIEW STRIP
========================================================= */

.ammonite-main-hero__reviews {
    display: grid;
    grid-template-columns: auto 1px minmax(180px, 1fr) auto;
    align-items: center;
    gap: 20px;

    max-width: 650px;

    margin-top: 31px;
    padding-top: 21px;

    border-top: 1px solid rgba(255, 255, 255, 0.16);
}

.ammonite-main-hero__rating {
    display: flex;
    flex-direction: column;
    gap: 5px;
}

.ammonite-main-hero__stars {
    color: var(--am-gold);

    font-size: 14px;
    line-height: 1;
    letter-spacing: 2px;
}

.ammonite-main-hero__rating strong {
    color: var(--am-white);

    font-family: var(--font-heading);
    font-size: 10px;
    font-weight: 800;
    line-height: 1.3;
}

.ammonite-main-hero__divider {
    display: block;

    width: 1px;
    height: 40px;

    background: rgba(255, 255, 255, 0.17);
}

.ammonite-main-hero__reviews blockquote {
    margin: 0;

    color: rgba(255, 255, 255, 0.62);

    font-family: var(--font-body);
    font-size: 12px;
    font-style: italic;
    line-height: 1.55;
}

.ammonite-main-hero__reviews > a {
    display: inline-flex;
    align-items: center;
    gap: 10px;

    color: var(--am-gold);

    font-family: var(--font-heading);
    font-size: 9px;
    font-weight: 800;
    letter-spacing: 0.7px;
    text-decoration: none;
    text-transform: uppercase;
    white-space: nowrap;
}

.ammonite-main-hero__reviews > a span {
    font-size: 15px;
    transition: transform 0.3s ease;
}

.ammonite-main-hero__reviews > a:hover span {
    transform: translateX(4px);
}


/* =========================================================
   SIDE EXPLORE LABEL
========================================================= */

.ammonite-main-hero__explore {
    position: absolute;
    z-index: 3;

    right: 23px;
    top: 50%;

    display: flex;
    align-items: center;
    gap: 11px;

    color: rgba(255, 255, 255, 0.55);

    font-family: var(--font-heading);
    font-size: 8px;
    font-weight: 700;
    letter-spacing: 1.8px;
    text-decoration: none;
    text-transform: uppercase;

    transform: translateY(-50%) rotate(90deg);
}

.ammonite-main-hero__explore i {
    display: block;

    width: 38px;
    height: 1px;

    background: var(--am-gold);
}


/* =========================================================
   TABLET
========================================================= */

@media (max-width: 1050px) {

    .ammonite-main-hero {
        min-height: 620px;
    }

    .ammonite-main-hero__inner {
        width: 90%;
        min-height: 620px;
    }

    .ammonite-main-hero__content {
        width: 59%;
    }

    .ammonite-main-hero__media img {
        object-position: 63% center;
    }

    .ammonite-main-hero h1 {
        font-size: clamp(44px, 5.8vw, 61px);
    }

    .ammonite-main-hero__explore {
        display: none;
    }
}


/* =========================================================
   MOBILE
========================================================= */

@media (max-width: 767px) {

    .ammonite-main-hero {
        display: flex;
        flex-direction: column;

        min-height: 0;
        overflow: hidden;
    }

    .ammonite-main-hero__media {
        position: relative;

        order: 1;

        width: 100%;
        height: 350px;
    }

    .ammonite-main-hero__media::after {
        content: "";

        position: absolute;
        inset: 0;

        background:
            linear-gradient(
                0deg,
                rgba(var(--navy-rgb), 0.6),
                rgba(var(--navy-rgb), 0.02) 65%
            );
    }

    .ammonite-main-hero__media img {
        object-position: 64% center;
    }

    .ammonite-main-hero__overlay {
        display: none;
    }

    .ammonite-main-hero__inner {
        order: 2;

        display: block;

        width: 100%;
        min-height: 0;

        padding: 0;
    }

    .ammonite-main-hero__content {
        width: 100%;
        max-width: none;

        padding: 44px 6% 50px;

        background: var(--am-navy);
    }

    .ammonite-main-hero__eyebrow {
        font-size: 9px;
        letter-spacing: 1px;
    }

    .ammonite-main-hero__eyebrow > span {
        width: 25px;
        flex-basis: 25px;
    }

    .ammonite-main-hero h1 {
        font-size: clamp(40px, 12vw, 54px);
        letter-spacing: -2px;
    }

    .ammonite-main-hero__intro {
        font-size: 15px;
        line-height: 1.7;
    }

    .ammonite-main-hero__buttons {
        display: grid;
        grid-template-columns: 1fr;
    }

    .ammonite-main-hero__button,
    .ammonite-main-hero__button--primary,
    .ammonite-main-hero__button--secondary {
        width: 100%;
        min-width: 0;
    }

    .ammonite-main-hero__reviews {
        grid-template-columns: 1fr auto;
        gap: 16px;
    }

    .ammonite-main-hero__divider,
    .ammonite-main-hero__reviews blockquote {
        display: none;
    }

    .ammonite-main-hero__explore {
        display: none;
    }
}

/* =========================================================
   VERTICAL EYEBROW
========================================================= */

.ammonite-main-hero__eyebrow{

    position:relative;

    margin:0 0 26px 28px;

    color:var(--gold);

    font-family: var(--font-heading);
    font-size:11px;
    font-weight:800;
    letter-spacing:1.6px;
    line-height:1.4;
    text-transform:uppercase;

}

.ammonite-main-hero__eyebrow::before{

    content:"";

    position:absolute;

    left:-28px;
    top:-6px;
    bottom:-12px;

    width:3px;

    background:var(--gold);

}

/* LEFT VERTICAL TITLE */

.ammonite-main-hero__content{
    position:relative;
}

.ammonite-main-hero__side-title{

    position:absolute;

    left:-70px;
    top:85px;

    display:flex;
    flex-direction:column;
    align-items:center;

    color:var(--gold);

    font-size:11px;
    font-weight:700;
    letter-spacing:2px;
    text-transform:uppercase;

}

.ammonite-main-hero__side-title span{

    display:block;
    line-height:1.15;

}

.ammonite-main-hero__side-title .gap{

    height:14px;

}

.ammonite-main-hero__side-title::after{

    content:"";

    width:2px;
    flex:1;

    background:var(--gold);

    margin-top:18px;
    min-height:80px;

}

.ammonite-main-hero h1 {
    max-width: 700px;
    margin: 0;
    color: var(--am-white);
    font-family: var(--font-heading);
    font-size: clamp(48px, 4.8vw, 70px);
    font-weight: 800;
    line-height: 1.02;
    letter-spacing: 0px;
}

.ammonite-main-hero h1 strong {
    display: block;
    color: var(--am-white);
    font-weight: 700;
}

/* =========================================================
   HERO HEADING â€” FORCE TWO LINES ON DESKTOP
========================================================= */

@media (min-width: 1001px) {

    .ammonite-main-hero__content {
        width: 64%;
        max-width: 850px;
    }

    .ammonite-main-hero h1 {
        width: 100%;
        max-width: none;
    }

    .ammonite-main-hero h1 strong {
        display: block;
        white-space: nowrap;
    }
}
/* =========================================================
   GOOGLE REVIEW PANEL
========================================================= */

.ammonite-main-hero {
    overflow: visible;
    margin-bottom: 68px;
}

.ammonite-main-hero__inner {
    position: relative;
    padding-bottom: 135px;
}

.ammonite-main-hero__google {
    position: absolute;
    z-index: 6;

    right: 0;
    bottom: -68px;

    display: grid;
    grid-template-columns: 220px minmax(250px, 1fr) 145px;
    align-items: center;
    gap: 30px;

    width: min(780px, 66%);
    min-height: 136px;
    padding: 27px 32px;

    background: #f7f4ee;
    color: var(--navy);

    box-shadow: 0 20px 48px rgba(var(--navy-rgb), 0.18);
}


/* GOOGLE BRAND */

.ammonite-main-hero__google-brand {
    display: flex;
    align-items: center;
    gap: 14px;
}

.ammonite-main-hero__google-icon {
    display: flex;
    align-items: center;
    justify-content: center;

    flex: 0 0 46px;

    width: 46px;
    height: 46px;

    border-radius: 50%;
    background: #ffffff;
    color: #4285f4;

    font-family: var(--font-heading);
    font-size: 25px;
    font-weight: 700;
}

.ammonite-main-hero__google-brand > div:last-child {
    display: flex;
    flex-direction: column;
    gap: 5px;
}

.ammonite-main-hero__google-brand span {
    color: #707980;

    font-family: var(--font-heading);
    font-size: 9px;
    font-weight: 700;
    letter-spacing: 1.2px;
    text-transform: uppercase;
}

.ammonite-main-hero__google-brand strong {
    color: var(--navy);

    font-family: var(--font-heading);
    font-size: 19px;
    font-weight: 800;
    white-space: nowrap;
}

.ammonite-main-hero__google-brand strong i {
    color: var(--gold);
    font-size: 13px;
    font-style: normal;
    letter-spacing: 1px;
}


/* QUOTE */

.ammonite-main-hero__google blockquote {
    margin: 0;
    padding-left: 27px;

    border-left: 1px solid rgba(var(--navy-rgb), 0.14);

    color: #56636b;

    font-family: var(--font-body);
    font-size: 13px;
    font-style: italic;
    line-height: 1.65;
}


/* RIGHT SIDE */

.ammonite-main-hero__google-right {
    text-align: right;
}

.ammonite-main-hero__google-right > strong {
    display: block;
    margin-bottom: 13px;

    color: var(--navy);

    font-family: var(--font-heading);
    font-size: 11px;
    font-weight: 800;
}

.ammonite-main-hero__google-right a {
    display: inline-flex;
    align-items: center;
    gap: 9px;

    color: var(--gold);

    font-family: var(--font-heading);
    font-size: 9px;
    font-weight: 800;
    letter-spacing: 0.7px;
    text-decoration: none;
    text-transform: uppercase;
    white-space: nowrap;
}

.ammonite-main-hero__google-right a span {
    font-size: 15px;
    transition: transform 0.3s ease;
}

.ammonite-main-hero__google-right a:hover span {
    transform: translateX(4px);
}


/* TABLET */

@media (max-width: 1000px) {

    .ammonite-main-hero__google {
        right: 0;

        grid-template-columns: 190px 1fr auto;

        width: 84%;
        padding: 24px 27px;
        gap: 22px;
    }

    .ammonite-main-hero__google blockquote {
        font-size: 12px;
    }
}


/* MOBILE */

@media (max-width: 767px) {

    .ammonite-main-hero {
        margin-bottom: 0;
        overflow: hidden;
    }

    .ammonite-main-hero__inner {
        padding-bottom: 0;
    }

    .ammonite-main-hero__google {
        position: relative;

        right: auto;
        bottom: auto;

        grid-template-columns: 1fr auto;
        gap: 16px;

        width: 100%;
        min-height: 0;
        padding: 23px 6%;

        box-shadow: none;
    }

    .ammonite-main-hero__google blockquote {
        display: none;
    }

    .ammonite-main-hero__google-right > strong {
        display: none;
    }
}

.ammonite-main-hero__google {
    position: absolute;
    z-index: 6;

    right: 0;
    bottom: -78px;

    display: grid;
    grid-template-columns: 180px minmax(210px, 1fr) 120px;
    align-items: center;
    gap: 24px;

    width: min(620px, 54%);
    min-height: 158px;
    padding: 34px 30px;

    background: #f7f4ee;
    color: var(--navy);

    box-shadow: 0 20px 48px rgba(var(--navy-rgb), 0.18);
}

.ammonite-main-hero__google-icon {
    flex: 0 0 42px;
    width: 42px;
    height: 42px;
    font-size: 23px;
}

.ammonite-main-hero__google-brand {
    gap: 12px;
}

.ammonite-main-hero__google-brand strong {
    font-size: 17px;
}

.ammonite-main-hero__google blockquote {
    padding-left: 22px;
    font-size: 12px;
    line-height: 1.7;
}

.ammonite-main-hero__google-right > strong {
    font-size: 10px;
}

.ammonite-main-hero {
    margin-bottom: 82px;
}

.ammonite-main-hero__inner {
    padding-bottom: 0px;
}

.ammonite-main-hero {
    margin-bottom: 0px;
}

/* =========================================================
   ACTIVE HEADER NAVIGATION
========================================================= */

.ast-header__nav > ul > li > a.ast-header__active,
.ast-header__nav > ul > li.ast-header__active-parent > a {
    color: var(--ast-gold);
}

.ast-header__nav > ul > li > a.ast-header__active::after,
.ast-header__nav > ul > li.ast-header__active-parent > a::after {
    width: 100%;
}


/* Active dropdown link */

.ast-header__dropdown a.ast-header__active {
    padding-left: 28px;
    background: #f7f4ee;
    color: var(--ast-gold);
}
/* ==========================================
   FLOATING FOOTER ACTIONS
========================================== */

.ast-footer__floating {
    position: fixed;
    right: 24px;
    bottom: 24px;
    z-index: 9999;

    display: flex;
    flex-direction: column;
    gap: 12px;

    opacity: 0;
    visibility: hidden;
    transform: translateY(18px);

    transition:
        opacity 0.3s ease,
        visibility 0.3s ease,
        transform 0.3s ease;
}

.ast-footer__floating.is-visible {
    opacity: 1;
    visibility: visible;
    transform: translateY(0);
}

.ast-footer__circle {
    display: flex;
    align-items: center;
    justify-content: center;

    width: 48px;
    height: 48px;

    border: 1px solid rgba(var(--gold-rgb), 0.65);
    border-radius: 50%;

    background: var(--navy);
    color: var(--gold);

    text-decoration: none;

    box-shadow: 0 10px 28px rgba(var(--navy-rgb), 0.22);

    transition:
        background 0.3s ease,
        color 0.3s ease,
        transform 0.3s ease;
}

.ast-footer__circle svg {
    width: 18px;
    height: 18px;
}

.ast-footer__circle:hover {
    background: var(--gold);
    color: var(--navy);
    transform: translateY(-3px);
}

@media (max-width: 767px) {
    .ast-footer__floating {
        right: 14px;
        bottom: 14px;
    }

    .ast-footer__circle {
        width: 44px;
        height: 44px;
    }
}

.ast-footer__floating {
    pointer-events: auto;
}

.ast-footer__circle {
    position: relative;
    z-index: 2;
    pointer-events: auto;
    cursor: pointer;
}

.ast-footer__floating {
    pointer-events: auto;
}

.ast-footer__circle {
    position: relative;
    z-index: 99999;

    pointer-events: auto;
    cursor: pointer;
}

.ast-footer__circle svg {
    pointer-events: none;
}

/* =========================================================
   ABOUT CREDENTIALS
========================================================= */

.ast-about-clean__credentials {
    display: grid;
    grid-template-columns: 78px minmax(0, 1fr);
    align-items: center;
    gap: 20px;

    margin-top: 28px;
    padding: 20px 22px;

    background: rgba(255, 255, 255, 0.62);
    border-left: 3px solid var(--gold);
    border-top: 1px solid rgba(var(--navy-rgb), 0.08);
    border-right: 1px solid rgba(var(--navy-rgb), 0.08);
    border-bottom: 1px solid rgba(var(--navy-rgb), 0.08);
}

.ast-about-clean__credential-logo {
    display: flex;
    align-items: center;
    justify-content: center;

    width: 78px;
    height: 78px;

    padding: 8px;

    background: #ffffff;
}

.ast-about-clean__credential-logo img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: contain;
}

.ast-about-clean__credential-copy {
    min-width: 0;
}

.ast-about-clean__credential-copy > span {
    display: block;
    margin-bottom: 5px;

    color: var(--gold);

    font-family: var(--font-heading);
    font-size: 9px;
    font-weight: 800;
    letter-spacing: 1.2px;
    text-transform: uppercase;
}

.ast-about-clean__credential-copy strong {
    display: block;

    color: var(--navy);

    font-family: var(--font-heading);
    font-size: 13px;
    font-weight: 800;
    line-height: 1.45;
}

.ast-about-clean__credential-copy p {
    margin: 6px 0 0;

    color: var(--body-text);

    font-family: var(--font-body);
    font-size: 12px;
    line-height: 1.55;
}


/* Keep the statement neatly separated */

.ast-about-clean__statement {
    margin-top: 25px;
}


/* MOBILE */

@media (max-width: 767px) {

    .ast-about-clean__credentials {
        grid-template-columns: 62px minmax(0, 1fr);
        gap: 15px;

        padding: 17px;
    }

    .ast-about-clean__credential-logo {
        width: 62px;
        height: 62px;
        padding: 6px;
    }

    .ast-about-clean__credential-copy strong {
        font-size: 12px;
    }

    .ast-about-clean__credential-copy p {
        font-size: 11px;
    }
}

/* =========================================================
   ABOUT CREDENTIALS
========================================================= */

.ast-about-clean__credentials {
    display: grid;
    grid-template-columns: 78px minmax(0, 1fr);
    align-items: center;
    gap: 20px;

    margin-top: 28px;
    padding: 20px 22px;

    background: rgba(255, 255, 255, 0.62);
    border: 1px solid rgba(var(--navy-rgb), 0.08);
    border-left: 3px solid var(--gold);
}

.ast-about-clean__credential-logo {
    display: flex;
    align-items: center;
    justify-content: center;

    width: 78px;
    height: 78px;
    padding: 8px;

    background: #ffffff;
}

.ast-about-clean__credential-logo img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: contain;
}

.ast-about-clean__credential-copy > span {
    display: block;
    margin-bottom: 5px;

    color: var(--gold);

    font-family: var(--font-heading);
    font-size: 9px;
    font-weight: 800;
    letter-spacing: 1.2px;
    text-transform: uppercase;
}

.ast-about-clean__credential-copy strong {
    display: block;

    color: var(--navy);

    font-family: var(--font-heading);
    font-size: 13px;
    font-weight: 800;
    line-height: 1.45;
}

.ast-about-clean__credential-copy p {
    margin: 6px 0 0 !important;

    color: var(--body-text);

    font-family: var(--font-body);
    font-size: 12px !important;
    line-height: 1.55 !important;
}

.ast-about-clean__statement {
    margin-top: 25px;
}

@media (max-width: 767px) {

    .ast-about-clean__credentials {
        grid-template-columns: 62px minmax(0, 1fr);
        gap: 15px;
        padding: 17px;
    }

    .ast-about-clean__credential-logo {
        width: 62px;
        height: 62px;
        padding: 6px;
    }

    .ast-about-clean__credential-copy strong {
        font-size: 12px;
    }

    .ast-about-clean__credential-copy p {
        font-size: 11px !important;
    }
}

/* =========================================================
   EDITORIAL IMAGE FEATURE
========================================================= */

.ast-editorial-feature {
    --ast-navy: var(--navy);
    --ast-gold: var(--gold);
    --ast-cream: #f7f4ee;
    --ast-white: #ffffff;

    position: relative;
    width: 100%;
    min-height: 650px;

    overflow: hidden;
    background: #ddd8d0;
}


/* IMAGE */

.ast-editorial-feature__media {
    position: absolute;
    inset: 0;
}

.ast-editorial-feature__media::after {
    content: "";

    position: absolute;
    inset: 0;

    background:
        linear-gradient(
            0deg,
            rgba(var(--navy-rgb), 0.34) 0%,
            rgba(var(--navy-rgb), 0.03) 48%
        );
}

.ast-editorial-feature__media img {
    display: block;
    width: 100%;
    height: 100%;

    object-fit: cover;
    object-position: center 42%;

    transition: transform 1.1s ease;
}

.ast-editorial-feature:hover .ast-editorial-feature__media img {
    transform: scale(1.025);
}


/* INNER */

.ast-editorial-feature__inner {
    position: relative;
    z-index: 2;

    display: flex;
    align-items: flex-end;

    width: 88%;
    max-width: 1400px;
    min-height: 650px;

    margin: 0 auto;
    padding: 70px 0 0;
}


/* CAPTION STRIP */

.ast-editorial-feature__caption {
    display: grid;
    grid-template-columns: 1.05fr 0.95fr;
    align-items: center;
    gap: 60px;

    width: min(1050px, 84%);
    padding: 34px 42px;

    background: rgba(247, 244, 238, 0.97);
    color: var(--ast-navy);

    box-shadow: 0 18px 55px rgba(var(--navy-rgb), 0.16);
}


/* HEADING SIDE */

.ast-editorial-feature__heading {
    position: relative;
    padding-left: 24px;
}

.ast-editorial-feature__heading::before {
    content: "";

    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;

    width: 3px;

    background: var(--ast-gold);
}

.ast-editorial-feature__eyebrow {
    display: block;
    margin-bottom: 10px;

    color: var(--ast-gold);

    font-family: var(--font-heading);
    font-size: 9px;
    font-weight: 800;
    letter-spacing: 1.5px;
    text-transform: uppercase;
}

.ast-editorial-feature h2 {
    margin: 0;

    color: var(--ast-navy);

    font-family: var(--font-heading);
    font-size: clamp(34px, 3.4vw, 50px);
    font-weight: 800;
    line-height: 1;
    letter-spacing: -1.8px;
}

.ast-editorial-feature h2 strong {
    display: block;
    color: var(--ast-gold);
    font-weight: 800;
}


/* COPY SIDE */

.ast-editorial-feature__copy {
    padding-left: 38px;
    border-left: 1px solid rgba(var(--navy-rgb), 0.12);
}

.ast-editorial-feature__copy p {
    max-width: 430px;
    margin: 0;

    color: var(--body-text);

    font-family: var(--font-body);
    font-size: 15px;
    line-height: 1.7;
}


/* ACTIONS */

.ast-editorial-feature__actions {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 22px;

    margin-top: 23px;
}

.ast-editorial-feature__button {
    display: inline-flex;
    align-items: center;
    justify-content: space-between;
    gap: 28px;

    min-width: 200px;
    min-height: 53px;
    padding: 0 20px;

    background: var(--ast-gold);
    color: var(--ast-navy);

    font-family: var(--font-heading);
    font-size: 9px;
    font-weight: 800;
    letter-spacing: 0.5px;
    text-decoration: none;
    text-transform: uppercase;

    transition:
        background 0.3s ease,
        color 0.3s ease,
        transform 0.3s ease;
}

.ast-editorial-feature__button span {
    font-size: 16px;
    transition: transform 0.3s ease;
}

.ast-editorial-feature__button:hover {
    background: var(--ast-navy);
    color: var(--ast-white);

    transform: translateY(-2px);
}

.ast-editorial-feature__button:hover span {
    transform: translateX(4px);
}

.ast-editorial-feature__link {
    display: inline-flex;
    align-items: center;
    gap: 9px;

    padding-bottom: 6px;

    border-bottom: 1px solid rgba(var(--navy-rgb), 0.32);

    color: var(--ast-navy);

    font-family: var(--font-heading);
    font-size: 9px;
    font-weight: 800;
    letter-spacing: 0.6px;
    text-decoration: none;
    text-transform: uppercase;
}

.ast-editorial-feature__link span {
    color: var(--ast-gold);
    font-size: 15px;

    transition: transform 0.3s ease;
}

.ast-editorial-feature__link:hover span {
    transform: translate(3px, -3px);
}


/* TABLET */

@media (max-width: 1000px) {

    .ast-editorial-feature {
        min-height: 600px;
    }

    .ast-editorial-feature__inner {
        width: 90%;
        min-height: 600px;
    }

    .ast-editorial-feature__caption {
        width: 92%;
        grid-template-columns: 1fr;
        gap: 24px;
    }

    .ast-editorial-feature__copy {
        padding-top: 22px;
        padding-left: 0;

        border-top: 1px solid rgba(var(--navy-rgb), 0.12);
        border-left: 0;
    }
}


/* MOBILE */

@media (max-width: 767px) {

    .ast-editorial-feature {
        min-height: 560px;
    }

    .ast-editorial-feature__media img {
        object-position: 60% center;
    }

    .ast-editorial-feature__inner {
        width: 100%;
        min-height: 560px;
        padding: 0;

        align-items: flex-end;
    }

    .ast-editorial-feature__caption {
        width: 100%;
        padding: 34px 6% 40px;

        box-shadow: none;
    }

    .ast-editorial-feature h2 {
        font-size: clamp(36px, 10vw, 48px);
    }

    .ast-editorial-feature__actions {
        align-items: flex-start;
        flex-direction: column;
    }

    .ast-editorial-feature__button {
        width: 100%;
    }
}





/* RIGHT */



.ammonite-main-hero {

    min-height: 80vh;
 
}

.ast-services-gallery::before {
    content: "RECOVER";

    position: absolute;
    z-index: 0;

    top: 245px;
    right: -70px;
    left: auto;

    color: rgba(var(--navy-rgb), 0.028);

    font-family: var(--font-heading);
    font-size: clamp(135px, 16vw, 255px);
    font-weight: 900;
    letter-spacing: -10px;
    line-height: 0.78;
    white-space: nowrap;

    pointer-events: none;
    user-select: none;
}
/* =========================================================
   AMMONITE SERVICES SHOWCASE
========================================================= */

.am-service-showcase {
    --am-service-navy: var(--navy);
    --am-service-gold: var(--gold);
    --am-service-cream: #f8f5ef;
    --am-service-white: #ffffff;
    --am-service-grey: #69757e;

    position: relative;
    width: 100%;

    padding: 82px 6% 95px;

    overflow: hidden;

    background: var(--am-service-cream);
}


/* INNER */

.am-service-showcase__inner {
    width: 100%;
    max-width: 1400px;
    margin: 0 auto;
}


/* =========================================================
   INTRO
========================================================= */

.am-service-showcase__intro {
    display: grid;
    grid-template-columns: minmax(0, 1.15fr) minmax(320px, 0.65fr);
    align-items: end;
    gap: 80px;

    margin-bottom: 46px;
}

.am-service-showcase__intro-main {
    max-width: 760px;
}

.am-service-showcase__eyebrow {
    display: flex;
    align-items: center;
    gap: 13px;

    color: var(--am-service-gold);

    font-family: var(--font-heading);
    font-size: 11px;
    font-weight: 800;
    letter-spacing: 1.6px;
    line-height: 1.4;
    text-transform: uppercase;
}

.am-service-showcase__eyebrow::before {
    content: "";

    width: 36px;
    height: 2px;

    flex: 0 0 36px;

    background: var(--am-service-gold);
}

.am-service-showcase h2 {
    max-width: 760px;

    margin: 17px 0 0;

    color: var(--am-service-navy);

    font-family: var(--font-heading);
    font-size: clamp(40px, 5vw, 66px);
    font-weight: 700;
    line-height: 0.98;
}

.am-service-showcase__intro-copy {
    max-width: 490px;
    padding: 0 0 6px 32px;

    border-left: 1px solid rgba(var(--navy-rgb), 0.14);
}

.am-service-showcase__intro-copy p {
    margin: 0;

    color: var(--body-text);

    font-family: var(--font-body);
    font-size: 16px;
    line-height: 1.75;
}

.am-service-showcase__view-all {
    display: inline-flex;
    align-items: center;
    gap: 12px;

    margin-top: 22px;
    padding-bottom: 7px;

    border-bottom: 1px solid rgba(var(--navy-rgb), 0.22);

    color: var(--am-service-navy);

    font-family: var(--font-heading);
    font-size: 10px;
    font-weight: 800;
    letter-spacing: 0.7px;
    text-decoration: none;
    text-transform: uppercase;
}

.am-service-showcase__view-all span {
    color: var(--am-service-gold);
    font-size: 16px;

    transition: transform 0.3s ease;
}

.am-service-showcase__view-all:hover span {
    transform: translateX(4px);
}


/* =========================================================
   GRID
========================================================= */

.am-service-showcase__grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 20px;

    padding-top: 34px;

    border-top: 1px solid rgba(var(--navy-rgb), 0.12);
}


/* =========================================================
   CARDS
========================================================= */

.am-service-showcase__card {
    position: relative;

    display: block;

    min-height: 470px;

    overflow: hidden;

    border-radius: 16px;

    background: var(--am-service-navy);
    color: var(--am-service-white);

    text-decoration: none;

    box-shadow: 0 15px 36px rgba(var(--navy-rgb), 0.12);

    transition:
        transform 0.35s ease,
        box-shadow 0.35s ease;
}

.am-service-showcase__card img {
    display: block;

    width: 100%;
    height: 100%;

    object-fit: cover;
    object-position: center;

    transition: transform 0.7s ease;
}

.am-service-showcase__overlay {
    position: absolute;
    inset: 0;

    background:
        linear-gradient(
            0deg,
            rgba(var(--navy-rgb), 0.98) 0%,
            rgba(var(--navy-rgb), 0.75) 35%,
            rgba(var(--navy-rgb), 0.12) 70%
        );
}

.am-service-showcase__content {
    position: absolute;
    z-index: 2;

    right: 0;
    bottom: 0;
    left: 0;

    padding: 28px;
}

.am-service-showcase__content small {
    display: block;

    margin-bottom: 9px;

    color: var(--am-service-gold);

    font-family: var(--font-heading);
    font-size: 9px;
    font-weight: 800;
    letter-spacing: 1.1px;
    line-height: 1.4;
    text-transform: uppercase;
}

.am-service-showcase__content h3 {
    margin: 0;

    color: var(--am-service-white);

    font-family: var(--font-heading);
    font-size: clamp(24px, 2vw, 31px);
    font-weight: 800;
    line-height: 1.04;
    letter-spacing: -1px;
}

.am-service-showcase__content p {
    max-width: 320px;

    margin: 12px 0 0;

    color: rgba(255, 255, 255, 0.74);

    font-family: var(--font-body);
    font-size: 13px;
    line-height: 1.6;

    opacity: 0;
    transform: translateY(12px);

    transition:
        opacity 0.35s ease,
        transform 0.35s ease;
}

.am-service-showcase__arrow {
    display: flex;
    align-items: center;
    justify-content: center;

    width: 36px;
    height: 36px;

    margin-top: 18px;

    border: 1px solid rgba(var(--gold-rgb), 0.75);
    border-radius: 50%;

    color: var(--am-service-gold);

    font-family: var(--font-heading);
    font-size: 16px;

    transition:
        background 0.3s ease,
        color 0.3s ease,
        transform 0.3s ease;
}


/* HOVER */

.am-service-showcase__card:hover {
    transform: translateY(-7px);

    box-shadow: 0 24px 50px rgba(var(--navy-rgb), 0.19);
}

.am-service-showcase__card:hover img {
    transform: scale(1.055);
}

.am-service-showcase__card:hover
.am-service-showcase__content p {
    opacity: 1;
    transform: translateY(0);
}

.am-service-showcase__card:hover
.am-service-showcase__arrow {
    background: var(--am-service-gold);
    color: var(--am-service-navy);

    transform: translateX(4px);
}


/* =========================================================
   TABLET
========================================================= */

@media (max-width: 1000px) {

    .am-service-showcase {
        padding-top: 68px;
        padding-bottom: 78px;
    }

    .am-service-showcase__intro {
        grid-template-columns: 1fr;
        align-items: start;
        gap: 26px;

        margin-bottom: 38px;
    }

    .am-service-showcase__intro-copy {
        max-width: 680px;

        padding: 21px 0 0;

        border-top: 1px solid rgba(var(--navy-rgb), 0.12);
        border-left: none;
    }

    .am-service-showcase__grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .am-service-showcase__card:last-child {
        grid-column: 1 / -1;
    }

    .am-service-showcase__card {
        min-height: 440px;
    }
}


/* =========================================================
   MOBILE
========================================================= */

@media (max-width: 767px) {

    .am-service-showcase {
        padding: 55px 6% 65px;
    }

    .am-service-showcase__intro {
        margin-bottom: 30px;
    }

    .am-service-showcase h2 {
        font-size: clamp(40px, 12vw, 54px);
        letter-spacing: -2px;
    }

    .am-service-showcase__intro-copy p {
        font-size: 15px;
        line-height: 1.7;
    }

    .am-service-showcase__grid {
        grid-template-columns: 1fr;
        gap: 16px;

        padding-top: 26px;
    }

    .am-service-showcase__card,
    .am-service-showcase__card:last-child {
        grid-column: auto;

        min-height: 430px;
    }

    .am-service-showcase__content {
        padding: 24px;
    }

    .am-service-showcase__content p {
        opacity: 1;
        transform: none;
    }
}

/* =========================================================
   AMMONITE DIFFERENCE STRIP
========================================================= */

.am-difference-strip {
    --am-difference-bg: #ead8a6;
    --am-difference-navy: var(--navy);
    --am-difference-gold: #c99108;

    width: 100%;
    padding: 72px 6% 78px;

    background: var(--am-difference-bg);
    color: var(--am-difference-navy);
}

.am-difference-strip__inner {
    width: 100%;
    max-width: 1400px;
    margin: 0 auto;
}


/* HEADING */

.am-difference-strip__heading {
    max-width: 820px;
    margin: 0 auto 52px;

    text-align: center;
}

.am-difference-strip__heading > span {
    display: block;
    margin-bottom: 12px;

    color: #9b7008;

    font-family: var(--font-heading);
    font-size: 10px;
    font-weight: 800;
    letter-spacing: 1.7px;
    text-transform: uppercase;
}

.am-difference-strip__heading h2 {
    margin: 0;

    color: var(--am-difference-navy);

    font-family: var(--font-heading);
    font-size: clamp(36px, 4vw, 56px);
    font-weight: 800;
    line-height: 1;
    letter-spacing: -2px;
}

.am-difference-strip__heading p {
    max-width: 720px;
    margin: 18px auto 0;

    color: var(--body-text);

    font-family: var(--font-body);
    font-size: 16px;
    line-height: 1.7;
}


/* GRID */

.am-difference-strip__grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 34px;
}


/* ITEM */

.am-difference-strip__item {
    padding: 10px 34px 0;

    text-align: center;

    border-right: 1px solid rgba(var(--navy-rgb), 0.14);
}

.am-difference-strip__item:last-child {
    border-right: 0;
}

.am-difference-strip__icon {
    display: flex;
    align-items: center;
    justify-content: center;

    width: 82px;
    height: 82px;

    margin: 0 auto 22px;

    color: var(--am-difference-navy);
}

.am-difference-strip__icon svg {
    width: 72px;
    height: 72px;
}

.am-difference-strip__item h3 {
    max-width: 280px;
    margin: 0 auto;

    color: var(--am-difference-navy);

    font-family: var(--font-heading);
    font-size: 20px;
    font-weight: 800;
    line-height: 1.15;
    letter-spacing: -0.5px;
}

.am-difference-strip__item p {
    max-width: 340px;
    margin: 15px auto 0;

    color: var(--body-text);

    font-family: var(--font-body);
    font-size: 14px;
    line-height: 1.7;
}


/* TABLET */

@media (max-width: 900px) {

    .am-difference-strip__grid {
        grid-template-columns: 1fr;
        gap: 0;
    }

    .am-difference-strip__item {
        padding: 34px 0;

        border-right: 0;
        border-bottom: 1px solid rgba(var(--navy-rgb), 0.14);
    }

    .am-difference-strip__item:last-child {
        border-bottom: 0;
    }
}


/* MOBILE */

@media (max-width: 767px) {

    .am-difference-strip {
        padding: 58px 6% 62px;
    }

    .am-difference-strip__heading {
        margin-bottom: 30px;
    }

    .am-difference-strip__heading h2 {
        font-size: clamp(36px, 11vw, 48px);
    }

    .am-difference-strip__heading p {
        font-size: 15px;
    }

    .am-difference-strip__item h3 {
        font-size: 18px;
    }
}
/* =========================================================
   AMMONITE PROOF FEATURE
========================================================= */

.amm-proof-feature {
    --amm-proof-navy: var(--navy);
    --amm-proof-gold: var(--gold);
    --amm-proof-cream: #f7f4ee;
    --amm-proof-white: #ffffff;

    position: relative;
    width: 100%;
    min-height: 540px;

    overflow: hidden;
    background: #d8d2c8;
}


/* IMAGE */

.amm-proof-feature__media {
    position: absolute;
    inset: 0;
}

.amm-proof-feature__media img {
    display: block;
    width: 100%;
    height: 100%;

    object-fit: cover;
    object-position: center 44%;

    transition: transform 1.1s ease;
}

.amm-proof-feature:hover .amm-proof-feature__media img {
    transform: scale(1.025);
}


/* LIGHT IMAGE SHADE */

.amm-proof-feature__shade {
    position: absolute;
    inset: 0;
    z-index: 1;

    background:
        linear-gradient(
            90deg,
            rgba(var(--navy-rgb), 0.04) 0%,
            rgba(var(--navy-rgb), 0.08) 55%,
            rgba(var(--navy-rgb), 0.28) 100%
        ),
        linear-gradient(
            0deg,
            rgba(var(--navy-rgb), 0.14),
            transparent 48%
        );
}


/* INNER */

.amm-proof-feature__inner {
    position: relative;
    z-index: 2;

    display: flex;
    align-items: center;
    justify-content: flex-end;

    width: 88%;
    max-width: 1400px;
    min-height: 540px;

    margin: 0 auto;
    padding: 55px 0;
}


/* PANEL */

.amm-proof-feature__panel {
    position: relative;

    width: min(590px, 48%);
    padding: 42px 44px 38px;

    background: rgba(247, 244, 238, 0.97);
    color: var(--amm-proof-navy);

    box-shadow: 0 26px 65px rgba(var(--navy-rgb), 0.18);
}

.amm-proof-feature__panel::before {
    content: "";

    position: absolute;
    top: 0;
    left: 0;

    width: 4px;
    height: 100%;

    background: var(--amm-proof-gold);
}


/* EYEBROW */

.amm-proof-feature__eyebrow {
    display: flex;
    align-items: center;
    gap: 12px;

    margin-bottom: 14px;

    color: var(--amm-proof-gold);

    font-family: var(--font-heading);
    font-size: 9px;
    font-weight: 800;
    letter-spacing: 1.5px;
    text-transform: uppercase;
}

.amm-proof-feature__eyebrow::before {
    content: "";

    width: 30px;
    height: 2px;

    background: var(--amm-proof-gold);
}


/* HEADING */

.amm-proof-feature h2 {
    max-width: 520px;
    margin: 0;

    color: var(--amm-proof-navy);

    font-family: var(--font-heading);
    font-size: clamp(36px, 3.4vw, 52px);
    font-weight: 800;
    line-height: 1;
    letter-spacing: -2px;
}


/* INTRO */

.amm-proof-feature__panel > p {
    max-width: 520px;
    margin: 20px 0 0;

    color: var(--body-text);

    font-family: var(--font-body);
    font-size: 14px;
    line-height: 1.7;
}


/* POINTS */

.amm-proof-feature__points {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 0;

    margin-top: 27px;
    padding-top: 24px;

    border-top: 1px solid rgba(var(--navy-rgb), 0.12);
}

.amm-proof-feature__points > div {
    padding: 0 18px;

    border-right: 1px solid rgba(var(--navy-rgb), 0.11);
}

.amm-proof-feature__points > div:first-child {
    padding-left: 0;
}

.amm-proof-feature__points > div:last-child {
    padding-right: 0;
    border-right: 0;
}

.amm-proof-feature__points span {
    display: block;
    margin-bottom: 8px;

    color: var(--amm-proof-gold);

    font-family: var(--font-heading);
    font-size: 10px;
    font-weight: 800;
}

.amm-proof-feature__points strong {
    display: block;

    color: var(--amm-proof-navy);

    font-family: var(--font-heading);
    font-size: 11px;
    font-weight: 800;
    line-height: 1.35;
    text-transform: uppercase;
}

.amm-proof-feature__points p {
    margin: 7px 0 0;

    color: var(--body-text);

    font-family: var(--font-body);
    font-size: 10px;
    line-height: 1.55;
}


/* ACTIONS */

.amm-proof-feature__actions {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 22px;

    margin-top: 27px;
}

.amm-proof-feature__button {
    display: inline-flex;
    align-items: center;
    justify-content: space-between;
    gap: 28px;

    min-width: 205px;
    min-height: 54px;
    padding: 0 20px;

    background: var(--amm-proof-gold);
    color: var(--amm-proof-navy);

    font-family: var(--font-heading);
    font-size: 9px;
    font-weight: 800;
    letter-spacing: 0.55px;
    text-decoration: none;
    text-transform: uppercase;

    transition:
        background 0.3s ease,
        color 0.3s ease,
        transform 0.3s ease;
}

.amm-proof-feature__button span {
    font-size: 16px;
    transition: transform 0.3s ease;
}

.amm-proof-feature__button:hover {
    background: var(--amm-proof-navy);
    color: var(--amm-proof-white);

    transform: translateY(-3px);
}

.amm-proof-feature__button:hover span {
    transform: translateX(4px);
}

.amm-proof-feature__link {
    display: inline-flex;
    align-items: center;
    gap: 9px;

    padding-bottom: 6px;

    border-bottom: 1px solid rgba(var(--navy-rgb), 0.28);

    color: var(--amm-proof-navy);

    font-family: var(--font-heading);
    font-size: 9px;
    font-weight: 800;
    letter-spacing: 0.55px;
    text-decoration: none;
    text-transform: uppercase;
}

.amm-proof-feature__link span {
    color: var(--amm-proof-gold);
    font-size: 14px;

    transition: transform 0.3s ease;
}

.amm-proof-feature__link:hover span {
    transform: translate(3px, -3px);
}


/* TABLET */

@media (max-width: 1050px) {

    .amm-proof-feature {
        min-height: 570px;
    }

    .amm-proof-feature__inner {
        width: 90%;
        min-height: 570px;
    }

    .amm-proof-feature__panel {
        width: min(590px, 58%);
        padding: 38px;
    }

    .amm-proof-feature__media img {
        object-position: 42% center;
    }
}


/* MOBILE */

@media (max-width: 767px) {

    .amm-proof-feature {
        display: flex;
        flex-direction: column;

        min-height: 0;
    }

    .amm-proof-feature__media {
        position: relative;
        order: 1;

        height: 330px;
    }

    .amm-proof-feature__media img {
        object-position: 61% center;
    }

    .amm-proof-feature__shade {
        display: none;
    }

    .amm-proof-feature__inner {
        order: 2;

        display: block;

        width: 100%;
        min-height: 0;

        padding: 0;
    }

    .amm-proof-feature__panel {
        width: 100%;
        padding: 38px 6% 44px;

        box-shadow: none;
    }

    .amm-proof-feature h2 {
        font-size: clamp(36px, 11vw, 48px);
    }

    .amm-proof-feature__points {
        grid-template-columns: 1fr;
        gap: 18px;
    }

    .amm-proof-feature__points > div,
    .amm-proof-feature__points > div:first-child,
    .amm-proof-feature__points > div:last-child {
        padding: 0 0 18px;

        border-right: 0;
        border-bottom: 1px solid rgba(var(--navy-rgb), 0.1);
    }

    .amm-proof-feature__points > div:last-child {
        padding-bottom: 0;
        border-bottom: 0;
    }

    .amm-proof-feature__actions {
        align-items: flex-start;
        flex-direction: column;
    }

    .amm-proof-feature__button {
        width: 100%;
    }
}
.am-service-showcase {

    background: white;
}

/* =========================================================
   SERVICES SECTION â€” REFINED INTRO AND BACKGROUND
========================================================= */

.am-service-showcase {
    position: relative;
    isolation: isolate;
    overflow: hidden;

    background:
        radial-gradient(
            circle at 88% 8%,
            rgba(211, 227, 229, 0.72) 0,
            rgba(226, 237, 238, 0.38) 20%,
            rgba(255, 255, 255, 0) 46%
        ),
        linear-gradient(
            145deg,
            #ffffff 0%,
            #ffffff 58%,
            #f7faf9 100%
        );
}


/* Keep content above the pattern */

.am-service-showcase__inner {
    position: relative;
    z-index: 2;
}


/* INTRO LAYOUT */

.am-service-showcase__intro {
    grid-template-columns: minmax(0, 1.25fr) minmax(330px, 0.55fr);
    align-items: center;
    gap: clamp(55px, 7vw, 105px);

    margin-bottom: 45px;
}

.am-service-showcase__intro-main {
    max-width: 790px;
}

.am-service-showcase h2 {
    max-width: 790px;
}


/* RIGHT COPY â€” REMOVE SIDEBAR FEEL */

.am-service-showcase__intro-copy {
    position: relative;

    max-width: 430px;
    padding: 0 0 0 30px;

    border-left: 3px solid var(--gold);
}

.am-service-showcase__intro-label {
    display: block;

    margin-bottom: 12px;

    color: var(--gold);

    font-family: var(--font-body);
    font-size: 10px;
    font-weight: 700;
    letter-spacing: 1.5px;
    line-height: 1.4;
    text-transform: uppercase;
}

.am-service-showcase__intro-copy p {
    margin: 0;

    color: var(--body-text);

    font-family: var(--font-body);
    font-size: 17px;
    line-height: 1.7;
}

.am-service-showcase__view-all {
    margin-top: 20px;
}


/* TOP-RIGHT AMMONITE PATTERN */

.am-service-showcase__pattern {
    position: absolute;
    z-index: 0;

    top: -145px;
    right: -135px;

    width: 470px;
    height: 470px;

    opacity: 0.055;

    pointer-events: none;
}

.am-service-showcase__pattern span {
    position: absolute;
    top: 50%;
    left: 50%;

    border: 34px solid var(--navy);
    border-radius: 50%;

    transform: translate(-50%, -50%);
}

.am-service-showcase__pattern span:nth-child(1) {
    width: 460px;
    height: 460px;
}

.am-service-showcase__pattern span:nth-child(2) {
    width: 305px;
    height: 305px;
}

.am-service-showcase__pattern span:nth-child(3) {
    width: 150px;
    height: 150px;
}


/* Slightly tighter divider above cards */

.am-service-showcase__grid {
    padding-top: 30px;
}


/* TABLET */

@media (max-width: 1000px) {

    .am-service-showcase__intro {
        grid-template-columns: 1fr;
        align-items: start;
        gap: 28px;
    }

    .am-service-showcase__intro-copy {
        max-width: 680px;

        padding: 20px 0 0;

        border-top: 2px solid var(--gold);
        border-left: 0;
    }

    .am-service-showcase__pattern {
        top: -100px;
        right: -190px;

        width: 390px;
        height: 390px;
    }
}


/* MOBILE */

@media (max-width: 767px) {

    .am-service-showcase {
        background:
            radial-gradient(
                circle at 100% 0,
                rgba(211, 227, 229, 0.55),
                rgba(255, 255, 255, 0) 38%
            ),
            #ffffff;
    }

    .am-service-showcase__intro {
        margin-bottom: 32px;
    }

    .am-service-showcase__intro-copy p {
        font-size: 15px;
        line-height: 1.7;
    }

    .am-service-showcase__pattern {
        top: -85px;
        right: -170px;

        width: 310px;
        height: 310px;

        opacity: 0.04;
    }

    .am-service-showcase__pattern span {
        border-width: 24px;
    }

    .am-service-showcase__pattern span:nth-child(1) {
        width: 300px;
        height: 300px;
    }

    .am-service-showcase__pattern span:nth-child(2) {
        width: 195px;
        height: 195px;
    }

    .am-service-showcase__pattern span:nth-child(3) {
        width: 88px;
        height: 88px;
    }
}

/* =========================================================
   SERVICES INTRO â€” CENTRED VERSION
========================================================= */

.am-service-showcase__intro {
    position: relative;
    z-index: 2;

    display: flex;
    flex-direction: column;
    align-items: center;

    max-width: 900px;
    margin: 0 auto 48px;

    text-align: center;
}

.am-service-showcase__eyebrow {
    justify-content: center;
}

.am-service-showcase h2 {
    max-width: 850px;
    margin: 17px auto 0;

    text-align: center;
}

.am-service-showcase__intro-text {
    max-width: 680px;
    margin: 22px auto 0;

    color: #596972;

    font-family: var(--font-body);
    font-size: 17px;
    line-height: 1.75;
    text-align: center;
}

.am-service-showcase__view-all {
    margin-top: 22px;
}


/* KEEP PATTERN IN TOP-RIGHT */

.am-service-showcase__pattern {
    top: -155px;
    right: -145px;

    opacity: 0.045;
}


/* CARDS DIVIDER */

.am-service-showcase__grid {
    padding-top: 31px;

    border-top: 1px solid rgba(var(--navy-rgb), 0.12);
}


/* TABLET */

@media (max-width: 1000px) {

    .am-service-showcase__intro {
        max-width: 760px;
        margin-bottom: 40px;
    }

    .am-service-showcase__intro-text {
        max-width: 620px;
    }
}


/* MOBILE */

@media (max-width: 767px) {

    .am-service-showcase__intro {
        align-items: flex-start;

        margin-bottom: 32px;

        text-align: left;
    }

    .am-service-showcase__eyebrow {
        justify-content: flex-start;
    }

    .am-service-showcase h2 {
        margin-left: 0;
        margin-right: 0;

        text-align: left;
    }

    .am-service-showcase__intro-text {
        margin-left: 0;
        margin-right: 0;

        font-size: 15px;
        line-height: 1.7;
        text-align: left;
    }

    .am-service-showcase__pattern {
        top: -95px;
        right: -180px;
    }
}

/* =========================================================
   AMMONITE SERVICES V3
========================================================= */

.ammonite-services-v3 {
    --ams3-navy: var(--navy);
    --ams3-gold: var(--gold);
    --ams3-white: #ffffff;
    --ams3-grey: #5e6d76;
    --ams3-line: rgba(var(--navy-rgb), 0.13);

    position: relative;
    width: 100%;
    overflow: hidden;

    padding: 72px 6% 90px;

    background:
        radial-gradient(
            circle at 88% 8%,
            rgba(220, 234, 236, 0.54) 0%,
            rgba(238, 245, 245, 0.25) 25%,
            rgba(255, 255, 255, 0) 49%
        ),
        linear-gradient(
            180deg,
            #ffffff 0%,
            #fbfcfc 100%
        );

    color: var(--ams3-navy);
    isolation: isolate;
}


/* =========================================================
   REPEATING AMMONITE PATTERN
========================================================= */

.ammonite-services-v3__pattern {
    position: absolute;
    z-index: 0;
    inset: 0;

    background-image:
        url("http://ammonitesportstherapy.co.uk/wp-content/uploads/2026/07/winkle_12055627.svg");

    background-repeat: repeat;
    background-position: center top;
    background-size: 105px auto;

    opacity: 0.022;

    pointer-events: none;
}


/* =========================================================
   INNER
========================================================= */

.ammonite-services-v3__inner {
    position: relative;
    z-index: 2;

    width: 100%;
    max-width: 1400px;
    margin: 0 auto;
}


/* =========================================================
   HEADER
========================================================= */

.ammonite-services-v3__header {
    display: flex;
    flex-direction: column;
    align-items: center;

    max-width: 900px;
    margin: 0 auto 42px;

    text-align: center;
}


/* EYEBROW */

.ammonite-services-v3__eyebrow {
    display: inline-flex;
    align-items: center;
    gap: 13px;

    color: var(--ams3-gold);

    font-family: var(--font-body);
    font-size: 10px;
    font-weight: 800;
    letter-spacing: 1.8px;
    line-height: 1.4;
    text-transform: uppercase;
}

.ammonite-services-v3__eyebrow::before,
.ammonite-services-v3__eyebrow::after {
    content: "";

    width: 34px;
    height: 2px;

    background: var(--ams3-gold);
}


/* HEADING */

.ammonite-services-v3__header h2 {
    max-width: 850px;

    margin: 16px 0 0;

    color: var(--ams3-navy);

    font-family: var(--font-heading);
    font-size: clamp(48px, 5vw, 72px);
    font-weight: 800;
    line-height: 0.98;
    letter-spacing: -3px;
}


/* SERVICE LINE */

.ammonite-services-v3__service-line {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-wrap: wrap;
    gap: 11px;

    margin-top: 21px;

    color: var(--ams3-navy);

    font-family: var(--font-body);
    font-size: 10px;
    font-weight: 800;
    letter-spacing: 0.8px;
    line-height: 1.5;
    text-transform: uppercase;
}

.ammonite-services-v3__service-line i {
    display: block;

    width: 4px;
    height: 4px;

    border-radius: 50%;

    background: var(--ams3-gold);
}


/* INTRO TEXT */

.ammonite-services-v3__header > p {
    max-width: 650px;

    margin: 18px auto 0;

    color: var(--body-text);

    font-family: var(--font-body);
    font-size: 16px;
    line-height: 1.7;
}


/* ALL SERVICES LINK */

.ammonite-services-v3__all-link {
    display: inline-flex;
    align-items: center;
    gap: 11px;

    margin-top: 21px;
    padding-bottom: 7px;

    border-bottom: 1px solid rgba(var(--navy-rgb), 0.26);

    color: var(--ams3-navy);

    font-family: var(--font-body);
    font-size: 9px;
    font-weight: 800;
    letter-spacing: 0.7px;
    text-decoration: none;
    text-transform: uppercase;
}

.ammonite-services-v3__all-link span {
    color: var(--ams3-gold);
    font-size: 16px;

    transition: transform 0.3s ease;
}

.ammonite-services-v3__all-link:hover span {
    transform: translateX(4px);
}


/* =========================================================
   GRID
========================================================= */

.ammonite-services-v3__grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 20px;

    padding-top: 32px;

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


/* =========================================================
   CARDS
========================================================= */

.ammonite-services-v3__card {
    position: relative;

    display: block;

    min-height: 470px;

    overflow: hidden;

    border-radius: 16px;

    background: var(--ams3-navy);
    color: var(--ams3-white);

    text-decoration: none;

    box-shadow: 0 16px 38px rgba(var(--navy-rgb), 0.13);

    transition:
        transform 0.35s ease,
        box-shadow 0.35s ease;
}

.ammonite-services-v3__card img {
    display: block;

    width: 100%;
    height: 100%;

    object-fit: cover;
    object-position: center;

    transition: transform 0.7s ease;
}


/* SHADE */

.ammonite-services-v3__card-shade {
    position: absolute;
    inset: 0;

    background:
        linear-gradient(
            0deg,
            rgba(var(--navy-rgb), 0.98) 0%,
            rgba(var(--navy-rgb), 0.76) 36%,
            rgba(var(--navy-rgb), 0.12) 72%
        );
}


/* CARD CONTENT */

.ammonite-services-v3__card-content {
    position: absolute;
    z-index: 2;

    right: 0;
    bottom: 0;
    left: 0;

    padding: 28px;
}

.ammonite-services-v3__card-content small {
    display: block;

    margin-bottom: 9px;

    color: var(--ams3-gold);

    font-family: var(--font-body);
    font-size: 9px;
    font-weight: 800;
    letter-spacing: 1px;
    line-height: 1.4;
    text-transform: uppercase;
}

.ammonite-services-v3__card-content h3 {
    margin: 0;

    color: var(--ams3-white);

    font-family: var(--font-heading);
    font-size: clamp(25px, 2vw, 32px);
    font-weight: 800;
    line-height: 1.04;
    letter-spacing: -1px;
}

.ammonite-services-v3__card-content p {
    max-width: 320px;

    margin: 12px 0 0;

    color: rgba(255, 255, 255, 0.75);

    font-family: var(--font-body);
    font-size: 13px;
    line-height: 1.6;

    opacity: 0;
    transform: translateY(12px);

    transition:
        opacity 0.35s ease,
        transform 0.35s ease;
}


/* ARROW */

.ammonite-services-v3__arrow {
    display: flex;
    align-items: center;
    justify-content: center;

    width: 36px;
    height: 36px;

    margin-top: 18px;

    border: 1px solid rgba(var(--gold-rgb), 0.8);
    border-radius: 50%;

    color: var(--ams3-gold);

    font-family: var(--font-heading);
    font-size: 16px;

    transition:
        background 0.3s ease,
        color 0.3s ease,
        transform 0.3s ease;
}


/* =========================================================
   HOVER
========================================================= */

.ammonite-services-v3__card:hover {
    transform: translateY(-7px);

    box-shadow: 0 25px 52px rgba(var(--navy-rgb), 0.2);
}

.ammonite-services-v3__card:hover img {
    transform: scale(1.055);
}

.ammonite-services-v3__card:hover
.ammonite-services-v3__card-content p {
    opacity: 1;
    transform: translateY(0);
}

.ammonite-services-v3__card:hover
.ammonite-services-v3__arrow {
    background: var(--ams3-gold);
    color: var(--ams3-navy);

    transform: translateX(4px);
}


/* =========================================================
   TABLET
========================================================= */

@media (max-width: 1000px) {

    .ammonite-services-v3 {
        padding: 64px 6% 76px;
    }

    .ammonite-services-v3__header {
        margin-bottom: 36px;
    }

    .ammonite-services-v3__grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .ammonite-services-v3__card:last-child {
        grid-column: 1 / -1;
    }

    .ammonite-services-v3__card {
        min-height: 440px;
    }

    .ammonite-services-v3__pattern {
        background-size: 90px auto;
        opacity: 0.018;
    }
}


/* =========================================================
   MOBILE
========================================================= */

@media (max-width: 767px) {

    .ammonite-services-v3 {
        padding: 54px 6% 64px;
    }

    .ammonite-services-v3__header {
        align-items: flex-start;

        margin-bottom: 29px;

        text-align: left;
    }

    .ammonite-services-v3__eyebrow {
        justify-content: flex-start;
    }

    .ammonite-services-v3__eyebrow::after {
        display: none;
    }

    .ammonite-services-v3__header h2 {
        margin-left: 0;
        margin-right: 0;

        font-size: clamp(40px, 12vw, 54px);
        letter-spacing: -2px;
        text-align: left;
    }

    .ammonite-services-v3__service-line {
        justify-content: flex-start;

        font-size: 9px;
    }

    .ammonite-services-v3__header > p {
        margin-left: 0;
        margin-right: 0;

        font-size: 15px;
        line-height: 1.7;
        text-align: left;
    }

    .ammonite-services-v3__grid {
        grid-template-columns: 1fr;
        gap: 16px;

        padding-top: 25px;
    }

    .ammonite-services-v3__card,
    .ammonite-services-v3__card:last-child {
        grid-column: auto;

        min-height: 425px;
    }

    .ammonite-services-v3__card-content {
        padding: 24px;
    }

    .ammonite-services-v3__card-content p {
        opacity: 1;
        transform: none;
    }

    .ammonite-services-v3__pattern {
        background-size: 78px auto;
        opacity: 0.016;
    }
}

/* =========================================================
   AMMONITE SERVICES â€” REFINED
   COMPLETE REPLACEMENT
========================================================= */

.amm-services-refined {
    --ams-navy: var(--navy);
    --ams-gold: var(--gold);
    --ams-white: #ffffff;
    --ams-grey: #53636d;
    --ams-line: rgba(var(--navy-rgb), 0.13);

    position: relative;
    width: 100%;
    overflow: hidden;
    padding: 82px 6% 94px;

   
    color: var(--ams-navy);
}

.amm-services-refined,
.amm-services-refined *,
.amm-services-refined *::before,
.amm-services-refined *::after {
    box-sizing: border-box;
}

.amm-services-refined::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;

    width: 108px;
    height: 108px;


    pointer-events: none;
}

.amm-services-refined__inner {
    position: relative;
    z-index: 2;

    width: 100%;
    max-width: 1400px;
    margin: 0 auto;
}


/* SERVICES HEADER */

.amm-services-refined__header {
    margin: 0 0 38px;
    padding: 0 0 32px;

    border-bottom: 1px solid var(--ams-line);
}

.amm-services-refined__eyebrow {
    display: inline-flex;
    align-items: center;
    gap: 13px;

    margin: 0 0 17px;

    color: var(--ams-gold);

    font-family: var(--font-heading);
    font-size: 12px;
    font-weight: 800;
    line-height: 1.4;
    letter-spacing: 1.8px;
    text-transform: uppercase;
}

.amm-services-refined__eyebrow::before {
    content: "";

    width: 38px;
    height: 2px;

    background: var(--ams-gold);
}

.amm-services-refined__heading-row {
    display: grid;
    grid-template-columns: minmax(0, 1.15fr) minmax(340px, 0.6fr);
    align-items: end;
    gap: clamp(46px, 7vw, 100px);
}

.amm-services-refined h2 {
    max-width: 780px;
    margin: 0;
    padding: 0;

    color: var(--ams-navy);

    font-family: var(--font-heading);
    font-size: clamp(46px, 5vw, 70px);
    font-weight: 800;
    line-height: 0.98;
    letter-spacing: -3px;
    text-align: left;
}

.amm-services-refined__intro {
    max-width: 450px;
    margin: 0;
    padding: 3px 0 3px 25px;

    border-left: 2px solid var(--ams-gold);
}

.amm-services-refined__intro p {
    margin: 0;

    color: var(--body-text);

    font-family: var(--font-body);
    font-size: 16px;
    font-weight: 400;
    line-height: 1.7;
}

.amm-services-refined__all-link {
    display: inline-flex;
    align-items: center;
    gap: 11px;

    width: fit-content;
    margin: 20px 0 0;
    padding: 0 0 8px;

    border-bottom: 1px solid rgba(var(--navy-rgb), 0.24);

    color: var(--ams-navy);

    font-family: var(--font-heading);
    font-size: 11px;
    font-weight: 800;
    line-height: 1.3;
    letter-spacing: 0.7px;
    text-decoration: none;
    text-transform: uppercase;
}

.amm-services-refined__all-link span {
    color: var(--ams-gold);
    font-size: 18px;

    transition: transform 0.3s ease;
}

.amm-services-refined__all-link:hover span {
    transform: translateX(4px);
}


/* SERVICES GRID */

.amm-services-refined__grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 20px;
}


/* SERVICE CARDS */

.amm-services-refined__card {
    position: relative;
    display: block;

    min-height: 475px;
    overflow: hidden;

    border-radius: 10px;

    background: var(--ams-navy);
    color: var(--ams-white);
    text-decoration: none;

    box-shadow: 0 16px 38px rgba(var(--navy-rgb), 0.14);

    transition:
        transform 0.35s ease,
        box-shadow 0.35s ease;
}

.amm-services-refined__card::before {
    content: "";

    position: absolute;
    z-index: 5;
    top: 0;
    right: 0;

    width: 70px;
    height: 4px;

    background: var(--ams-gold);

    transition: width 0.35s ease;
}

.amm-services-refined__card img {
    position: absolute;
    inset: 0;

    display: block;

    width: 100%;
    height: 100%;

    object-fit: cover;
    object-position: center;

    transition: transform 0.7s ease;
}

.amm-services-refined__shade {
    position: absolute;
    inset: 0;

    background:
        linear-gradient(
            180deg,
            rgba(var(--navy-rgb), 0.03) 8%,
            rgba(var(--navy-rgb), 0.18) 40%,
            rgba(var(--navy-rgb), 0.96) 100%
        );

    transition: background 0.35s ease;
}

.amm-services-refined__card-content {
    position: absolute;
    z-index: 4;
    right: 26px;
    bottom: 25px;
    left: 26px;

    display: flex;
    flex-direction: column;

    transition: transform 0.4s ease;
}

.amm-services-refined__label {
    display: block;
    margin: 0 0 10px;

    color: var(--ams-gold);

    font-family: var(--font-heading);
    font-size: 11px;
    font-weight: 800;
    line-height: 1.4;
    letter-spacing: 0.9px;
    text-transform: uppercase;
}

.amm-services-refined__card h3 {
    max-width: 340px;
    margin: 0;
    padding: 0;

    color: var(--ams-white);

    font-family: var(--font-heading);
    font-size: clamp(28px, 2.2vw, 35px);
    font-weight: 800;
    line-height: 1.03;
    letter-spacing: -1.2px;
}

.amm-services-refined__reveal {
    max-height: 0;
    overflow: hidden;

    opacity: 0;
    transform: translateY(10px);

    transition:
        max-height 0.4s ease,
        opacity 0.35s ease,
        transform 0.4s ease;
}

.amm-services-refined__reveal p {
    max-width: 320px;
    margin: 14px 0 0;

    color: rgba(255, 255, 255, 0.92);

    font-family: var(--font-body);
    font-size: 16px;
    font-weight: 400;
    line-height: 1.58;
}

.amm-services-refined__arrow {
    display: flex;
    align-items: center;
    justify-content: center;

    width: 40px;
    height: 40px;
    margin: 17px 0 0;

    border: 1px solid rgba(var(--gold-rgb), 0.86);
    border-radius: 50%;

    background: transparent;
    color: var(--ams-gold);

    font-family: var(--font-heading);
    font-size: 17px;
    line-height: 1;

    transition:
        background 0.3s ease,
        color 0.3s ease,
        transform 0.3s ease;
}


/* CARD HOVER */

.amm-services-refined__card:hover {
    transform: translateY(-6px);

    box-shadow: 0 25px 52px rgba(var(--navy-rgb), 0.20);
}

.amm-services-refined__card:hover::before {
    width: 100%;
}

.amm-services-refined__card:hover img {
    transform: scale(1.05);
}

.amm-services-refined__card:hover
.amm-services-refined__shade {
    background:
        linear-gradient(
            180deg,
            rgba(var(--navy-rgb), 0.08) 4%,
            rgba(var(--navy-rgb), 0.34) 45%,
            rgba(var(--navy-rgb), 0.99) 100%
        );
}

.amm-services-refined__card:hover
.amm-services-refined__card-content {
    transform: translateY(-8px);
}

.amm-services-refined__card:hover
.amm-services-refined__reveal {
    max-height: 130px;

    opacity: 1;
    transform: translateY(0);
}

.amm-services-refined__card:hover
.amm-services-refined__arrow {
    background: var(--ams-gold);
    color: var(--ams-navy);

    transform: translateX(4px);
}


/* SERVICES TABLET */

@media (max-width: 1050px) {

    .amm-services-refined {
        padding: 68px 6% 80px;
    }

    .amm-services-refined__heading-row {
        grid-template-columns: 1fr;
        align-items: start;
        gap: 25px;
    }

    .amm-services-refined__intro {
        max-width: 680px;
    }

    .amm-services-refined__grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .amm-services-refined__card:last-child {
        grid-column: 1 / -1;
    }
}


/* SERVICES MOBILE */

@media (max-width: 767px) {

    .amm-services-refined {
        padding: 56px 6% 66px;
    }

    .amm-services-refined__header {
        margin-bottom: 28px;
        padding-bottom: 24px;
    }

    .amm-services-refined h2 {
        font-size: clamp(40px, 12vw, 54px);
        letter-spacing: -2px;
    }

    .amm-services-refined__intro {
        max-width: none;
        padding: 16px 0 0;

        border-top: 2px solid var(--ams-gold);
        border-left: 0;
    }

    .amm-services-refined__intro p {
        font-size: 16px;
    }

    .amm-services-refined__grid {
        grid-template-columns: 1fr;
        gap: 16px;
    }

    .amm-services-refined__card,
    .amm-services-refined__card:last-child {
        grid-column: auto;
        min-height: 430px;
    }

    .amm-services-refined__card-content {
        right: 22px;
        bottom: 23px;
        left: 22px;
    }

    .amm-services-refined__card h3 {
        font-size: 30px;
    }

    .amm-services-refined__reveal {
        max-height: 130px;

        opacity: 1;
        transform: none;
    }
}


/* =========================================================
   WHY CHOOSE AMMONITE
   COMPLETE REPLACEMENT
========================================================= */

.elementor-widget-html:has(.amm-why-feature),
.elementor-widget-html:has(.amm-why-feature)
.elementor-widget-container {
    margin: 0 !important;
    padding: 0 !important;
}

.amm-why-feature {
    --awf-navy: var(--navy);
    --awf-navy-light: var(--navy);
    --awf-gold: var(--gold);
    --awf-white: #ffffff;
    --awf-copy: rgba(255, 255, 255, 0.90);
    --awf-muted: rgba(255, 255, 255, 0.80);

    position: relative;

    display: grid;
    grid-template-columns: minmax(0, 48%) minmax(0, 52%);

    width: 100%;
    min-height: 610px;

    margin: 0 !important;
    padding: 0 !important;
    overflow: hidden;

    background: var(--awf-navy);
}

.amm-why-feature,
.amm-why-feature *,
.amm-why-feature *::before,
.amm-why-feature *::after {
    box-sizing: border-box;
}


/* WHY IMAGE */

.amm-why-feature__media {
    position: relative;

    min-width: 0;
    min-height: 610px;
    overflow: hidden;

    background: #d6d0c7;
}

.amm-why-feature__media img {
    position: absolute;
    inset: 0;

    display: block;

    width: 100%;
    height: 100%;

    object-fit: cover;
    object-position: center 42%;

    transition: transform 0.8s ease;
}

.amm-why-feature:hover
.amm-why-feature__media img {
    transform: scale(1.025);
}

.amm-why-feature__image-shade {
    position: absolute;
    inset: 0;

    background:
        linear-gradient(
            90deg,
            rgba(var(--navy-rgb), 0.02) 15%,
            rgba(var(--navy-rgb), 0.07) 72%,
            rgba(var(--navy-rgb), 0.18) 100%
        ),
        linear-gradient(
            0deg,
            rgba(var(--navy-rgb), 0.14),
            transparent 45%
        );

    pointer-events: none;
}


/* WHY PANEL
   The panel is rectangular. The diagonal is a same-colour
   extension, so there is no dark blue border at the top.
*/

.amm-why-feature__panel {
    position: relative;
    z-index: 3;

    display: flex;
    align-items: center;

    min-width: 0;
    margin: 0;
    padding: 0;

    overflow: visible;

    background:
        linear-gradient(
            145deg,
            var(--awf-navy-light) 0%,
            var(--awf-navy) 100%
        );
}

.amm-why-feature__panel::before {
    content: "";

    position: absolute;
    z-index: 0;
    top: 0;
    bottom: 0;
    left: -118px;

    width: 120px;

    background: var(--awf-navy-light);

    clip-path: polygon(
        100% 0,
        100% 100%,
        0 100%
    );

    pointer-events: none;
}

.amm-why-feature__panel::after {
    content: "";

    position: absolute;
    z-index: 1;
    top: 0;
    bottom: 0;
    left: -2px;

    width: 2px;

    background: rgba(var(--gold-rgb), 0.95);

    pointer-events: none;
}


/* WHY CONTENT */

.amm-why-feature__content {
    position: relative;
    z-index: 4;

    width: 100%;
    max-width: 760px;

    padding:
        58px
        clamp(48px, 5vw, 86px)
        58px
        clamp(50px, 5vw, 76px);
}

.amm-why-feature__eyebrow {
    display: inline-flex;
    align-items: center;
    gap: 12px;

    margin: 0 0 16px;

    color: var(--awf-gold);

    font-family: var(--font-heading);
    font-size: 12px;
    font-weight: 800;
    line-height: 1.4;
    letter-spacing: 1.7px;
    text-transform: uppercase;
}

.amm-why-feature__eyebrow::before {
    content: "";

    width: 34px;
    height: 2px;

    background: var(--awf-gold);
}

.amm-why-feature h2 {
    max-width: 680px;
    margin: 0;
    padding: 0;

    color: var(--awf-white);

    font-family: var(--font-heading);
    font-size: clamp(40px, 3.7vw, 56px);
    font-weight: 800;
    line-height: 0.99;
    letter-spacing: -2.4px;
}

.amm-why-feature h2 strong {
    display: block;

    color: var(--awf-gold);
    font-weight: inherit;
}

.amm-why-feature__intro {
    max-width: 610px;
    margin: 22px 0 0;

    color: var(--awf-copy);

    font-family: var(--font-body);
    font-size: 16px;
    line-height: 1.7;
}


/* WHY POINTS */

.amm-why-feature__points {
    display: grid;
    gap: 0;

    margin-top: 25px;

    border-top: 1px solid rgba(255, 255, 255, 0.18);
}

.amm-why-feature__point {
    display: grid;
    grid-template-columns: 42px minmax(0, 1fr);
    gap: 16px;

    padding: 17px 0;

    border-bottom: 1px solid rgba(255, 255, 255, 0.15);
}

.amm-why-feature__number {
    padding-top: 3px;

    color: var(--awf-gold);

    font-family: var(--font-heading);
    font-size: 12px;
    font-weight: 800;
    letter-spacing: 0.7px;
}

.amm-why-feature__point h3 {
    margin: 0;

    color: var(--awf-white);

    font-family: var(--font-heading);
    font-size: 17px;
    font-weight: 800;
    line-height: 1.35;
}

.amm-why-feature__point p {
    max-width: 540px;
    margin: 6px 0 0;

    color: var(--awf-muted);

    font-family: var(--font-body);
    font-size: 16px;
    line-height: 1.55;
}


/* WHY ACTIONS */

.amm-why-feature__actions {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 23px;

    margin-top: 27px;
}

.amm-why-feature__button {
    display: inline-flex;
    align-items: center;
    justify-content: space-between;
    gap: 32px;

    min-width: 210px;
    min-height: 56px;

    padding: 0 21px;

    background: var(--awf-gold);
    color: var(--awf-navy);

    font-family: var(--font-heading);
    font-size: 11px;
    font-weight: 800;
    letter-spacing: 0.55px;
    text-decoration: none;
    text-transform: uppercase;

    transition:
        background 0.3s ease,
        color 0.3s ease,
        transform 0.3s ease;
}

.amm-why-feature__button span {
    font-size: 17px;

    transition: transform 0.3s ease;
}

.amm-why-feature__button:hover {
    background: var(--awf-white);
    color: var(--awf-navy);

    transform: translateY(-3px);
}

.amm-why-feature__button:hover span {
    transform: translateX(4px);
}

.amm-why-feature__link {
    display: inline-flex;
    align-items: center;
    gap: 10px;

    width: fit-content;
    padding-bottom: 7px;

    border-bottom: 1px solid rgba(255, 255, 255, 0.48);

    color: var(--awf-white);

    font-family: var(--font-heading);
    font-size: 11px;
    font-weight: 800;
    letter-spacing: 0.55px;
    text-decoration: none;
    text-transform: uppercase;
}

.amm-why-feature__link span {
    color: var(--awf-gold);
    font-size: 15px;

    transition: transform 0.3s ease;
}

.amm-why-feature__link:hover span {
    transform: translate(3px, -3px);
}


/* WHY TABLET */

@media (max-width: 1050px) {

    .amm-why-feature {
        grid-template-columns: minmax(0, 46%) minmax(0, 54%);
        min-height: 620px;
    }

    .amm-why-feature__media {
        min-height: 620px;
    }

    .amm-why-feature__panel::before {
        left: -82px;
        width: 84px;
    }

    .amm-why-feature__content {
        max-width: none;
        padding: 52px 40px 52px 48px;
    }

    .amm-why-feature h2 {
        font-size: clamp(38px, 4.7vw, 52px);
        letter-spacing: -2px;
    }
}


/* WHY MOBILE */

@media (max-width: 767px) {

    .amm-why-feature {
        display: flex;
        flex-direction: column;
        min-height: 0;
    }

    .amm-why-feature__media {
        min-height: 330px;
        height: 330px;
    }

    .amm-why-feature__media img {
        object-position: 59% center;
    }

    .amm-why-feature__panel {
        margin: 0;
        padding: 0;
    }

    .amm-why-feature__panel::before {
        top: -34px;
        right: 0;
        bottom: auto;
        left: 0;

        width: 100%;
        height: 36px;

        clip-path: polygon(
            0 100%,
            100% 0,
            100% 100%
        );
    }

    .amm-why-feature__panel::after {
        display: none;
    }

    .amm-why-feature__content {
        padding: 54px 6% 60px;
    }

    .amm-why-feature h2 {
        font-size: clamp(38px, 11vw, 50px);
        letter-spacing: -2px;
    }

    .amm-why-feature__intro,
    .amm-why-feature__point p {
        font-size: 16px;
    }

    .amm-why-feature__actions {
        align-items: stretch;
        flex-direction: column;
        gap: 18px;
    }

    .amm-why-feature__button {
        width: 100%;
    }

    .amm-why-feature__link {
        width: fit-content;
    }
}


/* =========================================================
   REDUCED MOTION
========================================================= */

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

    .amm-services-refined__card,
    .amm-services-refined__card::before,
    .amm-services-refined__card img,
    .amm-services-refined__card-content,
    .amm-services-refined__reveal,
    .amm-services-refined__arrow,
    .amm-why-feature__media img,
    .amm-why-feature__button,
    .amm-why-feature__button span,
    .amm-why-feature__link span {
        transition: none;
    }
}
/* =========================================================
   WHY CHOOSE AMMONITE â€” CLEAN REBUILD
========================================================= */

.amm-why-clean {
    --awc-navy: var(--navy);
    --awc-navy-light: #0c2b3a;
    --awc-gold: var(--gold);
    --awc-white: #ffffff;
    --awc-copy: rgba(255, 255, 255, 0.86);
    --awc-line: rgba(255, 255, 255, 0.15);

    position: relative;

    width: 100%;
    overflow: hidden;

    background: var(--awc-navy);
}


.amm-why-clean,
.amm-why-clean *,
.amm-why-clean *::before,
.amm-why-clean *::after {
    box-sizing: border-box;
}


.amm-why-clean__inner {
    display: grid;
    grid-template-columns: minmax(0, 44%) minmax(0, 56%);

    width: 100%;
    min-height: 570px;
}


/* =========================================================
   IMAGE
========================================================= */

.amm-why-clean__visual {
    position: relative;

    min-width: 0;
    min-height: 570px;
    overflow: hidden;

    background: #cfc8be;
}


.amm-why-clean__visual::after {
    content: "";

    position: absolute;
    z-index: 3;

    top: 0;
    right: 0;

    width: 74px;
    height: 74px;

    background: var(--awc-gold);

    clip-path: polygon(
        100% 0,
        100% 100%,
        0 0
    );

    pointer-events: none;
}


.amm-why-clean__visual img {
    position: absolute;
    inset: 0;

    display: block;

    width: 100%;
    height: 100%;

    object-fit: cover;
    object-position: center 42%;

    transition: transform 0.7s ease;
}


.amm-why-clean:hover
.amm-why-clean__visual img {
    transform: scale(1.025);
}


.amm-why-clean__image-overlay {
    position: absolute;
    inset: 0;
    z-index: 1;

    background:
        linear-gradient(
            90deg,
            rgba(var(--navy-rgb), 0.03) 30%,
            rgba(var(--navy-rgb), 0.15) 100%
        ),
        linear-gradient(
            0deg,
            rgba(var(--navy-rgb), 0.42) 0%,
            transparent 42%
        );

    pointer-events: none;
}


.amm-why-clean__image-label {
    position: absolute;
    z-index: 4;

    right: 26px;
    bottom: 24px;

    display: inline-flex;
    align-items: center;
    gap: 9px;

    padding: 12px 15px;

    background: rgba(var(--navy-rgb), 0.94);
    color: var(--awc-white);

    font-family: var(--font-heading);
    font-size: 10px;
    font-weight: 800;
    letter-spacing: 0.7px;
    text-transform: uppercase;
}


.amm-why-clean__image-label span {
    color: var(--awc-gold);
}


/* =========================================================
   CONTENT
========================================================= */

.amm-why-clean__content {
    position: relative;

    display: flex;
    flex-direction: column;
    justify-content: center;

    min-width: 0;

    padding:
        58px
        clamp(52px, 6vw, 100px)
        58px
        clamp(48px, 5vw, 82px);

    background:
        radial-gradient(
            circle at 100% 0,
            rgba(255, 255, 255, 0.035) 0,
            rgba(255, 255, 255, 0.035) 160px,
            transparent 161px
        ),
        linear-gradient(
            145deg,
            var(--awc-navy-light) 0%,
            var(--awc-navy) 100%
        );
}


.amm-why-clean__eyebrow {
    display: inline-flex;
    align-items: center;
    gap: 12px;

    width: fit-content;

    margin: 0 0 15px;

    color: var(--awc-gold);

    font-family: var(--font-heading);
    font-size: 11px;
    font-weight: 800;
    line-height: 1.4;
    letter-spacing: 1.8px;
    text-transform: uppercase;
}


.amm-why-clean__eyebrow::before {
    content: "";

    display: block;

    width: 34px;
    height: 2px;

    background: var(--awc-gold);
}


.amm-why-clean h2 {
    max-width: 720px;

    margin: 0;

    color: var(--awc-white);

    font-family: var(--font-heading);
    font-size: clamp(40px, 4vw, 58px);
    font-weight: 800;
    line-height: 0.98;
    letter-spacing: -2.5px;
}


.amm-why-clean h2 strong {
    display: block;

    color: var(--awc-gold);
    font-weight: inherit;
}


.amm-why-clean__intro {
    max-width: 690px;

    margin: 22px 0 0;

    color: var(--awc-copy);

    font-family: var(--font-body);
    font-size: 16px;
    line-height: 1.7;
}


/* =========================================================
   BENEFITS
========================================================= */

.amm-why-clean__benefits {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));

    margin-top: 30px;

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


.amm-why-clean__benefit {
    position: relative;

    min-width: 0;

    padding: 23px 24px 23px 0;
}


.amm-why-clean__benefit + .amm-why-clean__benefit {
    padding-left: 24px;

    border-left: 1px solid var(--awc-line);
}


.amm-why-clean__number {
    display: block;

    margin-bottom: 10px;

    color: var(--awc-gold);

    font-family: var(--font-heading);
    font-size: 10px;
    font-weight: 800;
    letter-spacing: 0.8px;
}


.amm-why-clean__benefit h3 {
    margin: 0;

    color: var(--awc-white);

    font-family: var(--font-heading);
    font-size: 17px;
    font-weight: 800;
    line-height: 1.3;
}


.amm-why-clean__benefit p {
    margin: 8px 0 0;

    color: rgba(255, 255, 255, 0.82);

    font-family: var(--font-body);
    font-size: 16px;
    line-height: 1.55;
}


/* =========================================================
   ACTIONS
========================================================= */

.amm-why-clean__actions {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 24px;

    margin-top: 28px;
}


.amm-why-clean__button {
    display: inline-flex;
    align-items: center;
    justify-content: space-between;
    gap: 34px;

    min-width: 218px;
    min-height: 56px;

    padding: 0 22px;

    background: var(--awc-gold);
    color: var(--awc-navy);

    font-family: var(--font-heading);
    font-size: 10px;
    font-weight: 800;
    letter-spacing: 0.6px;
    text-decoration: none;
    text-transform: uppercase;

    transition:
        background 0.3s ease,
        color 0.3s ease,
        transform 0.3s ease;
}


.amm-why-clean__button span {
    font-size: 18px;

    transition: transform 0.3s ease;
}


.amm-why-clean__button:hover {
    background: var(--awc-white);
    color: var(--awc-navy);

    transform: translateY(-3px);
}


.amm-why-clean__button:hover span {
    transform: translateX(4px);
}


.amm-why-clean__link {
    display: inline-flex;
    align-items: center;
    gap: 10px;

    width: fit-content;

    padding-bottom: 7px;

    border-bottom: 1px solid rgba(255, 255, 255, 0.42);

    color: var(--awc-white);

    font-family: var(--font-heading);
    font-size: 10px;
    font-weight: 800;
    letter-spacing: 0.6px;
    text-decoration: none;
    text-transform: uppercase;
}


.amm-why-clean__link span {
    color: var(--awc-gold);
    font-size: 16px;

    transition: transform 0.3s ease;
}


.amm-why-clean__link:hover span {
    transform: translate(3px, -3px);
}


/* =========================================================
   TABLET
========================================================= */

@media (max-width: 1100px) {

    .amm-why-clean__inner {
        grid-template-columns: minmax(0, 42%) minmax(0, 58%);
    }


    .amm-why-clean__content {
        padding: 50px 42px;
    }


    .amm-why-clean__benefits {
        grid-template-columns: 1fr;
    }


    .amm-why-clean__benefit,
    .amm-why-clean__benefit + .amm-why-clean__benefit {
        padding: 18px 0;

        border-left: 0;
    }


    .amm-why-clean__benefit + .amm-why-clean__benefit {
        border-top: 1px solid var(--awc-line);
    }
}


/* =========================================================
   MOBILE
========================================================= */

@media (max-width: 767px) {

    .amm-why-clean__inner {
        display: flex;
        flex-direction: column;

        min-height: 0;
    }


    .amm-why-clean__visual {
        min-height: 340px;
        height: 340px;
    }


    .amm-why-clean__visual img {
        object-position: 58% center;
    }


    .amm-why-clean__visual::after {
        width: 55px;
        height: 55px;
    }


    .amm-why-clean__image-label {
        right: 16px;
        bottom: 16px;

        font-size: 9px;
    }


    .amm-why-clean__content {
        padding: 48px 6% 58px;
    }


    .amm-why-clean h2 {
        font-size: clamp(38px, 11vw, 50px);
        letter-spacing: -2px;
    }


    .amm-why-clean__intro,
    .amm-why-clean__benefit p {
        font-size: 16px;
    }


    .amm-why-clean__actions {
        align-items: stretch;
        flex-direction: column;
        gap: 18px;
    }


    .amm-why-clean__button {
        width: 100%;
    }


    .amm-why-clean__link {
        width: fit-content;
    }
}


/* =========================================================
   REDUCED MOTION
========================================================= */

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

    .amm-why-clean__visual img,
    .amm-why-clean__button,
    .amm-why-clean__button span,
    .amm-why-clean__link span {
        transition: none;
    }
}

/*======================================
ABOUT SPORTS THERAPY
======================================*/

.amm-about-service{

    padding:120px 40px;

    background:#fdfcf9;

    position:relative;

    overflow:hidden;

}

.amm-about-service::before{

    content:"";

    position:absolute;

    top:0;
    right:-220px;

    width:700px;
    height:700px;

    border-radius:50%;

    background:rgba(var(--navy-rgb), .035);

}

.amm-about-service__inner{

    max-width:1320px;

    margin:auto;

    display:grid;

    grid-template-columns:1.05fr .95fr;

    gap:90px;

    align-items:center;

    position:relative;

    z-index:2;

}

.amm-about-service__image{

    position:relative;

}

.amm-about-service__image img{

    width:100%;

    display:block;

    border-radius:22px;

    box-shadow:0 40px 70px rgba(0,0,0,.10);

}

.amm-about-service__image::after{

    content:"";

    position:absolute;

    right:-18px;
    bottom:-18px;

    width:130px;
    height:130px;

    border:3px solid var(--ams-gold);

    border-radius:18px;

    z-index:-1;

}

.amm-about-service__eyebrow{

    display:flex;

    align-items:center;

    gap:14px;

    font-size:12px;

    font-weight:700;

    letter-spacing:2px;

    text-transform:uppercase;

    color:var(--ams-gold);

    margin-bottom:22px;

}

.amm-about-service__eyebrow::before{

    content:"";

    width:40px;

    height:2px;

    background:var(--ams-gold);

}

.amm-about-service h2{

    font-size:62px;

    line-height:1.02;

    letter-spacing:-2px;

    color:var(--ams-navy);

    margin:0 0 28px;

}

.amm-about-service__lead{

    font-size:22px;

    line-height:1.7;

    color:#23384a;

    font-weight:500;

    margin-bottom:26px;

}

.amm-about-service p{

    font-size:17px;

    line-height:1.9;

    color: var(--body-text);

    margin-bottom:30px;

}

.amm-about-service__points{

    display:grid;

    grid-template-columns:repeat(2,1fr);

    gap:18px 28px;

    margin:45px 0;

}

.amm-about-service__points div{

    font-size:16px;

    color:var(--ams-navy);

    font-weight:600;

}

.amm-about-service__button{

    display:inline-flex;

    align-items:center;

    gap:18px;

    padding:18px 34px;

    background:var(--ams-navy);

    color:#fff;

    text-decoration:none;

    text-transform:uppercase;

    letter-spacing:1.3px;

    font-size:13px;

    font-weight:700;

    transition:.35s;

}

.amm-about-service__button span{

    transition:.35s;

}

.amm-about-service__button:hover{

    background:var(--ams-gold);

    color:#111;

}

.amm-about-service__button:hover span{

    transform:translateX(6px);

}

@media(max-width:1000px){

.amm-about-service{

padding:90px 28px;

}

.amm-about-service__inner{

grid-template-columns:1fr;

gap:60px;

}

.amm-about-service h2{

font-size:46px;

}

.amm-about-service__lead{

font-size:20px;

}

.amm-about-service__points{

grid-template-columns:1fr;

}

}

/* =========================================================
   ABOUT JAMES / AMMONITE SPORTS THERAPY
========================================================= */

.amm-james-intro {
    --aji-navy: var(--navy);
    --aji-gold: var(--gold);
    --aji-white: #ffffff;
    --aji-soft: #f7f4ee;
    --aji-copy: #5d6b75;
    --aji-line: rgba(var(--navy-rgb), 0.13);

    position: relative;

    width: 100%;
    overflow: hidden;

    padding: 100px 6%;

    background: var(--aji-white);
    color: var(--aji-navy);
}


.amm-james-intro,
.amm-james-intro *,
.amm-james-intro *::before,
.amm-james-intro *::after {
    box-sizing: border-box;
}


.amm-james-intro__inner {
    display: grid;
    grid-template-columns: minmax(0, 1.15fr) minmax(330px, 0.65fr);
    align-items: center;
    gap: clamp(65px, 8vw, 125px);

    width: 100%;
    max-width: 1380px;
    margin: 0 auto;
}


/* =========================================================
   MAIN CONTENT
========================================================= */

.amm-james-intro__content {
    min-width: 0;
    max-width: 760px;
}


.amm-james-intro__eyebrow {
    display: inline-flex;
    align-items: center;
    gap: 13px;

    margin: 0 0 18px;

    color: var(--aji-gold);

    font-family: var(--font-heading);
    font-size: 11px;
    font-weight: 800;
    line-height: 1.4;
    letter-spacing: 1.8px;
    text-transform: uppercase;
}


.amm-james-intro__eyebrow::before {
    content: "";

    display: block;

    width: 38px;
    height: 2px;

    background: var(--aji-gold);
}


.amm-james-intro h2 {
    max-width: 760px;

    margin: 0;

    color: var(--aji-navy);

    font-family: var(--font-heading);
    font-size: clamp(46px, 5vw, 70px);
    font-weight: 800;
    line-height: 0.98;
    letter-spacing: -3px;
}


.amm-james-intro h2 strong {
    display: block;

    color: var(--aji-gold);
    font-weight: inherit;
}


.amm-james-intro__lead {
    max-width: 720px;

    margin: 27px 0 0;

    color: #243947;

    font-family: var(--font-body);
    font-size: 19px;
    font-weight: 600;
    line-height: 1.68;
}


.amm-james-intro__copy {
    max-width: 720px;

    margin: 18px 0 0;

    color: var(--aji-copy);

    font-family: var(--font-body);
    font-size: 16px;
    font-weight: 400;
    line-height: 1.78;
}


/* =========================================================
   CREDENTIALS
========================================================= */

.amm-james-intro__credentials {
    display: grid;
    grid-template-columns: 66px minmax(0, 1fr);
    align-items: center;
    gap: 18px;

    max-width: 660px;

    margin-top: 31px;
    padding: 18px 22px;

    border-left: 3px solid var(--aji-gold);

    background: var(--aji-soft);
}


.amm-james-intro__credential-logo img {
    display: block;

    width: 60px;
    height: 60px;

    object-fit: contain;
}


.amm-james-intro__credential-copy span {
    display: block;

    margin-bottom: 4px;

    color: var(--aji-gold);

    font-family: var(--font-heading);
    font-size: 9px;
    font-weight: 800;
    letter-spacing: 1.1px;
    text-transform: uppercase;
}


.amm-james-intro__credential-copy strong {
    display: block;

    color: var(--aji-navy);

    font-family: var(--font-heading);
    font-size: 14px;
    font-weight: 800;
    line-height: 1.45;
}


.amm-james-intro__credential-copy p {
    margin: 5px 0 0;

    color: var(--aji-copy);

    font-family: var(--font-body);
    font-size: 13px;
    line-height: 1.55;
}


/* =========================================================
   ACTIONS
========================================================= */

.amm-james-intro__actions {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 24px;

    margin-top: 31px;
}


.amm-james-intro__button {
    display: inline-flex;
    align-items: center;
    justify-content: space-between;
    gap: 36px;

    min-width: 190px;
    min-height: 55px;

    padding: 0 22px;

    background: var(--aji-navy);
    color: var(--aji-white);

    font-family: var(--font-heading);
    font-size: 10px;
    font-weight: 800;
    letter-spacing: 0.7px;
    text-decoration: none;
    text-transform: uppercase;

    transition:
        background 0.3s ease,
        color 0.3s ease,
        transform 0.3s ease;
}


.amm-james-intro__button span {
    color: var(--aji-gold);
    font-size: 18px;

    transition: transform 0.3s ease;
}


.amm-james-intro__button:hover {
    background: var(--aji-gold);
    color: var(--aji-navy);

    transform: translateY(-3px);
}


.amm-james-intro__button:hover span {
    color: var(--aji-navy);

    transform: translateX(4px);
}


.amm-james-intro__link {
    display: inline-flex;
    align-items: center;
    gap: 10px;

    width: fit-content;

    padding-bottom: 7px;

    border-bottom: 1px solid rgba(var(--navy-rgb), 0.28);

    color: var(--aji-navy);

    font-family: var(--font-heading);
    font-size: 10px;
    font-weight: 800;
    letter-spacing: 0.65px;
    text-decoration: none;
    text-transform: uppercase;
}


.amm-james-intro__link span {
    color: var(--aji-gold);
    font-size: 15px;

    transition: transform 0.3s ease;
}


.amm-james-intro__link:hover span {
    transform: translateY(4px);
}


/* =========================================================
   JAMES PROFILE
========================================================= */

.amm-james-intro__profile {
    position: relative;

    min-width: 0;

    padding: 18px;

    background: var(--aji-soft);
}


.amm-james-intro__profile::before {
    content: "";

    position: absolute;
    top: 0;
    right: 0;

    width: 72px;
    height: 72px;

    background: var(--aji-gold);

    clip-path: polygon(
        100% 0,
        100% 100%,
        0 0
    );

    pointer-events: none;
}


.amm-james-intro__portrait {
    position: relative;

    aspect-ratio: 4 / 5;
    overflow: hidden;

    background: #ded8cf;
}


.amm-james-intro__portrait img {
    display: block;

    width: 100%;
    height: 100%;

    object-fit: cover;
    object-position: center top;
}


.amm-james-intro__profile-copy {
    padding: 27px 15px 13px;
}


.amm-james-intro__profile-label {
    display: block;

    margin-bottom: 7px;

    color: var(--aji-gold);

    font-family: var(--font-heading);
    font-size: 9px;
    font-weight: 800;
    letter-spacing: 1.2px;
    text-transform: uppercase;
}


.amm-james-intro__profile h3 {
    margin: 0;

    color: var(--aji-navy);

    font-family: var(--font-heading);
    font-size: 36px;
    font-weight: 800;
    line-height: 1;
    letter-spacing: -1.5px;
}


.amm-james-intro__profile-copy > p {
    margin: 13px 0 0;

    color: var(--aji-copy);

    font-family: var(--font-body);
    font-size: 15px;
    line-height: 1.65;
}


.amm-james-intro__profile-details {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 8px 10px;

    margin-top: 20px;
    padding-top: 17px;

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


.amm-james-intro__profile-details span {
    color: var(--aji-navy);

    font-family: var(--font-heading);
    font-size: 8px;
    font-weight: 800;
    letter-spacing: 0.6px;
    text-transform: uppercase;
}


.amm-james-intro__profile-details i {
    display: block;

    width: 4px;
    height: 4px;

    border-radius: 50%;

    background: var(--aji-gold);
}


/* =========================================================
   TABLET
========================================================= */

@media (max-width: 1050px) {

    .amm-james-intro {
        padding: 82px 6%;
    }


    .amm-james-intro__inner {
        grid-template-columns: minmax(0, 1fr) minmax(290px, 0.55fr);
        gap: 55px;
    }


    .amm-james-intro h2 {
        font-size: clamp(43px, 5.5vw, 60px);
    }
}


/* =========================================================
   MOBILE
========================================================= */

@media (max-width: 767px) {

    .amm-james-intro {
        padding: 62px 6%;
    }


    .amm-james-intro__inner {
        display: flex;
        flex-direction: column;
        gap: 46px;
    }


    .amm-james-intro__content {
        order: 1;
    }


    .amm-james-intro__profile {
        order: 2;

        width: 100%;
        max-width: 430px;
    }


    .amm-james-intro h2 {
        font-size: clamp(39px, 11vw, 52px);
        letter-spacing: -2px;
    }


    .amm-james-intro__lead {
        font-size: 17px;
    }


    .amm-james-intro__credentials {
        grid-template-columns: 54px minmax(0, 1fr);
        padding: 15px;
    }


    .amm-james-intro__credential-logo img {
        width: 50px;
        height: 50px;
    }


    .amm-james-intro__actions {
        align-items: stretch;
        flex-direction: column;
        gap: 18px;
    }


    .amm-james-intro__button {
        width: 100%;
    }


    .amm-james-intro__link {
        width: fit-content;
    }
}


/* =========================================================
   REDUCED MOTION
========================================================= */

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

    .amm-james-intro__button,
    .amm-james-intro__button span,
    .amm-james-intro__link span {
        transition: none;
    }
}

/* =========================================================
   ABOUT AMMONITE â€” MEET JAMES
========================================================= */

.amm-about-james {
    --aaj-navy: var(--navy);
    --aaj-gold: var(--gold);
    --aaj-white: #ffffff;
    --aaj-soft: #f7f4ee;
    --aaj-copy: #5d6b75;
    --aaj-line: rgba(var(--navy-rgb), 0.13);

    position: relative;

    width: 100%;
    overflow: hidden;

    padding: 100px 6%;

    background: var(--aaj-white);
    color: var(--aaj-navy);
}

.amm-about-james,
.amm-about-james *,
.amm-about-james *::before,
.amm-about-james *::after {
    box-sizing: border-box;
}

.amm-about-james__inner {
    width: 100%;
    max-width: 1380px;
    margin: 0 auto;
}


/* =========================================================
   TOP TWO-COLUMN LAYOUT
========================================================= */

.amm-about-james__top {
    display: grid;
    grid-template-columns: minmax(0, 1.2fr) minmax(320px, 0.58fr);
    align-items: start;
    gap: clamp(65px, 8vw, 120px);
}


/* =========================================================
   MAIN CONTENT
========================================================= */

.amm-about-james__content {
    min-width: 0;
    max-width: 780px;
}

.amm-about-james__eyebrow {
    display: inline-flex;
    align-items: center;
    gap: 13px;

    margin: 0 0 18px;

    color: var(--aaj-gold);

    font-family: var(--font-heading);
    font-size: 11px;
    font-weight: 800;
    line-height: 1.4;
    letter-spacing: 1.8px;
    text-transform: uppercase;
}

.amm-about-james__eyebrow::before {
    content: "";

    display: block;

    width: 38px;
    height: 2px;

    background: var(--aaj-gold);
}

.amm-about-james h2 {
    max-width: 760px;
    margin: 0;

    color: var(--aaj-navy);

    font-family: var(--font-heading);
    font-size: clamp(46px, 5vw, 70px);
    font-weight: 800;
    line-height: 0.98;
    letter-spacing: -3px;
}

.amm-about-james h2 strong {
    display: block;

    color: var(--aaj-gold);
    font-weight: inherit;
}

.amm-about-james__lead {
    max-width: 730px;

    margin: 27px 0 0;

    color: #243947;

    font-family: var(--font-body);
    font-size: 19px;
    font-weight: 600;
    line-height: 1.68;
}

.amm-about-james__copy {
    max-width: 730px;

    margin: 18px 0 0;

    color: var(--aaj-copy);

    font-family: var(--font-body);
    font-size: 16px;
    line-height: 1.78;
}


/* =========================================================
   CREDENTIALS
========================================================= */

.amm-about-james__credentials {
    display: grid;
    grid-template-columns: 66px minmax(0, 1fr);
    align-items: center;
    gap: 18px;

    max-width: 680px;

    margin-top: 31px;
    padding: 18px 22px;

    border-left: 3px solid var(--aaj-gold);

    background: var(--aaj-soft);
}

.amm-about-james__credential-logo img {
    display: block;

    width: 60px;
    height: 60px;

    object-fit: contain;
}

.amm-about-james__credential-copy span {
    display: block;

    margin-bottom: 4px;

    color: var(--aaj-gold);

    font-family: var(--font-heading);
    font-size: 9px;
    font-weight: 800;
    letter-spacing: 1.1px;
    text-transform: uppercase;
}

.amm-about-james__credential-copy strong {
    display: block;

    color: var(--aaj-navy);

    font-family: var(--font-heading);
    font-size: 14px;
    font-weight: 800;
    line-height: 1.45;
}

.amm-about-james__credential-copy p {
    margin: 5px 0 0;

    color: var(--aaj-copy);

    font-family: var(--font-body);
    font-size: 13px;
    line-height: 1.55;
}


/* =========================================================
   ACTIONS
========================================================= */

.amm-about-james__actions {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 24px;

    margin-top: 31px;
}

.amm-about-james__button {
    display: inline-flex;
    align-items: center;
    justify-content: space-between;
    gap: 36px;

    min-width: 225px;
    min-height: 55px;

    padding: 0 22px;

    background: var(--aaj-navy);
    color: var(--aaj-white);

    font-family: var(--font-heading);
    font-size: 10px;
    font-weight: 800;
    letter-spacing: 0.7px;
    text-decoration: none;
    text-transform: uppercase;

    transition:
        background 0.3s ease,
        color 0.3s ease,
        transform 0.3s ease;
}

.amm-about-james__button span {
    color: var(--aaj-gold);
    font-size: 18px;

    transition: transform 0.3s ease;
}

.amm-about-james__button:hover {
    background: var(--aaj-gold);
    color: var(--aaj-navy);

    transform: translateY(-3px);
}

.amm-about-james__button:hover span {
    color: var(--aaj-navy);

    transform: translateX(4px);
}

.amm-about-james__link {
    display: inline-flex;
    align-items: center;
    gap: 10px;

    width: fit-content;

    padding-bottom: 7px;

    border-bottom: 1px solid rgba(var(--navy-rgb), 0.28);

    color: var(--aaj-navy);

    font-family: var(--font-heading);
    font-size: 10px;
    font-weight: 800;
    letter-spacing: 0.65px;
    text-decoration: none;
    text-transform: uppercase;
}

.amm-about-james__link span {
    color: var(--aaj-gold);
    font-size: 15px;

    transition: transform 0.3s ease;
}

.amm-about-james__link:hover span {
    transform: translate(3px, -3px);
}


/* =========================================================
   PROFILE CARD
========================================================= */

.amm-about-james__profile {
    position: sticky;
    top: 120px;

    min-width: 0;

    padding: 18px;

    background: var(--aaj-soft);
}

.amm-about-james__profile::before {
    content: "";

    position: absolute;
    top: 0;
    right: 0;

    width: 72px;
    height: 72px;

    background: var(--aaj-gold);

    clip-path: polygon(
        100% 0,
        100% 100%,
        0 0
    );

    pointer-events: none;
}

.amm-about-james__portrait {
    position: relative;

    aspect-ratio: 4 / 5;
    overflow: hidden;

    background: #ded8cf;
}

.amm-about-james__portrait img {
    display: block;

    width: 100%;
    height: 100%;

    object-fit: cover;
    object-position: center top;
}

.amm-about-james__profile-copy {
    padding: 27px 15px 16px;
}

.amm-about-james__profile-label {
    display: block;

    margin-bottom: 7px;

    color: var(--aaj-gold);

    font-family: var(--font-heading);
    font-size: 9px;
    font-weight: 800;
    letter-spacing: 1.2px;
    text-transform: uppercase;
}

.amm-about-james__profile h3 {
    margin: 0;

    color: var(--aaj-navy);

    font-family: var(--font-heading);
    font-size: 36px;
    font-weight: 800;
    line-height: 1;
    letter-spacing: -1.5px;
}

.amm-about-james__profile-copy > p {
    margin: 13px 0 0;

    color: var(--aaj-copy);

    font-family: var(--font-body);
    font-size: 15px;
    line-height: 1.65;
}


/* =========================================================
   FULL-WIDTH VALUES
========================================================= */

.amm-about-james__values {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));

    margin-top: 72px;

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

.amm-about-james__value {
    display: grid;
    grid-template-columns: 58px minmax(0, 1fr);
    gap: 20px;

    min-width: 0;
    padding: 34px 34px 34px 0;
}

.amm-about-james__value + .amm-about-james__value {
    padding-left: 34px;

    border-left: 1px solid var(--aaj-line);
}

.amm-about-james__value-icon {
    display: flex;
    align-items: center;
    justify-content: center;

    width: 52px;
    height: 52px;

    border: 1px solid rgba(var(--gold-rgb), 0.65);
    border-radius: 50%;

    color: var(--aaj-gold);
}

.amm-about-james__value-icon svg {
    width: 24px;
    height: 24px;

    fill: none;
    stroke: currentColor;
    stroke-width: 1.7;
    stroke-linecap: round;
    stroke-linejoin: round;
}

.amm-about-james__value-copy > span {
    display: block;

    margin-bottom: 7px;

    color: var(--aaj-gold);

    font-family: var(--font-heading);
    font-size: 9px;
    font-weight: 800;
    letter-spacing: 0.8px;
}

.amm-about-james__value h3 {
    margin: 0;

    color: var(--aaj-navy);

    font-family: var(--font-heading);
    font-size: 20px;
    font-weight: 800;
    line-height: 1.3;
}

.amm-about-james__value p {
    max-width: 340px;

    margin: 8px 0 0;

    color: var(--aaj-copy);

    font-family: var(--font-body);
    font-size: 16px;
    line-height: 1.62;
}


/* =========================================================
   TABLET
========================================================= */

@media (max-width: 1050px) {

    .amm-about-james {
        padding: 82px 6%;
    }

    .amm-about-james__top {
        grid-template-columns: minmax(0, 1fr) minmax(290px, 0.55fr);
        gap: 55px;
    }

    .amm-about-james h2 {
        font-size: clamp(43px, 5.5vw, 60px);
    }

    .amm-about-james__values {
        grid-template-columns: 1fr;
        margin-top: 58px;
    }

    .amm-about-james__value,
    .amm-about-james__value + .amm-about-james__value {
        padding: 26px 0;

        border-left: 0;
    }

    .amm-about-james__value + .amm-about-james__value {
        border-top: 1px solid var(--aaj-line);
    }

    .amm-about-james__value p {
        max-width: 650px;
    }
}


/* =========================================================
   MOBILE
========================================================= */

@media (max-width: 767px) {

    .amm-about-james {
        padding: 62px 6%;
    }

    .amm-about-james__top {
        display: flex;
        flex-direction: column;
        gap: 46px;
    }

    .amm-about-james__profile {
        position: relative;
        top: auto;

        width: 100%;
        max-width: 430px;
    }

    .amm-about-james h2 {
        font-size: clamp(39px, 11vw, 52px);
        letter-spacing: -2px;
    }

    .amm-about-james__lead {
        font-size: 17px;
    }

    .amm-about-james__credentials {
        grid-template-columns: 54px minmax(0, 1fr);
        padding: 15px;
    }

    .amm-about-james__credential-logo img {
        width: 50px;
        height: 50px;
    }

    .amm-about-james__actions {
        align-items: stretch;
        flex-direction: column;
        gap: 18px;
    }

    .amm-about-james__button {
        width: 100%;
    }

    .amm-about-james__link {
        width: fit-content;
    }

    .amm-about-james__values {
        margin-top: 48px;
    }

    .amm-about-james__value {
        grid-template-columns: 50px minmax(0, 1fr);
        gap: 16px;
    }

    .amm-about-james__value-icon {
        width: 46px;
        height: 46px;
    }

    .amm-about-james__value h3 {
        font-size: 18px;
    }
}


/* =========================================================
   REDUCED MOTION
========================================================= */

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

    .amm-about-james__button,
    .amm-about-james__button span,
    .amm-about-james__link span {
        transition: none;
    }
}

/* =========================================================
   ABOUT AMMONITE HERO
========================================================= */

.amm-about-hero {
    --aah-navy: var(--navy);
    --aah-gold: var(--gold);
    --aah-white: #ffffff;
    --aah-copy: rgba(255, 255, 255, 0.84);
    --aah-line: rgba(255, 255, 255, 0.18);

    position: relative;

    width: 100%;
    min-height: 590px;
    overflow: hidden;

    background: var(--aah-navy);
    color: var(--aah-white);
}

.amm-about-hero,
.amm-about-hero *,
.amm-about-hero *::before,
.amm-about-hero *::after {
    box-sizing: border-box;
}


/* =========================================================
   BACKGROUND
========================================================= */

.amm-about-hero__background {
    position: absolute;
    inset: 0;
}

.amm-about-hero__background img {
    display: block;

    width: 100%;
    height: 100%;

    object-fit: cover;
    object-position: center 35%;
}

.amm-about-hero__overlay {
    position: absolute;
    inset: 0;

    background:
        linear-gradient(
            90deg,
            rgba(var(--navy-rgb), 0.97) 0%,
            rgba(var(--navy-rgb), 0.91) 31%,
            rgba(var(--navy-rgb), 0.61) 59%,
            rgba(var(--navy-rgb), 0.14) 100%
        ),
        linear-gradient(
            0deg,
            rgba(var(--navy-rgb), 0.28) 0%,
            transparent 48%
        );

    pointer-events: none;
}


/* =========================================================
   INNER
========================================================= */

.amm-about-hero__inner {
    position: relative;
    z-index: 2;

    display: flex;
    align-items: center;

    width: min(1400px, 88%);
    min-height: 590px;

    margin: 0 auto;
    padding: 76px 0 84px;
}

.amm-about-hero__content {
    width: 100%;
    max-width: 760px;
}


/* =========================================================
   EYEBROW
========================================================= */

.amm-about-hero__eyebrow {
    display: inline-flex;
    align-items: center;
    gap: 13px;

    margin: 0 0 19px;

    color: var(--aah-gold);

    font-family: var(--font-heading);
    font-size: 11px;
    font-weight: 800;
    line-height: 1.4;
    letter-spacing: 1.7px;
    text-transform: uppercase;
}

.amm-about-hero__eyebrow::before {
    content: "";

    width: 38px;
    height: 2px;

    background: var(--aah-gold);
}


/* =========================================================
   HEADING
========================================================= */

.amm-about-hero h1 {
    max-width: 760px;

    margin: 0;

    color: var(--aah-white);

    font-family: var(--font-heading);
    font-size: clamp(52px, 5.5vw, 78px);
    font-weight: 800;
    line-height: 0.96;
    letter-spacing: -3.5px;
}

.amm-about-hero h1 strong {
    display: block;

    color: var(--aah-gold);
    font-weight: inherit;
}


/* =========================================================
   INTRO
========================================================= */

.amm-about-hero__content > p {
    max-width: 680px;

    margin: 27px 0 0;

    color: var(--aah-copy);

    font-family: var(--font-body);
    font-size: 18px;
    line-height: 1.72;
}


/* =========================================================
   ACTIONS
========================================================= */

.amm-about-hero__actions {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;

    margin-top: 31px;
}

.amm-about-hero__button {
    display: inline-flex;
    align-items: center;
    justify-content: space-between;
    gap: 32px;

    min-width: 215px;
    min-height: 57px;

    padding: 0 22px;

    font-family: var(--font-heading);
    font-size: 10px;
    font-weight: 800;
    letter-spacing: 0.65px;
    text-decoration: none;
    text-transform: uppercase;

    transition:
        background 0.3s ease,
        color 0.3s ease,
        border-color 0.3s ease,
        transform 0.3s ease;
}

.amm-about-hero__button span {
    font-size: 17px;

    transition: transform 0.3s ease;
}

.amm-about-hero__button:hover {
    transform: translateY(-3px);
}

.amm-about-hero__button--primary {
    border: 1px solid var(--aah-gold);

    background: var(--aah-gold);
    color: var(--aah-navy);
}

.amm-about-hero__button--primary:hover {
    border-color: var(--aah-white);

    background: var(--aah-white);
}

.amm-about-hero__button--primary:hover span {
    transform: translateY(4px);
}

.amm-about-hero__button--secondary {
    border: 1px solid rgba(255, 255, 255, 0.32);

    background: rgba(var(--navy-rgb), 0.18);
    color: var(--aah-white);
}

.amm-about-hero__button--secondary:hover {
    border-color: var(--aah-white);

    background: var(--aah-white);
    color: var(--aah-navy);
}

.amm-about-hero__button--secondary:hover span {
    transform: translateX(4px);
}


/* =========================================================
   QUALIFICATIONS
========================================================= */

.amm-about-hero__credentials {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 10px 13px;

    max-width: 760px;

    margin-top: 30px;
    padding-top: 22px;

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

.amm-about-hero__credentials span {
    color: rgba(255, 255, 255, 0.82);

    font-family: var(--font-heading);
    font-size: 10px;
    font-weight: 800;
    letter-spacing: 0.6px;
    text-transform: uppercase;
}

.amm-about-hero__credentials i {
    display: block;

    width: 4px;
    height: 4px;

    border-radius: 50%;

    background: var(--aah-gold);
}


/* =========================================================
   BOTTOM EDGE
========================================================= */

.amm-about-hero__edge {
    position: absolute;
    z-index: 3;

    right: 0;
    bottom: 0;
    left: 0;

    height: 5px;

    background: var(--aah-gold);

    pointer-events: none;
}


/* =========================================================
   TABLET
========================================================= */

@media (max-width: 900px) {

    .amm-about-hero__overlay {
        background:
            linear-gradient(
                90deg,
                rgba(var(--navy-rgb), 0.96) 0%,
                rgba(var(--navy-rgb), 0.86) 58%,
                rgba(var(--navy-rgb), 0.42) 100%
            );
    }

    .amm-about-hero h1 {
        font-size: clamp(48px, 6.5vw, 66px);
    }
}


/* =========================================================
   MOBILE
========================================================= */

@media (max-width: 767px) {

    .amm-about-hero {
        min-height: 650px;
    }

    .amm-about-hero__background img {
        object-position: 60% center;
    }

    .amm-about-hero__overlay {
        background:
            linear-gradient(
                90deg,
                rgba(var(--navy-rgb), 0.94) 0%,
                rgba(var(--navy-rgb), 0.84) 100%
            ),
            linear-gradient(
                0deg,
                rgba(var(--navy-rgb), 0.52) 0%,
                transparent 60%
            );
    }

    .amm-about-hero__inner {
        align-items: flex-end;

        width: 88%;
        min-height: 650px;

        padding: 88px 0 62px;
    }

    .amm-about-hero__eyebrow {
        font-size: 9px;
        letter-spacing: 1.25px;
    }

    .amm-about-hero h1 {
        font-size: clamp(42px, 12vw, 56px);
        letter-spacing: -2.5px;
    }

    .amm-about-hero__content > p {
        font-size: 16px;
        line-height: 1.65;
    }

    .amm-about-hero__actions {
        flex-direction: column;
    }

    .amm-about-hero__button {
        width: 100%;
    }

    .amm-about-hero__credentials {
        align-items: flex-start;
        flex-direction: column;
        gap: 7px;
    }

    .amm-about-hero__credentials i {
        display: none;
    }
}


/* =========================================================
   REDUCED MOTION
========================================================= */

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

    .amm-about-hero__button,
    .amm-about-hero__button span {
        transition: none;
    }
}

/*==================================================
CONTACT HERO
==================================================*/

.amm-contact-hero{

position:relative;

overflow:hidden;

min-height:560px;

background:var(--navy);

color:#fff;

}

.amm-contact-hero *{

box-sizing:border-box;

}

/* background */

.amm-contact-hero__background{

position:absolute;

inset:0;

}

.amm-contact-hero__background img{

width:100%;

height:100%;

display:block;

object-fit:cover;

object-position:center;

}

.amm-contact-hero__overlay{

position:absolute;

inset:0;

background:
linear-gradient(90deg,
rgba(var(--navy-rgb), .94) 0%,
rgba(var(--navy-rgb), .82) 45%,
rgba(var(--navy-rgb), .20) 100%);

}

/* content */

.amm-contact-hero__inner{

position:relative;

z-index:2;

display:flex;

align-items:center;

min-height:560px;

width:min(1380px,88%);

margin:auto;

padding:70px 0;

}

.amm-contact-hero__content{

max-width:620px;

}

.amm-contact-hero__eyebrow{

display:inline-flex;

align-items:center;

gap:12px;

margin-bottom:18px;

font:800 11px Montserrat,sans-serif;

letter-spacing:2px;

text-transform:uppercase;

color:var(--gold);

}

.amm-contact-hero__eyebrow:before{

content:"";

width:36px;

height:2px;

background:var(--gold);

}

.amm-contact-hero h1{

margin:0;

font:800 clamp(56px,5vw,74px)/.95 Montserrat,sans-serif;

letter-spacing:-3px;

color:#fff;

}

.amm-contact-hero p{

margin:26px 0 0;

font:400 18px/1.8 Inter,sans-serif;

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

max-width:560px;

}

.amm-contact-hero__button{

display:inline-flex;

align-items:center;

gap:28px;

margin-top:34px;

padding:18px 26px;

background:var(--gold);

color:var(--navy);

text-decoration:none;

font:800 11px Montserrat,sans-serif;

letter-spacing:.8px;

text-transform:uppercase;

transition:.3s;

}

.amm-contact-hero__button:hover{

background:#fff;

transform:translateY(-3px);

}

.amm-contact-hero__button span{

font-size:18px;

}

.amm-contact-hero__edge{

position:absolute;

left:0;

right:0;

bottom:0;

height:4px;

background:var(--gold);

}

/* mobile */

@media(max-width:768px){

.amm-contact-hero{

min-height:640px;

}

.amm-contact-hero__inner{

min-height:640px;

align-items:flex-end;

padding:70px 0 60px;

}

.amm-contact-hero h1{

font-size:52px;

letter-spacing:-2px;

}

.amm-contact-hero p{

font-size:16px;

}

}

/*=========================================
LATEST NEWS HERO
=========================================*/

.ast-simple-hero{

    background:#fff;

    padding:130px 20px 90px;

    border-bottom:1px solid #ececec;

}

.ast-simple-hero__inner{

    max-width:1240px;

    margin:auto;

}

.ast-simple-hero__breadcrumb{

    display:flex;

    align-items:center;

    gap:10px;

    margin-bottom:35px;

    font-size:14px;

    color:#7d8790;

}

.ast-simple-hero__breadcrumb a{

    color:#7d8790;

    text-decoration:none;

    transition:.25s;

}

.ast-simple-hero__breadcrumb a:hover{

    color:var(--ams-gold);

}

.ast-simple-hero__eyebrow{

    display:inline-flex;

    align-items:center;

    gap:14px;

    margin-bottom:22px;

    font-size:13px;

    font-weight:700;

    letter-spacing:2px;

    text-transform:uppercase;

    color:var(--ams-gold);

}

.ast-simple-hero__eyebrow::before{

    content:"";

    width:36px;

    height:2px;

    background:var(--ams-gold);

}

.ast-simple-hero h1{

    margin:0 0 24px;

    font-size:clamp(56px,6vw,82px);

    line-height:.95;

    letter-spacing:-2px;

    color:#061d2e;

}

.ast-simple-hero p{

    max-width:720px;

    margin:0;

    font-size:20px;

    line-height:1.75;

    color: var(--body-text);

}

@media(max-width:768px){

.ast-simple-hero{

    padding:90px 25px 60px;

}

.ast-simple-hero h1{

    font-size:48px;

}

.ast-simple-hero p{

    font-size:17px;

}

}

/* =========================================================
   SPORTS THERAPY OPENING
========================================================= */

.amm-sports-opening {
    --aso-navy: var(--navy);
    --aso-navy-light: var(--navy);
    --aso-gold: var(--gold);
    --aso-white: #ffffff;
    --aso-copy: #5d6b75;
    --aso-line: rgba(var(--navy-rgb), 0.13);

    position: relative;
    width: 100%;
    overflow: hidden;

    padding: 90px 6% 125px;

    background: var(--aso-white);
    color: var(--aso-navy);
}

.amm-sports-opening,
.amm-sports-opening *,
.amm-sports-opening *::before,
.amm-sports-opening *::after {
    box-sizing: border-box;
}

.amm-sports-opening__inner {
    width: 100%;
    max-width: 1380px;
    margin: 0 auto;
}


/* =========================================================
   CENTRED INTRO
========================================================= */

.amm-sports-opening__header {
    max-width: 930px;
    margin: 0 auto;
    padding-bottom: 48px;

    text-align: center;
}

.amm-sports-opening__eyebrow {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 13px;

    margin: 0 0 18px;

    color: var(--aso-gold);

    font-family: var(--font-heading);
    font-size: 11px;
    font-weight: 800;
    line-height: 1.4;
    letter-spacing: 1.8px;
    text-transform: uppercase;
}

.amm-sports-opening__eyebrow::before,
.amm-sports-opening__eyebrow::after {
    content: "";

    width: 36px;
    height: 2px;

    background: var(--aso-gold);
}

.amm-sports-opening h2 {
    max-width: 900px;
    margin: 0 auto;

    color: var(--aso-navy);

    font-family: var(--font-heading);
    font-size: clamp(48px, 5.4vw, 74px);
    font-weight: 800;
    line-height: 0.98;
    letter-spacing: -3px;
}

.amm-sports-opening h2 strong {
    display: block;

    color: var(--aso-gold);
    font-weight: inherit;
}

.amm-sports-opening__header > p {
    max-width: 720px;
    margin: 26px auto 0;

    color: var(--aso-copy);

    font-family: var(--font-body);
    font-size: 16px;
    font-weight: 400;
    line-height: 1.75;
}

.amm-sports-opening__button {
    display: inline-flex;
    align-items: center;
    justify-content: space-between;
    gap: 30px;

    min-width: 220px;
    min-height: 54px;

    margin-top: 27px;
    padding: 0 22px;

    background: var(--aso-navy);
    color: var(--aso-white);

    font-family: var(--font-heading);
    font-size: 10px;
    font-weight: 800;
    letter-spacing: 0.7px;
    text-decoration: none;
    text-transform: uppercase;

    transition:
        background 0.3s ease,
        color 0.3s ease,
        transform 0.3s ease;
}

.amm-sports-opening__button span {
    color: var(--aso-gold);
    font-size: 18px;

    transition: transform 0.3s ease;
}

.amm-sports-opening__button:hover {
    background: var(--aso-gold);
    color: var(--aso-navy);

    transform: translateY(-3px);
}

.amm-sports-opening__button:hover span {
    color: var(--aso-navy);

    transform: translateX(4px);
}


/* =========================================================
   FULL-WIDTH IMAGE
========================================================= */

.amm-sports-opening__media {
    position: relative;

    width: 100%;
    height: clamp(470px, 45vw, 640px);

    background: #ded8cf;
}

.amm-sports-opening__media > img {
    display: block;

    width: 100%;
    height: 100%;

    object-fit: cover;
    object-position: center 43%;
}

.amm-sports-opening__shade {
    position: absolute;
    inset: 0;

    background:
        linear-gradient(
            0deg,
            rgba(var(--navy-rgb), 0.30) 0%,
            transparent 44%
        );

    pointer-events: none;
}

.amm-sports-opening__media::before {
    content: "";

    position: absolute;
    z-index: 3;

    top: 0;
    right: 0;

    width: 72px;
    height: 72px;

    background: var(--aso-gold);

    clip-path: polygon(
        100% 0,
        100% 100%,
        0 0
    );

    pointer-events: none;
}


/* =========================================================
   OVERLAPPING TREATMENT PANEL
========================================================= */

.amm-sports-opening__panel {
    position: absolute;
    z-index: 4;

    right: clamp(24px, 4vw, 58px);
    bottom: -72px;

    width: min(720px, calc(100% - 48px));

    padding: 28px 31px 30px;

    background:
        linear-gradient(
            135deg,
            var(--aso-navy-light) 0%,
            var(--aso-navy) 100%
        );

    box-shadow: 0 26px 55px rgba(var(--navy-rgb), 0.20);
}

.amm-sports-opening__panel-label {
    display: block;

    margin-bottom: 21px;

    color: var(--aso-gold);

    font-family: var(--font-heading);
    font-size: 10px;
    font-weight: 800;
    letter-spacing: 1.35px;
    text-transform: uppercase;
}

.amm-sports-opening__points {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.amm-sports-opening__points article {
    display: grid;
    grid-template-columns: 28px minmax(0, 1fr);
    gap: 11px;

    min-width: 0;
    padding-right: 22px;
}

.amm-sports-opening__points article + article {
    padding-left: 22px;

    border-left: 1px solid rgba(255, 255, 255, 0.16);
}

.amm-sports-opening__number {
    padding-top: 3px;

    color: var(--aso-gold);

    font-family: var(--font-heading);
    font-size: 10px;
    font-weight: 800;
}

.amm-sports-opening__points h3 {
    margin: 0;

    color: var(--aso-white);

    font-family: var(--font-heading);
    font-size: 16px;
    font-weight: 800;
    line-height: 1.35;
}

.amm-sports-opening__points p {
    margin: 8px 0 0;

    color: rgba(255, 255, 255, 0.82);

    font-family: var(--font-body);
    font-size: 16px;
    line-height: 1.55;
}


/* =========================================================
   TABLET
========================================================= */

@media (max-width: 980px) {

    .amm-sports-opening {
        padding: 76px 6% 115px;
    }

    .amm-sports-opening__header {
        padding-bottom: 40px;
    }

    .amm-sports-opening__media {
        height: 510px;
    }

    .amm-sports-opening__panel {
        right: 24px;
        bottom: -68px;

        width: calc(100% - 48px);
    }
}


/* =========================================================
   MOBILE
========================================================= */

@media (max-width: 767px) {

    .amm-sports-opening {
        padding: 60px 6% 64px;
    }

    .amm-sports-opening__header {
        padding-bottom: 34px;
    }

    .amm-sports-opening__eyebrow::before,
    .amm-sports-opening__eyebrow::after {
        width: 23px;
    }

    .amm-sports-opening h2 {
        font-size: clamp(39px, 11vw, 52px);
        letter-spacing: -2px;
    }

    .amm-sports-opening__header > p {
        font-size: 16px;
    }

    .amm-sports-opening__button {
        width: 100%;
        max-width: 320px;
    }

    .amm-sports-opening__media {
        height: 360px;
    }

    .amm-sports-opening__media > img {
        object-position: 58% center;
    }

    .amm-sports-opening__media::before {
        width: 54px;
        height: 54px;
    }

    .amm-sports-opening__panel {
        position: relative;

        right: auto;
        bottom: auto;

        width: 100%;

        padding: 25px 22px;

        box-shadow: none;
    }

    .amm-sports-opening__points {
        grid-template-columns: 1fr;
    }

    .amm-sports-opening__points article,
    .amm-sports-opening__points article + article {
        padding: 18px 0;

        border-left: 0;
    }

    .amm-sports-opening__points article + article {
        border-top: 1px solid rgba(255, 255, 255, 0.16);
    }

    .amm-sports-opening__points h3,
    .amm-sports-opening__points p {
        font-size: 16px;
    }
}


/* =========================================================
   REDUCED MOTION
========================================================= */

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

    .amm-sports-opening__button,
    .amm-sports-opening__button span {
        transition: none;
    }
}

/* =========================================================
   SPORTS THERAPY OVERVIEW â€” CREAM REFINEMENT
========================================================= */

.amm-sports-overview {
    --aso-navy: var(--navy);
    --aso-gold: var(--gold);
    --aso-cream: #f7f4ee;
    --aso-cream-light: #fbfaf7;
    --aso-copy: #536572;
    --aso-copy-strong: #253b49;
    --aso-line: rgba(var(--navy-rgb), 0.14);

    position: relative;
    isolation: isolate;

    width: 100%;
    overflow: hidden;

    padding: 92px 6% 96px;

    background: var(--aso-cream);
    color: var(--aso-navy);
}


/* Large subtle ammonite graphic */

.amm-sports-overview::before {
    content: "";

    position: absolute;
    z-index: -1;

    right: -110px;
    bottom: -170px;

    width: 620px;
    height: 620px;

    background-image:
        url("http://ammonitesportstherapy.co.uk/wp-content/uploads/2026/07/winkle_12055627.svg");

    background-repeat: no-repeat;
    background-position: center;
    background-size: contain;

    opacity: 0.035;

    transform: rotate(-12deg);

    pointer-events: none;
}


.amm-sports-overview,
.amm-sports-overview *,
.amm-sports-overview *::before,
.amm-sports-overview *::after {
    box-sizing: border-box;
}


.amm-sports-overview__inner {
    position: relative;
    z-index: 2;

    width: 100%;
    max-width: 1320px;
    margin: 0 auto;
}


/* =========================================================
   INTRO
========================================================= */

.amm-sports-overview__header {
    max-width: 880px;
    margin: 0 auto 56px;

    text-align: center;
}


.amm-sports-overview__eyebrow {
    display: inline-flex;
    align-items: center;
    gap: 13px;

    margin-bottom: 17px;

    color: var(--aso-gold);

    font-family: var(--font-heading);
    font-size: 11px;
    font-weight: 800;
    letter-spacing: 1.7px;
    text-transform: uppercase;
}


.amm-sports-overview__eyebrow::before,
.amm-sports-overview__eyebrow::after {
    content: "";

    width: 34px;
    height: 2px;

    background: var(--aso-gold);
}


.amm-sports-overview h2 {
    max-width: 820px;
    margin: 0 auto;

    color: var(--aso-navy);

    font-family: var(--font-heading);
    font-size: clamp(40px, 4.4vw, 58px);
    font-weight: 800;
    line-height: 1.02;
    letter-spacing: -2.5px;
}


.amm-sports-overview__lead {
    max-width: 780px;
    margin: 25px auto 0;

    color: var(--aso-copy-strong);

    font-family: var(--font-body);
    font-size: 18px;
    font-weight: 600;
    line-height: 1.72;
}


.amm-sports-overview__copy {
    max-width: 740px;
    margin: 13px auto 0;

    color: var(--aso-copy);

    font-family: var(--font-body);
    font-size: 16px;
    font-weight: 400;
    line-height: 1.75;
}


/* =========================================================
   ICON GRID
========================================================= */

.amm-sports-overview__grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));

    overflow: hidden;

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

    background: rgba(255, 255, 255, 0.38);
}


.amm-sports-overview__item {
    position: relative;

    min-width: 0;
    padding: 36px 30px 39px;

    background: rgba(255, 255, 255, 0.22);

    transition:
        background 0.3s ease,
        transform 0.3s ease,
        box-shadow 0.3s ease;
}


.amm-sports-overview__item + .amm-sports-overview__item {
    border-left: 1px solid var(--aso-line);
}


.amm-sports-overview__item:hover {
    z-index: 2;

    background: rgba(255, 255, 255, 0.78);

    box-shadow: 0 18px 38px rgba(var(--navy-rgb), 0.07);

    transform: translateY(-5px);
}


.amm-sports-overview__icon {
    display: flex;
    align-items: center;
    justify-content: center;

    width: 54px;
    height: 54px;

    margin-bottom: 28px;

    border: 1px solid rgba(var(--gold-rgb), 0.68);
    border-radius: 50%;

    background: rgba(255, 255, 255, 0.45);
    color: var(--aso-gold);
}


.amm-sports-overview__icon svg {
    width: 25px;
    height: 25px;

    fill: none;
    stroke: currentColor;
    stroke-width: 1.7;
    stroke-linecap: round;
    stroke-linejoin: round;
}


.amm-sports-overview__number {
    display: block;

    margin-bottom: 7px;

    color: var(--aso-gold);

    font-family: var(--font-heading);
    font-size: 10px;
    font-weight: 800;
    letter-spacing: 0.8px;
}


.amm-sports-overview__item h3 {
    margin: 0;

    color: var(--aso-navy);

    font-family: var(--font-heading);
    font-size: 20px;
    font-weight: 800;
    line-height: 1.3;
}


.amm-sports-overview__item p {
    margin: 12px 0 0;

    color: var(--aso-copy-strong);

    font-family: var(--font-body);
    font-size: 16px;
    font-weight: 500;
    line-height: 1.65;
}


/* =========================================================
   BUTTON
========================================================= */

.amm-sports-overview__action {
    margin-top: 38px;

    text-align: center;
}


.amm-sports-overview__button {
    display: inline-flex;
    align-items: center;
    justify-content: space-between;
    gap: 32px;

    min-width: 230px;
    min-height: 55px;

    padding: 0 22px;

    background: var(--aso-navy);
    color: #ffffff;

    font-family: var(--font-heading);
    font-size: 10px;
    font-weight: 800;
    letter-spacing: 0.7px;
    text-decoration: none;
    text-transform: uppercase;

    transition:
        background 0.3s ease,
        color 0.3s ease,
        transform 0.3s ease;
}


.amm-sports-overview__button span {
    color: var(--aso-gold);
    font-size: 18px;

    transition: transform 0.3s ease;
}


.amm-sports-overview__button:hover {
    background: var(--aso-gold);
    color: var(--aso-navy);

    transform: translateY(-3px);
}


.amm-sports-overview__button:hover span {
    color: var(--aso-navy);

    transform: translateX(4px);
}


/* =========================================================
   TABLET
========================================================= */

@media (max-width: 980px) {

    .amm-sports-overview {
        padding: 76px 6% 82px;
    }


    .amm-sports-overview::before {
        right: -150px;
        bottom: -120px;

        width: 520px;
        height: 520px;
    }


    .amm-sports-overview__grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }


    .amm-sports-overview__item:nth-child(3) {
        border-top: 1px solid var(--aso-line);
        border-left: 0;
    }


    .amm-sports-overview__item:nth-child(4) {
        border-top: 1px solid var(--aso-line);
    }
}


/* =========================================================
   MOBILE
========================================================= */

@media (max-width: 640px) {

    .amm-sports-overview {
        padding: 60px 6% 66px;
    }


    .amm-sports-overview::before {
        right: -165px;
        bottom: -70px;

        width: 390px;
        height: 390px;

        opacity: 0.045;
    }


    .amm-sports-overview__header {
        margin-bottom: 40px;

        text-align: left;
    }


    .amm-sports-overview__eyebrow::after {
        display: none;
    }


    .amm-sports-overview h2 {
        font-size: clamp(36px, 10vw, 46px);
        letter-spacing: -1.8px;
    }


    .amm-sports-overview__lead,
    .amm-sports-overview__copy {
        margin-left: 0;
    }


    .amm-sports-overview__lead {
        font-size: 17px;
    }


    .amm-sports-overview__grid {
        grid-template-columns: 1fr;

        border-right: 0;
        border-left: 0;

        background: transparent;
    }


    .amm-sports-overview__item,
    .amm-sports-overview__item + .amm-sports-overview__item,
    .amm-sports-overview__item:nth-child(3),
    .amm-sports-overview__item:nth-child(4) {
        padding: 29px 0;

        border-top: 1px solid var(--aso-line);
        border-left: 0;

        background: transparent;
    }


    .amm-sports-overview__item:first-child {
        border-top: 0;
    }


    .amm-sports-overview__item:hover {
        background: transparent;
        box-shadow: none;

        transform: none;
    }


    .amm-sports-overview__action {
        text-align: left;
    }


    .amm-sports-overview__button {
        width: 100%;
    }
}

/* =========================================================
   SPORTS THERAPY â€” FULL-WIDTH IMAGE BREAK
========================================================= */

.amm-sports-image-break {
    --asib-navy: var(--navy);
    --asib-gold: var(--gold);
    --asib-white: #ffffff;

    position: relative;

    width: 100%;
    min-height: 600px;
    overflow: hidden;

    background: var(--asib-navy);
    color: var(--asib-white);
}

.amm-sports-image-break,
.amm-sports-image-break *,
.amm-sports-image-break *::before,
.amm-sports-image-break *::after {
    box-sizing: border-box;
}


/* =========================================================
   IMAGE
========================================================= */

.amm-sports-image-break__media {
    position: absolute;
    inset: 0;
}

.amm-sports-image-break__media img {
    display: block;

    width: 100%;
    height: 100%;

    object-fit: cover;
    object-position: center 44%;
}

.amm-sports-image-break__shade {
    position: absolute;
    inset: 0;

    background:
        linear-gradient(
            90deg,
            rgba(var(--navy-rgb), 0.12) 0%,
            rgba(var(--navy-rgb), 0.05) 45%,
            rgba(var(--navy-rgb), 0.42) 100%
        ),
        linear-gradient(
            0deg,
            rgba(var(--navy-rgb), 0.36) 0%,
            transparent 55%
        );

    pointer-events: none;
}


/* =========================================================
   INNER
========================================================= */

.amm-sports-image-break__inner {
    position: relative;
    z-index: 2;

    display: flex;
    align-items: flex-end;
    justify-content: flex-end;

    width: min(1380px, 88%);
    min-height: 600px;

    margin: 0 auto;
    padding: 70px 0;
}


/* =========================================================
   PANEL
========================================================= */

.amm-sports-image-break__panel {
    width: min(530px, 100%);

    padding: 38px 42px;

    border-left: 3px solid var(--asib-gold);

    background: rgba(var(--navy-rgb), 0.94);

    box-shadow: 0 24px 55px rgba(var(--navy-rgb), 0.18);

    backdrop-filter: blur(5px);
    -webkit-backdrop-filter: blur(5px);
}

.amm-sports-image-break__eyebrow {
    display: block;

    margin-bottom: 14px;

    color: var(--asib-gold);

    font-family: var(--font-heading);
    font-size: 10px;
    font-weight: 800;
    line-height: 1.4;
    letter-spacing: 1.5px;
    text-transform: uppercase;
}

.amm-sports-image-break h2 {
    max-width: 470px;

    margin: 0;

    color: var(--asib-white);

    font-family: var(--font-heading);
    font-size: clamp(36px, 3.8vw, 50px);
    font-weight: 800;
    line-height: 1.02;
    letter-spacing: -2px;
}

.amm-sports-image-break p {
    max-width: 455px;

    margin: 20px 0 0;

    color: rgba(255, 255, 255, 0.84);

    font-family: var(--font-body);
    font-size: 16px;
    font-weight: 400;
    line-height: 1.7;
}


/* =========================================================
   BUTTON
========================================================= */

.amm-sports-image-break__button {
    display: inline-flex;
    align-items: center;
    justify-content: space-between;
    gap: 30px;

    min-width: 225px;
    min-height: 54px;

    margin-top: 25px;
    padding: 0 22px;

    background: var(--asib-gold);
    color: var(--asib-navy);

    font-family: var(--font-heading);
    font-size: 10px;
    font-weight: 800;
    letter-spacing: 0.7px;
    text-decoration: none;
    text-transform: uppercase;

    transition:
        background 0.3s ease,
        transform 0.3s ease;
}

.amm-sports-image-break__button span {
    font-size: 18px;

    transition: transform 0.3s ease;
}

.amm-sports-image-break__button:hover {
    background: var(--asib-white);

    transform: translateY(-3px);
}

.amm-sports-image-break__button:hover span {
    transform: translateX(4px);
}


/* =========================================================
   TABLET
========================================================= */

@media (max-width: 900px) {

    .amm-sports-image-break {
        min-height: 540px;
    }

    .amm-sports-image-break__inner {
        min-height: 540px;
        padding: 55px 0;
    }

    .amm-sports-image-break__panel {
        width: min(500px, 100%);
    }
}


/* =========================================================
   MOBILE
========================================================= */

@media (max-width: 767px) {

    .amm-sports-image-break {
        min-height: auto;
    }

    .amm-sports-image-break__media {
        position: relative;

        height: 350px;
    }

    .amm-sports-image-break__media img {
        object-position: 58% center;
    }

    .amm-sports-image-break__shade {
        background:
            linear-gradient(
                0deg,
                rgba(var(--navy-rgb), 0.32) 0%,
                transparent 58%
            );
    }

    .amm-sports-image-break__inner {
        display: block;

        width: 100%;
        min-height: auto;
        padding: 0;
    }

    .amm-sports-image-break__panel {
        width: 100%;

        padding: 34px 6% 39px;

        border-left: 0;
        border-top: 3px solid var(--asib-gold);

        box-shadow: none;

        backdrop-filter: none;
        -webkit-backdrop-filter: none;
    }

    .amm-sports-image-break h2 {
        font-size: clamp(34px, 10vw, 45px);
    }

    .amm-sports-image-break p {
        font-size: 16px;
    }

    .amm-sports-image-break__button {
        width: 100%;
    }
}


/* =========================================================
   REDUCED MOTION
========================================================= */

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

    .amm-sports-image-break__button,
    .amm-sports-image-break__button span {
        transition: none;
    }
}
/* =========================================================
   SPORTS THERAPY â€” CONDITIONS WE TREAT
========================================================= */

.amm-sports-conditions {
    --asc-navy: var(--navy);
    --asc-gold: var(--gold);
    --asc-cream: #f7f4ee;
    --asc-white: #ffffff;
    --asc-copy: #536572;
    --asc-copy-strong: #263c4a;
    --asc-line: rgba(var(--navy-rgb), 0.14);

    position: relative;
    width: 100%;
    overflow: hidden;

    padding: 96px 6%;

    background: var(--asc-cream);
    color: var(--asc-navy);
}

.amm-sports-conditions,
.amm-sports-conditions *,
.amm-sports-conditions *::before,
.amm-sports-conditions *::after {
    box-sizing: border-box;
}

.amm-sports-conditions__inner {
    display: grid;
    grid-template-columns: minmax(0, 0.9fr) minmax(0, 1.1fr);
    align-items: start;
    gap: clamp(60px, 7vw, 105px);

    width: 100%;
    max-width: 1320px;
    margin: 0 auto;
}


/* =========================================================
   INTRO COLUMN
========================================================= */

.amm-sports-conditions__intro {
    position: sticky;
    top: 120px;

    max-width: 540px;
    padding-right: clamp(10px, 2vw, 30px);
}

.amm-sports-conditions__eyebrow {
    display: inline-flex;
    align-items: center;
    gap: 13px;

    margin-bottom: 17px;

    color: var(--asc-gold);

    font-family: var(--font-heading);
    font-size: 11px;
    font-weight: 800;
    line-height: 1.4;
    letter-spacing: 1.8px;
    text-transform: uppercase;
}

.amm-sports-conditions__eyebrow::before {
    content: "";

    width: 36px;
    height: 2px;

    background: var(--asc-gold);
}

.amm-sports-conditions h2 {
    max-width: 530px;
    margin: 0;

    color: var(--asc-navy);

    font-family: var(--font-heading);
    font-size: clamp(42px, 4.3vw, 59px);
    font-weight: 800;
    line-height: 1.01;
    letter-spacing: -2.5px;
}

.amm-sports-conditions h2 strong {
    display: block;

    color: var(--asc-gold);
    font-weight: inherit;
}

.amm-sports-conditions__intro > p {
    max-width: 510px;
    margin: 18px 0 0;

    color: var(--asc-copy);

    font-family: var(--font-body);
    font-size: 16px;
    font-weight: 400;
    line-height: 1.75;
}

.amm-sports-conditions__intro .amm-sports-conditions__lead {
    margin-top: 25px;

    color: var(--asc-copy-strong);

    font-size: 18px;
    font-weight: 600;
    line-height: 1.68;
}


/* Small supporting note */

.amm-sports-conditions__note {
    display: grid;
    grid-template-columns: 42px minmax(0, 1fr);
    align-items: center;
    gap: 16px;

    max-width: 500px;

    margin-top: 31px;
    padding: 20px 22px;

    border-left: 3px solid var(--asc-gold);

    background: rgba(255, 255, 255, 0.58);
}

.amm-sports-conditions__note > span {
    display: flex;
    align-items: center;
    justify-content: center;

    width: 38px;
    height: 38px;

    border-radius: 50%;

    background: var(--asc-gold);
    color: var(--asc-navy);

    font-family: var(--font-heading);
    font-size: 20px;
    font-weight: 700;
}

.amm-sports-conditions__note p {
    margin: 0;

    color: var(--asc-copy-strong);

    font-family: var(--font-body);
    font-size: 16px;
    line-height: 1.6;
}


/* =========================================================
   CONDITION GRID
========================================================= */

.amm-sports-conditions__grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));

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

.amm-sports-conditions__item {
    position: relative;

    min-width: 0;
    min-height: 265px;

    padding: 30px 29px 31px;

    border-right: 1px solid var(--asc-line);
    border-bottom: 1px solid var(--asc-line);

    background: rgba(255, 255, 255, 0.22);

    transition:
        background 0.3s ease,
        transform 0.3s ease,
        box-shadow 0.3s ease;
}

.amm-sports-conditions__item:hover {
    z-index: 2;

    background: var(--asc-white);

    box-shadow: 0 20px 45px rgba(var(--navy-rgb), 0.08);

    transform: translateY(-5px);
}

.amm-sports-conditions__number {
    position: absolute;

    top: 30px;
    right: 28px;

    color: var(--asc-gold);

    font-family: var(--font-heading);
    font-size: 10px;
    font-weight: 800;
    letter-spacing: 0.8px;
}

.amm-sports-conditions__icon {
    display: flex;
    align-items: center;
    justify-content: center;

    width: 52px;
    height: 52px;

    margin-bottom: 24px;

    border: 1px solid rgba(var(--gold-rgb), 0.65);
    border-radius: 50%;

    color: var(--asc-gold);

    transition:
        background 0.3s ease,
        color 0.3s ease,
        transform 0.3s ease;
}

.amm-sports-conditions__icon svg {
    width: 24px;
    height: 24px;

    fill: none;
    stroke: currentColor;
    stroke-width: 1.7;
    stroke-linecap: round;
    stroke-linejoin: round;
}

.amm-sports-conditions__item:hover .amm-sports-conditions__icon {
    background: var(--asc-gold);
    color: var(--asc-navy);

    transform: rotate(-4deg);
}

.amm-sports-conditions__item h3 {
    max-width: 270px;
    margin: 0;

    color: var(--asc-navy);

    font-family: var(--font-heading);
    font-size: 20px;
    font-weight: 800;
    line-height: 1.3;
}

.amm-sports-conditions__item p {
    max-width: 310px;

    margin: 11px 0 0;

    color: var(--asc-copy);

    font-family: var(--font-body);
    font-size: 16px;
    font-weight: 400;
    line-height: 1.65;
}


/* =========================================================
   TABLET
========================================================= */

@media (max-width: 1050px) {

    .amm-sports-conditions {
        padding: 78px 6%;
    }

    .amm-sports-conditions__inner {
        grid-template-columns: 1fr;
        gap: 50px;
    }

    .amm-sports-conditions__intro {
        position: relative;
        top: auto;

        max-width: 800px;
    }

    .amm-sports-conditions h2 {
        max-width: 700px;
    }

    .amm-sports-conditions__intro > p {
        max-width: 700px;
    }

    .amm-sports-conditions__note {
        max-width: 650px;
    }
}


/* =========================================================
   MOBILE
========================================================= */

@media (max-width: 680px) {

    .amm-sports-conditions {
        padding: 60px 6%;
    }

    .amm-sports-conditions__inner {
        gap: 38px;
    }

    .amm-sports-conditions h2 {
        font-size: clamp(36px, 10vw, 47px);
        letter-spacing: -1.8px;
    }

    .amm-sports-conditions__intro .amm-sports-conditions__lead {
        font-size: 17px;
    }

    .amm-sports-conditions__note {
        grid-template-columns: 36px minmax(0, 1fr);

        padding: 17px;
    }

    .amm-sports-conditions__note > span {
        width: 34px;
        height: 34px;
    }

    .amm-sports-conditions__grid {
        grid-template-columns: 1fr;

        border-right: 0;
        border-left: 0;
    }

    .amm-sports-conditions__item {
        min-height: auto;

        padding: 28px 0;

        border-right: 0;

        background: transparent;
    }

    .amm-sports-conditions__item:hover {
        background: transparent;
        box-shadow: none;

        transform: none;
    }

    .amm-sports-conditions__number {
        top: 30px;
        right: 0;
    }

    .amm-sports-conditions__item p {
        max-width: 540px;
    }
}


/* =========================================================
   REDUCED MOTION
========================================================= */

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

    .amm-sports-conditions__item,
    .amm-sports-conditions__icon {
        transition: none;
    }
}
/* =========================================================
   SPORTS THERAPY INTRO â€” REFINED
========================================================= */

.ast-sports-intro {
    --asti-navy: var(--navy);
    --asti-gold: var(--gold);
    --asti-cream: #f7f4ee;
    --asti-copy: #4f606b;
    --asti-white: #ffffff;

    position: relative;
    isolation: isolate;

    width: 100%;
    overflow: hidden;

    padding: 100px 6% 105px;

    background: var(--asti-cream);
    color: var(--asti-navy);
}

.ast-sports-intro,
.ast-sports-intro *,
.ast-sports-intro *::before,
.ast-sports-intro *::after {
    box-sizing: border-box;
}


/* Subtle background ammonite */

.ast-sports-intro::before {
    content: "";

    position: absolute;
    z-index: -1;

    top: 50%;
    right: -145px;

    width: 500px;
    height: 500px;

    background:
        url("http://ammonitesportstherapy.co.uk/wp-content/uploads/2026/07/winkle_12055627.svg")
        center / contain no-repeat;

    opacity: 0.03;

    transform: translateY(-50%) rotate(-8deg);

    pointer-events: none;
}


/* Main container */

.ast-sports-intro__container {
    position: relative;
    z-index: 2;

    width: 100%;
    max-width: 1100px;
    margin: 0 auto;

    text-align: center;
}


/* Eyebrow */

.ast-sports-intro__eyebrow {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 14px;

    margin: 0 0 24px;

    color: var(--asti-gold);

    font-family: var(--font-heading);
    font-size: 12px;
    font-weight: 700;
    line-height: 1.4;
    letter-spacing: 1.8px;
    text-transform: uppercase;
}

.ast-sports-intro__eyebrow::before,
.ast-sports-intro__eyebrow::after {
    content: "";

    width: 34px;
    height: 2px;

    background: var(--asti-gold);
}

.ast-sports-intro__eyebrow::before {
    transform-origin: right center;
    animation: astIntroLineLeft 0.7s ease both;
}

.ast-sports-intro__eyebrow::after {
    transform-origin: left center;
    animation: astIntroLineRight 0.7s ease both;
}


/* Main statement */

.ast-sports-intro__quote {
    max-width: 1080px;
    margin: 0 auto 30px;

    color: var(--asti-navy);

    font-family: var(--font-heading);
    font-size: clamp(45px, 4.6vw, 67px);
    font-weight: 800;
    font-style: normal;
    line-height: 1.03;
    letter-spacing: -2.2px;

    animation: astIntroTitleReveal 0.75s
        cubic-bezier(0.22, 0.61, 0.36, 1) both;
}

.ast-sports-intro__quote span {
    display: block;

    color: var(--asti-gold);

    font-family: inherit;
    font-size: 0.88em;
    font-weight: inherit;
    line-height: 1.04;
}


/* Supporting text */

.ast-sports-intro__text {
    max-width: 760px;
    margin: 0 auto;

    color: var(--asti-copy);

    font-family: var(--font-body);
    font-size: 18px;
    font-weight: 500;
    line-height: 1.75;

    animation: astIntroTextReveal 0.75s 0.12s
        cubic-bezier(0.22, 0.61, 0.36, 1) both;
}


/* Button */

.ast-sports-intro__button {
    display: inline-flex;
    align-items: center;
    justify-content: space-between;
    gap: 30px;

    min-width: 230px;
    min-height: 54px;

    margin-top: 30px;
    padding: 0 22px;

    background: var(--asti-navy);
    color: var(--asti-white);

    font-family: var(--font-heading);
    font-size: 11px;
    font-weight: 700;
    line-height: 1;
    letter-spacing: 0.45px;
    text-decoration: none;
    text-transform: uppercase;

    transition:
        background 0.3s ease,
        color 0.3s ease,
        transform 0.3s ease;

    animation: astIntroTextReveal 0.75s 0.2s
        cubic-bezier(0.22, 0.61, 0.36, 1) both;
}

.ast-sports-intro__button span {
    color: var(--navy);
    font-size: 18px;
    line-height: 1;

    transition:
        color 0.3s ease,
        transform 0.3s ease;
}

.ast-sports-intro__button:hover {
    background: var(--asti-gold);
    color: var(--asti-navy);

    transform: translateY(-3px);
}

.ast-sports-intro__button:hover span {
    color: var(--asti-navy);

    transform: translateX(4px);
}


/* =========================================================
   ANIMATION
========================================================= */

@keyframes astIntroTitleReveal {
    from {
        opacity: 0;
        transform: translateY(18px);
    }

    to {
        opacity: 1;
        transform: translateY(0);
    }
}

@keyframes astIntroTextReveal {
    from {
        opacity: 0;
        transform: translateY(12px);
    }

    to {
        opacity: 1;
        transform: translateY(0);
    }
}

@keyframes astIntroLineLeft {
    from {
        opacity: 0;
        transform: scaleX(0);
    }

    to {
        opacity: 1;
        transform: scaleX(1);
    }
}

@keyframes astIntroLineRight {
    from {
        opacity: 0;
        transform: scaleX(0);
    }

    to {
        opacity: 1;
        transform: scaleX(1);
    }
}


/* =========================================================
   MEDIUM DESKTOP
========================================================= */

@media (max-width: 1200px) {

    .ast-sports-intro__quote {
        max-width: 960px;

        font-size: clamp(43px, 4.8vw, 61px);
    }

    .ast-sports-intro::before {
        right: -190px;

        width: 450px;
        height: 450px;
    }
}


/* =========================================================
   TABLET
========================================================= */

@media (max-width: 900px) {

    .ast-sports-intro {
        padding: 82px 6% 88px;
    }

    .ast-sports-intro__container {
        max-width: 760px;
    }

    .ast-sports-intro__quote {
        max-width: 760px;

        font-size: clamp(40px, 7vw, 54px);
        letter-spacing: -1.7px;
    }

    .ast-sports-intro__text {
        max-width: 680px;

        font-size: 17px;
    }

    .ast-sports-intro::before {
        right: -205px;

        width: 410px;
        height: 410px;
    }
}


/* =========================================================
   MOBILE
========================================================= */

@media (max-width: 767px) {

    .ast-sports-intro {
        padding: 68px 6% 72px;
    }

    .ast-sports-intro__container {
        text-align: left;
    }

    .ast-sports-intro__eyebrow {
        justify-content: flex-start;

        margin-bottom: 20px;

        font-size: 10px;
        letter-spacing: 1.4px;
    }

    .ast-sports-intro__eyebrow::after {
        display: none;
    }

    .ast-sports-intro__eyebrow::before {
        width: 28px;
    }

    .ast-sports-intro__quote {
        margin-bottom: 24px;

        font-size: clamp(37px, 11vw, 48px);
        line-height: 1.02;
        letter-spacing: -1.5px;
    }

    .ast-sports-intro__quote span {
        margin-top: 4px;

        font-size: 0.9em;
    }

    .ast-sports-intro__text {
        margin-left: 0;

        font-size: 16px;
        line-height: 1.72;
    }

    .ast-sports-intro__button {
        width: 100%;

        margin-top: 27px;
    }

    .ast-sports-intro::before {
        top: auto;
        right: -165px;
        bottom: -110px;

        width: 350px;
        height: 350px;

        opacity: 0.035;

        transform: rotate(-8deg);
    }
}


/* =========================================================
   REDUCED MOTION
========================================================= */

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

    .ast-sports-intro__eyebrow::before,
    .ast-sports-intro__eyebrow::after,
    .ast-sports-intro__quote,
    .ast-sports-intro__text,
    .ast-sports-intro__button {
        animation: none;
    }

    .ast-sports-intro__button,
    .ast-sports-intro__button span {
        transition: none;
    }
}

/* =========================================================
   SERVICE PAGE HERO â€” CENTRED
========================================================= */

.ast-page-hero {
    --ast-navy: var(--navy);
    --ast-gold: var(--gold);
    --ast-white: #ffffff;

    position: relative;

    width: 100%;
    min-height: 600px;
    margin: 0;
    overflow: hidden;

    background: var(--ast-navy);
    color: var(--ast-white);
}

.ast-page-hero,
.ast-page-hero *,
.ast-page-hero *::before,
.ast-page-hero *::after {
    box-sizing: border-box;
}


/* IMAGE */

.ast-page-hero__background {
    position: absolute;
    inset: 0;
    z-index: 0;
}

.ast-page-hero__background img {
    display: block;

    width: 100%;
    height: 100%;
    min-height: 600px;

    object-fit: cover;
    object-position: center 42%;
}


/* DARKER, CENTRED OVERLAY */

.ast-page-hero__overlay {
    position: absolute;
    inset: 0;
    z-index: 1;

    background:
        linear-gradient(
            180deg,
            rgba(var(--navy-rgb), 0.62) 0%,
            rgba(var(--navy-rgb), 0.78) 55%,
            rgba(var(--navy-rgb), 0.9) 100%
        ),
        linear-gradient(
            90deg,
            rgba(var(--navy-rgb), 0.25) 0%,
            rgba(var(--navy-rgb), 0.08) 50%,
            rgba(var(--navy-rgb), 0.25) 100%
        );
}


/* INNER */

.ast-page-hero__inner {
    position: relative;
    z-index: 2;

    display: flex;
    align-items: center;
    justify-content: center;

    width: 88%;
    max-width: 1400px;
    min-height: 600px;
    margin: 0 auto;
    padding: 95px 0;
}


/* CONTENT */

.ast-page-hero__content {
    width: 100%;
    max-width: 820px;

    text-align: center;
}


/* EYEBROW */

.ast-page-hero__eyebrow {
    position: relative;

    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 13px;

    margin: 0 0 20px;

    color: var(--ast-gold);

    font-family: var(--font-heading);
    font-size: 12px;
    font-weight: 700;
    line-height: 1.4;
    letter-spacing: 1.8px;
    text-transform: uppercase;
}

.ast-page-hero__eyebrow::before,
.ast-page-hero__eyebrow::after {
    content: "";

    width: 38px;
    height: 2px;

    background: var(--ast-gold);
}


/* TITLE */

.ast-page-hero h1 {
    margin: 0 !important;
    padding: 0 !important;

    color: var(--ast-white) !important;

    font-family: var(--font-heading) !important;
    font-size: clamp(52px, 5.5vw, 76px) !important;
    font-weight: 800 !important;
    line-height: 1 !important;
    letter-spacing: -2px !important;
    text-transform: none !important;

    animation: astPageHeroTitle 0.75s
        cubic-bezier(0.22, 0.61, 0.36, 1) both;
}


/* PARAGRAPH */

.ast-page-hero p {
    max-width: 690px;
    margin: 24px auto 0 !important;

    color: rgba(255, 255, 255, 0.88) !important;

    font-family: var(--font-body);
    font-size: 18px !important;
    font-weight: 400 !important;
    line-height: 1.75 !important;
}


/* BUTTON */

.ast-page-hero__button {
    display: inline-flex;
    align-items: center;
    justify-content: space-between;
    gap: 32px;

    min-width: 235px;
    min-height: 56px;

    margin-top: 31px;
    padding: 0 23px;

    background: var(--gold)!important;
    color: var(--ast-navy) !important;

    font-family: var(--font-heading);
    font-size: 11px;
    font-weight: 700;
    line-height: 1;
    letter-spacing: 0.45px;
    text-decoration: none !important;
    text-transform: uppercase;

    transition:
        background 0.3s ease,
        color 0.3s ease,
        transform 0.3s ease;
}

.ast-page-hero__button span {
    font-size: 18px;
    line-height: 1;

    transition: transform 0.3s ease;
}

.ast-page-hero__button:hover {
    background: var(--ast-white);
    color: var(--ast-navy) !important;

    transform: translateY(-3px);
}

.ast-page-hero__button:hover span {
    transform: translateX(4px);
}


/* SUBTLE TITLE ANIMATION */

@keyframes astPageHeroTitle {
    from {
        opacity: 0;
        transform: translateY(16px);
    }

    to {
        opacity: 1;
        transform: translateY(0);
    }
}


/* =========================================================
   TABLET
========================================================= */

@media (max-width: 900px) {

    .ast-page-hero,
    .ast-page-hero__inner,
    .ast-page-hero__background img {
        min-height: 560px;
    }

    .ast-page-hero__inner {
        padding: 80px 0;
    }

    .ast-page-hero__content {
        max-width: 700px;
    }

    .ast-page-hero h1 {
        font-size: clamp(48px, 8vw, 65px) !important;
    }
}


/* =========================================================
   MOBILE
========================================================= */

@media (max-width: 767px) {

    .ast-page-hero,
    .ast-page-hero__inner,
    .ast-page-hero__background img {
        min-height: 540px;
    }

    .ast-page-hero__background img {
        object-position: 58% center;
    }

    .ast-page-hero__overlay {
        background:
            linear-gradient(
                180deg,
                rgba(var(--navy-rgb), 0.58) 0%,
                rgba(var(--navy-rgb), 0.82) 58%,
                rgba(var(--navy-rgb), 0.94) 100%
            );
    }

    .ast-page-hero__inner {
        width: 88%;
        padding: 72px 0 62px;
    }

    .ast-page-hero__eyebrow {
        margin-bottom: 16px;

        font-size: 10px;
        letter-spacing: 1.35px;
    }

    .ast-page-hero__eyebrow::before,
    .ast-page-hero__eyebrow::after {
        width: 25px;
    }

    .ast-page-hero h1 {
        font-size: clamp(42px, 12vw, 56px) !important;
        letter-spacing: -1.4px !important;
    }

    .ast-page-hero p {
        margin-top: 19px !important;

        font-size: 16px !important;
        line-height: 1.68 !important;
    }

    .ast-page-hero__button {
        width: 100%;
        max-width: 330px;

        margin-top: 26px;
    }
}


/* =========================================================
   REDUCED MOTION
========================================================= */

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

    .ast-page-hero h1 {
        animation: none;
    }

    .ast-page-hero__button,
    .ast-page-hero__button span {
        transition: none;
    }
}

/* =========================================================
   SPORTS THERAPY INTRO + REVIEW
========================================================= */

.amm-therapy-intro {
    --ati-navy: var(--navy);
    --ati-gold: var(--gold);
    --ati-cream: #f7f4ee;
    --ati-white: #ffffff;
    --ati-copy: #40535f;
    --ati-line: rgba(var(--navy-rgb), 0.13);

    position: relative;
    isolation: isolate;

    width: 100%;
    overflow: hidden;

    padding: 98px 6% 105px;

    background: var(--ati-cream);
    color: var(--ati-navy);
}

.amm-therapy-intro,
.amm-therapy-intro *,
.amm-therapy-intro *::before,
.amm-therapy-intro *::after {
    box-sizing: border-box;
}


/* Subtle ammonite background */

.amm-therapy-intro::before {
    content: "";

    position: absolute;
    z-index: -1;

    top: 75px;
    right: -145px;

    width: 520px;
    height: 520px;

    background:
        url("http://ammonitesportstherapy.co.uk/wp-content/uploads/2026/07/winkle_12055627.svg")
        center / contain no-repeat;

    opacity: 0.035;

    transform: rotate(-8deg);

    pointer-events: none;
}


.amm-therapy-intro__inner {
    position: relative;
    z-index: 2;

    width: 100%;
    max-width: 1280px;
    margin: 0 auto;
}


/* =========================================================
   INTRO HEADER
========================================================= */

.amm-therapy-intro__header {
    max-width: 980px;
    margin: 0 auto;

    text-align: center;
}


.amm-therapy-intro__eyebrow {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 14px;

    margin: 0 0 22px;

    color: var(--ati-gold);

    font-family: inherit;
    font-size: 11px;
    font-weight: 700;
    line-height: 1.4;
    letter-spacing: 1.7px;
    text-transform: uppercase;
}


.amm-therapy-intro__eyebrow::before,
.amm-therapy-intro__eyebrow::after {
    content: "";

    width: 34px;
    height: 2px;

    background: var(--ati-gold);
}


/* Exactly two lines on normal desktop screens */

.amm-therapy-intro h2 {
    max-width: 1000px;
    margin: 0 auto;

    color: var(--ati-navy);

    font-family: inherit;
    font-size: clamp(45px, 4.6vw, 67px);
    font-weight: 800;
    line-height: 1.02;
    letter-spacing: -2.4px;

    animation: ammTherapyTitleReveal 0.75s
        cubic-bezier(0.22, 0.61, 0.36, 1) both;
}


.amm-therapy-intro h2 strong {
    display: block;

    color: var(--ati-gold);
    font: inherit;
}


.amm-therapy-intro__header > p {
    max-width: 760px;
    margin: 27px auto 0;

    color: var(--ati-copy);

    font-family: var(--font-body);
    font-size: 18px;
    font-weight: 500;
    line-height: 1.75;
}


.amm-therapy-intro__button {
    display: inline-flex;
    align-items: center;
    justify-content: space-between;
    gap: 32px;

    min-width: 235px;
    min-height: 55px;

    margin-top: 30px;
    padding: 0 23px;

    background: var(--ati-navy);
    color: var(--ati-white);

    font-family: inherit;
    font-size: 11px;
    font-weight: 700;
    line-height: 1;
    letter-spacing: 0.5px;
    text-decoration: none;
    text-transform: uppercase;

    transition:
        background 0.3s ease,
        color 0.3s ease,
        transform 0.3s ease;
}


.amm-therapy-intro__button span {
    color: var(--ati-gold);
    font-size: 18px;

    transition:
        color 0.3s ease,
        transform 0.3s ease;
}


.amm-therapy-intro__button:hover {
    background: var(--ati-gold);
    color: var(--ati-navy);

    transform: translateY(-3px);
}


.amm-therapy-intro__button:hover span {
    color: var(--ati-navy);

    transform: translateX(4px);
}


/* =========================================================
   REVIEW FEATURE
========================================================= */

.amm-therapy-intro__review {
    position: relative;

    display: grid;
    grid-template-columns: 95px minmax(0, 1fr) minmax(270px, 0.55fr);
    align-items: center;
    gap: 34px;

    max-width: 1080px;

    margin: 72px auto 0;
    padding: 36px 40px;

    border-top: 1px solid var(--ati-line);
    border-bottom: 1px solid var(--ati-line);

    background: rgba(255, 255, 255, 0.48);
}


.amm-therapy-intro__review::before {
    content: "";

    position: absolute;

    top: 0;
    left: 0;

    width: 4px;
    height: 100%;

    background: var(--ati-gold);
}


.amm-therapy-intro__review-mark {
    color: var(--ati-gold);

    font-family: var(--font-heading);
    font-size: 105px;
    line-height: 0.7;

    opacity: 0.9;
}


.amm-therapy-intro__stars {
    margin-bottom: 12px;

    color: var(--ati-gold);

    font-size: 17px;
    letter-spacing: 3px;
}


.amm-therapy-intro__review blockquote {
    max-width: 630px;
    margin: 0;

    color: var(--ati-navy);

    font-family: inherit;
    font-size: 21px;
    font-weight: 600;
    font-style: normal;
    line-height: 1.55;
}


.amm-therapy-intro__review cite {
    display: block;

    margin-top: 14px;

    color: var(--ati-copy);

    font-family: inherit;
    font-size: 12px;
    font-weight: 700;
    font-style: normal;
    letter-spacing: 1px;
    text-transform: uppercase;
}


.amm-therapy-intro__review-details {
    display: flex;
    flex-direction: column;
    align-items: flex-start;

    border-left: 1px solid var(--ati-line);
}


.amm-therapy-intro__review-details span {
    width: 100%;
    padding: 12px 0 12px 30px;

    color: var(--ati-navy);

    font-family: inherit;
    font-size: 13px;
    font-weight: 700;
    letter-spacing: 0.6px;
    text-transform: uppercase;
}


.amm-therapy-intro__review-details span + span {
    border-top: 1px solid var(--ati-line);
}


/* =========================================================
   ANIMATION
========================================================= */

@keyframes ammTherapyTitleReveal {
    from {
        opacity: 0;
        transform: translateY(16px);
    }

    to {
        opacity: 1;
        transform: translateY(0);
    }
}


/* =========================================================
   TABLET
========================================================= */

@media (max-width: 900px) {

    .amm-therapy-intro {
        padding: 80px 6% 86px;
    }

    .amm-therapy-intro h2 {
        font-size: clamp(42px, 7vw, 58px);
    }

    .amm-therapy-intro__review {
        grid-template-columns: 70px minmax(0, 1fr);

        margin-top: 58px;
    }

    .amm-therapy-intro__review-details {
        grid-column: 1 / -1;

        display: grid;
        grid-template-columns: repeat(3, 1fr);

        border-top: 1px solid var(--ati-line);
        border-left: 0;
    }

    .amm-therapy-intro__review-details span {
        padding: 16px;

        text-align: center;
    }

    .amm-therapy-intro__review-details span + span {
        border-top: 0;
        border-left: 1px solid var(--ati-line);
    }
}


/* =========================================================
   MOBILE
========================================================= */

@media (max-width: 767px) {

    .amm-therapy-intro {
        padding: 65px 6% 68px;
    }

    .amm-therapy-intro__header {
        text-align: left;
    }

    .amm-therapy-intro__eyebrow {
        justify-content: flex-start;

        font-size: 10px;
    }

    .amm-therapy-intro__eyebrow::after {
        display: none;
    }

    .amm-therapy-intro h2 {
        font-size: clamp(38px, 11vw, 49px);
        letter-spacing: -1.6px;
    }

    .amm-therapy-intro h2 strong {
        margin-top: 4px;
    }

    .amm-therapy-intro__header > p {
        margin-left: 0;

        font-size: 16px;
    }

    .amm-therapy-intro__button {
        width: 100%;
    }

    .amm-therapy-intro__review {
        display: block;

        margin-top: 48px;
        padding: 30px 24px;
    }

    .amm-therapy-intro__review-mark {
        height: 48px;

        font-size: 78px;
    }

    .amm-therapy-intro__review blockquote {
        font-size: 18px;
    }

    .amm-therapy-intro__review-details {
        display: flex;

        margin-top: 25px;
        padding-top: 12px;

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

    .amm-therapy-intro__review-details span {
        padding: 10px 0;

        text-align: left;
    }

    .amm-therapy-intro__review-details span + span {
        border-left: 0;
    }

    .amm-therapy-intro::before {
        right: -180px;
        bottom: -80px;
        top: auto;

        width: 350px;
        height: 350px;
    }
}


/* =========================================================
   REDUCED MOTION
========================================================= */

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

    .amm-therapy-intro h2 {
        animation: none;
    }

    .amm-therapy-intro__button,
    .amm-therapy-intro__button span {
        transition: none;
    }
}


/* =========================================================
   SPORTS THERAPY INTRO V2
========================================================= */

.amm-sports-intro-v2 {
    --asiv2-navy: var(--navy);
    --asiv2-gold: var(--gold);
    --asiv2-cream: #f7f4ee;
    --asiv2-white: #ffffff;
    --asiv2-copy: #52636e;
    --asiv2-line: rgba(var(--navy-rgb), 0.12);

    position: relative;
    isolation: isolate;

    width: 100%;
    overflow: hidden;

    padding: 92px 6% 104px;

    background: var(--asiv2-cream);
    color: var(--asiv2-navy);
}

.amm-sports-intro-v2,
.amm-sports-intro-v2 *,
.amm-sports-intro-v2 *::before,
.amm-sports-intro-v2 *::after {
    box-sizing: border-box;
}


/* Subtle ammonite watermark */

.amm-sports-intro-v2::before {
    content: "";

    position: absolute;
    z-index: -1;

    top: 32px;
    right: -150px;

    width: 500px;
    height: 500px;

    background:
        url("http://ammonitesportstherapy.co.uk/wp-content/uploads/2026/07/winkle_12055627.svg")
        center / contain no-repeat;

    opacity: 0.025;

    transform: rotate(-8deg);

    pointer-events: none;
}


.amm-sports-intro-v2__inner {
    position: relative;
    z-index: 2;

    width: 100%;
    max-width: 1320px;
    margin: 0 auto;
}


/* =========================================================
   INTRO HEADER
========================================================= */

.amm-sports-intro-v2__header {
    max-width: 980px;
    margin: 0 auto 58px;

    text-align: center;
}


.amm-sports-intro-v2__eyebrow {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 14px;

    margin: 0 0 20px;

    color: var(--asiv2-gold);

    font-family: var(--font-heading);
    font-size: 11px;
    font-weight: 700;
    line-height: 1.4;
    letter-spacing: 1.7px;
    text-transform: uppercase;
}


.amm-sports-intro-v2__eyebrow::before,
.amm-sports-intro-v2__eyebrow::after {
    content: "";

    width: 34px;
    height: 2px;

    background: var(--asiv2-gold);
}


/* Two-line desktop heading */

.amm-sports-intro-v2 h2 {
    max-width: 1000px;
    margin: 0 auto;

    color: var(--asiv2-navy);

    font-family: var(--font-heading);
    font-size: clamp(43px, 4.4vw, 63px);
    font-weight: 800;
    font-style: normal;
    line-height: 1.03;
    letter-spacing: -2.4px;
    text-transform: none;

    animation: ammSportsIntroTitle 0.7s
        cubic-bezier(0.22, 0.61, 0.36, 1) both;
}


.amm-sports-intro-v2 h2 strong {
    display: block;

    color: var(--asiv2-gold);

    font-family: inherit;
    font-size: inherit;
    font-weight: inherit;
    font-style: inherit;
    line-height: inherit;
    letter-spacing: inherit;
}


.amm-sports-intro-v2__header > p {
    max-width: 760px;
    margin: 25px auto 0;

    color: var(--asiv2-copy);

    font-family: var(--font-body);
    font-size: 17px;
    font-weight: 500;
    line-height: 1.75;
}


.amm-sports-intro-v2__button {
    display: inline-flex;
    align-items: center;
    justify-content: space-between;
    gap: 32px;

    min-width: 235px;
    min-height: 55px;

    margin-top: 29px;
    padding: 0 23px;

    background: var(--asiv2-navy);
    color: var(--asiv2-white);

    font-family: var(--font-heading);
    font-size: 10px;
    font-weight: 700;
    line-height: 1;
    letter-spacing: 0.55px;
    text-decoration: none;
    text-transform: uppercase;

    transition:
        background 0.3s ease,
        color 0.3s ease,
        transform 0.3s ease;
}


.amm-sports-intro-v2__button span {
    color: var(--asiv2-gold);
    font-size: 18px;
    line-height: 1;

    transition:
        color 0.3s ease,
        transform 0.3s ease;
}


.amm-sports-intro-v2__button:hover {
    background: var(--asiv2-gold);
    color: var(--asiv2-navy);

    transform: translateY(-3px);
}


.amm-sports-intro-v2__button:hover span {
    color: var(--asiv2-navy);

    transform: translateX(4px);
}


/* =========================================================
   IMAGE CARDS
========================================================= */

.amm-sports-intro-v2__cards {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 18px;

    padding-top: 40px;

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


.amm-sports-intro-v2__card {
    position: relative;

    min-width: 0;
    height: 390px;
    overflow: hidden;

    background: var(--asiv2-navy);
}


.amm-sports-intro-v2__card:nth-child(2) {
    transform: translateY(24px);
}


.amm-sports-intro-v2__card img {
    display: block;

    width: 100%;
    height: 100%;

    object-fit: cover;

    transition:
        transform 0.6s ease,
        filter 0.4s ease;
}


.amm-sports-intro-v2__card:nth-child(1) img {
    object-position: 38% center;
}


.amm-sports-intro-v2__card:nth-child(2) img {
    object-position: 54% center;
}


.amm-sports-intro-v2__card:nth-child(3) img {
    object-position: 70% center;
}


.amm-sports-intro-v2__card-shade {
    position: absolute;
    inset: 0;

    background:
        linear-gradient(
            180deg,
            rgba(var(--navy-rgb), 0.06) 0%,
            rgba(var(--navy-rgb), 0.2) 42%,
            rgba(var(--navy-rgb), 0.94) 100%
        );

    pointer-events: none;
}


.amm-sports-intro-v2__card-content {
    position: absolute;
    z-index: 2;

    right: 0;
    bottom: 0;
    left: 0;

    padding: 28px 29px 30px;

    transform: translateY(10px);

    transition: transform 0.35s ease;
}


.amm-sports-intro-v2__card-content > span {
    display: block;

    margin-bottom: 10px;

    color: var(--asiv2-gold);

    font-family: var(--font-heading);
    font-size: 10px;
    font-weight: 700;
    letter-spacing: 1px;
}


.amm-sports-intro-v2__card h3 {
    max-width: 330px;
    margin: 0;

    color: var(--asiv2-white);

    font-family: var(--font-heading);
    font-size: 25px;
    font-weight: 800;
    line-height: 1.15;
    letter-spacing: -0.8px;
}


.amm-sports-intro-v2__card p {
    max-width: 330px;
    margin: 12px 0 0;

    color: rgba(255, 255, 255, 0.88);

    font-family: var(--font-body);
    font-size: 16px;
    font-weight: 400;
    line-height: 1.6;
}


.amm-sports-intro-v2__card::after {
    content: "";

    position: absolute;
    z-index: 3;

    top: 0;
    right: 0;

    width: 48px;
    height: 48px;

    background: var(--asiv2-gold);

    clip-path: polygon(
        100% 0,
        100% 100%,
        0 0
    );

    opacity: 0;

    transition: opacity 0.3s ease;
}


.amm-sports-intro-v2__card:hover img {
    filter: brightness(0.92);

    transform: scale(1.045);
}


.amm-sports-intro-v2__card:hover .amm-sports-intro-v2__card-content {
    transform: translateY(0);
}


.amm-sports-intro-v2__card:hover::after {
    opacity: 1;
}


/* =========================================================
   TITLE ANIMATION
========================================================= */

@keyframes ammSportsIntroTitle {
    from {
        opacity: 0;
        transform: translateY(15px);
    }

    to {
        opacity: 1;
        transform: translateY(0);
    }
}


/* =========================================================
   TABLET
========================================================= */

@media (max-width: 980px) {

    .amm-sports-intro-v2 {
        padding: 78px 6% 88px;
    }

    .amm-sports-intro-v2 h2 {
        font-size: clamp(40px, 6.5vw, 56px);
    }

    .amm-sports-intro-v2__cards {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .amm-sports-intro-v2__card:nth-child(2) {
        transform: none;
    }

    .amm-sports-intro-v2__card:nth-child(3) {
        grid-column: 1 / -1;

        height: 340px;
    }
}


/* =========================================================
   MOBILE
========================================================= */

@media (max-width: 767px) {

    .amm-sports-intro-v2 {
        padding: 64px 6% 68px;
    }

    .amm-sports-intro-v2__header {
        margin-bottom: 43px;

        text-align: left;
    }

    .amm-sports-intro-v2__eyebrow {
        justify-content: flex-start;

        font-size: 10px;
    }

    .amm-sports-intro-v2__eyebrow::after {
        display: none;
    }

    .amm-sports-intro-v2 h2 {
        font-size: clamp(37px, 10.5vw, 48px);
        line-height: 1.03;
        letter-spacing: -1.7px;
    }

    .amm-sports-intro-v2 h2 strong {
        margin-top: 4px;
    }

    .amm-sports-intro-v2__header > p {
        margin-left: 0;

        font-size: 16px;
    }

    .amm-sports-intro-v2__button {
        width: 100%;
    }

    .amm-sports-intro-v2__cards {
        grid-template-columns: 1fr;
        gap: 14px;

        padding-top: 32px;
    }

    .amm-sports-intro-v2__card,
    .amm-sports-intro-v2__card:nth-child(3) {
        grid-column: auto;

        height: 335px;
    }

    .amm-sports-intro-v2__card:nth-child(2) {
        transform: none;
    }

    .amm-sports-intro-v2__card h3 {
        font-size: 22px;
    }

    .amm-sports-intro-v2::before {
        top: auto;
        right: -170px;
        bottom: -90px;

        width: 340px;
        height: 340px;
    }
}


/* =========================================================
   REDUCED MOTION
========================================================= */

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

    .amm-sports-intro-v2 h2 {
        animation: none;
    }

    .amm-sports-intro-v2__button,
    .amm-sports-intro-v2__button span,
    .amm-sports-intro-v2__card img,
    .amm-sports-intro-v2__card-content,
    .amm-sports-intro-v2__card::after {
        transition: none;
    }
}

/* =========================================================
   SPORTS THERAPY INTRO V3
========================================================= */

.amm-sports-intro-v3 {
    --asi-navy: var(--navy);
    --asi-gold: var(--gold);
    --asi-cream: #f7f4ee;
    --asi-white: #ffffff;
    --asi-copy: #4f626e;
    --asi-copy-dark: #243946;
    --asi-line: rgba(var(--navy-rgb), 0.13);

    position: relative;
    isolation: isolate;

    width: 100%;
    overflow: hidden;

    padding: 94px 6% 100px;

    background: var(--asi-cream);
    color: var(--asi-navy);
}

.amm-sports-intro-v3,
.amm-sports-intro-v3 *,
.amm-sports-intro-v3 *::before,
.amm-sports-intro-v3 *::after {
    box-sizing: border-box;
}


/* Subtle ammonite watermark */

.amm-sports-intro-v3::before {
    content: "";

    position: absolute;
    z-index: -1;

    top: 30px;
    right: -155px;

    width: 500px;
    height: 500px;

    background:
        url("http://ammonitesportstherapy.co.uk/wp-content/uploads/2026/07/winkle_12055627.svg")
        center / contain no-repeat;

    opacity: 0.025;

    transform: rotate(-8deg);

    pointer-events: none;
}


.amm-sports-intro-v3__inner {
    position: relative;
    z-index: 2;

    width: 100%;
    max-width: 1320px;
    margin: 0 auto;
}


/* =========================================================
   INTRO HEADER
========================================================= */

.amm-sports-intro-v3__header {
    max-width: 1000px;
    margin: 0 auto 70px;

    text-align: center;
}


.amm-sports-intro-v3__eyebrow {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 14px;

    margin: 0 0 20px;

    color: var(--asi-gold);

    font-family: var(--font-heading);
    font-size: 11px;
    font-weight: 700;
    line-height: 1.4;
    letter-spacing: 1.7px;
    text-transform: uppercase;
}


.amm-sports-intro-v3__eyebrow::before,
.amm-sports-intro-v3__eyebrow::after {
    content: "";

    width: 34px;
    height: 2px;

    background: var(--asi-gold);
}


.amm-sports-intro-v3 h2 {
    max-width: 1000px;
    margin: 0 auto;

    color: var(--asi-navy);

    font-family: var(--font-heading);
    font-size: clamp(43px, 4.4vw, 63px);
    font-weight: 800;
    font-style: normal;
    line-height: 1.03;
    letter-spacing: -2.4px;
    text-transform: none;
}


.amm-sports-intro-v3 h2 strong {
    display: block;

    color: var(--asi-gold);

    font: inherit;
}


.amm-sports-intro-v3__header > p {
    max-width: 760px;
    margin: 25px auto 0;

    color: var(--asi-copy-dark);

    font-family: var(--font-body);
    font-size: 17px;
    font-weight: 500;
    line-height: 1.75;
}


.amm-sports-intro-v3__button {
    display: inline-flex;
    align-items: center;
    justify-content: space-between;
    gap: 32px;

    min-width: 235px;
    min-height: 55px;

    margin-top: 29px;
    padding: 0 23px;

    background: var(--asi-navy);
    color: var(--asi-white);

    font-family: var(--font-heading);
    font-size: 10px;
    font-weight: 700;
    line-height: 1;
    letter-spacing: 0.55px;
    text-decoration: none;
    text-transform: uppercase;

    transition:
        background 0.3s ease,
        color 0.3s ease,
        transform 0.3s ease;
}


.amm-sports-intro-v3__button span {
    color: var(--asi-gold);
    font-size: 18px;

    transition:
        color 0.3s ease,
        transform 0.3s ease;
}


.amm-sports-intro-v3__button:hover {
    background: var(--asi-gold);
    color: var(--asi-navy);

    transform: translateY(-3px);
}


.amm-sports-intro-v3__button:hover span {
    color: var(--asi-navy);

    transform: translateX(4px);
}


/* =========================================================
   WHY CHOOSE US
========================================================= */

.amm-sports-intro-v3__why {

}


.amm-sports-intro-v3__why-heading {
    display: grid;
    grid-template-columns: minmax(180px, 0.35fr) minmax(0, 1fr);
    align-items: end;
    gap: 50px;

    margin-bottom: 34px;
}


.amm-sports-intro-v3__why-heading > span {
    color: var(--asi-gold);

    font-family: var(--font-heading);
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 1.6px;
    text-transform: uppercase;
}


.amm-sports-intro-v3__why-heading h3 {
    max-width: 700px;
    margin: 0;

    color: var(--asi-navy);

    font-family: var(--font-heading);
    font-size: clamp(30px, 3vw, 43px);
    font-weight: 800;
    line-height: 1.08;
    letter-spacing: -1.5px;
}


.amm-sports-intro-v3__cards {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 18px;
}


.amm-sports-intro-v3__card {
    position: relative;

    min-width: 0;
    min-height: 320px;

    padding: 35px 34px 38px;

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

    background: white;

    transition:
        background 0.3s ease,
        box-shadow 0.3s ease,
        transform 0.3s ease;
}


.amm-sports-intro-v3__card::before {
    content: "";

    position: absolute;

    top: 0;
    left: 0;

    width: 0;
    height: 3px;

    background: var(--asi-gold);

    transition: width 0.35s ease;
}


.amm-sports-intro-v3__card:hover {
    background: var(--asi-white);

    box-shadow: 0 20px 45px rgba(var(--navy-rgb), 0.08);

    transform: translateY(-5px);
}


.amm-sports-intro-v3__card:hover::before {
    width: 100%;
}


.amm-sports-intro-v3__icon {
    display: flex;
    align-items: center;
    justify-content: center;

    width: 65px;
    height: 65px;

    margin-bottom: 31px;

    border: 1px solid rgba(var(--gold-rgb), 0.7);
    border-radius: 50%;

    color: var(--asi-gold);

    transition:
        background 0.3s ease,
        color 0.3s ease;
}


.amm-sports-intro-v3__icon svg {
    width: 35px;
    height: 35px;

    fill: none;
    stroke: currentColor;
    stroke-width: 1.6;
    stroke-linecap: round;
    stroke-linejoin: round;
}


.amm-sports-intro-v3__card:hover .amm-sports-intro-v3__icon {
    background: var(--asi-gold);
    color: var(--asi-navy);
}


.amm-sports-intro-v3__number {
    position: absolute;

    top: 38px;
    right: 34px;

    color: var(--asi-gold);

    font-family: var(--font-heading);
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 1px;
}


.amm-sports-intro-v3__card h4 {
    margin: 0;

    color: var(--asi-navy);

    font-family: var(--font-heading);
    font-size: 22px;
    font-weight: 800;
    line-height: 1.25;
    letter-spacing: -0.5px;
}


.amm-sports-intro-v3__card p {
    max-width: 340px;
    margin: 14px 0 0;

    color: var(--asi-copy);

    font-family: var(--font-body);
    font-size: 16px;
    font-weight: 400;
    line-height: 1.65;
}


/* =========================================================
   TABLET
========================================================= */

@media (max-width: 900px) {

    .amm-sports-intro-v3 {
        padding: 78px 6% 85px;
    }

    .amm-sports-intro-v3__why-heading {
        grid-template-columns: 1fr;
        gap: 12px;
    }

    .amm-sports-intro-v3__cards {
        grid-template-columns: 1fr;
    }

    .amm-sports-intro-v3__card {
        min-height: auto;
    }
}


/* =========================================================
   MOBILE
========================================================= */

@media (max-width: 767px) {

    .amm-sports-intro-v3 {
        padding: 64px 6% 68px;
    }

    .amm-sports-intro-v3__header {
        margin-bottom: 50px;

        text-align: left;
    }

    .amm-sports-intro-v3__eyebrow {
        justify-content: flex-start;

        font-size: 10px;
    }

    .amm-sports-intro-v3__eyebrow::after {
        display: none;
    }

    .amm-sports-intro-v3 h2 {
        font-size: clamp(37px, 10.5vw, 48px);
        letter-spacing: -1.7px;
    }

    .amm-sports-intro-v3__header > p {
        margin-left: 0;

        font-size: 16px;
    }

    .amm-sports-intro-v3__button {
        width: 100%;
    }

    .amm-sports-intro-v3__why {
        padding-top: 38px;
    }

    .amm-sports-intro-v3__why-heading h3 {
        font-size: 32px;
    }

    .amm-sports-intro-v3__card {
        padding: 29px 25px 31px;
    }

    .amm-sports-intro-v3__number {
        top: 33px;
        right: 25px;
    }

    .amm-sports-intro-v3__icon {
        width: 58px;
        height: 58px;
    }
}

/* ==========================================================
   TYPOGRAPHY
========================================================== */

/* Heading */
.amm-treatment-story h2{
    font-family: var(--font-heading);
    font-weight:800;
    font-style:normal;
    letter-spacing:-2px;
    line-height:1.05;
    color:#fff;
}

.amm-treatment-story h2 strong{
    font-family: var(--font-heading);
    font-weight:800;
    color:var(--gold);
}

/* Eyebrow */
.amm-treatment-story__eyebrow{
    font-family: var(--font-heading);
    font-size:11px;
    font-weight:700;
    letter-spacing:2px;
    text-transform:uppercase;
}

/* Numbers */
.amm-treatment-story__steps article>span{
    font-family: var(--font-heading);
    font-size:30px;
    font-weight:800;
    line-height:1;
    color:var(--gold);
}

/* Step headings */
.amm-treatment-story h3{
    font-family: var(--font-heading);
    font-size:22px;
    font-weight:700;
    line-height:1.2;
    color:#fff;
    margin:0;
}

/* Intro paragraph */
.amm-treatment-story__lead{
    font-family: var(--font-body);
    font-size:18px;
    font-weight:400;
    line-height:1.8;
    color:rgba(255,255,255,.85);
}

/* Step paragraphs */
.amm-treatment-story__steps p{
    font-family: var(--font-body);
    font-size:16px;
    font-weight:400;
    line-height:1.7;
    color:rgba(255,255,255,.78);
}

/* Button */
.amm-treatment-story__button{
    font-family: var(--font-heading);
    font-size:11px;
    font-weight:700;
    letter-spacing:.8px;
    text-transform:uppercase;
}

/* =========================================================
   TREATMENT JOURNEY â€” COMPLETE REPLACEMENT
========================================================= */

.amm-treatment-story {
    --ats-navy: var(--navy);
    --ats-navy-light: #0b2b3c;
    --ats-gold: var(--gold);
    --ats-white: #ffffff;
    --ats-copy: rgba(255, 255, 255, 0.84);
    --ats-line: rgba(255, 255, 255, 0.15);

    position: relative;

    width: 100%;
    overflow: hidden;

    background: var(--ats-navy);
    color: var(--ats-white);
}

.amm-treatment-story,
.amm-treatment-story *,
.amm-treatment-story *::before,
.amm-treatment-story *::after {
    box-sizing: border-box;
}


/* =========================================================
   MAIN LAYOUT
========================================================= */

.amm-treatment-story__inner {
    display: grid;
    grid-template-columns: minmax(0, 48%) minmax(0, 52%);

    width: 100%;
    min-height: 680px;

    margin: 0 auto;
}


/* =========================================================
   IMAGE
========================================================= */

.amm-treatment-story__media {
    position: relative;

    min-height: 680px;
    overflow: hidden;

    background: #b9afa4;
}

/* No gold border between image and content */
.amm-treatment-story__media::after {
    display: none;
}

.amm-treatment-story__media img {
    display: block;

    width: 100%;
    height: 100%;

    object-fit: cover;
    object-position: center 43%;

    filter:
        contrast(1.03)
        saturate(0.96)
        brightness(0.97);

    transition: transform 0.7s ease;
}

.amm-treatment-story__media:hover img {
    transform: scale(1.025);
}


/* Small image label */

.amm-treatment-story__media-label {
    position: absolute;
    z-index: 3;

    right: 24px;
    bottom: 24px;

    padding: 11px 15px;

    background: rgba(var(--navy-rgb), 0.92);
    color: var(--ats-white);

    font-family: var(--font-heading);
    font-size: 9px;
    font-weight: 700;
    line-height: 1;
    letter-spacing: 0.9px;
    text-transform: uppercase;
}


/* =========================================================
   CONTENT PANEL
========================================================= */

.amm-treatment-story__content {
    display: flex;
    flex-direction: column;
    justify-content: center;

    min-width: 0;

    padding:
        70px
        clamp(50px, 6vw, 95px);

    background:
        linear-gradient(
            145deg,
            var(--ats-navy-light) 0%,
            var(--ats-navy) 100%
        );
}


/* =========================================================
   EYEBROW
========================================================= */

.amm-treatment-story__eyebrow {
    display: inline-flex;
    align-items: center;
    gap: 13px;

    width: fit-content;
    margin: 0 0 18px;

    color: var(--ats-gold);

    font-family: var(--font-heading);
    font-size: 11px;
    font-weight: 700;
    line-height: 1.4;
    letter-spacing: 1.6px;
    text-transform: uppercase;
}

.amm-treatment-story__eyebrow::before {
    content: "";

    width: 34px;
    height: 2px;

    background: var(--ats-gold);
}


/* =========================================================
   HEADING
========================================================= */

.amm-treatment-story h2 {
    max-width: 630px;
    margin: 0;

    color: var(--ats-white);

    font-family: var(--font-heading);
    font-size: clamp(42px, 4vw, 58px);
    font-weight: 800;
    font-style: normal;
    line-height: 1.03;
    letter-spacing: -2px;
    text-transform: none;
}

.amm-treatment-story h2 strong {
    display: block;

    color: var(--ats-gold);

    font-family: var(--font-heading);
    font-size: inherit;
    font-weight: 800;
    font-style: normal;
    line-height: inherit;
    letter-spacing: inherit;
}


/* =========================================================
   INTRO TEXT
========================================================= */

.amm-treatment-story__lead {
    max-width: 620px;
    margin: 23px 0 0;

    color: var(--ats-copy);

    font-family: var(--font-body);
    font-size: 17px;
    font-weight: 400;
    line-height: 1.75;
}


/* =========================================================
   TREATMENT STEPS
========================================================= */

.amm-treatment-story__steps {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0 46px;

    margin-top: 42px;
}


/* Clean rows â€” no surrounding boxes */

.amm-treatment-story__steps article {
    display: grid;
    grid-template-columns: 58px minmax(0, 1fr);
    align-items: start;
    gap: 18px;

    min-width: 0;

    padding: 24px 0;

    border-bottom: 1px solid var(--ats-line);

    background: transparent;

    transition:
        padding-left 0.3s ease,
        background 0.3s ease;
}

.amm-treatment-story__steps article:nth-child(1),
.amm-treatment-story__steps article:nth-child(2) {
    border-top: 1px solid var(--ats-line);
}

.amm-treatment-story__steps article:hover {
    padding-left: 10px;

    background: rgba(255, 255, 255, 0.025);
}


/* Large step numbers */

.amm-treatment-story__steps article > span {
    display: block;

    padding-top: 2px;

    color: var(--ats-gold);

    font-family: var(--font-heading);
    font-size: 30px;
    font-weight: 800;
    font-style: normal;
    line-height: 1;
    letter-spacing: -1px;
}


/* Step headings */

.amm-treatment-story__steps h3 {
    margin: 0;

    color: var(--ats-white);

    font-family: var(--font-heading);
    font-size: 21px;
    font-weight: 700;
    font-style: normal;
    line-height: 1.25;
    letter-spacing: -0.3px;
}


/* Step body copy */

.amm-treatment-story__steps p {
    max-width: 260px;
    margin: 8px 0 0;

    color: var(--ats-copy);

    font-family: var(--font-body);
    font-size: 16px;
    font-weight: 400;
    line-height: 1.65;
}


/* =========================================================
   BUTTON
========================================================= */

.amm-treatment-story__button {
    display: inline-flex;
    align-items: center;
    justify-content: space-between;
    gap: 32px;

    width: fit-content;
    min-width: 235px;
    min-height: 55px;

    margin-top: 32px;
    padding: 0 23px;

    background: var(--ats-gold);
    color: var(--ats-navy);

    font-family: var(--font-heading);
    font-size: 10px;
    font-weight: 700;
    line-height: 1;
    letter-spacing: 0.55px;
    text-decoration: none;
    text-transform: uppercase;

    transition:
        background 0.3s ease,
        color 0.3s ease,
        transform 0.3s ease;
}

.amm-treatment-story__button span {
    font-family: var(--font-heading);
    font-size: 18px;
    line-height: 1;

    transition: transform 0.3s ease;
}

.amm-treatment-story__button:hover {
    background: var(--ats-white);
    color: var(--ats-navy);

    transform: translateY(-3px);
}

.amm-treatment-story__button:hover span {
    transform: translateX(4px);
}


/* =========================================================
   LARGE TABLET
========================================================= */

@media (max-width: 1150px) {

    .amm-treatment-story__inner {
        grid-template-columns: minmax(0, 45%) minmax(0, 55%);
        min-height: 650px;
    }

    .amm-treatment-story__media {
        min-height: 650px;
    }

    .amm-treatment-story__content {
        padding: 62px 45px;
    }

    .amm-treatment-story h2 {
        font-size: clamp(40px, 4.7vw, 53px);
    }

    .amm-treatment-story__steps {
        gap: 0 30px;
    }

    .amm-treatment-story__steps article {
        grid-template-columns: 50px minmax(0, 1fr);
        gap: 14px;
    }

    .amm-treatment-story__steps article > span {
        font-size: 27px;
    }
}


/* =========================================================
   TABLET
========================================================= */

@media (max-width: 900px) {

    .amm-treatment-story__inner {
        grid-template-columns: 1fr;
        min-height: auto;
    }

    .amm-treatment-story__media {
        min-height: 500px;
        height: 500px;
    }

    .amm-treatment-story__media img {
        object-position: center 42%;
    }

    .amm-treatment-story__content {
        padding: 65px 7%;
    }

    .amm-treatment-story h2 {
        max-width: 680px;
    }

    .amm-treatment-story__lead {
        max-width: 680px;
    }

    .amm-treatment-story__steps p {
        max-width: 420px;
    }
}


/* =========================================================
   MOBILE
========================================================= */

@media (max-width: 767px) {

    .amm-treatment-story__media {
        min-height: 360px;
        height: 360px;
    }

    .amm-treatment-story__media img {
        object-position: 58% center;
    }

    .amm-treatment-story__media-label {
        right: 6%;
        bottom: 18px;

        font-size: 8px;
    }

    .amm-treatment-story__content {
        padding: 56px 6% 62px;
    }

    .amm-treatment-story__eyebrow {
        font-size: 10px;
        letter-spacing: 1.35px;
    }

    .amm-treatment-story__eyebrow::before {
        width: 28px;
    }

    .amm-treatment-story h2 {
        font-size: clamp(36px, 10vw, 47px);
        letter-spacing: -1.5px;
    }

    .amm-treatment-story__lead {
        font-size: 16px;
        line-height: 1.7;
    }

    .amm-treatment-story__steps {
        grid-template-columns: 1fr;
        gap: 0;

        margin-top: 34px;
    }

    .amm-treatment-story__steps article,
    .amm-treatment-story__steps article:nth-child(1),
    .amm-treatment-story__steps article:nth-child(2) {
        grid-template-columns: 54px minmax(0, 1fr);
        gap: 16px;

        padding: 22px 0;

        border-top: 0;
        border-bottom: 1px solid var(--ats-line);
    }

    .amm-treatment-story__steps article:first-child {
        border-top: 1px solid var(--ats-line);
    }

    .amm-treatment-story__steps article:hover {
        padding-left: 0;

        background: transparent;
    }

    .amm-treatment-story__steps article > span {
        font-size: 27px;
    }

    .amm-treatment-story__steps h3 {
        font-size: 20px;
    }

    .amm-treatment-story__steps p {
        max-width: none;

        font-size: 16px;
    }

    .amm-treatment-story__button {
        width: 100%;
    }
}
/* =========================================================
   WHAT WE TREAT â€” EDITORIAL
========================================================= */

.amm-treat-editorial {
    --ate-navy: var(--navy);
    --ate-gold: var(--gold);
    --ate-cream: #f7f4ee;
    --ate-white: #ffffff;
    --ate-copy: #52636e;
    --ate-copy-dark: #263b48;
    --ate-line: rgba(var(--navy-rgb), 0.15);

    position: relative;
    isolation: isolate;

    width: 100%;
    overflow: hidden;

    padding: 100px 6% 94px;

    background: var(--ate-cream);
    color: var(--ate-navy);
}

.amm-treat-editorial,
.amm-treat-editorial *,
.amm-treat-editorial *::before,
.amm-treat-editorial *::after {
    box-sizing: border-box;
}


/* subtle oversized background typography */

.amm-treat-editorial::before {
    content: "TREAT";

    position: absolute;
    z-index: -1;

    top: 40px;
    left: 50%;

    transform: translateX(-50%);

    color: rgba(var(--navy-rgb), 0.022);

    font-family: var(--font-heading);
    font-size: clamp(160px, 23vw, 360px);
    font-weight: 800;
    line-height: 0.8;
    letter-spacing: -18px;

    pointer-events: none;
}


.amm-treat-editorial__inner {
    position: relative;
    z-index: 2;

    width: 100%;
    max-width: 1320px;
    margin: 0 auto;
}


/* =========================================================
   HEADER
========================================================= */

.amm-treat-editorial__header {
    max-width: 850px;
    margin: 0 auto 72px;

    text-align: center;
}


.amm-treat-editorial__eyebrow {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 13px;

    margin: 0 0 19px;

    color: var(--ate-gold);

    font-family: var(--font-heading);
    font-size: 11px;
    font-weight: 700;
    line-height: 1.4;
    letter-spacing: 1.7px;
    text-transform: uppercase;
}


.amm-treat-editorial__eyebrow::before,
.amm-treat-editorial__eyebrow::after {
    content: "";

    width: 34px;
    height: 2px;

    background: var(--ate-gold);
}


.amm-treat-editorial h2 {
    max-width: 800px;
    margin: 0 auto;

    color: var(--ate-navy);

    font-family: var(--font-heading);
    font-size: clamp(42px, 4.3vw, 60px);
    font-weight: 800;
    font-style: normal;
    line-height: 1.02;
    letter-spacing: -2.3px;
}


.amm-treat-editorial h2 strong {
    display: block;

    color: var(--ate-gold);

    font-family: var(--font-heading);
    font-size: inherit;
    font-weight: 800;
    line-height: inherit;
    letter-spacing: inherit;
}


.amm-treat-editorial__header p {
    max-width: 720px;
    margin: 24px auto 0;

    color: var(--ate-copy-dark);

    font-family: var(--font-body);
    font-size: 17px;
    font-weight: 500;
    line-height: 1.75;
}


/* =========================================================
   TREATMENTS
========================================================= */

.amm-treat-editorial__list {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    column-gap: clamp(42px, 5vw, 78px);
    row-gap: 58px;
}


.amm-treat-editorial__item {
    position: relative;

    min-width: 0;

    padding: 0 0 8px;

    background: transparent;
}


/* Large number */

.amm-treat-editorial__number {
    display: block;

    margin-bottom: 17px;

    color: var(--ate-gold);

    font-family: var(--font-heading);
    font-size: 34px;
    font-weight: 800;
    line-height: 1;
    letter-spacing: -1.5px;
}


/* gold rule */

.amm-treat-editorial__line {
    position: relative;

    width: 100%;
    height: 1px;

    margin-bottom: 23px;

    background: var(--ate-line);

    overflow: hidden;
}


.amm-treat-editorial__line::after {
    content: "";

    position: absolute;

    top: 0;
    left: 0;

    width: 45px;
    height: 2px;

    background: var(--ate-gold);

    transition: width 0.35s ease;
}


/* title */

.amm-treat-editorial__item h3 {
    max-width: 330px;
    margin: 0;

    color: var(--ate-navy);

    font-family: var(--font-heading);
    font-size: 22px;
    font-weight: 800;
    font-style: normal;
    line-height: 1.22;
    letter-spacing: -0.5px;

    transition: transform 0.3s ease;
}


/* copy */

.amm-treat-editorial__item p {
    max-width: 340px;
    margin: 13px 0 0;

    color: var(--ate-copy);

    font-family: var(--font-body);
    font-size: 16px;
    font-weight: 400;
    line-height: 1.7;
}


/* hover */

.amm-treat-editorial__item:hover
.amm-treat-editorial__line::after {
    width: 100%;
}


.amm-treat-editorial__item:hover h3 {
    transform: translateX(5px);
}


/* =========================================================
   BOTTOM NOTE
========================================================= */

.amm-treat-editorial__footer {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 35px;

    margin-top: 72px;
    padding-top: 28px;

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


.amm-treat-editorial__footer p {
    margin: 0;

    color: var(--ate-copy-dark);

    font-family: var(--font-body);
    font-size: 16px;
    font-weight: 500;
    line-height: 1.6;
}


.amm-treat-editorial__footer a {
    display: inline-flex;
    align-items: center;
    gap: 20px;

    flex: 0 0 auto;

    color: var(--ate-navy);

    font-family: var(--font-heading);
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 0.6px;
    text-decoration: none;
    text-transform: uppercase;
}


.amm-treat-editorial__footer a span {
    color: var(--ate-gold);
    font-size: 18px;

    transition: transform 0.3s ease;
}


.amm-treat-editorial__footer a:hover span {
    transform: translateX(5px);
}


/* =========================================================
   TABLET
========================================================= */

@media (max-width: 980px) {

    .amm-treat-editorial {
        padding: 80px 6%;
    }

    .amm-treat-editorial__header {
        margin-bottom: 58px;
    }

    .amm-treat-editorial__list {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 50px 55px;
    }

}


/* =========================================================
   MOBILE
========================================================= */

@media (max-width: 680px) {

    .amm-treat-editorial {
        padding: 62px 6% 65px;
    }

    .amm-treat-editorial::before {
        display: none;
    }

    .amm-treat-editorial__header {
        margin: 0 0 47px;

        text-align: left;
    }

    .amm-treat-editorial__eyebrow {
        justify-content: flex-start;

        font-size: 10px;
    }

    .amm-treat-editorial__eyebrow::after {
        display: none;
    }

    .amm-treat-editorial h2 {
        margin-left: 0;

        font-size: clamp(36px, 10vw, 47px);
        letter-spacing: -1.7px;
    }

    .amm-treat-editorial__header p {
        margin-left: 0;

        font-size: 16px;
    }

    .amm-treat-editorial__list {
        grid-template-columns: 1fr;
        row-gap: 38px;
    }

    .amm-treat-editorial__number {
        font-size: 29px;
        margin-bottom: 13px;
    }

    .amm-treat-editorial__line {
        margin-bottom: 19px;
    }

    .amm-treat-editorial__item h3 {
        font-size: 21px;
    }

    .amm-treat-editorial__item p {
        max-width: 520px;
    }

    .amm-treat-editorial__footer {
        display: block;

        margin-top: 52px;
    }

    .amm-treat-editorial__footer a {
        margin-top: 19px;
    }

}


/* =========================================================
   REDUCED MOTION
========================================================= */

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

    .amm-treat-editorial__line::after,
    .amm-treat-editorial__item h3,
    .amm-treat-editorial__footer a span {
        transition: none;
    }

}

/* =========================================================
   WHY CHOOSE AMMONITE
========================================================= */

.amm-why-choose {
    --awc-navy: var(--navy);
    --awc-gold: var(--gold);
    --awc-white: #ffffff;
    --awc-cream: #f7f4ee;
    --awc-copy: #536572;
    --awc-copy-dark: #263b48;
    --awc-line: rgba(var(--navy-rgb), 0.14);

    position: relative;
    isolation: isolate;

    width: 100%;
    overflow: hidden;

    padding: 100px 6% 92px;

    background: #ffffff;
    color: var(--awc-navy);
}

.amm-why-choose,
.amm-why-choose *,
.amm-why-choose *::before,
.amm-why-choose *::after {
    box-sizing: border-box;
}


/* subtle background mark */

.amm-why-choose::before {
    content: "";

    position: absolute;
    z-index: -1;

    top: -120px;
    left: -170px;

    width: 470px;
    height: 470px;

    background:
        url("http://ammonitesportstherapy.co.uk/wp-content/uploads/2026/07/winkle_12055627.svg")
        center / contain no-repeat;

    opacity: 0.022;

    transform: rotate(12deg);

    pointer-events: none;
}


.amm-why-choose__inner {
    width: 100%;
    max-width: 1320px;
    margin: 0 auto;
}


/* =========================================================
   INTRO
========================================================= */

.amm-why-choose__intro {
    display: grid;
    grid-template-columns: minmax(300px, 0.9fr) minmax(0, 1.1fr);
    gap: clamp(60px, 8vw, 120px);
    align-items: end;

    padding-bottom: 50px;

    border-bottom: 1px solid var(--awc-line);
}


.amm-why-choose__eyebrow {
    grid-column: 1 / -1;

    display: inline-flex;
    align-items: center;
    gap: 13px;

    width: fit-content;

    margin-bottom: -25px;

    color: var(--awc-gold);

    font-family: var(--font-heading);
    font-size: 11px;
    font-weight: 700;
    line-height: 1.4;
    letter-spacing: 1.7px;
    text-transform: uppercase;
}


.amm-why-choose__eyebrow::before {
    content: "";

    width: 35px;
    height: 2px;

    background: var(--awc-gold);
}


.amm-why-choose h2 {
    max-width: 600px;
    margin: 0;

    color: var(--awc-navy);

    font-family: var(--font-heading);
    font-size: clamp(42px, 4.1vw, 58px);
    font-weight: 800;
    line-height: 1.02;
    letter-spacing: -2px;
}


.amm-why-choose h2 strong {
    display: block;

    color: var(--awc-gold);

    font-family: var(--font-heading);
    font-size: inherit;
    font-weight: 800;
    line-height: inherit;
    letter-spacing: inherit;
}


.amm-why-choose__intro > p {
    max-width: 590px;
    margin: 0;

    color: var(--awc-copy-dark);

    font-family: var(--font-body);
    font-size: 17px;
    font-weight: 500;
    line-height: 1.75;
}


/* =========================================================
   REASONS
========================================================= */

.amm-why-choose__reasons {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    column-gap: 70px;

    margin-top: 10px;
}


.amm-why-choose__reason {
    display: grid;
    grid-template-columns: 72px minmax(0, 1fr);
    gap: 25px;

    padding: 34px 0;

    border-bottom: 1px solid var(--awc-line);

    transition: padding-left 0.3s ease;
}


.amm-why-choose__reason:hover {
    padding-left: 10px;
}


.amm-why-choose__number {
    color: var(--awc-gold);

    font-family: var(--font-heading);
    font-size: 32px;
    font-weight: 800;
    line-height: 1;
    letter-spacing: -1px;
}


.amm-why-choose__reason h3 {
    margin: 0;

    color: var(--awc-navy);

    font-family: var(--font-heading);
    font-size: 21px;
    font-weight: 800;
    line-height: 1.28;
    letter-spacing: -0.4px;
}


.amm-why-choose__reason p {
    max-width: 470px;
    margin: 10px 0 0;

    color: var(--awc-copy);

    font-family: var(--font-body);
    font-size: 16px;
    font-weight: 400;
    line-height: 1.7;
}


/* =========================================================
   FOOTER STRIP
========================================================= */

.amm-why-choose__footer {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 35px;

    margin-top: 38px;
    padding: 24px 28px;

    background: var(--awc-cream);
}


.amm-why-choose__qualification {
    display: flex;
    align-items: center;
    gap: 22px;
}


.amm-why-choose__qualification-label {
    flex: 0 0 auto;

    color: var(--awc-gold);

    font-family: var(--font-heading);
    font-size: 10px;
    font-weight: 700;
    letter-spacing: 1.4px;
    text-transform: uppercase;
}


.amm-why-choose__qualification p {
    margin: 0;

    color: var(--body-text);

    font-family: var(--font-body);
    font-size: 15px;
    font-weight: 600;
    line-height: 1.5;
}


.amm-why-choose__link {
    display: inline-flex;
    align-items: center;
    gap: 18px;

    flex: 0 0 auto;

    color: var(--awc-navy);

    font-family: var(--font-heading);
    font-size: 10px;
    font-weight: 700;
    letter-spacing: 0.6px;
    text-decoration: none;
    text-transform: uppercase;
}


.amm-why-choose__link span {
    color: var(--awc-gold);
    font-size: 18px;

    transition: transform 0.3s ease;
}


.amm-why-choose__link:hover span {
    transform: translateX(5px);
}


/* =========================================================
   TABLET
========================================================= */

@media (max-width: 900px) {

    .amm-why-choose {
        padding: 80px 6%;
    }

    .amm-why-choose__intro {
        grid-template-columns: 1fr;
        gap: 22px;
    }

    .amm-why-choose__eyebrow {
        grid-column: auto;

        margin-bottom: 0;
    }

    .amm-why-choose__intro > p {
        max-width: 700px;
    }

    .amm-why-choose__reasons {
        grid-template-columns: 1fr;
    }

    .amm-why-choose__footer {
        align-items: flex-start;
        flex-direction: column;
    }
}


/* =========================================================
   MOBILE
========================================================= */

@media (max-width: 680px) {

    .amm-why-choose {
        padding: 62px 6%;
    }

    .amm-why-choose::before {
        display: none;
    }

    .amm-why-choose h2 {
        font-size: clamp(36px, 10vw, 47px);
        letter-spacing: -1.6px;
    }

    .amm-why-choose__intro > p {
        font-size: 16px;
    }

    .amm-why-choose__reason {
        grid-template-columns: 52px minmax(0, 1fr);
        gap: 17px;

        padding: 27px 0;
    }

    .amm-why-choose__reason:hover {
        padding-left: 0;
    }

    .amm-why-choose__number {
        font-size: 27px;
    }

    .amm-why-choose__reason h3 {
        font-size: 20px;
    }

    .amm-why-choose__qualification {
        display: block;
    }

    .amm-why-choose__qualification p {
        margin-top: 8px;

        font-size: 14px;
    }
}


/* =========================================================
   REDUCED MOTION
========================================================= */

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

    .amm-why-choose__reason,
    .amm-why-choose__link span {
        transition: none;
    }
}

/* =========================================================
   REDUCED MOTION
========================================================= */

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

    .amm-treatment-story__media img,
    .amm-treatment-story__steps article,
    .amm-treatment-story__button,
    .amm-treatment-story__button span {
        transition: none;
    }
}
/* =========================================================
   WHAT WE TREAT â€” EDITORIAL IMAGE LAYOUT
========================================================= */

.amm-treat-visual {
    --atv-navy: var(--navy);
    --atv-gold: var(--gold);
    --atv-cream: #f7f4ee;
    --atv-white: #ffffff;
    --atv-copy: #536572;
    --atv-copy-dark: #263b48;
    --atv-line: rgba(var(--navy-rgb), 0.14);

    position: relative;
    isolation: isolate;

    width: 100%;
    overflow: hidden;

    padding: 100px 6% 135px;

    background: var(--atv-cream);
    color: var(--atv-navy);
}

.amm-treat-visual,
.amm-treat-visual *,
.amm-treat-visual *::before,
.amm-treat-visual *::after {
    box-sizing: border-box;
}


.amm-treat-visual__inner {
    position: relative;
    z-index: 2;

    width: 100%;
    max-width: 1320px;
    margin: 0 auto;
}


/* =========================================================
   HEADER
========================================================= */

.amm-treat-visual__header {
    max-width: 830px;
    margin: 0 auto 65px;

    text-align: center;
}


.amm-treat-visual__eyebrow {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 13px;

    margin: 0 0 19px;

    color: var(--atv-gold);

    font-family: var(--font-heading);
    font-size: 11px;
    font-weight: 700;
    line-height: 1.4;
    letter-spacing: 1.7px;
    text-transform: uppercase;
}


.amm-treat-visual__eyebrow::before,
.amm-treat-visual__eyebrow::after {
    content: "";

    width: 34px;
    height: 2px;

    background: var(--atv-gold);
}


.amm-treat-visual__header h2 {
    margin: 0;

    color: var(--atv-navy);

    font-family: var(--font-heading);
    font-size: clamp(42px, 4.2vw, 60px);
    font-weight: 800;
    line-height: 1.02;
    letter-spacing: -2.2px;
}


.amm-treat-visual__header h2 strong {
    display: block;

    color: var(--atv-gold);

    font-family: var(--font-heading);
    font-size: inherit;
    font-weight: 800;
    line-height: inherit;
}


.amm-treat-visual__header p {
    max-width: 720px;
    margin: 24px auto 0;

    color: var(--atv-copy-dark);

    font-family: var(--font-body);
    font-size: 17px;
    font-weight: 500;
    line-height: 1.75;
}


/* =========================================================
   EDITORIAL GRID
========================================================= */

.amm-treat-visual__layout {
    display: grid;

    grid-template-columns:
        minmax(0, 1.05fr)
        minmax(0, 0.95fr);

    gap: 32px 55px;

    align-items: stretch;
}


/* =========================================================
   IMAGES
========================================================= */

.amm-treat-visual__image {
    position: relative;

    overflow: hidden;

    background: var(--atv-navy);
}


.amm-treat-visual__image--large {
    min-height: 480px;
}


.amm-treat-visual__image--small {
    min-height: 390px;
}


.amm-treat-visual__image img {
    display: block;

    width: 100%;
    height: 100%;

    object-fit: cover;

    transition: transform 0.7s ease;
}


.amm-treat-visual__image--large img {
    object-position: center 42%;
}


.amm-treat-visual__image--small img {
    object-position: 63% center;
}


.amm-treat-visual__image:hover img {
    transform: scale(1.035);
}


.amm-treat-visual__image-shade {
    position: absolute;
    inset: 0;

    background:
        linear-gradient(
            180deg,
            rgba(var(--navy-rgb), 0.03) 0%,
            rgba(var(--navy-rgb), 0.12) 45%,
            rgba(var(--navy-rgb), 0.88) 100%
        );

    pointer-events: none;
}


.amm-treat-visual__image-copy {
    position: absolute;
    z-index: 2;

    right: 0;
    bottom: 0;
    left: 0;

    padding: 35px 38px;
}


.amm-treat-visual__image-copy > span {
    display: block;

    margin-bottom: 10px;

    color: var(--atv-gold);

    font-family: var(--font-heading);
    font-size: 10px;
    font-weight: 700;
    letter-spacing: 1.5px;
    text-transform: uppercase;
}


.amm-treat-visual__image-copy h3 {
    max-width: 480px;
    margin: 0;

    color: var(--atv-white);

    font-family: var(--font-heading);
    font-size: clamp(28px, 3vw, 40px);
    font-weight: 800;
    line-height: 1.08;
    letter-spacing: -1px;
}


/* small gold corner accent */

.amm-treat-visual__image::after {
    content: "";

    position: absolute;

    top: 0;
    right: 0;

    width: 58px;
    height: 58px;

    background: var(--atv-gold);

    clip-path: polygon(
        100% 0,
        100% 100%,
        0 0
    );
}


/* =========================================================
   CONDITION GROUPS
========================================================= */

.amm-treat-visual__group {
    display: flex;
    flex-direction: column;

    justify-content: center;
}


.amm-treat-visual__group article {
    position: relative;

    padding: 27px 0;

    border-bottom: 1px solid var(--atv-line);
}


.amm-treat-visual__group article:first-child {
    border-top: 1px solid var(--atv-line);
}


.amm-treat-visual__group article::before {
    content: "";

    position: absolute;

    left: 0;
    bottom: -1px;

    width: 42px;
    height: 2px;

    background: var(--atv-gold);

    transition: width 0.35s ease;
}


.amm-treat-visual__group article:hover::before {
    width: 100%;
}


.amm-treat-visual__group h3 {
    margin: 0;

    color: var(--atv-navy);

    font-family: var(--font-heading);
    font-size: 22px;
    font-weight: 800;
    line-height: 1.25;
    letter-spacing: -0.4px;
}


.amm-treat-visual__group p {
    max-width: 500px;
    margin: 10px 0 0;

    color: var(--atv-copy);

    font-family: var(--font-body);
    font-size: 16px;
    font-weight: 400;
    line-height: 1.7;
}


/* =========================================================
   FOOTER
========================================================= */

.amm-treat-visual__footer {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 35px;

    margin-top: 62px;
    padding-top: 26px;

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


.amm-treat-visual__footer p {
    margin: 0;

    color: var(--atv-copy-dark);

    font-family: var(--font-body);
    font-size: 16px;
    font-weight: 500;
    line-height: 1.6;
}


.amm-treat-visual__footer a {
    display: inline-flex;
    align-items: center;
    gap: 18px;

    flex: 0 0 auto;

    color: var(--atv-navy);

    font-family: var(--font-heading);
    font-size: 10px;
    font-weight: 700;
    letter-spacing: 0.7px;
    text-decoration: none;
    text-transform: uppercase;
}


.amm-treat-visual__footer a span {
    color: var(--atv-gold);

    font-size: 18px;

    transition: transform 0.3s ease;
}


.amm-treat-visual__footer a:hover span {
    transform: translateX(5px);
}


/* =========================================================
   DIAGONAL BOTTOM EDGE
========================================================= */

.amm-treat-visual__edge {
    position: absolute;
    z-index: 1;

    right: 0;
    bottom: -1px;
    left: 0;

    height: 72px;

    background: var(--atv-white);

    clip-path: polygon(
        0 78%,
        100% 0,
        100% 100%,
        0 100%
    );

    pointer-events: none;
}


/* =========================================================
   TABLET
========================================================= */

@media (max-width: 980px) {

    .amm-treat-visual {
        padding: 80px 6% 120px;
    }

    .amm-treat-visual__layout {
        grid-template-columns: 1fr;
        gap: 30px;
    }

    .amm-treat-visual__image--large,
    .amm-treat-visual__image--small {
        min-height: 430px;
    }

    .amm-treat-visual__group {
        padding: 0;
    }

}


/* =========================================================
   MOBILE
========================================================= */

@media (max-width: 680px) {

    .amm-treat-visual {
        padding: 62px 6% 100px;
    }

    .amm-treat-visual__header {
        margin-bottom: 45px;

        text-align: left;
    }

    .amm-treat-visual__eyebrow {
        justify-content: flex-start;

        font-size: 10px;
    }

    .amm-treat-visual__eyebrow::after {
        display: none;
    }

    .amm-treat-visual__header h2 {
        font-size: clamp(36px, 10vw, 47px);
        letter-spacing: -1.6px;
    }

    .amm-treat-visual__header p {
        margin-left: 0;

        font-size: 16px;
    }

    .amm-treat-visual__image--large,
    .amm-treat-visual__image--small {
        min-height: 340px;
    }

    .amm-treat-visual__image-copy {
        padding: 26px;
    }

    .amm-treat-visual__image-copy h3 {
        font-size: 28px;
    }

    .amm-treat-visual__group article {
        padding: 23px 0;
    }

    .amm-treat-visual__group h3 {
        font-size: 20px;
    }

    .amm-treat-visual__footer {
        display: block;

        margin-top: 45px;
    }

    .amm-treat-visual__footer a {
        margin-top: 18px;
    }

    .amm-treat-visual__edge {
        height: 42px;
    }

}


/* =========================================================
   REDUCED MOTION
========================================================= */

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

    .amm-treat-visual__image img,
    .amm-treat-visual__group article::before,
    .amm-treat-visual__footer a span {
        transition: none;
    }
}


/* =========================================================
   COLOURS
========================================================= */

.ast-sports-intro,
.ast-sports-why,
.ast-sports-treat,
.ast-sports-testimonial,
.ast-sports-faq {


    --cream: #F7F4EE;

    --text: #536572;
    --text-dark: #263b48;

    --line: rgba(var(--navy-rgb), .12);
}


.ast-sports-intro *,
.ast-sports-why *,
.ast-sports-treat *,
.ast-sports-testimonial *,
.ast-sports-faq * {
    box-sizing: border-box;
}



/* =========================================================
   01 â€” INTRO
========================================================= */

.ast-sports-intro {

    position: relative;

    padding: 105px 6% 125px;

    background: var(--cream);

    overflow: hidden;
}


/* AMMONITE â€” CENTRED LEFT */

.ast-sports-intro::before {

    content: "";

    position: absolute;

    left: -305px;
    top: 50%;

    width: 770px;
    height: 770px;

    transform: translateY(-50%);

    background:
        url("http://ammonitesportstherapy.co.uk/wp-content/uploads/2026/07/winkle_12055627.svg")
        center / contain no-repeat;

    opacity: .028;

    pointer-events: none;
}


.ast-sports-intro__inner {

    position: relative;
    z-index: 2;

    display: grid;

    grid-template-columns:
        minmax(0,1fr)
        minmax(0,1.08fr);

    gap: 36px;

    align-items: center;

    width: 100%;
    max-width: 1340px;

    margin: 0 auto;
}


.ast-sports-intro__content {

    width: 100%;

    max-width: 640px;
}


.ast-sports-intro__eyebrow,
.ast-sports-treat__eyebrow {

    display: inline-flex;

    align-items: center;

    gap: 13px;

    color: var(--gold);

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

    font-size: 11px;

    font-weight: 700;

    letter-spacing: 1.7px;

    text-transform: uppercase;
}


.ast-sports-intro__eyebrow::before,
.ast-sports-treat__eyebrow::before {

    content: "";

    width: 34px;
    height: 2px;

    background: var(--gold);
}


/* HEADING */

.ast-sports-intro h2 {

    margin: 18px 0 0;

    color: var(--navy);

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

    font-size: clamp(37px,2.7vw,44px);

    font-weight: 800;

    line-height: 1.04;

    letter-spacing: -1.45px;
}


.ast-sports-intro h2 span,
.ast-sports-intro h2 strong {

    display: block;
}


.ast-sports-intro h2 strong {

    margin-top: 2px;

    color: var(--gold);

    font: inherit;
}


.ast-sports-intro__lead {

    max-width: 590px;

    margin: 25px 0 0;

    color: var(--text-dark);

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

    font-size: 17px;

    font-weight: 500;

    line-height: 1.72;
}



/* =========================================================
   INTRO BENEFITS â€” NO WHITE BOXES
========================================================= */

.ast-sports-intro__benefits {

    display: grid;

    margin-top: 26px;

    border-top:
        1px solid rgba(var(--navy-rgb), .11);
}


.ast-sports-intro__benefit {

    display: grid;

    grid-template-columns:
        29px minmax(0,1fr);

    gap: 13px;

    align-items: center;

    min-height: 54px;

    padding: 10px 0;

    border-bottom:
        1px solid rgba(var(--navy-rgb), .11);

    background: transparent;

    transition:
        padding-left .25s ease;
}


.ast-sports-intro__benefit:hover {

    padding-left: 5px;
}


.ast-sports-intro__check {

    display: flex;

    align-items: center;

    justify-content: center;

    width: 25px;
    height: 25px;

    border-radius: 50%;

    background: var(--gold);

    color: var(--navy);

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

    font-size: 11px;

    font-weight: 800;
}


.ast-sports-intro__benefit p {

    margin: 0;

    color: var(--body-text);

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

    font-size: 16px;

    font-weight: 500;

    line-height: 1.45;
}


.ast-sports-intro__benefit strong {

    color: var(--navy);

    font-weight: 700;
}



/* BUTTON */

.ast-sports-intro__button {

    display: inline-flex;

    align-items: center;

    justify-content: space-between;

    gap: 30px;

    min-width: 225px;
    min-height: 53px;

    margin-top: 28px;

    padding: 0 21px;

    background: var(--gold);

    color: var(--navy);

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

    font-size: 10px;

    font-weight: 700;

    letter-spacing: .6px;

    text-transform: uppercase;

    text-decoration: none;

    transition:
        background .25s ease,
        color .25s ease,
        transform .25s ease;
}


.ast-sports-intro__button span {

    font-size: 18px;
}


.ast-sports-intro__button:hover {

    background: var(--navy);

    color: #fff;

    transform: translateY(-2px);
}



/* IMAGE */

.ast-sports-intro__visual {

    position: relative;

    min-width: 0;

    padding-bottom: 58px;
}


.ast-sports-intro__visual > img {

    display: block;

    width: 100%;

    height: 500px;

    object-fit: cover;

    object-position: center 44%;

    border-radius: 14px;
}


.ast-sports-intro__review {

    position: absolute;

    right: 25px;
    bottom: 0;

    width: min(325px,76%);

    padding: 21px 23px;

    border-radius: 8px;

    background: var(--navy);

    box-shadow:
        0 18px 40px rgba(var(--navy-rgb), .17);
}


.ast-sports-intro__stars {

    display: block;

    color: var(--gold);

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

    font-size: 15px;

    letter-spacing: 2px;
}


.ast-sports-intro__review strong {

    display: block;

    margin-top: 5px;

    color: #fff;

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

    font-size: 16px;

    font-weight: 700;
}


.ast-sports-intro__review p {

    margin: 7px 0 0;

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

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

    font-size: 14px;

    line-height: 1.55;
}



/* =========================================================
   02 â€” WHY CHOOSE
========================================================= */

.ast-sports-why {

    position: relative;

    min-height: 675px;

    margin-top: 0;

    background: var(--navy);

    overflow: hidden;

    /* CLEAN ANGLE */
    clip-path:
        polygon(
            0 28px,
            100% 0,
            100% 100%,
            0 100%
        );
}


.ast-sports-why__background {

    position: absolute;

    inset: 0;
}


.ast-sports-why__background img {

    width: 100%;

    height: 100%;

    object-fit: cover;

    object-position: center 48%;
}


.ast-sports-why__overlay {

    position: absolute;

    inset: 0;

    background:
        linear-gradient(
            90deg,
            rgba(var(--navy-rgb), .38) 0%,
            rgba(var(--navy-rgb), .52) 45%,
            rgba(var(--navy-rgb), .72) 100%
        );
}


.ast-sports-why__inner {

    position: relative;

    z-index: 2;

    display: flex;

    justify-content: flex-end;

    align-items: center;

    width: 88%;

    max-width: 1320px;

    min-height: 675px;

    margin: 0 auto;

    padding:
        110px 0
        95px;
}


.ast-sports-why__content {

    width: 50%;

    max-width: 610px;

    margin-left: auto;

    padding-left: 35px;
}


.ast-sports-why__eyebrow {

    display: inline-flex;

    align-items: center;

    gap: 13px;

    color: var(--gold);

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

    font-size: 11px;

    font-weight: 700;

    letter-spacing: 1.7px;

    text-transform: uppercase;
}


.ast-sports-why__eyebrow::before {

    content: "";

    width: 34px;
    height: 2px;

    background: var(--gold);
}


.ast-sports-why h2 {

    margin: 18px 0 0;

    color: #fff;

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

    font-size: clamp(38px,3.05vw,49px);

    font-weight: 800;

    line-height: 1.04;

    letter-spacing: -1.5px;
}


.ast-sports-why h2 strong {

    display: block;

    color: var(--gold);

    font: inherit;
}


.ast-sports-why__lead {

    max-width: 520px;

    margin: 23px 0 0;

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

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

    font-size: 17px;

    line-height: 1.7;
}



/* FROSTED REASONS */

.ast-sports-why__reasons {

    display: grid;

    grid-template-columns:
        repeat(2,minmax(0,1fr));

    gap: 11px;

    margin-top: 29px;
}


.ast-sports-why__reason {

    display: grid;

    grid-template-columns:
        24px minmax(0,1fr);

    gap: 11px;

    align-items: center;

    min-height: 83px;

    padding: 17px 18px;

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

    border-radius: 7px;

    background: rgba(255,255,255,.19);

    backdrop-filter: blur(5px);

    -webkit-backdrop-filter: blur(5px);

    transition:
        background .25s ease,
        transform .25s ease;
}


.ast-sports-why__reason:hover {

    background: rgba(255,255,255,.27);

    transform: translateY(-2px);
}


.ast-sports-why__reason span {

    display: flex;

    align-items: center;

    justify-content: center;

    width: 22px;
    height: 22px;

    border-radius: 50%;

    background: var(--gold);

    color: var(--navy);

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

    font-size: 10px;

    font-weight: 800;
}


.ast-sports-why__reason p {

    margin: 0;

    color: #fff;

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

    font-size: 16px;

    font-weight: 600;

    line-height: 1.42;
}


.ast-sports-why__button {

    display: inline-flex;

    align-items: center;

    justify-content: space-between;

    gap: 28px;

    min-width: 205px;
    min-height: 52px;

    margin-top: 28px;

    padding: 0 20px;

    background: var(--gold);

    color: var(--navy);

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

    font-size: 10px;

    font-weight: 700;

    letter-spacing: .6px;

    text-transform: uppercase;

    text-decoration: none;
}



/* =========================================================
   03 â€” WHAT WE TREAT
========================================================= */

.ast-sports-treat {

    position: relative;

    padding: 110px 6% 70px;

    background: var(--cream);

    overflow: hidden;
}


.ast-sports-treat::before {

    content: "";

    position: absolute;

    right: -150px;

    top: 49%;

    width: 760px;
    height: 760px;

    transform: translateY(-50%);

    background:
        url("http://ammonitesportstherapy.co.uk/wp-content/uploads/2026/07/winkle_12055627.svg")
        center / contain no-repeat;

    opacity: .04;

    pointer-events: none;
}


.ast-sports-treat__inner {

    position: relative;

    z-index: 2;

    width: 100%;

    max-width: 1280px;

    margin: 0 auto;
}


.ast-sports-treat__header {

    max-width: 820px;

    margin:
        0 auto
        62px;

    text-align: center;
}


.ast-sports-treat__eyebrow {

    justify-content: center;
}


.ast-sports-treat h2 {

    margin: 18px 0 0;

    color: var(--navy);

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

    font-size: clamp(38px,3.2vw,50px);

    font-weight: 800;

    line-height: 1.04;

    letter-spacing: -1.6px;
}


.ast-sports-treat h2 strong {

    display: block;

    color: var(--gold);

    font: inherit;
}



/* CONDITIONS */

.ast-sports-treat__grid {

    display: grid;

    grid-template-columns:
        repeat(3,minmax(0,1fr));

    gap: 52px 65px;
}


.ast-sports-treat__item {

    min-height: 180px;
}


.ast-sports-treat__icon {

    display: flex;

    align-items: center;

    justify-content: center;

    width: 42px;
    height: 42px;

    margin-bottom: 20px;

    border:
        1px solid rgba(var(--gold-rgb), .68);

    border-radius: 50%;

    color: var(--gold);
}


.ast-sports-treat__icon svg {

    width: 21px;
    height: 21px;

    fill: none;

    stroke: currentColor;

    stroke-width: 1.5;

    stroke-linecap: round;

    stroke-linejoin: round;
}


.ast-sports-treat__item h3 {

    margin: 0;

    color: var(--navy);

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

    font-size: 19px;

    font-weight: 800;

    line-height: 1.3;
}


.ast-sports-treat__item p {

    max-width: 330px;

    margin: 10px 0 0;

    color: var(--body-text);

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

    font-size: 16px;

    line-height: 1.65;
}



/* =========================================================
   FEATURE IMAGE â€” 50PX TALLER
========================================================= */

.ast-sports-treat__feature {

    position: relative;

    min-height: 600px;

    margin-top: 58px;

    overflow: hidden;

    border-radius: 14px;
}


.ast-sports-treat__feature > img {

    position: absolute;

    inset: 0;

    width: 100%;

    height: 100%;

    object-fit: cover;

    object-position: center 47%;
}


.ast-sports-treat__feature-shade {

    position: absolute;

    inset: 0;

    background:
        rgba(var(--navy-rgb), .20);
}


.ast-sports-treat__feature-panel {

    position: absolute;

    right: 42px;
    bottom: 42px;

    width:
        min(450px,calc(100% - 84px));

    padding: 34px 36px;

    border-radius: 9px;

    background:
        rgba(var(--navy-rgb), .96);

    box-shadow:
        0 18px 50px rgba(0,0,0,.16);
}


.ast-sports-treat__feature-panel > span {

    color: var(--gold);

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

    font-size: 10px;

    font-weight: 700;

    letter-spacing: 1.5px;

    text-transform: uppercase;
}


.ast-sports-treat__feature-panel h3 {

    margin: 13px 0 0;

    color: #fff;

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

    font-size: clamp(27px,2.3vw,34px);

    font-weight: 800;

    line-height: 1.08;
}


.ast-sports-treat__feature-panel p {

    margin: 16px 0 0;

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

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

    font-size: 16px;

    line-height: 1.65;
}


.ast-sports-treat__feature-panel a {

    display: inline-flex;

    align-items: center;

    gap: 15px;

    margin-top: 20px;

    color: #fff;

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

    font-size: 10px;

    font-weight: 700;

    letter-spacing: .7px;

    text-transform: uppercase;

    text-decoration: none;
}


.ast-sports-treat__feature-panel b {

    color: var(--gold);

    font-size: 18px;
}



/* =========================================================
   04 â€” TESTIMONIAL
========================================================= */

.ast-sports-testimonial {

    position: relative;

    padding:
        68px 6%
        82px;

    background: var(--cream);

    overflow: hidden;
}


/* CLOSER QUOTE MARK */

.ast-sports-testimonial__quote-mark {

    position: absolute;

    left: 50%;

    top: -32px;

    transform:
        translateX(-50%);

    color:
        rgba(var(--navy-rgb), .035);

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

    font-size: 310px;

    font-weight: 700;

    line-height: 1;

    pointer-events: none;
}


.ast-sports-testimonial__inner {

    position: relative;

    z-index: 2;

    width: 100%;

    max-width: 1040px;

    margin: 0 auto;

    text-align: center;
}


.ast-sports-testimonial__eyebrow {

    display: inline-flex;

    align-items: center;

    gap: 13px;

    color: var(--gold);

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

    font-size: 11px;

    font-weight: 700;

    letter-spacing: 1.7px;

    text-transform: uppercase;
}


.ast-sports-testimonial__eyebrow::before,
.ast-sports-testimonial__eyebrow::after {

    content: "";

    width: 32px;
    height: 2px;

    background: var(--gold);
}


.ast-sports-testimonial__stars {

    display: block;

    margin-top: 21px;

    color: var(--gold);

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

    font-size: 18px;

    letter-spacing: 4px;
}


.ast-sports-testimonial blockquote {

    max-width: 960px;

    margin:
        22px auto
        0;

    padding: 0;
}


.ast-sports-testimonial blockquote p {

    margin: 0;

    color: var(--body-text);

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

    font-size:2em;

    font-weight: 800!important;

    line-height: 1.45;

    letter-spacing: 0px;
}


.ast-sports-testimonial__author {

    margin-top: 30px;
}


.ast-sports-testimonial__author::before {

    content: "";

    display: block;

    width: 50px;
    height: 2px;

    margin:
        0 auto
        18px;

    background: var(--gold);
}


.ast-sports-testimonial__author strong {

    display: block;

    color: var(--navy);

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

    font-size: 14px;

    font-weight: 800;
}


.ast-sports-testimonial__author span {

    display: block;

    margin-top: 5px;

    color: var(--text);

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

    font-size: 15px;
}



/* =========================================================
   05 â€” FAQ
========================================================= */

.ast-sports-faq {

    position: relative;

    padding:
        100px 6%
        105px;

    background: var(--navy);

    overflow: hidden;
}


/* LEFT AMMONITE */

.ast-sports-faq::before {

    content: "";

    position: absolute;

    left: -210px;

    top: 50%;

    width: 590px;
    height: 590px;

    transform:
        translateY(-50%);

    background:
        url("http://ammonitesportstherapy.co.uk/wp-content/uploads/2026/07/winkle_12055627.svg")
        center / contain no-repeat;

    opacity: .035;

    filter:
        brightness(0)
        invert(1);

    pointer-events: none;
}


.ast-sports-faq__inner {

    position: relative;

    z-index: 2;

    width: 100%;

    max-width: 1050px;

    margin: 0 auto;
}


.ast-sports-faq__header {

    width: 100%;

    margin:
        0 auto
        48px;

    text-align: center;
}


.ast-sports-faq__eyebrow {

    display: inline-flex;

    align-items: center;

    gap: 13px;

    color: var(--gold);

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

    font-size: 11px;

    font-weight: 700;

    letter-spacing: 1.7px;

    text-transform: uppercase;
}


.ast-sports-faq__eyebrow::before,
.ast-sports-faq__eyebrow::after {

    content: "";

    width: 32px;
    height: 2px;

    background: var(--gold);
}



/* FAQ TITLE â€” ONE LINE */

.ast-sports-faq h2 {

    margin: 18px 0 0;

    color: #fff;

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

    font-size:
        clamp(36px,3vw,47px);

    font-weight: 800;

    line-height: 1.05;

    letter-spacing: -1.4px;

    white-space: nowrap;
}


.ast-sports-faq h2 strong {

    color: var(--gold);

    font: inherit;
}


/* INTRO TEXT â€” ONE LINE */

.ast-sports-faq__header p {

    margin:
        18px auto
        0;

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

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

    font-size: 16px;

    line-height: 1.7;

    white-space: nowrap;
}



/* FAQ LIST */

.ast-sports-faq__list {

    width: 100%;

    border-top:
        1px solid rgba(255,255,255,.17);
}


.ast-sports-faq details {

    border-bottom:
        1px solid rgba(255,255,255,.17);
}


.ast-sports-faq summary {

    display: flex;

    align-items: center;

    justify-content: space-between;

    gap: 30px;

    min-height: 76px;

    padding: 14px 0;

    color: #fff;

    cursor: pointer;

    list-style: none;

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

    font-size: 16px;

    font-weight: 700;

    line-height: 1.4;
}


.ast-sports-faq summary::-webkit-details-marker {
    display: none;
}


.ast-sports-faq summary i {

    position: relative;

    flex: 0 0 20px;

    width: 20px;
    height: 20px;
}


.ast-sports-faq summary i::before,
.ast-sports-faq summary i::after {

    content: "";

    position: absolute;

    top: 50%;
    left: 50%;

    width: 13px;
    height: 2px;

    background: var(--gold);

    transform:
        translate(-50%,-50%);
}


.ast-sports-faq summary i::after {

    transform:
        translate(-50%,-50%)
        rotate(90deg);

    transition:
        transform .25s ease;
}


.ast-sports-faq details[open] summary {

    color: var(--gold);
}


.ast-sports-faq details[open] summary i::after {

    transform:
        translate(-50%,-50%)
        rotate(0deg);
}


.ast-sports-faq__answer {

    max-width: 850px;

    padding:
        0 45px
        27px 0;
}


.ast-sports-faq__answer p {

    margin: 0;

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

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

    font-size: 16px;

    line-height: 1.72;
}


.ast-sports-faq__footer {

    display: flex;

    align-items: center;

    justify-content: space-between;

    gap: 30px;

    margin-top: 40px;
}


.ast-sports-faq__footer p {

    margin: 0;

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

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

    font-size: 16px;
}


.ast-sports-faq__footer a {

    display: inline-flex;

    align-items: center;

    gap: 15px;

    color: #fff;

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

    font-size: 10px;

    font-weight: 700;

    letter-spacing: .7px;

    text-transform: uppercase;

    text-decoration: none;
}


.ast-sports-faq__footer a span {

    color: var(--gold);

    font-size: 18px;
}



/* =========================================================
   SUBTLE SCROLL REVEAL
========================================================= */

.ast-reveal {

    opacity: 1;

    transform: translateY(0);
}


@supports (animation-timeline: view()) {

    .ast-reveal {

        opacity: 0;

        transform:
            translateY(15px);

        animation:
            astSportsReveal linear both;

        animation-timeline:
            view();

        animation-range:
            entry 8%
            cover 27%;
    }


    .ast-reveal--delay {

        animation-range:
            entry 13%
            cover 31%;
    }

}


@keyframes astSportsReveal {

    from {
        opacity: 0;
        transform: translateY(15px);
    }

    to {
        opacity: 1;
        transform: translateY(0);
    }

}



/* =========================================================
   TABLET
========================================================= */

@media (max-width: 1000px) {

    .ast-sports-intro__inner {

        grid-template-columns: 1fr;

        gap: 55px;
    }


    .ast-sports-intro__content {

        max-width: 720px;
    }


    .ast-sports-why__content {

        width: 60%;

        padding-left: 15px;
    }


    .ast-sports-treat__grid {

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


    .ast-sports-faq h2,
    .ast-sports-faq__header p {

        white-space: normal;
    }

}



/* =========================================================
   MOBILE
========================================================= */

@media (max-width: 700px) {

    .ast-sports-intro {

        padding:
            70px 6%
            95px;
    }


    .ast-sports-intro::before {

        left: -400px;

        width: 660px;
        height: 660px;
    }


    .ast-sports-intro h2,
    .ast-sports-why h2,
    .ast-sports-treat h2,
    .ast-sports-faq h2 {

        font-size: 35px;

        letter-spacing: -1.2px;
    }


    .ast-sports-intro__visual > img {

        height: 350px;
    }


    .ast-sports-intro__visual {

        padding-bottom: 72px;
    }


    .ast-sports-intro__review {

        right: 14px;

        width:
            calc(100% - 28px);
    }


    .ast-sports-intro__button {

        width: 100%;
    }


    /* WHY */

    .ast-sports-why {

        clip-path:
            polygon(
                0 16px,
                100% 0,
                100% 100%,
                0 100%
            );
    }


    .ast-sports-why,
    .ast-sports-why__inner {

        min-height: 780px;
    }


    .ast-sports-why__inner {

        align-items: flex-end;

        padding:
            80px 0
            90px;
    }


    .ast-sports-why__content {

        width: 100%;

        padding-left: 0;
    }


    .ast-sports-why__overlay {

        background:
            rgba(var(--navy-rgb), .69);
    }


    .ast-sports-why__reasons {

        grid-template-columns: 1fr;
    }


    .ast-sports-why__button {

        width: 100%;
    }


    /* TREAT */

    .ast-sports-treat {

        padding:
            75px 6%
            60px;
    }


    .ast-sports-treat__grid {

        grid-template-columns: 1fr;

        gap: 34px;
    }


    .ast-sports-treat__item {

        min-height: auto;
    }


    .ast-sports-treat__feature {

        min-height: 590px;

        margin-top: 50px;
    }


    .ast-sports-treat__feature-panel {

        right: 16px;
        bottom: 16px;
        left: 16px;

        width: auto;

        padding: 25px;
    }


    /* TESTIMONIAL */

    .ast-sports-testimonial {

        padding:
            65px 6%
            72px;
    }


    .ast-sports-testimonial__quote-mark {

        top: -15px;

        font-size: 230px;
    }


    .ast-sports-testimonial blockquote p {

        font-size: 27px;
    }


    /* FAQ */

    .ast-sports-faq {

        padding:
            75px 6%;
    }


    .ast-sports-faq__header {

        text-align: left;
    }


    .ast-sports-faq__eyebrow::after {

        display: none;
    }


    .ast-sports-faq h2,
    .ast-sports-faq__header p {

        white-space: normal;
    }


    .ast-sports-faq summary {

        min-height: 70px;

        font-size: 15px;
    }


    .ast-sports-faq__footer {

        display: block;
    }


    .ast-sports-faq__footer a {

        margin-top: 17px;
    }

}



/* =========================================================
   REDUCED MOTION
========================================================= */

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

    .ast-reveal {

        opacity: 1 !important;

        transform: none !important;

        animation: none !important;
    }

}
/* =========================================================
   BRIDPORT PAGE
========================================================= */

.bridport-page,
.bridport-page *,
.ast-sports-faq,
.ast-sports-faq * {
    box-sizing: border-box;
}

.bridport-page,
.ast-sports-faq {
    
    --cream: #f7f4ee;
    --white: #ffffff;
    --body: #526470;
    --dark: #102838;
    --line: rgba(var(--navy-rgb), .12);
}


/* =========================================================
   TYPOGRAPHY
========================================================= */

.bridport-page h1,
.bridport-page h2,
.bridport-page h3,
.bridport-page strong,
.bridport-page a,
.bridport-page span,
.ast-sports-faq h2,
.ast-sports-faq summary,
.ast-sports-faq__eyebrow {
    font-family: var(--font-heading);
}

.bridport-page p,
.bridport-page li,
.ast-sports-faq p {
    font-family: var(--font-body);
}

.bridport-page p,
.bridport-page li {
    font-size: 16px;
    line-height: 1.7;
}


/* =========================================================
   COMMON
========================================================= */

.bridport-eyebrow {
    display: inline-flex;
    align-items: center;
    gap: 12px;

    color: var(--gold);

    font-size: 11px;
    font-weight: 700;
    letter-spacing: 1.6px;
    text-transform: uppercase;
}

.bridport-eyebrow::before {
    content: "";
    display: block;

    width: 32px;
    height: 2px;

    background: var(--gold);
}

.bridport-eyebrow--center {
    justify-content: center;
}

.bridport-eyebrow--center::after {
    content: "";

    width: 32px;
    height: 2px;

    background: var(--gold);
}


.bridport-btn {
    display: inline-flex;
    align-items: center;
    justify-content: space-between;

    gap: 30px;

    min-height: 53px;

    padding: 0 22px;

    text-decoration: none;
    text-transform: uppercase;

    font-size: 10px;
    font-weight: 700;
    letter-spacing: .6px;

    transition: .25s ease;
}

.bridport-btn span {
    font-size: 18px;
}

.bridport-btn--gold {
    background: var(--gold);
    color: var(--navy);
}

.bridport-btn--gold:hover {
    background: #fff;
    transform: translateY(-2px);
}

.bridport-btn--outline {
    color: var(--navy);

    border: 1px solid rgba(var(--navy-rgb), .25);
    background: transparent;
}



/* =========================================================
   HERO
========================================================= */

.bridport-hero {
    position: relative;

    min-height: 600px;

    overflow: hidden;

    background: var(--navy);
}

.bridport-hero__bg {
    position: absolute;
    inset: 0;
}

.bridport-hero__bg img {
    width: 100%;
    height: 100%;

    object-fit: cover;
    object-position: center;
}

.bridport-hero__overlay {
    position: absolute;
    inset: 0;

    background:
        linear-gradient(
            90deg,
            rgba(var(--navy-rgb), .92) 0%,
            rgba(var(--navy-rgb), .78) 36%,
            rgba(var(--navy-rgb), .35) 75%,
            rgba(var(--navy-rgb), .25) 100%
        );
}

.bridport-hero__inner {
    position: relative;
    z-index: 2;

    display: flex;
    align-items: center;

    min-height: 600px;

    width: 88%;
    max-width: 1280px;

    margin: 0 auto;
}

.bridport-hero__content {
    width: 100%;
    max-width: 580px;
}

.bridport-hero h1 {
    margin: 18px 0 0;

    color: #fff;

    font-size: clamp(46px,4.5vw,68px);
    font-weight: 800;
    line-height: 1;
    letter-spacing: -2px;
}

.bridport-hero h1 strong {
    display: block;

    color: var(--gold);
    font: inherit;
}

.bridport-hero p {
    max-width: 500px;

    margin: 22px 0 0;

    color: rgba(255,255,255,.86);
}

.bridport-hero .bridport-btn {
    margin-top: 28px;
}



/* =========================================================
   INTRO
========================================================= */

.bridport-intro {
    padding: 100px 6%;

    background: var(--cream);
}

.bridport-intro__inner {
    display: grid;
    grid-template-columns: .82fr 1.18fr;

    gap: 75px;
    align-items: center;

    max-width: 1240px;

    margin: 0 auto;
}

.bridport-intro__content {
    max-width: 520px;
}

.bridport-intro h2 {
    margin: 16px 0 0;

    color: var(--navy);

    font-size: clamp(38px,3.2vw,50px);
    font-weight: 800;
    line-height: 1.05;
    letter-spacing: -1.5px;
}

.bridport-intro h2 strong {
    display: block;

    color: var(--gold);
    font: inherit;
}

.bridport-intro__lead {
    margin: 24px 0 0;

    color: var(--dark);
    font-weight: 600;
}

.bridport-intro__content > p:not(.bridport-intro__lead) {
    margin: 16px 0 0;

    color: var(--body-text);
}

.bridport-intro__list {
    display: grid;
    gap: 14px;

    margin: 26px 0 0;
    padding: 0;

    list-style: none;
}

.bridport-intro__list li {
    display: flex;
    align-items: center;

    gap: 12px;

    color: var(--dark);

    font-weight: 600;
}

.bridport-intro__list span {
    display: flex;
    align-items: center;
    justify-content: center;

    width: 25px;
    height: 25px;

    flex: 0 0 25px;

    border: 1px solid var(--gold);
    border-radius: 50%;

    color: var(--gold);

    font-size: 11px;
}

.bridport-intro__image img {
    display: block;

    width: 100%;
    height: 440px;

    object-fit: cover;

    border-radius: 14px;
}



/* =========================================================
   SERVICES
========================================================= */

.bridport-services {
    padding: 95px 6%;

    background: #fff;
}

.bridport-services__inner {
    max-width: 1180px;
    margin: 0 auto;
}

.bridport-services__header {
    max-width: 760px;

    margin: 0 auto 55px;

    text-align: center;
}

.bridport-services h2 {
    margin: 17px 0 0;

    color: var(--navy);

    font-size: clamp(35px,3vw,46px);
    font-weight: 800;
    line-height: 1.08;
    letter-spacing: -1.3px;
}

.bridport-services h2 strong {
    display: block;

    color: var(--gold);
    font: inherit;
}

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

.bridport-service {
    position: relative;

    padding: 30px 42px;

    text-align: center;
}

.bridport-service + .bridport-service {
    border-left: 1px solid var(--line);
}

.bridport-service__mark {
    display: flex;
    align-items: center;
    justify-content: center;

    width: 58px;
    height: 58px;

    margin: 0 auto;

    border-radius: 50%;

    background: var(--navy);
    color: var(--gold);

    font-size: 12px;
    font-weight: 800;
}

.bridport-service h3 {
    margin: 18px 0 0;

    color: var(--navy);

    font-size: 20px;
    font-weight: 800;
}

.bridport-service p {
    margin: 12px 0 0;

    color: var(--body-text);
}

.bridport-service a {
    display: inline-flex;

    align-items: center;

    gap: 12px;

    margin-top: 22px;

    color: var(--navy);

    text-decoration: none;
    text-transform: uppercase;

    font-size: 10px;
    font-weight: 700;
    letter-spacing: .6px;
}

.bridport-service a span {
    color: var(--gold);
}



/* =========================================================
   WHY CHOOSE
========================================================= */

.bridport-why {
    position: relative;

    min-height: 430px;

    overflow: hidden;

    background: var(--navy);
}

.bridport-why__bg {
    position: absolute;
    inset: 0;
}

.bridport-why__bg img {
    width: 100%;
    height: 100%;

    object-fit: cover;
    object-position: center;
}

.bridport-why__overlay {
    position: absolute;
    inset: 0;

    background:
        linear-gradient(
            90deg,
            rgba(var(--navy-rgb), .88) 0%,
            rgba(var(--navy-rgb), .64) 46%,
            rgba(var(--navy-rgb), .72) 100%
        );
}

.bridport-why__inner {
    position: relative;
    z-index: 2;

    display: grid;
    grid-template-columns: 1fr 1fr;

    gap: 80px;
    align-items: center;

    width: 88%;
    max-width: 1240px;
    min-height: 430px;

    margin: 0 auto;
}

.bridport-why__content {
    max-width: 500px;
}

.bridport-why h2 {
    margin: 16px 0 0;

    color: #fff;

    font-size: clamp(38px,3.4vw,50px);
    font-weight: 800;
    line-height: 1.03;
    letter-spacing: -1.5px;
}

.bridport-why h2 strong {
    display: block;

    color: var(--gold);
    font: inherit;
}

.bridport-why__content > p {
    margin: 20px 0 0;

    color: rgba(255,255,255,.82);
}

.bridport-why .bridport-btn {
    margin-top: 25px;
}

.bridport-why__points {
    display: grid;
    gap: 0;
}

.bridport-why__points > div {
    display: flex;
    align-items: center;

    gap: 15px;

    min-height: 63px;

    border-bottom: 1px solid rgba(255,255,255,.19);
}

.bridport-why__points span {
    display: flex;
    align-items: center;
    justify-content: center;

    width: 28px;
    height: 28px;

    flex: 0 0 28px;

    border: 1px solid var(--gold);
    border-radius: 50%;

    color: var(--gold);

    font-size: 11px;
}

.bridport-why__points p {
    margin: 0;

    color: #fff;

    font-weight: 600;
}



/* =========================================================
   ARRIVAL
========================================================= */

.bridport-arrival {
    padding: 100px 6%;

    background: var(--cream);
}

.bridport-arrival__inner {
    max-width: 1180px;
    margin: 0 auto;
}

.bridport-arrival__header {
    text-align: center;

    margin-bottom: 50px;
}

.bridport-arrival h2 {
    margin: 16px 0 0;

    color: var(--navy);

    font-size: clamp(35px,3vw,46px);
    font-weight: 800;
    letter-spacing: -1.2px;
}

.bridport-arrival__header p {
    margin: 13px 0 0;

    color: var(--body-text);
}

.bridport-arrival__grid {
    display: grid;
    grid-template-columns: repeat(3,1fr);

    gap: 34px;
}

.bridport-arrival__item {
    position: relative;
}

.bridport-arrival__number {
    display: flex;
    align-items: center;
    justify-content: center;

    width: 28px;
    height: 28px;

    margin-bottom: 9px;

    border-radius: 50%;

    background: var(--gold);
    color: var(--navy);

    font-size: 11px;
    font-weight: 800;
}

.bridport-arrival__item h3 {
    margin: 0 0 15px;

    color: var(--navy);

    font-size: 19px;
    font-weight: 800;
}

.bridport-arrival__item img {
    width: 100%;
    height: 245px;

    object-fit: cover;

    border-radius: 10px;
}

.bridport-arrival__item p {
    margin: 16px 0 0;

    color: var(--body-text);
}



/* =========================================================
   LOCATION
========================================================= */

.bridport-location {
    padding: 95px 6%;

    background: #fff;
}

.bridport-location__inner {
    display: grid;
    grid-template-columns: 1fr 1fr;

    gap: 70px;
    align-items: center;

    max-width: 1180px;

    margin: 0 auto;
}

.bridport-location__map {
    position: relative;

    display: flex;
    align-items: center;
    justify-content: center;

    flex-direction: column;

    min-height: 390px;

    border-radius: 14px;

    background:
        radial-gradient(circle at 30% 30%, rgba(var(--gold-rgb), .16), transparent 33%),
        linear-gradient(145deg,#e9efe8,#d7e5e1);
}

.bridport-location__map::before,
.bridport-location__map::after {
    content: "";

    position: absolute;

    background: rgba(var(--navy-rgb), .08);
}

.bridport-location__map::before {
    width: 75%;
    height: 2px;

    transform: rotate(-16deg);
}

.bridport-location__map::after {
    width: 2px;
    height: 65%;

    transform: rotate(25deg);
}

.bridport-location__pin {
    position: relative;
    z-index: 2;

    display: flex;
    align-items: center;
    justify-content: center;

    width: 50px;
    height: 50px;

    border-radius: 50%;

    background: var(--navy);
    color: var(--gold);

    font-size: 17px;
}

.bridport-location__map strong {
    position: relative;
    z-index: 2;

    margin-top: 12px;

    color: var(--navy);

    font-size: 20px;
}

.bridport-location h2 {
    margin: 17px 0 0;

    color: var(--navy);

    font-size: clamp(36px,3vw,47px);
    font-weight: 800;
    line-height: 1.05;
}

.bridport-location h2 strong {
    display: block;

    color: var(--gold);
    font: inherit;
}

.bridport-location__details {
    margin-top: 28px;

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

.bridport-location__details > div {
    display: grid;
    grid-template-columns: 120px 1fr;

    gap: 20px;

    padding: 16px 0;

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

.bridport-location__details span {
    color: var(--gold);

    font-size: 10px;
    font-weight: 700;
    letter-spacing: 1px;
    text-transform: uppercase;
}

.bridport-location__details p {
    margin: 0;

    color: var(--body-text);

    font-weight: 600;
}

.bridport-location__buttons {
    display: flex;

    gap: 10px;

    margin-top: 28px;
}



/* =========================================================
   REVIEW
========================================================= */

.bridport-review {
    position: relative;

    overflow: hidden;

    padding: 85px 6%;

    background: var(--cream);
}

.bridport-review__quote {
    position: absolute;

    left: 50%;
    top: -55px;

    transform: translateX(-50%);

    color: rgba(var(--navy-rgb), .045);

    font-family: var(--font-heading);
    font-size: 310px;
    line-height: 1;
}

.bridport-review__inner {
    position: relative;
    z-index: 2;

    max-width: 1000px;

    margin: 0 auto;

    text-align: center;
}

.bridport-review__stars {
    margin-top: 18px;

    color: var(--gold);

    font-size: 18px;
    letter-spacing: 4px;
}

.bridport-review blockquote {
    margin: 22px auto 0;

    color: var(--navy);

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

    font-size: clamp(28px,2.6vw,40px);
    font-weight: 700;
    line-height: 1.25;
    letter-spacing: -1px;
}

.bridport-review__inner > strong {
    display: block;

    margin-top: 26px;

    color: var(--navy);

    font-size: 14px;
}

.bridport-review__inner > p {
    margin: 4px 0 0;

    color: var(--body-text);
}



/* =========================================================
   FAQ
========================================================= */

.ast-sports-faq {
    position: relative;

    overflow: hidden;

    padding: 95px 6% 100px;

    background: var(--navy);
}

.ast-sports-faq::before {
    content: "";

    position: absolute;

    left: -210px;
    top: 50%;

    width: 570px;
    height: 570px;

    transform: translateY(-50%);

    background:
        url("http://ammonitesportstherapy.co.uk/wp-content/uploads/2026/07/winkle_12055627.svg")
        center / contain no-repeat;

    opacity: .04;

    filter: brightness(0) invert(1);

    pointer-events: none;
}

.ast-sports-faq__inner {
    position: relative;
    z-index: 2;

    max-width: 1050px;

    margin: 0 auto;
}

.ast-sports-faq__header {
    margin-bottom: 45px;

    text-align: center;
}

.ast-sports-faq__eyebrow {
    display: inline-flex;
    align-items: center;

    gap: 13px;

    color: var(--gold);

    font-size: 11px;
    font-weight: 700;
    letter-spacing: 1.6px;
    text-transform: uppercase;
}

.ast-sports-faq__eyebrow::before,
.ast-sports-faq__eyebrow::after {
    content: "";

    width: 32px;
    height: 2px;

    background: var(--gold);
}

.ast-sports-faq h2 {
    margin: 17px 0 0;

    color: #fff;

    font-size: clamp(36px,3vw,47px);
    font-weight: 800;
    line-height: 1.05;
    letter-spacing: -1.3px;

    white-space: nowrap;
}

.ast-sports-faq h2 strong {
    color: var(--gold);
    font: inherit;
}

.ast-sports-faq__header p {
    margin: 17px auto 0;

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

    font-size: 16px;
}

.ast-sports-faq__list {
    border-top: 1px solid rgba(255,255,255,.16);
}

.ast-sports-faq details {
    border-bottom: 1px solid rgba(255,255,255,.16);
}

.ast-sports-faq summary {
    display: flex;
    align-items: center;
    justify-content: space-between;

    gap: 20px;

    min-height: 74px;

    cursor: pointer;

    list-style: none;

    color: #fff;

    font-size: 16px;
    font-weight: 700;
}

.ast-sports-faq summary::-webkit-details-marker {
    display: none;
}

.ast-sports-faq summary i {
    position: relative;

    width: 20px;
    height: 20px;

    flex: 0 0 20px;
}

.ast-sports-faq summary i::before,
.ast-sports-faq summary i::after {
    content: "";

    position: absolute;

    top: 50%;
    left: 50%;

    width: 13px;
    height: 2px;

    background: var(--gold);

    transform: translate(-50%,-50%);
}

.ast-sports-faq summary i::after {
    transform: translate(-50%,-50%) rotate(90deg);

    transition: .25s ease;
}

.ast-sports-faq details[open] summary {
    color: var(--gold);
}

.ast-sports-faq details[open] summary i::after {
    transform: translate(-50%,-50%);
}

.ast-sports-faq__answer {
    max-width: 850px;

    padding: 0 40px 26px 0;
}

.ast-sports-faq__answer p {
    margin: 0;

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

    font-size: 16px;
    line-height: 1.7;
}



/* =========================================================
   SIMPLE ANIMATION
========================================================= */

@media (prefers-reduced-motion: no-preference) {

    .bridport-intro__content,
    .bridport-intro__image,
    .bridport-service,
    .bridport-arrival__item,
    .bridport-location__visual,
    .bridport-location__content {
        animation: bridportFadeIn .7s ease both;
        animation-timeline: view();
        animation-range: entry 5% cover 25%;
    }

}

@keyframes bridportFadeIn {

    from {
        opacity: 0;
        transform: translateY(16px);
    }

    to {
        opacity: 1;
        transform: translateY(0);
    }

}



/* =========================================================
   TABLET
========================================================= */

@media (max-width: 1000px) {

    .bridport-intro__inner,
    .bridport-why__inner,
    .bridport-location__inner {
        grid-template-columns: 1fr;
    }

    .bridport-intro__content {
        max-width: 700px;
    }

    .bridport-services__grid {
        grid-template-columns: 1fr;
    }

    .bridport-service + .bridport-service {
        border-left: 0;
        border-top: 1px solid var(--line);
    }

    .bridport-arrival__grid {
        grid-template-columns: 1fr 1fr;
    }

}



/* =========================================================
   MOBILE
========================================================= */

@media (max-width: 700px) {

    .bridport-hero,
    .bridport-hero__inner {
        min-height: 520px;
    }

    .bridport-hero__overlay {
        background: rgba(var(--navy-rgb), .72);
    }

    .bridport-hero h1 {
        font-size: 43px;
    }

    .bridport-intro,
    .bridport-services,
    .bridport-arrival,
    .bridport-location {
        padding: 75px 6%;
    }

    .bridport-intro__inner {
        gap: 45px;
    }

    .bridport-intro__image img {
        height: 350px;
    }

    .bridport-arrival__grid {
        grid-template-columns: 1fr;
        gap: 45px;
    }

    .bridport-why__inner {
        padding: 75px 0;
        gap: 35px;
    }

    .bridport-location__buttons {
        flex-direction: column;
    }

    .bridport-location__buttons a {
        width: 100%;
    }

    .ast-sports-faq {
        padding: 75px 6%;
    }

    .ast-sports-faq__header {
        text-align: left;
    }

    .ast-sports-faq__eyebrow::after {
        display: none;
    }

    .ast-sports-faq h2 {
        white-space: normal;

        font-size: 35px;
    }

}
.bridport-intro {
    position: relative;
    overflow: hidden;
    padding: 100px 6%;
    background: var(--cream);
}

.bridport-intro::before {
    content: "";
    position: absolute;
    left: -150px;
    top: 50%;
    transform: translateY(-50%);
    width: 520px;
    height: 520px;
    background: url("http://ammonitesportstherapy.co.uk/wp-content/uploads/2026/07/winkle_12055627.svg") center/contain no-repeat;
    opacity: 0.045;
    pointer-events: none;
    z-index: 1;
}

.bridport-intro__inner {
    position: relative;
    z-index: 2;
}

/* =========================================================
   IMAGE FILL SAFEGUARD
   Keeps custom section images filling their containers
========================================================= */

.who-card > img,
.ast-service-image > img,
.ast-about-clean__image > img,
.ast-image-cta__media > img,
.ast-editorial-feature__media > img,
.amm-why-feature__media > img,
.amm-why-clean__visual > img,
.bridport-why__bg > img {
    width: 100% !important;
    height: 100% !important;
    max-width: none !important;
    object-fit: cover !important;
    display: block;
}

/* =========================================================
   AMMONITE SERVICES PAGE â€” CLEAN REBUILD
========================================================= */

.ast-services-new {
--cream:#f7f4ee;
    --white:#ffffff;
    --copy:#52636e;
    --line:rgba(var(--navy-rgb), .13);

    position:relative;
    width:100%;
    padding:100px 6% 115px;
    overflow:hidden;

    background:var(--cream);
    color:var(--navy);

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

.ast-services-new,
.ast-services-new * {
    box-sizing:border-box;
}

.ast-services-new__inner {
    width:100%;
    max-width:1320px;
    margin:0 auto;
}


/* =========================================================
   HEADER
========================================================= */

.ast-services-new__header {
    max-width:850px;
    margin:0 auto 90px;
    text-align:center;
}

.ast-services-new__eyebrow,
.ast-service-row__eyebrow {
    display:inline-flex;
    align-items:center;
    gap:13px;

    margin-bottom:17px;

    color:var(--gold);

    font-family: var(--font-heading);
    font-size:11px;
    font-weight:700;
    line-height:1.3;
    letter-spacing:1.8px;
    text-transform:uppercase;
}

.ast-services-new__eyebrow::before,
.ast-services-new__eyebrow::after {
    content:"";
    width:36px;
    height:2px;
    background:var(--gold);
}

.ast-services-new__header h1 {
    margin:0;

    color:var(--navy);

    font-family: var(--font-heading) !important;
    font-size:clamp(42px,4vw,60px) !important;
    font-weight:800 !important;
    line-height:1.03 !important;
    letter-spacing:-1.8px !important;
}

.ast-services-new__header h1 strong {
    display:block;

    color:var(--gold);

    font:inherit;
}

.ast-services-new__header p {
    max-width:690px;
    margin:24px auto 0;

    color:var(--copy);

    font-family: var(--font-body);
    font-size:17px !important;
    font-weight:400 !important;
    line-height:1.75 !important;
}


/* =========================================================
   SERVICE ROWS
========================================================= */

.ast-services-new__list {
    width:100%;
}

.ast-service-row {
    display:grid;
    grid-template-columns:minmax(0,1.02fr) minmax(0,.98fr);
    align-items:center;
    gap:clamp(55px,7vw,105px);

    margin-bottom:120px;
}

.ast-service-row:last-of-type {
    margin-bottom:100px;
}

.ast-service-row--reverse .ast-service-row__image {
    order:2;
}

.ast-service-row--reverse .ast-service-row__content {
    order:1;
}


/* =========================================================
   IMAGE
========================================================= */

.ast-service-row__image {
    position:relative;

    width:100%;
    height:540px;

    overflow:hidden;
    border-radius:18px;

    background:#d8d4ce;
}

.ast-service-row__image img {
    position:absolute;
    inset:0;

    display:block;

    width:100% !important;
    height:100% !important;
    max-width:none !important;

    object-fit:cover !important;
    object-position:center;

    transition:transform .8s ease;
}

.ast-service-row:hover .ast-service-row__image img {
    transform:scale(1.025);
}

.ast-service-row__image::after {
    content:"";

    position:absolute;
    inset:0;

    background:linear-gradient(
        0deg,
        rgba(var(--navy-rgb), .34) 0%,
        rgba(var(--navy-rgb), .04) 38%,
        transparent 60%
    );

    pointer-events:none;
}

.ast-service-row__label {
    position:absolute;
    z-index:2;

    right:24px;
    bottom:22px;
    left:24px;

    color:#fff;

    font-family: var(--font-heading);
    font-size:10px;
    font-weight:700;
    letter-spacing:1.1px;
    text-transform:uppercase;
}


/* =========================================================
   CONTENT
========================================================= */

.ast-service-row__content {
    max-width:520px;
}

.ast-service-row__eyebrow::before {
    content:"";
    width:31px;
    height:2px;
    background:var(--gold);
}

.ast-service-row__content h2 {
    margin:0 0 22px;

    color:var(--navy);

    font-family: var(--font-heading) !important;
    font-size:clamp(37px,3.3vw,52px) !important;
    font-weight:800 !important;
    line-height:1.03 !important;
    letter-spacing:-1.6px !important;
}

.ast-service-row__content h2 strong {
    color:var(--gold);
    font:inherit;
}

.ast-service-row__content p {
    margin:0 0 18px;

    color:var(--copy);

    font-family: var(--font-body);
    font-size:16px !important;
    font-weight:400 !important;
    line-height:1.75 !important;
}

.ast-service-row__content .ast-service-row__lead {
    color:var(--navy);

    font-size:18px !important;
    font-weight:500 !important;
    line-height:1.65 !important;
}


/* =========================================================
   BENEFITS
========================================================= */

.ast-service-row__content ul {
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:0 28px;

    margin:28px 0 0;
    padding:0;

    list-style:none;
    border-top:1px solid var(--line);
}

.ast-service-row__content li {
    position:relative;

    margin:0;
    padding:16px 0 16px 24px;

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

    color:var(--navy);

    font-family: var(--font-body);
    font-size:14px;
    font-weight:500;
    line-height:1.45;
}

.ast-service-row__content li::before {
    content:"âœ“";

    position:absolute;
    top:16px;
    left:0;

    color:var(--gold);

    font-size:13px;
    font-weight:800;
}


/* =========================================================
   BUTTONS
========================================================= */

.ast-service-row__actions {
    display:flex;
    align-items:center;
    gap:25px;

    margin-top:32px;
}

.ast-service-row__button {
    display:inline-flex;
    align-items:center;
    justify-content:space-between;
    gap:28px;

    min-height:52px;
    padding:0 21px;

    background:var(--gold);
    color:var(--navy) !important;

    font-family: var(--font-heading) !important;
    font-size:10px !important;
    font-weight:700 !important;
    letter-spacing:.5px;
    text-transform:uppercase;
    text-decoration:none !important;

    transition:
        background .3s ease,
        color .3s ease,
        transform .3s ease;
}

.ast-service-row__button span,
.ast-service-row__link span {
    font-size:17px;
}

.ast-service-row__button:hover {
    background:var(--navy);
    color:#fff !important;
    transform:translateY(-2px);
}

.ast-service-row__link {
    display:inline-flex;
    align-items:center;
    gap:12px;

    padding-bottom:4px;

    border-bottom:1px solid rgba(var(--navy-rgb), .3);

    color:var(--navy) !important;

    font-family: var(--font-heading) !important;
    font-size:10px !important;
    font-weight:700 !important;
    letter-spacing:.5px;
    text-transform:uppercase;
    text-decoration:none !important;
}

.ast-service-row__link span {
    color:var(--gold);
}


/* =========================================================
   CTA
========================================================= */

.ast-services-new__cta {
    display:grid;
    grid-template-columns:1.2fr 1fr auto;
    align-items:center;
    gap:45px;

    padding:38px 42px;

    background:var(--navy);
    color:#fff;
}

.ast-services-new__cta > div > span {
    display:block;

    margin-bottom:8px;

    color:var(--gold);

    font-family: var(--font-heading);
    font-size:10px;
    font-weight:700;
    letter-spacing:1.3px;
    text-transform:uppercase;
}

.ast-services-new__cta h2 {
    margin:0;

    color:#fff;

    font-family: var(--font-heading) !important;
    font-size:26px !important;
    font-weight:800 !important;
    line-height:1.15 !important;
}

.ast-services-new__cta p {
    margin:0;

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

    font-family: var(--font-body);
    font-size:14px !important;
    line-height:1.65 !important;
}

.ast-services-new__cta a {
    display:inline-flex;
    align-items:center;
    gap:20px;

    min-height:50px;
    padding:0 20px;

    background:var(--gold);
    color:var(--navy) !important;

    font-family: var(--font-heading) !important;
    font-size:10px !important;
    font-weight:700 !important;
    letter-spacing:.5px;
    text-transform:uppercase;
    text-decoration:none !important;
}


/* =========================================================
   TABLET
========================================================= */

@media(max-width:1000px) {

    .ast-service-row {
        grid-template-columns:1fr;
        gap:45px;
        margin-bottom:90px;
    }

    .ast-service-row--reverse .ast-service-row__image,
    .ast-service-row--reverse .ast-service-row__content {
        order:initial;
    }

    .ast-service-row__content {
        max-width:700px;
    }

    .ast-services-new__cta {
        grid-template-columns:1fr 1fr;
    }

    .ast-services-new__cta a {
        grid-column:1 / -1;
        width:max-content;
    }

}


/* =========================================================
   MOBILE
========================================================= */

@media(max-width:767px) {

    .ast-services-new {
        padding:72px 6% 80px;
    }

    .ast-services-new__header {
        margin-bottom:55px;
        text-align:left;
    }

    .ast-services-new__eyebrow {
        justify-content:flex-start;
    }

    .ast-services-new__eyebrow::after {
        display:none;
    }

    .ast-services-new__header h1 {
        font-size:clamp(38px,11vw,50px) !important;
    }

    .ast-services-new__header h1 strong {
        display:inline;
    }

    .ast-services-new__header p {
        margin-left:0;
        font-size:15px !important;
    }

    .ast-service-row {
        gap:32px;
        margin-bottom:75px;
    }

    .ast-service-row__image {
        height:380px;
        border-radius:14px;
    }

    .ast-service-row__content h2 {
        font-size:36px !important;
    }

    .ast-service-row__content .ast-service-row__lead {
        font-size:16px !important;
    }

    .ast-service-row__content ul {
        grid-template-columns:1fr;
    }

    .ast-service-row__actions {
        align-items:stretch;
        flex-direction:column;
        gap:18px;
    }

    .ast-service-row__button {
        width:100%;
    }

    .ast-service-row__link {
        width:max-content;
    }

    .ast-services-new__cta {
        grid-template-columns:1fr;
        gap:20px;
        padding:30px 25px;
    }

    .ast-services-new__cta a {
        grid-column:auto;
        width:100%;
        justify-content:space-between;
    }

}

/* =========================================================
   AMMONITE LOCATIONS PAGE
========================================================= */

.ast-locations-page {
--cream: #f5f1ea;
    --white: #ffffff;
    --text: #243845;
    --muted: #61717c;
    --line: rgba(var(--navy-rgb), .12);

    width: 100%;
    overflow: hidden;

    color: var(--navy);

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

.ast-locations-page,
.ast-locations-page * {
    box-sizing: border-box;
}

.ast-locations-page h1,
.ast-locations-page h2,
.ast-locations-page h3,
.ast-locations-page a,
.ast-locations-page strong,
.ast-locations-page summary {
    font-family: var(--font-heading);
}

.ast-locations-page p {
    font-family: var(--font-body);
}


/* =========================================================
   EYEBROW
========================================================= */

.ast-locations-eyebrow,
.ast-locations-image-cta__eyebrow {
    display: inline-flex;
    align-items: center;
    gap: 12px;

    margin-bottom: 18px;

    color: var(--gold);

    font-family: var(--font-heading);
    font-size: 10px;
    font-weight: 700;
    line-height: 1.3;
    letter-spacing: 1.6px;
    text-transform: uppercase;
}

.ast-locations-eyebrow::before,
.ast-locations-image-cta__eyebrow::before {
    content: "";

    width: 32px;
    height: 2px;

    flex: 0 0 32px;

    background: var(--gold);
}


/* =========================================================
   BUTTONS
========================================================= */

.ast-locations-button {
    display: inline-flex;
    align-items: center;
    justify-content: space-between;
    gap: 28px;

    min-height: 52px;
    padding: 0 22px;

    background: var(--gold);

    color: var(--navy) !important;

    font-family: var(--font-heading) !important;
    font-size: 10px !important;
    font-weight: 700 !important;
    line-height: 1 !important;
    letter-spacing: .5px;

    text-decoration: none !important;
    text-transform: uppercase;

    transition:
        background .3s ease,
        color .3s ease,
        transform .3s ease;
}

.ast-locations-button span {
    font-size: 18px;
}

.ast-locations-button:hover {
    background: var(--navy);

    color: #fff !important;

    transform: translateY(-2px);
}

.ast-locations-text-link {
    display: inline-flex;
    align-items: center;
    gap: 12px;

    padding-bottom: 5px;

    border-bottom: 1px solid rgba(var(--navy-rgb), .25);

    color: var(--navy) !important;

    font-family: var(--font-heading) !important;
    font-size: 10px !important;
    font-weight: 700 !important;
    letter-spacing: .5px;

    text-decoration: none !important;
    text-transform: uppercase;
}

.ast-locations-text-link span {
    color: var(--gold);
    font-size: 17px;
}


/* =========================================================
   HERO
========================================================= */

.ast-locations-hero {
    position: relative;
    overflow: hidden;

    padding: 105px 6% 115px;

    background: var(--cream);
}

.ast-locations-hero::before {
    content: "";

    position: absolute;

    left: -170px;
    top: 50%;

    width: 650px;
    height: 650px;

    transform: translateY(-50%);

    background:
        url("http://ammonitesportstherapy.co.uk/wp-content/uploads/2026/07/winkle_12055627.svg")
        center / contain no-repeat;

    opacity: .045;

    pointer-events: none;
}

.ast-locations-hero__inner {
    position: relative;
    z-index: 2;

    display: grid;

    grid-template-columns:
        minmax(0,.9fr)
        minmax(0,1.1fr);

    align-items: center;

    gap: clamp(50px,6vw,90px);

    width: 100%;
    max-width: 1320px;

    margin: 0 auto;
}

.ast-locations-hero__content {
    max-width: 590px;
}

.ast-locations-hero h1 {
    margin: 0;

    color: var(--navy);

    font-family: var(--font-heading) !important;
    font-size: clamp(44px,4.5vw,64px) !important;
    font-weight: 800 !important;
    line-height: 1.02 !important;
    letter-spacing: -2px !important;
}

.ast-locations-hero h1 strong {
    display: block;

    color: var(--gold);

    font: inherit;
}

.ast-locations-hero__content > p {
    max-width: 550px;

    margin: 26px 0 0;

    color: var(--body-text);

    font-size: 17px;
    line-height: 1.75;
}

.ast-locations-hero__actions {
    display: flex;
    align-items: center;
    gap: 25px;

    margin-top: 35px;
}


/* HERO IMAGES */

.ast-locations-hero__visuals {
    position: relative;

    min-height: 550px;
}

.ast-locations-hero__image {
    position: absolute;

    overflow: hidden;

    border-radius: 18px;

    background: #d9d5cf;
}

.ast-locations-hero__image img {
    display: block;

    width: 100% !important;
    height: 100% !important;
    max-width: none !important;

    object-fit: cover !important;
}

.ast-locations-hero__image--large {
    top: 0;
    right: 0;

    width: 78%;
    height: 455px;
}

.ast-locations-hero__image--small {
    left: 0;
    bottom: 0;

    width: 44%;
    height: 255px;

    border: 9px solid var(--cream);
}

.ast-locations-hero__badge {
    position: absolute;

    right: 30px;
    bottom: 22px;

    min-width: 220px;

    padding: 20px 22px;

    background: var(--navy);
    color: #fff;

    box-shadow: 0 18px 40px rgba(var(--navy-rgb), .18);
}

.ast-locations-hero__badge strong {
    display: block;

    margin-bottom: 4px;

    color: #fff;

    font-size: 15px;
    font-weight: 700;
}

.ast-locations-hero__badge span {
    color: rgba(255,255,255,.67);

    font-size: 13px;
}


/* =========================================================
   LOCATION FEATURES
========================================================= */

.ast-location-feature {
    position: relative;

    padding: 110px 6%;
}

.ast-location-feature--bridport {
    background: #fff;
}

.ast-location-feature--axminster {
    background: var(--cream);
}

.ast-location-feature__inner {
    display: grid;

    grid-template-columns:
        minmax(0,1fr)
        minmax(0,1fr);

    align-items: center;

    gap: clamp(55px,7vw,105px);

    width: 100%;
    max-width: 1280px;

    margin: 0 auto;
}

.ast-location-feature__media {
    position: relative;

    width: 100%;
    height: 555px;

    overflow: hidden;

    border-radius: 18px;

    background: #d8d4ce;
}

.ast-location-feature__media img {
    display: block;

    width: 100% !important;
    height: 100% !important;
    max-width: none !important;

    object-fit: cover !important;

    transition: transform .7s ease;
}

.ast-location-feature__media:hover img {
    transform: scale(1.025);
}

.ast-location-feature__content {
    max-width: 535px;
}

.ast-location-feature__content h2 {
    margin: 0 0 23px;

    color: var(--navy);

    font-family: var(--font-heading) !important;

    font-size: clamp(40px,3.8vw,56px) !important;
    font-weight: 800 !important;
    line-height: 1.03 !important;
    letter-spacing: -1.7px !important;
}

.ast-location-feature__content h2 strong {
    display: block;

    color: var(--gold);

    font: inherit;
}

.ast-location-feature__content p {
    margin: 0 0 17px;

    color: var(--muted);

    font-size: 16px;
    line-height: 1.75;
}

.ast-location-feature__content
.ast-location-feature__lead {
    color: var(--navy);

    font-size: 18px;
    font-weight: 500;
    line-height: 1.65;
}


/* SERVICE TAGS */

.ast-location-feature__services {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;

    margin: 28px 0;
}

.ast-location-feature__services span {
    padding: 9px 13px;

    border: 1px solid rgba(var(--navy-rgb), .13);

    background: rgba(255,255,255,.65);

    color: var(--navy);

    font-family: var(--font-heading);
    font-size: 10px;
    font-weight: 700;
    letter-spacing: .35px;

    text-transform: uppercase;
}


/* ADDRESS */

.ast-location-feature__address {
    margin-bottom: 28px !important;

    padding-top: 18px;

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

.ast-location-feature__address strong {
    color: var(--navy);

    font-size: 14px;
    font-weight: 700;
}


/* =========================================================
   SERVICES
========================================================= */

.ast-locations-services {
    position: relative;

    overflow: hidden;

    padding: 110px 6% 115px;

    background: #fff;
}

.ast-locations-services::after {
    content: "";

    position: absolute;

    right: -190px;
    bottom: -210px;

    width: 600px;
    height: 600px;

    background:
        url("http://ammonitesportstherapy.co.uk/wp-content/uploads/2026/07/winkle_12055627.svg")
        center / contain no-repeat;

    opacity: .025;

    pointer-events: none;
}

.ast-locations-services__inner {
    position: relative;
    z-index: 2;

    width: 100%;
    max-width: 1250px;

    margin: 0 auto;
}


/* SERVICES HEADER */

.ast-locations-services__header {
    display: grid;

    grid-template-columns:
        minmax(0,1.15fr)
        minmax(300px,.65fr);

    align-items: end;

    gap: 45px;

    margin-bottom: 58px;
}

.ast-locations-services__header > div {
    max-width: 720px;
}

.ast-locations-services__header h2 {
    margin: 0;

    color: var(--navy);

    font-family: var(--font-heading) !important;

    font-size: clamp(38px,3.4vw,52px) !important;
    font-weight: 800 !important;
    line-height: 1.02 !important;
    letter-spacing: -1.6px !important;
}

.ast-locations-services__header h2 strong {
    display: inline;

    color: var(--gold);

    font: inherit;
}

.ast-locations-services__header > p {
    max-width: 430px;

    margin: 0 0 4px auto;

    color: var(--muted);

    font-size: 16px;
    line-height: 1.7;
}


/* SERVICE GRID */

.ast-locations-services__grid {
    display: grid;

    grid-template-columns: repeat(3,1fr);

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

.ast-locations-service {
    position: relative;

    min-height: 300px;

    padding: 40px 37px;

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

    transition: background .3s ease;
}

.ast-locations-service:last-child {
    border-right: 0;
}

.ast-locations-service:hover {
    background: var(--cream);
}

.ast-locations-service__label {
    display: block;

    margin-bottom: 32px;

    color: var(--gold);

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

    font-size: 10px;
    font-weight: 700;
    letter-spacing: .9px;

    text-transform: uppercase;
}

.ast-locations-service h3 {
    margin: 0 0 15px;

    color: var(--navy);

    font-family: var(--font-heading) !important;

    font-size: 23px !important;
    font-weight: 800 !important;
    line-height: 1.15 !important;
}

.ast-locations-service p {
    margin: 0 0 28px;

    color: var(--muted);

    font-size: 15px;
    line-height: 1.7;
}

.ast-locations-service a {
    display: inline-flex;

    align-items: center;
    gap: 11px;

    color: var(--navy) !important;

    font-family: var(--font-heading) !important;

    font-size: 10px !important;
    font-weight: 700 !important;
    letter-spacing: .45px;

    text-decoration: none !important;
    text-transform: uppercase;
}

.ast-locations-service a span {
    color: var(--gold);

    font-size: 17px;
}


/* =========================================================
   FULL WIDTH IMAGE CTA
========================================================= */

.ast-locations-image-cta {
    position: relative;

    width: 100%;
    min-height: 610px;

    overflow: hidden;

    background: var(--navy);
}

.ast-locations-image-cta__background {
    position: absolute;
    inset: 0;
}

.ast-locations-image-cta__background img {
    display: block;

    width: 100% !important;
    height: 100% !important;
    max-width: none !important;

    object-fit: cover !important;
    object-position: center;

    transform: scale(1.01);
}

.ast-locations-image-cta__overlay {
    position: absolute;
    inset: 0;

    background:
        linear-gradient(
            90deg,
            rgba(var(--navy-rgb), .12) 0%,
            rgba(var(--navy-rgb), .22) 42%,
            rgba(var(--navy-rgb), .88) 68%,
            rgba(var(--navy-rgb), .97) 100%
        );
}

.ast-locations-image-cta__inner {
    position: relative;
    z-index: 2;

    display: grid;

    grid-template-columns: 1fr 1fr;

    width: 100%;
    max-width: 1320px;

    min-height: 610px;

    margin: 0 auto;

    padding: 80px 6%;
}

.ast-locations-image-cta__content {
    align-self: center;

    max-width: 530px;

    margin-left: auto;
}

.ast-locations-image-cta h2 {
    margin: 0;

    color: #fff;

    font-family: var(--font-heading) !important;

    font-size: clamp(42px,3.8vw,56px) !important;
    font-weight: 800 !important;
    line-height: 1.03 !important;
    letter-spacing: -1.7px !important;
}

.ast-locations-image-cta h2 strong {
    display: block;

    color: var(--gold);

    font: inherit;
}

.ast-locations-image-cta__content > p {
    max-width: 475px;

    margin: 24px 0 30px;

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

    font-size: 16px;
    line-height: 1.75;
}


/* LOCATION ROWS */

.ast-locations-image-cta__locations {
    border-top: 1px solid rgba(255,255,255,.18);
}

.ast-locations-image-cta__locations a {
    display: grid;

    grid-template-columns:
        100px
        1fr
        auto;

    align-items: center;

    gap: 20px;

    padding: 20px 0;

    border-bottom: 1px solid rgba(255,255,255,.18);

    color: #fff !important;

    text-decoration: none !important;

    transition: padding-left .3s ease;
}

.ast-locations-image-cta__locations a:hover {
    padding-left: 7px;
}

.ast-locations-image-cta__locations a > span {
    color: var(--gold);

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

    font-size: 10px;
    font-weight: 700;
    letter-spacing: .7px;

    text-transform: uppercase;
}

.ast-locations-image-cta__locations strong {
    color: #fff;

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

    font-size: 14px;
    font-weight: 700;
    line-height: 1.4;
}

.ast-locations-image-cta__locations b {
    color: var(--gold);

    font-size: 18px;
    font-weight: 400;
}


/* =========================================================
   FAQ
========================================================= */

.ast-locations-faq {
    position: relative;

    overflow: hidden;

    padding: 110px 6% 120px;

    background: var(--navy);

    color: #fff;
}

.ast-locations-faq::before {
    content: "";

    position: absolute;

    left: -145px;
    top: 50%;

    width: 520px;
    height: 520px;

    transform: translateY(-50%);

    background:
        url("http://ammonitesportstherapy.co.uk/wp-content/uploads/2026/07/winkle_12055627.svg")
        center / contain no-repeat;

    opacity: .045;

    filter: brightness(0) invert(1);

    pointer-events: none;
}

.ast-locations-faq__inner {
    position: relative;
    z-index: 2;

    width: 100%;
    max-width: 1000px;

    margin: 0 auto;
}


/* FAQ HEADER */

.ast-locations-faq__header {
    max-width: 720px;

    margin: 0 auto 55px;

    text-align: center;
}

.ast-locations-faq__header
.ast-locations-eyebrow {
    justify-content: center;
}

.ast-locations-faq__header
.ast-locations-eyebrow::after {
    content: "";

    width: 32px;
    height: 2px;

    background: var(--gold);
}

.ast-locations-faq__header h2 {
    margin: 0;

    color: #fff;

    font-family: var(--font-heading) !important;

    font-size: clamp(40px,3.8vw,54px) !important;
    font-weight: 800 !important;
    line-height: 1.05 !important;
    letter-spacing: -1.6px !important;
}

.ast-locations-faq__header h2 strong {
    display: inline;

    color: var(--gold);

    font: inherit;
}

.ast-locations-faq__header p {
    max-width: 610px;

    margin: 20px auto 0;

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

    font-size: 16px;
    line-height: 1.7;
}


/* FAQ LIST */

.ast-locations-faq__list {
    border-top: 1px solid rgba(255,255,255,.15);
}

.ast-locations-faq__list details {
    margin: 0;

    border-bottom: 1px solid rgba(255,255,255,.15);
}

.ast-locations-faq__list summary {
    display: flex;

    align-items: center;
    justify-content: space-between;

    gap: 30px;

    padding: 24px 0;

    cursor: pointer;
    list-style: none;

    color: #fff;

    font-family: var(--font-heading) !important;

    font-size: 15px !important;
    font-weight: 700 !important;
    line-height: 1.4 !important;
}

.ast-locations-faq__list summary::-webkit-details-marker {
    display: none;
}

.ast-locations-faq__list summary span {
    color: var(--gold);

    font-size: 21px;

    transition: transform .3s ease;
}

.ast-locations-faq__list details[open] summary {
    color: var(--gold);
}

.ast-locations-faq__list
details[open] summary span {
    transform: rotate(45deg);
}

.ast-locations-faq__list details p {
    max-width: 850px;

    margin: 0;

    padding: 0 55px 28px 0;

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

    font-size: 16px;
    line-height: 1.75;
}


/* =========================================================
   TABLET
========================================================= */

@media (max-width: 1000px) {

    .ast-locations-hero__inner,
    .ast-location-feature__inner {
        grid-template-columns: 1fr;

        gap: 50px;
    }

    .ast-locations-hero__content {
        max-width: 720px;
    }

    .ast-locations-hero__visuals {
        min-height: 520px;
    }

    .ast-location-feature__content {
        max-width: 700px;
    }

    .ast-locations-services__header {
        grid-template-columns: 1fr;

        gap: 22px;
    }

    .ast-locations-services__header > p {
        max-width: 700px;

        margin-left: 0;
    }

    .ast-locations-services__grid {
        grid-template-columns: 1fr;
    }

    .ast-locations-service {
        min-height: auto;

        border-right: 0;
        border-bottom: 1px solid var(--line);
    }

    .ast-locations-service:last-child {
        border-bottom: 0;
    }

    .ast-locations-image-cta__inner {
        grid-template-columns: .65fr 1.35fr;
    }

}


/* =========================================================
   MOBILE
========================================================= */

@media (max-width: 767px) {

    .ast-locations-hero,
    .ast-location-feature,
    .ast-locations-services,
    .ast-locations-image-cta__inner,
    .ast-locations-faq {
        padding-left: 6%;
        padding-right: 6%;
    }


    /* HERO */

    .ast-locations-hero {
        padding-top: 72px;
        padding-bottom: 80px;
    }

    .ast-locations-hero::before {
        left: -170px;

        width: 430px;
        height: 430px;
    }

    .ast-locations-hero h1 {
        font-size: 40px !important;
        letter-spacing: -1.3px !important;
    }

    .ast-locations-hero__content > p {
        font-size: 16px;
    }

    .ast-locations-hero__actions {
        flex-direction: column;
        align-items: flex-start;

        gap: 18px;
    }

    .ast-locations-button {
        width: 100%;
    }

    .ast-locations-hero__visuals {
        min-height: 440px;
    }

    .ast-locations-hero__image--large {
        width: 90%;
        height: 330px;
    }

    .ast-locations-hero__image--small {
        width: 47%;
        height: 180px;

        border-width: 7px;
    }

    .ast-locations-hero__badge {
        right: 0;
        bottom: 4px;
    }


    /* CLINICS */

    .ast-location-feature {
        padding-top: 78px;
        padding-bottom: 78px;
    }

    .ast-location-feature__inner {
        gap: 35px;
    }

    .ast-location-feature__content {
        order: 1;
    }

    .ast-location-feature__media {
        order: 2;

        height: 390px;

        border-radius: 14px;
    }

    .ast-location-feature__content h2 {
        font-size: 38px !important;
    }

    .ast-location-feature__content
    .ast-location-feature__lead {
        font-size: 16px;
    }


    /* SERVICES */

    .ast-locations-services {
        padding-top: 80px;
        padding-bottom: 80px;
    }

    .ast-locations-services__header h2 {
        font-size: 37px !important;
    }

    .ast-locations-services__header h2 strong {
        display: block;
    }

    .ast-locations-service {
        padding: 32px 0;
    }


    /* IMAGE CTA */

    .ast-locations-image-cta {
        min-height: 650px;
    }

    .ast-locations-image-cta__overlay {
        background:
            linear-gradient(
                0deg,
                rgba(var(--navy-rgb), .98) 0%,
                rgba(var(--navy-rgb), .88) 64%,
                rgba(var(--navy-rgb), .28) 100%
            );
    }

    .ast-locations-image-cta__inner {
        display: flex;

        align-items: flex-end;

        min-height: 650px;

        padding-top: 65px;
        padding-bottom: 55px;
    }

    .ast-locations-image-cta__space {
        display: none;
    }

    .ast-locations-image-cta__content {
        width: 100%;
        max-width: none;

        margin: 0;
    }

    .ast-locations-image-cta h2 {
        font-size: 39px !important;
    }

    .ast-locations-image-cta__locations a {
        grid-template-columns: 85px 1fr auto;

        gap: 12px;
    }


    /* FAQ */

    .ast-locations-faq {
        padding-top: 80px;
        padding-bottom: 90px;
    }

    .ast-locations-faq::before {
        left: -235px;

        width: 450px;
        height: 450px;
    }

    .ast-locations-faq__header h2 {
        font-size: 38px !important;
    }

    .ast-locations-faq__header p {
        font-size: 15px;
    }

    .ast-locations-faq__list summary {
        padding: 21px 0;

        font-size: 14px !important;
    }

    .ast-locations-faq__list details p {
        padding-right: 10px;

        font-size: 15px;
    }

}


/* =========================================================
   REDUCED MOTION
========================================================= */

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

    .ast-locations-page *,
    .ast-locations-page *::before,
    .ast-locations-page *::after {
        transition: none !important;
        animation: none !important;
    }

}
.ast-locations-hero__inner {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    align-items: center;

    gap: 70px;

    width: 100%;
    max-width: 1320px;
    margin: 0 auto;
}

.ast-locations-hero__content {
    max-width: 640px;
}

.ast-locations-hero h1 {
    margin: 0;

    color: var(--navy);

    font-family: var(--font-heading) !important;
    font-size: clamp(46px, 4vw, 62px) !important;
    font-weight: 800 !important;
    line-height: 0.98 !important;
    letter-spacing: -2.2px !important;
}

.ast-locations-hero h1 > span,
.ast-locations-hero h1 > strong {
    display: block;
}

.ast-locations-hero h1 > strong {
    color: var(--gold);
    font: inherit;
}

.ast-locations-hero__content > p {
    max-width: 560px;
    margin: 28px 0 0;

    color: var(--body-text);

    font-size: 17px;
    line-height: 1.7;
}

/* =========================================================
   CONTACT PAGE
========================================================= */

.ast-contact-intro,
.ast-contact-form-heading,
.ast-contact-details,
.ast-contact-bottom {
--cream: #f5f1ea;
    --white: #ffffff;
    --text: #263a47;
    --muted: #63737d;
    --line: rgba(var(--navy-rgb), .12);

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

.ast-contact-intro *,
.ast-contact-form-heading *,
.ast-contact-details *,
.ast-contact-bottom * {
    box-sizing: border-box;
}

.ast-contact-intro h1,
.ast-contact-form-heading h2,
.ast-contact-details h2,
.ast-contact-details h3,
.ast-contact-bottom h2,
.ast-contact-intro a,
.ast-contact-details a,
.ast-contact-bottom a {
    font-family: var(--font-heading);
}


/* =========================================================
   EYEBROW
========================================================= */

.ast-contact-eyebrow {
    display: inline-flex;
    align-items: center;
    gap: 12px;

    margin-bottom: 18px;

    color: var(--gold);

    font-family: var(--font-heading);
    font-size: 10px;
    font-weight: 700;
    letter-spacing: 1.5px;
    text-transform: uppercase;
}

.ast-contact-eyebrow::before {
    content: "";

    width: 32px;
    height: 2px;

    background: var(--gold);
}


/* =========================================================
   TOP INTRO
========================================================= */

.ast-contact-intro {
    position: relative;

    overflow: hidden;

    padding: 105px 6% 95px;

    background: var(--cream);
}

.ast-contact-intro::before {
    content: "";

    position: absolute;

    left: -185px;
    top: 50%;

    width: 620px;
    height: 620px;

    transform: translateY(-50%);

    background:
        url("http://ammonitesportstherapy.co.uk/wp-content/uploads/2026/07/winkle_12055627.svg")
        center / contain no-repeat;

    opacity: .04;

    pointer-events: none;
}

.ast-contact-intro__inner {
    position: relative;
    z-index: 2;

    display: grid;

    grid-template-columns:
        minmax(0,1.15fr)
        minmax(330px,.7fr);

    align-items: center;

    gap: 80px;

    width: 100%;
    max-width: 1240px;

    margin: 0 auto;
}

.ast-contact-intro__content {
    max-width: 690px;
}

.ast-contact-intro h1 {
    margin: 0;

    color: var(--navy);

    font-size: clamp(44px,4.2vw,62px);
    font-weight: 800;
    line-height: 1.02;
    letter-spacing: -1.9px;
}

.ast-contact-intro h1 strong {
    display: block;

    color: var(--gold);

    font: inherit;
}

.ast-contact-intro__lead {
    max-width: 620px;

    margin: 27px 0 30px;

    color: var(--text);

    font-size: 17px;
    line-height: 1.75;
}


/* POINTS */

.ast-contact-intro__points {
    display: grid;
    gap: 10px;
}

.ast-contact-intro__points > div {
    display: flex;
    align-items: center;
    gap: 14px;

    padding: 13px 0;

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

.ast-contact-intro__points span {
    display: flex;
    align-items: center;
    justify-content: center;

    width: 24px;
    height: 24px;

    flex: 0 0 24px;

    border-radius: 50%;

    background: var(--gold);

    color: var(--navy);

    font-family: var(--font-heading);
    font-size: 12px;
    font-weight: 800;
}

.ast-contact-intro__points p {
    margin: 0;

    color: var(--body-text);

    font-size: 15px;
    line-height: 1.5;
}


/* CONTACT PANEL */

.ast-contact-intro__aside {
    padding: 38px;

    background: var(--navy);

    color: #fff;

    box-shadow: 0 20px 45px rgba(var(--navy-rgb), .12);
}

.ast-contact-intro__aside-label {
    display: block;

    margin-bottom: 22px;

    color: var(--gold);

    font-family: var(--font-heading);
    font-size: 10px;
    font-weight: 700;
    letter-spacing: 1.2px;
    text-transform: uppercase;
}

.ast-contact-intro__phone {
    display: block;

    margin-bottom: 10px;

    color: #fff !important;

    font-size: 30px;
    font-weight: 800;
    line-height: 1.1;

    text-decoration: none !important;
}

.ast-contact-intro__email {
    display: block;

    color: var(--gold) !important;

    font-family: var(--font-body) !important;
    font-size: 14px;

    text-decoration: none !important;
}

.ast-contact-intro__aside p {
    margin: 25px 0 0;

    padding-top: 22px;

    border-top: 1px solid rgba(255,255,255,.16);

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

    font-size: 14px;
    line-height: 1.7;
}


/* =========================================================
   FORM HEADING
========================================================= */

.ast-contact-form-heading {
    padding: 90px 6% 38px;

    background: #fff;
}

.ast-contact-form-heading__inner {
    width: 100%;
    max-width: 1050px;

    margin: 0 auto;
}

.ast-contact-form-heading h2 {
    margin: 0;

    color: var(--navy);

    font-size: clamp(38px,3.8vw,54px);
    font-weight: 800;
    line-height: 1.03;
    letter-spacing: -1.7px;
}

.ast-contact-form-heading h2 strong {
    color: var(--gold);
    font: inherit;
}

.ast-contact-form-heading p {
    max-width: 610px;

    margin: 20px 0 0;

    color: var(--muted);

    font-size: 16px;
    line-height: 1.7;
}


/* =========================================================
   ELEMENTOR FORM WRAPPER
   Add class "ast-contact-form" to the form widget
========================================================= */

.ast-contact-form {
    max-width: 1050px !important;

    margin: 0 auto 100px !important;

    padding: 0 6%;
}

.ast-contact-form .elementor-field {
    min-height: 54px;

    border: 1px solid rgba(var(--navy-rgb), .15) !important;

    border-radius: 0 !important;

    background: #faf9f7 !important;

    color: var(--navy) !important;

    font-family: var(--font-body) !important;
    font-size: 15px !important;
}

.ast-contact-form textarea.elementor-field {
    min-height: 155px;
}

.ast-contact-form .elementor-field-label {
    color: var(--navy) !important;

    font-family: var(--font-heading) !important;
    font-size: 11px !important;
    font-weight: 700 !important;
}

.ast-contact-form .elementor-button {
    min-height: 54px;

    padding: 0 25px !important;

    border-radius: 0 !important;

    background: var(--gold) !important;

    color: var(--navy) !important;

    font-family: var(--font-heading) !important;
    font-size: 10px !important;
    font-weight: 700 !important;
    letter-spacing: .5px;

    text-transform: uppercase;
}


/* =========================================================
   CLINIC DETAILS
========================================================= */

.ast-contact-details {
    position: relative;

    overflow: hidden;

    padding: 105px 6% 110px;

    background: var(--cream);
}

.ast-contact-details__inner {
    width: 100%;
    max-width: 1200px;

    margin: 0 auto;
}

.ast-contact-details__header {
    max-width: 720px;

    margin-bottom: 55px;
}

.ast-contact-details__header h2 {
    margin: 0;

    color: var(--navy);

    font-size: clamp(40px,3.8vw,55px);
    font-weight: 800;
    line-height: 1.04;
    letter-spacing: -1.7px;
}

.ast-contact-details__header h2 strong {
    display: block;

    color: var(--gold);

    font: inherit;
}

.ast-contact-details__grid {
    display: grid;

    grid-template-columns:
        1fr
        1fr
        1fr;

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

.ast-contact-location {
    padding: 42px 38px;

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

.ast-contact-location:last-child {
    border-right: 0;
}

.ast-contact-location__label {
    display: block;

    margin-bottom: 25px;

    color: var(--gold);

    font-family: var(--font-heading);
    font-size: 10px;
    font-weight: 700;
    letter-spacing: 1px;
    text-transform: uppercase;
}

.ast-contact-location h3 {
    margin: 0 0 16px;

    color: var(--navy);

    font-size: 21px;
    font-weight: 800;
    line-height: 1.25;
}

.ast-contact-location p {
    margin: 0 0 22px;

    color: var(--muted);

    font-size: 15px;
    line-height: 1.7;
}

.ast-contact-location a {
    display: inline-flex;
    align-items: center;
    gap: 10px;

    color: var(--navy) !important;

    font-size: 10px;
    font-weight: 700;
    letter-spacing: .45px;

    text-decoration: none !important;
    text-transform: uppercase;
}

.ast-contact-location a span {
    color: var(--gold);

    font-size: 17px;
}

.ast-contact-location--contact p a {
    display: inline;

    color: var(--muted) !important;

    font-family: var(--font-body);
    font-size: 14px;
    font-weight: 400;
    letter-spacing: 0;

    text-transform: none;
}


/* =========================================================
   BOTTOM CTA
========================================================= */

.ast-contact-bottom {
    padding: 75px 6%;

    background: #fff;
}

.ast-contact-bottom__inner {
    display: grid;

    grid-template-columns:
        1.15fr
        .85fr
        auto;

    align-items: center;

    gap: 55px;

    width: 100%;
    max-width: 1200px;

    margin: 0 auto;
}

.ast-contact-bottom h2 {
    margin: 0;

    color: var(--navy);

    font-size: clamp(32px,3vw,44px);
    font-weight: 800;
    line-height: 1.03;
    letter-spacing: -1.3px;
}

.ast-contact-bottom h2 strong {
    display: block;

    color: var(--gold);

    font: inherit;
}

.ast-contact-bottom__inner > p {
    margin: 0;

    color: var(--muted);

    font-size: 15px;
    line-height: 1.7;
}

.ast-contact-button {
    display: inline-flex;
    align-items: center;
    justify-content: space-between;
    gap: 25px;

    min-width: 205px;
    min-height: 52px;

    padding: 0 22px;

    background: var(--gold);

    color: var(--navy) !important;

    font-size: 10px;
    font-weight: 700;
    letter-spacing: .5px;

    text-decoration: none !important;
    text-transform: uppercase;
}

.ast-contact-button span {
    font-size: 17px;
}


/* =========================================================
   TABLET
========================================================= */

@media (max-width: 1000px) {

    .ast-contact-intro__inner {
        grid-template-columns: 1fr;

        gap: 45px;
    }

    .ast-contact-intro__aside {
        max-width: 520px;
    }

    .ast-contact-details__grid {
        grid-template-columns: 1fr;
    }

    .ast-contact-location {
        border-right: 0;
        border-bottom: 1px solid var(--line);
    }

    .ast-contact-location:last-child {
        border-bottom: 0;
    }

    .ast-contact-bottom__inner {
        grid-template-columns: 1fr;

        gap: 25px;
    }

    .ast-contact-button {
        width: fit-content;
    }

}


/* =========================================================
   MOBILE
========================================================= */

@media (max-width: 767px) {

    .ast-contact-intro {
        padding: 72px 6% 75px;
    }

    .ast-contact-intro::before {
        left: -190px;

        width: 440px;
        height: 440px;
    }

    .ast-contact-intro h1 {
        font-size: 40px;
        letter-spacing: -1.3px;
    }

    .ast-contact-intro__lead {
        font-size: 16px;
    }

    .ast-contact-intro__aside {
        padding: 28px 25px;
    }

    .ast-contact-intro__phone {
        font-size: 25px;
    }

    .ast-contact-form-heading {
        padding-top: 72px;
    }

    .ast-contact-form-heading h2 {
        font-size: 38px;
    }

    .ast-contact-form {
        margin-bottom: 75px !important;
    }

    .ast-contact-details {
        padding: 78px 6%;
    }

    .ast-contact-details__header h2 {
        font-size: 38px;
    }

    .ast-contact-location {
        padding: 32px 0;
    }

    .ast-contact-bottom {
        padding: 65px 6%;
    }

    .ast-contact-bottom h2 {
        font-size: 35px;
    }

    .ast-contact-button {
        width: 100%;
    }

}

/* =========================================================
   WHY CHOOSE AMMONITE
========================================================= */

.amm-why-clean {
--white: #ffffff;
    --muted: rgba(255,255,255,.76);
    --line: rgba(255,255,255,.16);

    width: 100%;
    background: var(--navy);
    overflow: hidden;
}

.amm-why-clean,
.amm-why-clean * {
    box-sizing: border-box;
}

.amm-why-clean__inner {
    display: grid;
    grid-template-columns: 46% 54%;

    width: 100%;
    min-height: 680px;

    margin: 0 auto;

    background: var(--navy);
}


/* =========================================================
   LEFT IMAGE
========================================================= */

.amm-why-clean__visual {
    position: relative;

    min-height: 680px;

    overflow: hidden;

    background: #101820;
}

.amm-why-clean__visual img {
    display: block;

    width: 100% !important;
    height: 100% !important;
    max-width: none !important;

    object-fit: cover !important;
    object-position: center center;
}

.amm-why-clean__image-overlay {
    position: absolute;
    inset: 0;

    background:
        linear-gradient(
            180deg,
            rgba(var(--navy-rgb), .03) 0%,
            rgba(var(--navy-rgb), .08) 55%,
            rgba(var(--navy-rgb), .30) 100%
        );
}


/* REMOVE OLD DECORATIVE ELEMENTS */

.amm-why-clean__visual::before,
.amm-why-clean__visual::after,
.amm-why-clean__content::before,
.amm-why-clean__content::after {
    display: none !important;
    content: none !important;
}


/* IMAGE LABEL */

.amm-why-clean__image-label {
    position: absolute;

    right: 32px;
    bottom: 30px;

    display: inline-flex;
    align-items: center;
    gap: 10px;

    padding: 13px 18px;

    background: rgba(var(--navy-rgb), .94);

    color: #fff;

    font-family: var(--font-heading);
    font-size: 10px;
    font-weight: 700;
    letter-spacing: .7px;

    text-transform: uppercase;
}

.amm-why-clean__image-label span {
    color: var(--gold);
}


/* =========================================================
   RIGHT CONTENT
========================================================= */

.amm-why-clean__content {
    position: relative;

    display: flex;
    flex-direction: column;
    justify-content: center;

    min-height: 680px;

    padding:
        70px
        clamp(50px,5vw,90px);

    background: var(--navy);
}


/* EYEBROW */

.amm-why-clean__eyebrow {
    display: inline-flex;
    align-items: center;
    gap: 12px;

    width: fit-content;

    margin-bottom: 20px;

    color: var(--gold);

    font-family: var(--font-heading);
    font-size: 10px;
    font-weight: 700;
    line-height: 1.3;
    letter-spacing: 1.6px;

    text-transform: uppercase;
}

.amm-why-clean__eyebrow::before {
    content: "";

    width: 32px;
    height: 2px;

    background: var(--gold);
}


/* TITLE */

.amm-why-clean__content h2 {
    max-width: 760px;

    margin: 0;

    color: #fff;

    font-family: var(--font-heading) !important;
    font-size: clamp(42px,3.8vw,58px) !important;
    font-weight: 800 !important;
    line-height: 1.02 !important;
    letter-spacing: -1.8px !important;
}

.amm-why-clean__content h2 strong {
    display: block;

    color: var(--gold);

    font: inherit;
}


/* INTRO */

.amm-why-clean__intro {
    max-width: 760px;

    margin: 26px 0 34px;

    color: var(--muted);

    font-family: var(--font-body);
    font-size: 16px;
    line-height: 1.75;
}


/* =========================================================
   BENEFITS
========================================================= */

.amm-why-clean__benefits {
    display: grid;
    grid-template-columns: repeat(3, 1fr);

    width: 100%;

    margin-top: 4px;

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

.amm-why-clean__benefit {
    min-height: 210px;

    padding: 30px 24px 28px 0;
}

.amm-why-clean__benefit + .amm-why-clean__benefit {
    padding-left: 24px;

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

.amm-why-clean__number {
    display: block;

    margin-bottom: 18px;

    color: var(--gold);

    font-family: var(--font-heading);
    font-size: 10px;
    font-weight: 700;
    letter-spacing: .7px;
}

.amm-why-clean__benefit h3 {
    margin: 0 0 11px;

    color: #fff;

    font-family: var(--font-heading) !important;
    font-size: 18px !important;
    font-weight: 700 !important;
    line-height: 1.25 !important;
}

.amm-why-clean__benefit p {
    margin: 0;

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

    font-family: var(--font-body);
    font-size: 15px;
    line-height: 1.65;
}


/* =========================================================
   ACTIONS
========================================================= */

.amm-why-clean__actions {
    display: flex;
    align-items: center;
    gap: 28px;

    margin-top: 30px;
}

.amm-why-clean__button {
    display: inline-flex;
    align-items: center;
    justify-content: space-between;
    gap: 35px;

    min-width: 205px;
    min-height: 52px;

    padding: 0 20px;

    background: var(--gold);

    color: var(--navy) !important;

    font-family: var(--font-heading) !important;
    font-size: 10px !important;
    font-weight: 700 !important;
    letter-spacing: .4px;

    text-decoration: none !important;
    text-transform: uppercase;

    transition:
        background .3s ease,
        transform .3s ease;
}

.amm-why-clean__button span {
    font-size: 18px;
}

.amm-why-clean__button:hover {
    background: #fff;

    transform: translateY(-2px);
}


.amm-why-clean__link {
    display: inline-flex;
    align-items: center;
    gap: 10px;

    padding-bottom: 5px;

    border-bottom: 1px solid rgba(255,255,255,.35);

    color: #fff !important;

    font-family: var(--font-heading) !important;
    font-size: 10px !important;
    font-weight: 700 !important;
    letter-spacing: .4px;

    text-decoration: none !important;
    text-transform: uppercase;
}

.amm-why-clean__link span {
    color: var(--gold);

    font-size: 16px;
}


/* =========================================================
   TABLET
========================================================= */

@media (max-width: 1050px) {

    .amm-why-clean__inner {
        grid-template-columns: 42% 58%;
    }

    .amm-why-clean__content {
        padding: 60px 40px;
    }

    .amm-why-clean__benefits {
        grid-template-columns: 1fr;
    }

    .amm-why-clean__benefit {
        min-height: auto;

        padding: 24px 0;
    }

    .amm-why-clean__benefit + .amm-why-clean__benefit {
        padding-left: 0;

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

}


/* =========================================================
   MOBILE
========================================================= */

@media (max-width: 767px) {

    .amm-why-clean__inner {
        display: flex;
        flex-direction: column;

        min-height: 0;
    }

    .amm-why-clean__visual {
        min-height: 430px;
    }

    .amm-why-clean__image-label {
        right: 18px;
        bottom: 18px;
    }

    .amm-why-clean__content {
        min-height: 0;

        padding: 60px 6%;
    }

    .amm-why-clean__content h2 {
        font-size: 39px !important;
    }

    .amm-why-clean__intro {
        font-size: 15px;
    }

    .amm-why-clean__actions {
        flex-direction: column;
        align-items: flex-start;

        gap: 20px;
    }

    .amm-why-clean__button {
        width: 100%;
    }

}

.ast-what-we-treat-icons {
  position: relative;
  padding: 110px 0;
  background: #f5f1eb;
}

.ast-what-we-treat-icons__top {
  display: grid;
  grid-template-columns: minmax(0, 1.15fr) minmax(0, 0.85fr);
  gap: 60px;
  align-items: end;
  margin-bottom: 46px;
}

.ast-section-label {
  display: inline-flex;
  align-items: center;
  gap: 12px;
  margin-bottom: 18px;
  color: var(--gold);
  font-family: var(--font-heading);
  font-size: 13px;
  font-weight: 700;
  letter-spacing: 1.8px;
  text-transform: uppercase;
}

.ast-section-label::before {
  content: "";
  width: 34px;
  height: 2px;
  background: var(--gold);
  display: inline-block;
}

.ast-what-we-treat-icons__heading h2 {
  margin: 0;
  color: var(--navy);
  font-family: var(--font-heading);
  font-size: clamp(38px, 4.4vw, 66px);
  line-height: 1.02;
  font-weight: 800;
  letter-spacing: -0.03em;
}

.ast-what-we-treat-icons__heading h2 strong {
  color: var(--gold);
  font-weight: 800;
}

.ast-what-we-treat-icons__intro p {
  margin: 0;
  color: var(--body-text);
  font-family: var(--font-body);
  font-size: 20px;
  line-height: 1.7;
  max-width: 540px;
}

.ast-what-we-treat-icons__grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  border-top: 1px solid rgba(var(--navy-rgb), 0.12);
  border-left: 1px solid rgba(var(--navy-rgb), 0.12);
}

.ast-what-we-treat-icons__item {
  padding: 34px 30px 32px;
  border-right: 1px solid rgba(var(--navy-rgb), 0.12);
  border-bottom: 1px solid rgba(var(--navy-rgb), 0.12);
  background: transparent;
}

.ast-what-we-treat-icons__icon {
  width: 58px;
  height: 58px;
  margin-bottom: 20px;
  display: flex;
  align-items: center;
  justify-content: flex-start;
}

.ast-what-we-treat-icons__icon img {
  width: 58px;
  height: 58px;
  object-fit: contain;
  display: block;
}

.ast-what-we-treat-icons__item h3 {
  margin: 0 0 12px;
  color: var(--navy);
  font-family: var(--font-heading);
  font-size: 19px;
  line-height: 1.2;
  font-weight: 800;
}

.ast-what-we-treat-icons__item p {
  margin: 0;
  color: var(--body-text);
  font-family: var(--font-body);
  font-size: 16px;
  line-height: 1.75;
}

@media (max-width: 1024px) {
  .ast-what-we-treat-icons {
    padding: 90px 0;
  }

  .ast-what-we-treat-icons__top {
    grid-template-columns: 1fr;
    gap: 24px;
    margin-bottom: 36px;
  }

  .ast-what-we-treat-icons__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 767px) {
  .ast-what-we-treat-icons {
    padding: 72px 0;
  }

  .ast-what-we-treat-icons__heading h2 {
    font-size: 36px;
  }

  .ast-what-we-treat-icons__intro p {
    font-size: 17px;
  }

  .ast-what-we-treat-icons__grid {
    grid-template-columns: 1fr;
  }

  .ast-what-we-treat-icons__item {
    padding: 26px 22px;
  }

  .ast-what-we-treat-icons__icon,
  .ast-what-we-treat-icons__icon img {
    width: 52px;
    height: 52px;
  }
}

.ast-sports-treat__icon {
    display: flex;
    align-items: center;
    justify-content: flex-start;

    width: 84px;
    height: 84px;

    margin-bottom: 22px;
    padding: 0;

    background: none !important;
    border: none !important;
    border-radius: 0 !important;
    box-shadow: none !important;
}

.ast-sports-treat__icon img {
    display: block;

    width: 84px !important;
    height: 84px !important;
    max-width: none !important;

    object-fit: contain;
    background: none !important;
    border: none !important;
    border-radius: 0 !important;
    box-shadow: none !important;
}

/* =========================================================
   TESTIMONIAL STRIP
   ========================================================= */

.ast-testimonial-strip {
    position: relative;
    overflow: hidden;

    background: var(--navy);

    padding: 88px 0 82px;
}


/* optional background layer */

.ast-testimonial-strip__bg {
    position: absolute;
    inset: 0;

    z-index: 0;

    pointer-events: none;
}


/* =========================================================
   LARGE BACKGROUND QUOTE
   ========================================================= */

.ast-testimonial-strip .quote-right {
    position: absolute;

    top: 0px;
    right: 15px;

    z-index: 0;

    font-family: var(--font-heading) !important;
    font-size: 390px !important;
    font-weight: 700 !important;
    line-height: 1 !important;

    color: rgba(255,255,255,0.04) !important;

    pointer-events: none;
    user-select: none;
}


/* =========================================================
   INNER CONTAINER
   ========================================================= */

.ast-testimonial-strip__inner {
    position: relative;
    z-index: 2;

    width: calc(100% - 120px);
    max-width: 1360px;

    margin: 0 auto;
    padding: 0;
}


/* =========================================================
   HEADING
   ========================================================= */

.ast-testimonial-strip__heading {
    display: block !important;

    width: 100% !important;

    margin: 0 0 48px !important;
    padding: 0 !important;

    text-align: left !important;
}


.ast-testimonial-strip__heading > div {
    display: block !important;

    width: 100% !important;

    margin: 0 !important;
    padding: 0 !important;
}


.ast-testimonial-strip__eyebrow {
    display: flex !important;

    align-items: center;

    gap: 12px;

    margin: 0 0 14px !important;
    padding: 0 !important;

    color: var(--gold) !important;

    font-family: var(--font-heading) !important;

    font-size: 11px !important;
    font-weight: 700 !important;

    line-height: 1.2 !important;

    letter-spacing: 1.8px !important;

    text-transform: uppercase !important;
}


.ast-testimonial-strip__eyebrow::before {
    content: "";

    display: block;

    width: 30px;
    height: 2px;

    flex: 0 0 30px;

    background: var(--gold);
}


.ast-testimonial-strip__heading h2 {
    margin: 0 !important;
    padding: 0 !important;

    color: #ffffff !important;

    font-family: var(--font-heading) !important;

    font-size: clamp(40px, 3.6vw, 56px) !important;
    font-weight: 800 !important;

    line-height: 1.04 !important;

    letter-spacing: -0.03em !important;

    text-align: left !important;

    max-width: none !important;
}


/* =========================================================
   REVIEWS GRID
   ========================================================= */

.ast-testimonial-strip__reviews {
    display: grid !important;

    grid-template-columns: repeat(3, minmax(0, 1fr));

    width: 100% !important;

    gap: 0 !important;

    margin: 0 !important;
    padding: 0 !important;
}


/* review item */

.ast-testimonial-strip__reviews article {
    position: relative;

    margin: 0 !important;

    padding: 4px 42px 0 !important;

    background: transparent !important;

    border: 0 !important;
    border-right: 1px solid rgba(255,255,255,0.13) !important;

    border-radius: 0 !important;

    box-shadow: none !important;
}


/* first column */

.ast-testimonial-strip__reviews article:first-child {
    padding-left: 0 !important;
}


/* last column */

.ast-testimonial-strip__reviews article:last-child {
    padding-right: 0 !important;

    border-right: 0 !important;
}


/* =========================================================
   STARS
   ========================================================= */

.ast-testimonial-strip__rating {
    margin: 0 0 17px !important;

    color: var(--gold) !important;

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

    font-size: 19px !important;
    font-weight: 600 !important;

    line-height: 1 !important;

    letter-spacing: 1px !important;
}


/* =========================================================
   REVIEW TEXT
   ========================================================= */

.ast-testimonial-strip__reviews p {
    margin: 0 0 20px !important;

    color: rgba(255,255,255,0.78) !important;

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

    font-size: 14px !important;
    font-weight: 400 !important;

    line-height: 1.7 !important;
}


/* reviewer */

.ast-testimonial-strip__reviews strong {
    display: block;

    margin: 0 !important;

    color: #ffffff !important;

    font-family: var(--font-heading) !important;

    font-size: 12px !important;
    font-weight: 700 !important;

    line-height: 1.4 !important;
}


/* =========================================================
   LARGE DESKTOP
   ========================================================= */

@media (min-width: 1500px) {

    .ast-testimonial-strip__inner {
        width: calc(100% - 140px);
        max-width: 1400px;
    }

}


/* =========================================================
   TABLET
   ========================================================= */

@media (max-width: 1100px) {

    .ast-testimonial-strip {
        padding: 76px 0 70px;
    }

    .ast-testimonial-strip__inner {
        width: calc(100% - 60px);
    }

    .ast-testimonial-strip__reviews article {
        padding-left: 26px !important;
        padding-right: 26px !important;
    }

    .ast-testimonial-strip__reviews article:first-child {
        padding-left: 0 !important;
    }

    .ast-testimonial-strip__reviews article:last-child {
        padding-right: 0 !important;
    }

    .ast-testimonial-strip .quote-right {
        top: -55px;
        right: -10px;

        font-size: 280px !important;
    }

}


/* =========================================================
   MOBILE
   ========================================================= */

@media (max-width: 767px) {

    .ast-testimonial-strip {
        padding: 62px 0 58px;
    }

    .ast-testimonial-strip__inner {
        width: calc(100% - 36px);
    }

    .ast-testimonial-strip__heading {
        margin-bottom: 34px !important;
    }

    .ast-testimonial-strip__heading h2 {
        font-size: 34px !important;
    }

    .ast-testimonial-strip__reviews {
        grid-template-columns: 1fr !important;
    }

    .ast-testimonial-strip__reviews article,
    .ast-testimonial-strip__reviews article:first-child,
    .ast-testimonial-strip__reviews article:last-child {

        padding: 26px 0 !important;

        border-right: 0 !important;

        border-bottom: 1px solid rgba(255,255,255,0.13) !important;
    }

    .ast-testimonial-strip__reviews article:first-child {
        padding-top: 0 !important;
    }

    .ast-testimonial-strip__reviews article:last-child {
        padding-bottom: 0 !important;

        border-bottom: 0 !important;
    }

    .ast-testimonial-strip .quote-right {
        top: -20px;
        right: -25px;

        font-size: 190px !important;
    }

    .ast-testimonial-strip__reviews p {
        font-size: 14px !important;
    }

}

/* =========================================================
   BLOG / NEWS HEADING
   ========================================================= */

.ast-blog-heading {
    width: min(100% - 80px, 1100px);
    margin: 0 auto 54px;

    text-align: center;
}


/* EYEBROW */

.ast-blog-heading__eyebrow {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 12px;

    margin: 0 0 16px;

    color: var(--gold) !important;

    font-family: var(--font-heading) !important;
    font-size: 11px !important;
    font-weight: 700 !important;
    line-height: 1.2 !important;

    letter-spacing: 1.8px !important;
    text-transform: uppercase;
}

.ast-blog-heading__eyebrow::before,
.ast-blog-heading__eyebrow::after {
    content: "";

    width: 28px;
    height: 2px;

    background: var(--gold);
}


/* TITLE */

.ast-blog-heading h2 {
    max-width: 980px;

    margin: 0 auto 20px !important;
    padding: 0 !important;

    color: var(--navy) !important;

    font-family: var(--font-heading) !important;
    font-size: clamp(40px, 4vw, 58px) !important;
    font-weight: 800 !important;
    line-height: 1.04 !important;

    letter-spacing: -0.035em !important;

    text-align: center !important;
}

.ast-blog-heading h2 strong {
    color: var(--gold) !important;
    font-weight: 800 !important;
}


/* BODY COPY */

.ast-blog-heading p {
    max-width: 760px;

    margin: 0 auto !important;

    color: var(--body-text);

    font-family: var(--font-body);
    font-size: 16px !important;
    font-weight: 500 !important;
    line-height: 1.7 !important;

    text-align: center !important;
}


/* TABLET */

@media (max-width: 1024px) {

    .ast-blog-heading {
        width: calc(100% - 60px);
        margin-bottom: 44px;
    }

}


/* MOBILE */

@media (max-width: 767px) {

    .ast-blog-heading {
        width: calc(100% - 36px);
        margin-bottom: 34px;
    }

    .ast-blog-heading h2 {
        font-size: 34px !important;
    }

    .ast-blog-heading p {
        font-size: 15px !important;
    }

}
/* =========================================================
   AMMONITE SPORTS MASSAGE PAGE
========================================================= */

.ast-massage-hero,
.ast-massage-help,
.ast-massage-feature,
.ast-massage-who,
.ast-massage-locations,
.ast-massage-review,
.ast-massage-choice,
.ast-massage-faq {
    box-sizing: border-box;
}

.ast-massage-hero *,
.ast-massage-help *,
.ast-massage-feature *,
.ast-massage-who *,
.ast-massage-locations *,
.ast-massage-review *,
.ast-massage-choice *,
.ast-massage-faq * {
    box-sizing: border-box;
}


/* =========================================================
   SHARED
========================================================= */

.ast-massage-eyebrow {
    display: flex;
    align-items: center;
    gap: 12px;

    margin: 0 0 18px;

    color: var(--gold);

    font-family: var(--font-heading);
    font-size: 11px;
    font-weight: 700;
    line-height: 1.2;

    letter-spacing: 1.7px;
    text-transform: uppercase;
}

.ast-massage-eyebrow::before {
    content: "";

    width: 30px;
    height: 2px;

    flex: 0 0 30px;

    background: var(--gold);
}


.ast-massage-button {
    display: inline-flex;
    align-items: center;
    justify-content: space-between;
    gap: 35px;

    min-height: 54px;
    padding: 0 22px;

    background: var(--gold);
    color: var(--navy) !important;

    font-family: var(--font-heading);
    font-size: 11px;
    font-weight: 700;

    letter-spacing: .4px;
    text-decoration: none !important;
    text-transform: uppercase;

    transition: transform .25s ease,
                background .25s ease;
}

.ast-massage-button:hover {
    background: var(--gold);
    transform: translateY(-2px);
}

.ast-massage-button span {
    font-size: 18px;
}



/* =========================================================
   01 â€” HERO
========================================================= */

.ast-massage-hero {
    position: relative;

    overflow: hidden;

    padding: 110px 0 125px;

    background: #f6f2eb;
}

.ast-massage-hero::before {
    content: "";

    position: absolute;
    left: -170px;
    top: 50%;

    width: 620px;
    height: 620px;

    transform: translateY(-50%);

    background:
        url("/wp-content/uploads/2026/08/ammonite-background.png")
        center / contain no-repeat;

    opacity: .045;

    pointer-events: none;
}

.ast-massage-hero__inner {
    position: relative;
    z-index: 2;

    display: grid;
    grid-template-columns: .88fr 1.12fr;
    align-items: center;

    gap: 65px;

    width: min(calc(100% - 80px), 1360px);

    margin: 0 auto;
}


/* HERO COPY */

.ast-massage-hero__content {
    max-width: 620px;
}

.ast-massage-hero h1 {
    margin: 0 0 28px;

    color: var(--navy);

    font-family: var(--font-heading);
    font-size: clamp(52px, 5.2vw, 78px);
    font-weight: 800;
    line-height: .98;

    letter-spacing: -.045em;
}

.ast-massage-hero__lead {
    margin: 0 0 18px;

    color: #183247;

    font-family: var(--font-body);
    font-size: 19px;
    font-weight: 500;
    line-height: 1.65;
}

.ast-massage-hero__content > p:not(.ast-massage-hero__lead) {
    max-width: 570px;

    margin: 0 0 34px;

    color: var(--body-text);

    font-family: var(--font-body);
    font-size: 16px;
    line-height: 1.75;
}

.ast-massage-hero__actions {
    display: flex;
    align-items: center;
    gap: 26px;
}

.ast-massage-hero__locations {
    color: #183247;

    font-family: var(--font-heading);
    font-size: 12px;
    font-weight: 700;

    text-transform: uppercase;
}

.ast-massage-hero__locations i {
    margin: 0 8px;

    color: var(--gold);
    font-style: normal;
}


/* HERO IMAGE */

.ast-massage-hero__visual {
    position: relative;

    padding: 0 28px 35px 0;
}

.ast-massage-hero__image {
    overflow: hidden;

    height: 540px;

    border-radius: 10px;
}

.ast-massage-hero__image img {
    width: 100%;
    height: 100%;

    display: block;

    object-fit: cover;
}

.ast-massage-hero__review {
    position: absolute;
    right: 0;
    bottom: 0;

    width: 310px;

    padding: 25px 28px;

    background: var(--navy);

    border-radius: 6px;

    box-shadow: 0 18px 40px rgba(var(--navy-rgb), .16);
}

.ast-massage-hero__review > span {
    display: block;

    margin-bottom: 7px;

    color: var(--gold);

    letter-spacing: 2px;
}

.ast-massage-hero__review strong {
    display: block;

    margin-bottom: 8px;

    color: #fff;

    font-family: var(--font-heading);
    font-size: 15px;
    font-weight: 700;
}

.ast-massage-hero__review p {
    margin: 0;

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

    font-family: var(--font-body);
    font-size: 13px;
    line-height: 1.6;
}



/* =========================================================
   02 â€” WHEN IT CAN HELP
========================================================= */

.ast-massage-help {
    padding: 125px 0;

    background: #fff;
}

.ast-massage-help__inner {
    display: grid;
    grid-template-columns: .75fr 1.25fr;

    gap: 95px;

    width: min(calc(100% - 80px), 1360px);

    margin: 0 auto;
}

.ast-massage-help__heading {
    max-width: 490px;
}

.ast-massage-help h2 {
    margin: 0 0 24px;

    color: var(--navy);

    font-family: var(--font-heading);
    font-size: clamp(42px, 4vw, 58px);
    font-weight: 800;
    line-height: 1.04;

    letter-spacing: -.035em;
}

.ast-massage-help h2 strong {
    display: block;

    color: var(--gold);
}

.ast-massage-help__heading > p {
    margin: 0;
    color: var(--body-text);

    font-family: var(--font-body);
    font-size: 16px;
    line-height: 1.75;
}


/* LIST */

.ast-massage-help__list {
    display: grid;
    grid-template-columns: 1fr 1fr;
}

.ast-massage-help__list article {
    display: grid;
    grid-template-columns: 48px 1fr;

    gap: 16px;

    min-height: 180px;

    padding: 30px 32px;

    border-top: 1px solid rgba(var(--navy-rgb), .12);
}

.ast-massage-help__list article:nth-child(odd) {
    border-right: 1px solid rgba(var(--navy-rgb), .12);
}

.ast-massage-help__list > article > span {
    color: var(--gold);

    font-family: var(--font-heading);
    font-size: 12px;
    font-weight: 800;
}

.ast-massage-help__list h3 {
    margin: 0 0 10px;

    color: var(--navy);

    font-family: var(--font-heading);
    font-size: 18px;
    font-weight: 750;
    line-height: 1.3;
}

.ast-massage-help__list p {
    margin: 0;

    color: var(--body-text);

    font-family: var(--font-body);
    font-size: 16px;
    line-height: 1.7;
}



/* =========================================================
   03 â€” FEATURE
========================================================= */

.ast-massage-feature {
    display: grid;
    grid-template-columns: 1fr 1fr;

    min-height: 690px;

    background: var(--navy);
}

.ast-massage-feature__image {
    min-height: 690px;
}

.ast-massage-feature__image img {
    width: 100%;
    height: 100%;

    display: block;

    object-fit: cover;
}

.ast-massage-feature__content {
    display: flex;
    flex-direction: column;
    justify-content: center;

    padding: 85px clamp(60px, 7vw, 120px);
}

.ast-massage-eyebrow--light {
    color: var(--gold);
}

.ast-massage-feature h2 {
    margin: 0 0 25px;

    color: #fff;

    font-family: var(--font-heading);
    font-size: clamp(44px, 4.2vw, 62px);
    font-weight: 800;
    line-height: 1;

    letter-spacing: -.04em;
}

.ast-massage-feature h2 strong {
    display: block;

    color: var(--gold);
}

.ast-massage-feature__lead {
    max-width: 580px;

    margin: 0 0 38px;

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

    font-family: var(--font-body);
    font-size: 17px;
    line-height: 1.75;
}


/* THREE POINTS */

.ast-massage-feature__steps {
    display: grid;
    grid-template-columns: repeat(3,1fr);

    margin-bottom: 38px;

    border-top: 1px solid rgba(255,255,255,.14);
    border-bottom: 1px solid rgba(255,255,255,.14);
}

.ast-massage-feature__steps article {
    padding: 26px 22px 27px 0;
}

.ast-massage-feature__steps article + article {
    padding-left: 22px;

    border-left: 1px solid rgba(255,255,255,.14);
}

.ast-massage-feature__steps span {
    display: block;

    margin-bottom: 10px;

    color: var(--gold);

    font-family: var(--font-heading);
    font-size: 14px;
    font-weight: 750;
}

.ast-massage-feature__steps p {
    margin: 0;

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

    font-family: var(--font-body);
    font-size: 15px;
    line-height: 1.65;
}

.ast-massage-feature .ast-massage-button {
    align-self: flex-start;
}



/* =========================================================
   04 â€” WHO IT'S FOR
========================================================= */

.ast-massage-who {
    position: relative;

    overflow: hidden;

    padding: 120px 0;

    background: #f6f2eb;
}

.ast-massage-who__inner {
    display: grid;
    grid-template-columns: .9fr 1.1fr;

    gap: 110px;

    width: min(calc(100% - 80px), 1220px);

    margin: 0 auto;
}

.ast-massage-who h2 {
    margin: 0;

    color: var(--navy);

    font-family: var(--font-heading);
    font-size: clamp(42px,4vw,58px);
    font-weight: 800;
    line-height: 1.04;

    letter-spacing: -.04em;
}

.ast-massage-who h2 strong {
    display: block;

    color: var(--gold);
}

.ast-massage-who__lead {
    margin: 0 0 18px;

    color: #183247;

    font-family: var(--font-body);
    font-size: 19px;
    font-weight: 600;
    line-height: 1.65;
}

.ast-massage-who__content > p:not(.ast-massage-who__lead) {
    margin: 0 0 30px;

    color: var(--body-text);

    font-family: var(--font-body);
    font-size: 16px;
    line-height: 1.75;
}

.ast-massage-who__tags {
    display: flex;
    flex-wrap: wrap;

    gap: 10px;
}

.ast-massage-who__tags span {
    padding: 10px 15px;

    background: #fff;

    border: 1px solid rgba(var(--navy-rgb), .09);
    border-radius: 100px;

    color: var(--navy);

    font-family: var(--font-heading);
    font-size: 11px;
    font-weight: 700;
}



/* =========================================================
   05 â€” LOCATIONS
========================================================= */

.ast-massage-locations {
    padding: 125px 0;

    background: #fff;
}

.ast-massage-locations__inner {
    width: min(calc(100% - 80px), 1360px);

    margin: 0 auto;
}

.ast-massage-locations__header {
    max-width: 800px;

    margin: 0 auto 58px;

    text-align: center;
}

.ast-massage-locations__header .ast-massage-eyebrow {
    justify-content: center;
}

.ast-massage-locations__header .ast-massage-eyebrow::after {
    content: "";

    width: 30px;
    height: 2px;

    background: var(--gold);
}

.ast-massage-locations__header h2 {
    margin: 0 0 20px;

    color: var(--navy);

    font-family: var(--font-heading);
    font-size: clamp(42px,4vw,58px);
    font-weight: 800;
    line-height: 1.04;

    letter-spacing: -.04em;
}

.ast-massage-locations__header h2 strong {
    display: block;

    color: var(--gold);
}

.ast-massage-locations__header p {
    margin: 0;

    color: var(--body-text);

    font-family: var(--font-body);
    font-size: 16px;
}


/* LOCATION CARDS */

.ast-massage-locations__grid {
    display: grid;
    grid-template-columns: 1fr 1fr;

    gap: 28px;
}

.ast-massage-location {
    display: grid;
    grid-template-columns: .9fr 1.1fr;

    min-height: 470px;

    overflow: hidden;

    background: #f6f2eb;

    border-radius: 8px;
}

.ast-massage-location__image {
    min-height: 100%;
}

.ast-massage-location__image img {
    width: 100%;
    height: 100%;

    display: block;

    object-fit: cover;
}

.ast-massage-location__content {
    display: flex;
    flex-direction: column;

    justify-content: center;

    padding: 40px;
}

.ast-massage-location__content > span {
    margin-bottom: 12px;

    color: var(--gold);

    font-family: var(--font-heading);
    font-size: 11px;
    font-weight: 750;

    letter-spacing: 1.2px;
    text-transform: uppercase;
}

.ast-massage-location h3 {
    margin: 0 0 18px;

    color: var(--navy);

    font-family: var(--font-heading);
    font-size: 25px;
    font-weight: 800;
    line-height: 1.14;
}

.ast-massage-location p,
.ast-massage-location address {
    color: var(--body-text);

    font-family: var(--font-body);
    font-size: 14px;
    line-height: 1.7;
}

.ast-massage-location p {
    margin: 0 0 18px;
}

.ast-massage-location address {
    margin: 0 0 28px;

    color: #183247;

    font-style: normal;
}

.ast-massage-location__actions {
    display: flex;
    align-items: center;

    gap: 18px;
}

.ast-massage-location__actions a {
    display: inline-flex;
    align-items: center;

    gap: 22px;

    padding: 14px 17px;

    background: var(--gold);

    color: var(--navy) !important;

    font-family: var(--font-heading);
    font-size: 10px;
    font-weight: 750;

    text-decoration: none !important;
    text-transform: uppercase;
}

.ast-massage-location__actions a.secondary {
    padding: 8px 0;

    background: transparent;

    border-bottom: 1px solid rgba(var(--navy-rgb), .30);
}



/* =========================================================
   06 â€” TESTIMONIAL
========================================================= */

.ast-massage-review {
    position: relative;

    overflow: hidden;

    padding: 120px 40px;

    background: #f6f2eb;

    text-align: center;
}

.ast-massage-review__quote {
    position: absolute;
    left: 50%;
    top: 25px;

    transform: translateX(-50%);

    color: var(--navy);

    font-family: var(--font-heading);
    font-size: 260px;
    line-height: 1;

    opacity: .035;
}

.ast-massage-review__inner {
    position: relative;
    z-index: 2;

    max-width: 1050px;

    margin: 0 auto;
}

.ast-massage-review .ast-massage-eyebrow {
    justify-content: center;
}

.ast-massage-review .ast-massage-eyebrow::after {
    content: "";

    width: 30px;
    height: 2px;

    background: var(--gold);
}

.ast-massage-review__stars {
    margin: 8px 0 24px;

    color: var(--gold);

    font-size: 17px;
    letter-spacing: 3px;
}

.ast-massage-review blockquote {
    margin: 0;
}

.ast-massage-review blockquote p {
    margin: 0 auto 30px;

    color: var(--body-text);

    font-family: var(--font-body);
    font-size: clamp(27px,3vw,42px);
    font-weight: 750;
    line-height: 1.3;

    letter-spacing: -.025em;
}

.ast-massage-review__inner > strong {
    display: block;

    margin-bottom: 5px;

    color: var(--navy);

    font-family: var(--font-heading);
    font-size: 13px;
    font-weight: 800;
}

.ast-massage-review__label {
    color: #607180;

    font-family: var(--font-body);
    font-size: 13px;
}



/* =========================================================
   07 â€” MASSAGE OR SPORTS THERAPY
========================================================= */

.ast-massage-choice {
    padding: 100px 0;

    background: #fff;
}

.ast-massage-choice__inner {
    display: grid;
    grid-template-columns: 1fr 1fr;

    gap: 110px;

    width: min(calc(100% - 80px), 1150px);

    margin: 0 auto;
}

.ast-massage-choice h2 {
    margin: 0;

    color: var(--navy);

    font-family: var(--font-heading);
    font-size: clamp(42px,4vw,56px);
    font-weight: 800;
    line-height: 1.04;

    letter-spacing: -.04em;
}

.ast-massage-choice h2 strong {
    display: block;

    color: var(--gold);
}

.ast-massage-choice__copy p {
    margin: 0 0 18px;

    color: var(--body-text);

    font-family: var(--font-body);
    font-size: 16px;
    line-height: 1.75;
}

.ast-massage-choice__copy a {
    display: inline-flex;
    align-items: center;

    gap: 25px;

    margin-top: 10px;

    padding-bottom: 7px;

    border-bottom: 1px solid rgba(var(--navy-rgb), .25);

    color: var(--navy) !important;

    font-family: var(--font-heading);
    font-size: 11px;
    font-weight: 800;

    text-decoration: none !important;
    text-transform: uppercase;
}

.ast-massage-choice__copy a span {
    color: var(--gold);

    font-size: 18px;
}



/* =========================================================
   08 â€” FAQ
========================================================= */

.ast-massage-faq {
    position: relative;

    overflow: hidden;

    padding: 115px 0 120px;

    background: var(--navy);
}

.ast-massage-faq::before {
    content: "";

    position: absolute;
    left: -180px;
    top: 50%;

    width: 560px;
    height: 560px;

    transform: translateY(-50%);

    background:
        url("/wp-content/uploads/2026/08/ammonite-background.png")
        center / contain no-repeat;

    opacity: .055;
}

.ast-massage-faq__inner {
    position: relative;
    z-index: 2;

    width: min(calc(100% - 80px), 1050px);

    margin: 0 auto;
}

.ast-massage-faq__header {
    margin-bottom: 55px;

    text-align: center;
}

.ast-massage-faq__eyebrow {
    display: inline-flex;
    align-items: center;

    gap: 13px;

    margin-bottom: 16px;

    color: var(--gold);

    font-family: var(--font-heading);
    font-size: 11px;
    font-weight: 750;

    letter-spacing: 1.7px;
    text-transform: uppercase;
}

.ast-massage-faq__eyebrow::before,
.ast-massage-faq__eyebrow::after {
    content: "";

    width: 30px;
    height: 2px;

    background: var(--gold);
}

.ast-massage-faq__header h2 {
    margin: 0 0 18px;

    color: #fff;

    font-family: var(--font-heading);
    font-size: clamp(42px,4vw,58px);
    font-weight: 800;
    line-height: 1.04;

    letter-spacing: -.04em;
}

.ast-massage-faq__header h2 strong {
    color: var(--gold);
}

.ast-massage-faq__header p {
    margin: 0;

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

    font-family: var(--font-body);
    font-size: 15px;
}


/* FAQ ITEMS */

.ast-massage-faq details {
    border-top: 1px solid rgba(255,255,255,.15);
}

.ast-massage-faq details:last-child {
    border-bottom: 1px solid rgba(255,255,255,.15);
}

.ast-massage-faq summary {
    position: relative;

    display: flex;
    align-items: center;
    justify-content: space-between;

    min-height: 74px;

    padding: 0 5px;

    cursor: pointer;

    list-style: none;
}

.ast-massage-faq summary::-webkit-details-marker {
    display: none;
}

.ast-massage-faq summary span {
    color: #fff;

    font-family: var(--font-heading);
    font-size: 15px;
    font-weight: 700;
}

.ast-massage-faq summary i {
    position: relative;

    width: 18px;
    height: 18px;

    flex: 0 0 18px;
}

.ast-massage-faq summary i::before,
.ast-massage-faq summary i::after {
    content: "";

    position: absolute;

    left: 50%;
    top: 50%;

    background: var(--gold);

    transform: translate(-50%,-50%);
}

.ast-massage-faq summary i::before {
    width: 13px;
    height: 2px;
}

.ast-massage-faq summary i::after {
    width: 2px;
    height: 13px;

    transition: opacity .2s ease;
}

.ast-massage-faq details[open] summary i::after {
    opacity: 0;
}

.ast-massage-faq details[open] summary span {
    color: var(--gold);
}

.ast-massage-faq__answer {
    max-width: 850px;

    padding: 0 5px 26px;
}

.ast-massage-faq__answer p {
    margin: 0;

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

    font-family: var(--font-body);
    font-size: 15px;
    line-height: 1.8;
}



/* =========================================================
   TABLET
========================================================= */

@media (max-width: 1100px) {

    .ast-massage-hero__inner,
    .ast-massage-help__inner {
        gap: 50px;
    }

    .ast-massage-location {
        grid-template-columns: 1fr;
    }

    .ast-massage-location__image {
        height: 300px;
    }

    .ast-massage-feature__steps {
        grid-template-columns: 1fr;
    }

    .ast-massage-feature__steps article + article {
        padding-left: 0;

        border-left: 0;
        border-top: 1px solid rgba(255,255,255,.14);
    }

}



/* =========================================================
   MOBILE
========================================================= */

@media (max-width: 767px) {

    .ast-massage-hero {
        padding: 75px 0 85px;
    }

    .ast-massage-hero__inner,
    .ast-massage-help__inner,
    .ast-massage-who__inner,
    .ast-massage-choice__inner {
        grid-template-columns: 1fr;

        width: calc(100% - 36px);

        gap: 45px;
    }

    .ast-massage-hero__image {
        height: 390px;
    }

    .ast-massage-hero__visual {
        padding-right: 0;
        padding-bottom: 65px;
    }

    .ast-massage-hero__review {
        right: 15px;

        width: calc(100% - 30px);
        max-width: 310px;
    }

    .ast-massage-hero__actions {
        align-items: flex-start;
        flex-direction: column;
    }


    .ast-massage-help {
        padding: 80px 0;
    }

    .ast-massage-help__list {
        grid-template-columns: 1fr;
    }

    .ast-massage-help__list article:nth-child(odd) {
        border-right: 0;
    }


    .ast-massage-feature {
        grid-template-columns: 1fr;
    }

    .ast-massage-feature__image {
        min-height: 430px;
        height: 430px;
    }

    .ast-massage-feature__content {
        padding: 65px 25px;
    }


    .ast-massage-who,
    .ast-massage-locations,
    .ast-massage-review,
    .ast-massage-choice,
    .ast-massage-faq {
        padding-top: 80px;
        padding-bottom: 80px;
    }

    .ast-massage-locations__inner,
    .ast-massage-faq__inner {
        width: calc(100% - 36px);
    }

    .ast-massage-locations__grid {
        grid-template-columns: 1fr;
    }

    .ast-massage-location__content {
        padding: 30px 24px;
    }

    .ast-massage-location__actions {
        align-items: flex-start;
        flex-direction: column;
    }


    .ast-massage-review {
        padding-left: 20px;
        padding-right: 20px;
    }

    .ast-massage-review__quote {
        font-size: 180px;
    }


    .ast-massage-faq summary {
        min-height: 70px;

        gap: 20px;
    }

    .ast-massage-faq summary span {
        font-size: 14px;
    }

}

.ast-location-card__actions {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 14px;
    margin-top: auto;
}

.ast-location-card__button {
    display: inline-flex;
    align-items: center;
    justify-content: space-between;
    gap: 28px;

    width: 190px;
    min-height: 52px;
    padding: 0 20px;

    background: var(--gold);
    color: var(--navy) !important;

    font-family: var(--font-heading);
    font-size: 10px;
    font-weight: 700;
    letter-spacing: .4px;
    text-transform: uppercase;
    text-decoration: none !important;
}

.ast-location-card__button span {
    font-size: 18px;
    line-height: 1;
}

.ast-location-card__button:hover {
    background: var(--navy);
    color: #fff !important;
}

.ast-location-card__link {
    display: inline-block;

    padding-bottom: 6px;

    border-bottom: 1px solid rgba(var(--navy-rgb), .25);

    color: var(--navy) !important;

    font-family: var(--font-heading);
    font-size: 10px;
    font-weight: 700;
    letter-spacing: .4px;
    text-transform: uppercase;
    text-decoration: none !important;
}

.ast-location-card__link:hover {
    color: var(--gold) !important;
    border-color: var(--gold);
}

/* =========================================================
   BOOK APPOINTMENT PAGE
========================================================= */

.ast-book-page {
    position: relative;

    display: flex;
    align-items: center;

    min-height: 72vh;
    padding: 110px 30px;

    overflow: hidden;

    background: #f6f2eb;
}


/* AMMONITE BACKGROUND */

.ast-book-page::before {
    content: "";

    position: absolute;
    left: -170px;
    top: 50%;

    width: 700px;
    height: 700px;

    transform: translateY(-50%);

    background-image: url("YOUR-AMMONITE-BACKGROUND-IMAGE");
    background-repeat: no-repeat;
    background-position: center;
    background-size: contain;

    opacity: 0.045;

    pointer-events: none;
}


/* INNER */

.ast-book-page__inner {
    position: relative;
    z-index: 2;

    width: min(100%, 950px);

    margin: 0 auto;

    text-align: center;
}


/* EYEBROW */

.ast-book-page__eyebrow {
    display: inline-flex;
    align-items: center;
    gap: 14px;

    margin-bottom: 20px;

    color: var(--gold);

    font-family: var(--font-heading);
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 1.6px;

    text-transform: uppercase;
}

.ast-book-page__eyebrow::before,
.ast-book-page__eyebrow::after {
    content: "";

    width: 34px;
    height: 2px;

    background: var(--gold);
}


/* TITLE */

.ast-book-page h1 {
    margin: 0 0 24px;

    color: var(--navy);

    font-family: var(--font-heading);
    font-size: clamp(52px, 6vw, 78px);
    font-weight: 800;
    line-height: 1;

    letter-spacing: -0.045em;
}

.ast-book-page h1 strong {
    color: var(--gold);
}


/* INTRO */

.ast-book-page__inner > p {
    max-width: 620px;

    margin: 0 auto 50px;

    color: var(--body-text);

    font-family: var(--font-body);
    font-size: 16px;
    line-height: 1.75;
}


/* BUTTONS */

.ast-book-page__buttons {
    display: grid;
    grid-template-columns: 1fr 1fr;

    gap: 20px;
}


/* BUTTON */

.ast-book-page__button {
    display: flex;
    align-items: center;
    justify-content: space-between;

    min-height: 120px;

    padding: 26px 30px;

    background: var(--navy);
    color: #fff !important;

    border: 1px solid var(--navy);

    text-align: left;
    text-decoration: none !important;

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

.ast-book-page__button:hover {
    background: var(--gold);
    border-color: var(--gold);

    color: var(--navy) !important;

    transform: translateY(-3px);
}


/* BUTTON TEXT */

.ast-book-page__button span {
    display: flex;
    flex-direction: column;
    gap: 5px;

    font-family: var(--font-heading);
    font-size: 18px;
    font-weight: 750;
    line-height: 1.25;
}

.ast-book-page__button small {
    color: var(--gold);

    font-size: 10px;
    font-weight: 700;
    letter-spacing: 1.3px;

    text-transform: uppercase;
}

.ast-book-page__button:hover small {
    color: var(--navy);
}


/* ARROW */

.ast-book-page__button b {
    flex: 0 0 auto;

    margin-left: 25px;

    color: var(--gold);

    font-size: 24px;
    font-weight: 400;
}

.ast-book-page__button:hover b {
    color: var(--navy);
}


/* =========================================================
   MOBILE
========================================================= */

@media (max-width: 767px) {

    .ast-book-page {
        min-height: auto;

        padding: 90px 20px;
    }

    .ast-book-page::before {
        left: -250px;

        width: 600px;
        height: 600px;
    }

    .ast-book-page__buttons {
        grid-template-columns: 1fr;
    }

    .ast-book-page__button {
        min-height: 105px;

        padding: 22px;
    }

    .ast-book-page__button span {
        font-size: 16px;
    }

}

/* =========================================================
   SPORTS MASSAGE HERO
========================================================= */

.ast-massage-hero {
    position: relative;
    overflow: hidden;
    padding: 110px 0 125px;
    background: #f6f2eb;
}


/* AMMONITE WATERMARK */

.ast-massage-hero::before {
    content: "";

    position: absolute;
    left: -150px;
    top: 50%;

    width: 690px;
    height: 690px;

    transform: translateY(-50%);

    background-image: url("http://ammonitesportstherapy.co.uk/wp-content/uploads/2026/07/winkle_12055627.svg");
    background-repeat: no-repeat;
    background-position: center;
    background-size: contain;

    opacity: 0.045;

    pointer-events: none;
    z-index: 0;
}


/* INNER */

.ast-massage-hero__inner {
    position: relative;
    z-index: 2;

    display: grid;
    grid-template-columns: .88fr 1.12fr;
    align-items: center;

    gap: 65px;

    width: min(calc(100% - 80px), 1360px);
    margin: 0 auto;
}


/* CONTENT */

.ast-massage-hero__content {
    max-width: 620px;
}


/* EYEBROW */

.ast-massage-hero .ast-massage-eyebrow {
    display: flex;
    align-items: center;
    gap: 12px;

    margin: 0 0 18px;

    color: var(--gold);

    font-family: var(--font-heading);
    font-size: 11px;
    font-weight: 700;
    line-height: 1.2;

    letter-spacing: 1.7px;
    text-transform: uppercase;
}

.ast-massage-hero .ast-massage-eyebrow::before {
    content: "";

    width: 30px;
    height: 2px;

    flex: 0 0 30px;

    background: var(--gold);
}


/* H2 â€” SPORTS MASSAGE */

.ast-massage-hero h2 {
    margin: 0 0 28px !important;

    color: var(--navy) !important;

    font-family: var(--font-heading) !important;
    font-size: clamp(52px, 5.2vw, 78px) !important;
    font-weight: 800 !important;
    line-height: .98 !important;

    letter-spacing: -.045em !important;
}


/* LEAD TEXT */

.ast-massage-hero__lead {
    margin: 0 0 18px;

    color: #183247;

    font-family: var(--font-body);
    font-size: 19px;
    font-weight: 500;
    line-height: 1.65;
}


/* SECOND PARAGRAPH */

.ast-massage-hero__content > p:not(.ast-massage-hero__lead) {
    max-width: 570px;

    margin: 0 0 34px;

    color: var(--body-text);

    font-family: var(--font-body);
    font-size: 16px;
    line-height: 1.75;
}


/* ACTIONS */

.ast-massage-hero__actions {
    display: flex;
    align-items: center;
    gap: 26px;
}

.ast-massage-hero__locations {
    color: #183247;

    font-family: var(--font-heading);
    font-size: 12px;
    font-weight: 700;

    text-transform: uppercase;
}

.ast-massage-hero__locations i {
    margin: 0 8px;

    color: var(--gold);
    font-style: normal;
}


/* BUTTON */

.ast-massage-hero .ast-massage-button {
    display: inline-flex;
    align-items: center;
    justify-content: space-between;
    gap: 35px;

    min-height: 54px;
    padding: 0 22px;

    background: var(--gold);
    color: var(--navy) !important;

    font-family: var(--font-heading);
    font-size: 11px;
    font-weight: 700;

    letter-spacing: .4px;
    text-decoration: none !important;
    text-transform: uppercase;

    transition:
        transform .25s ease,
        background .25s ease;
}

.ast-massage-hero .ast-massage-button:hover {
    background: var(--gold);
    transform: translateY(-2px);
}

.ast-massage-hero .ast-massage-button span {
    font-size: 18px;
}


/* IMAGE AREA */

.ast-massage-hero__visual {
    position: relative;
    padding: 0 28px 35px 0;
}

.ast-massage-hero__image {
    overflow: hidden;
    height: 540px;
    border-radius: 10px;
}

.ast-massage-hero__image img {
    width: 100%;
    height: 100%;

    display: block;

    object-fit: cover;
}


/* REVIEW CARD */

.ast-massage-hero__review {
    position: absolute;
    right: 0;
    bottom: 0;

    width: 310px;

    padding: 25px 28px;

    background: var(--navy);

    border-radius: 6px;

    box-shadow: 0 18px 40px rgba(var(--navy-rgb), .16);
}

.ast-massage-hero__review > span {
    display: block;

    margin-bottom: 7px;

    color: var(--gold);

    letter-spacing: 2px;
}

.ast-massage-hero__review strong {
    display: block;

    margin-bottom: 8px;

    color: #fff;

    font-family: var(--font-heading);
    font-size: 15px;
    font-weight: 700;
}

.ast-massage-hero__review p {
    margin: 0;

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

    font-family: var(--font-body);
    font-size: 14px;
    line-height: 1.6;
}


/* =========================================================
   TABLET
========================================================= */

@media (max-width: 1000px) {

    .ast-massage-hero__inner {
        grid-template-columns: 1fr;
        gap: 50px;
    }

    .ast-massage-hero__content {
        max-width: 700px;
    }

    .ast-massage-hero__visual {
        max-width: 760px;
    }

}


/* =========================================================
   MOBILE
========================================================= */

@media (max-width: 767px) {

    .ast-massage-hero {
        padding: 75px 0 85px;
    }

    .ast-massage-hero::before {
        left: -270px;

        width: 560px;
        height: 560px;

        opacity: .04;
    }

    .ast-massage-hero__inner {
        width: calc(100% - 36px);
        gap: 42px;
    }

    .ast-massage-hero h2 {
        font-size: clamp(46px, 15vw, 64px) !important;
        line-height: .98 !important;
    }

    .ast-massage-hero__actions {
        flex-direction: column;
        align-items: flex-start;
    }

    .ast-massage-hero__visual {
        padding-right: 0;
        padding-bottom: 65px;
    }

    .ast-massage-hero__image {
        height: 390px;
    }

    .ast-massage-hero__review {
        right: 15px;

        width: calc(100% - 30px);
        max-width: 310px;
    }

}
/* =========================================================
   BOOK APPOINTMENT PAGE
========================================================= */

.ast-book-page {
    position: relative;
    overflow: hidden;

    display: flex;
    align-items: center;

    min-height: 72vh;
    padding: 120px 30px;

    background: #ffffff;
}


/* =========================================================
   FADED AMMONITE BACKGROUND
========================================================= */

.ast-book-page::before {
    content: "";

    position: absolute;
    left: -120px;
    top: 50%;

    width: 720px;
    height: 720px;

    transform: translateY(-50%);

    background-image: url("http://ammonitesportstherapy.co.uk/wp-content/uploads/2026/07/winkle_12055627.svg");
    background-repeat: no-repeat;
    background-position: center;
    background-size: contain;

    opacity: 0.045;

    pointer-events: none;
    z-index: 0;
}


/* =========================================================
   INNER
========================================================= */

.ast-book-page__inner {
    position: relative;
    z-index: 2;

    width: min(100%, 950px);
    margin: 0 auto;

    text-align: center;
}


/* =========================================================
   EYEBROW
========================================================= */

.ast-book-page__eyebrow {
    display: inline-flex;
    align-items: center;
    gap: 14px;

    margin-bottom: 20px;

    color: var(--gold);

    font-family: var(--font-heading);
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 1.7px;

    text-transform: uppercase;
}

.ast-book-page__eyebrow::before,
.ast-book-page__eyebrow::after {
    content: "";

    width: 34px;
    height: 2px;

    background: var(--gold);
}


/* =========================================================
   TITLE
========================================================= */

.ast-book-page h1 {
    margin: 0 0 24px;

    color: var(--navy);

    font-family: var(--font-heading);
    font-size: clamp(52px, 6vw, 78px);
    font-weight: 800;
    line-height: 1;

    letter-spacing: -0.045em;
}

.ast-book-page h1 strong {
    color: var(--gold);
}


/* =========================================================
   INTRO
========================================================= */

.ast-book-page__inner > p {
    max-width: 610px;

    margin: 0 auto 48px;

    color: var(--body-text);

    font-family: var(--font-body);
    font-size: 16px;
    line-height: 1.75;
}


/* =========================================================
   BUTTON GRID
========================================================= */

.ast-book-page__buttons {
    display: grid;
    grid-template-columns: 1fr 1fr;

    gap: 22px;
}


/* =========================================================
   LOCATION BUTTONS
========================================================= */

.ast-book-page__button {
    display: flex;
    align-items: center;
    justify-content: space-between;

    min-height: 125px;
    padding: 26px 30px;

    background: var(--navy);
    color: #ffffff !important;

    border: 1px solid var(--navy);
    border-radius: 4px;

    text-align: left;
    text-decoration: none !important;

    transition:
        transform .25s ease,
        background .25s ease,
        border-color .25s ease,
        box-shadow .25s ease;
}

.ast-book-page__button:hover {
    background: var(--gold);
    border-color: var(--gold);

    color: var(--navy) !important;

    transform: translateY(-3px);

    box-shadow: 0 14px 35px rgba(var(--navy-rgb), .12);
}


/* BUTTON TEXT */

.ast-book-page__button > span {
    display: flex;
    flex-direction: column;

    gap: 6px;

    font-family: var(--font-heading);
    font-size: 18px;
    font-weight: 750;
    line-height: 1.25;
}

.ast-book-page__button small {
    color: var(--gold);

    font-family: var(--font-heading);
    font-size: 10px;
    font-weight: 700;
    letter-spacing: 1.4px;

    text-transform: uppercase;
}

.ast-book-page__button:hover small {
    color: var(--navy);
}


/* ARROW */

.ast-book-page__button b {
    flex: 0 0 auto;

    margin-left: 28px;

    color: var(--gold);

    font-size: 25px;
    font-weight: 400;
    line-height: 1;
}

.ast-book-page__button:hover b {
    color: var(--navy);
}


/* =========================================================
   MOBILE
========================================================= */

@media (max-width: 767px) {

    .ast-book-page {
        min-height: auto;

        padding: 85px 20px;
    }

    .ast-book-page::before {
        left: -250px;
        top: 52%;

        width: 600px;
        height: 600px;

        opacity: 0.04;
    }

    .ast-book-page__buttons {
        grid-template-columns: 1fr;
        gap: 16px;
    }

    .ast-book-page__button {
        min-height: 108px;
        padding: 22px 24px;
    }

    .ast-book-page__button > span {
        font-size: 16px;
    }

}
/* =========================================================
   INJURY REHABILITATION
========================================================= */

.ast-rehab-hero *,
.ast-rehab-pathway *,
.ast-rehab-help *,
.ast-rehab-feature *,
.ast-rehab-locations *,
.ast-rehab-testimonial *,
.ast-rehab-faq * {
    box-sizing: border-box;
}


/* =========================================================
   SHARED
========================================================= */

.ast-rehab-eyebrow {
    display: flex;
    align-items: center;
    gap: 12px;

    margin: 0 0 18px;

    color: var(--gold);

    font-family: var(--font-heading);
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 1.7px;
    text-transform: uppercase;
}

.ast-rehab-eyebrow::before {
    content: "";

    width: 30px;
    height: 2px;

    background: var(--gold);
}


.ast-rehab-button {
    display: inline-flex;
    align-items: center;
    justify-content: space-between;
    gap: 35px;

    min-height: 54px;
    padding: 0 22px;

    background: var(--gold);
    color: var(--navy) !important;

    font-family: var(--font-heading);
    font-size: 11px;
    font-weight: 700;
    text-transform: uppercase;
    text-decoration: none !important;
}

.ast-rehab-button span {
    font-size: 18px;
}



/* =========================================================
   HERO
========================================================= */

.ast-rehab-hero {
    position: relative;
    overflow: hidden;

    padding: 115px 0;

    background: #f6f2eb;
}

.ast-rehab-hero::after {
    content: "";

    position: absolute;
    right: -190px;
    bottom: -220px;

    width: 650px;
    height: 650px;

    background:
        url("http://ammonitesportstherapy.co.uk/wp-content/uploads/2026/07/winkle_12055627.svg")
        center / contain no-repeat;

    opacity: .035;
}

.ast-rehab-hero__inner {
    position: relative;
    z-index: 2;

    display: grid;
    grid-template-columns: 1.08fr .92fr;
    align-items: center;

    gap: 75px;

    width: min(calc(100% - 80px), 1320px);

    margin: auto;
}


/* IMAGE LEFT */

.ast-rehab-hero__visual {
    position: relative;

    min-height: 590px;
}

.ast-rehab-hero__visual > img {
    position: absolute;
    inset: 0;

    width: 100%;
    height: 100%;

    object-fit: cover;

    border-radius: 8px;
}

.ast-rehab-hero__badge {
    position: absolute;
    right: -25px;
    bottom: 35px;

    padding: 21px 25px;

    background: var(--navy);

    color: #fff;
}

.ast-rehab-hero__badge span {
    display: block;

    margin-bottom: 5px;

    color: var(--gold);

    font-family: var(--font-heading);
    font-size: 10px;
    font-weight: 700;

    text-transform: uppercase;
}

.ast-rehab-hero__badge strong {
    font-family: var(--font-heading);
    font-size: 14px;
}


/* HERO COPY */

.ast-rehab-hero h1 {
    margin: 0 0 25px;

    color: var(--navy);

    font-family: var(--font-heading);
    font-size: clamp(55px, 5vw, 78px);
    font-weight: 800;
    line-height: .98;

    letter-spacing: -.045em;
}

.ast-rehab-hero h1 strong {
    display: block;

    color: var(--gold);
}

.ast-rehab-hero__lead {
    margin: 0 0 18px;

    color: #183247;

    font-family: var(--font-body);
    font-size: 19px;
    font-weight: 600;
    line-height: 1.65;
}

.ast-rehab-hero__content > p:not(.ast-rehab-hero__lead) {
    margin: 0 0 32px;

    color: var(--body-text);


    font-family: var(--font-body);
    font-size: 16px;
    line-height: 1.75;
}

.ast-rehab-hero__actions {
    display: flex;
    align-items: center;
    gap: 25px;
}

.ast-rehab-hero__locations {
    color: var(--navy);

    font-family: var(--font-heading);
    font-size: 11px;
    font-weight: 700;

    text-transform: uppercase;
}

.ast-rehab-hero__locations i {
    margin: 0 7px;

    color: var(--gold);
    font-style: normal;
}



/* =========================================================
   RECOVERY PATHWAY
========================================================= */

.ast-rehab-pathway {
    padding: 120px 0;

    background: #fff;
}

.ast-rehab-pathway__inner {
    width: min(calc(100% - 80px), 1320px);

    margin: auto;
}

.ast-rehab-pathway__header {
    max-width: 720px;

    margin-bottom: 65px;
}

.ast-rehab-pathway h2 {
    margin: 0 0 20px;

    color: var(--navy);

    font-family: var(--font-heading);
    font-size: clamp(42px, 4vw, 60px);
    font-weight: 800;
    line-height: 1.03;

    letter-spacing: -.04em;
}

.ast-rehab-pathway h2 strong {
    color: var(--gold);
}

.ast-rehab-pathway__header > p {
       color: var(--body-text);


    font-family: var(--font-body);
    font-size: 16px;
    line-height: 1.75;
}


/* STEPS */

.ast-rehab-pathway__steps {
    display: grid;
    grid-template-columns: repeat(4,1fr);

    border-top: 1px solid rgba(var(--navy-rgb), .14);
    border-bottom: 1px solid rgba(var(--navy-rgb), .14);
}

.ast-rehab-pathway__steps article {
    position: relative;

    padding: 38px 32px 42px;
}

.ast-rehab-pathway__steps article + article {
    border-left: 1px solid rgba(var(--navy-rgb), .14);
}

.ast-rehab-pathway__step {
    display: block;

    margin-bottom: 28px;

    color: var(--gold);

    font-family: var(--font-heading);
    font-size: 11px;
    font-weight: 800;
}

.ast-rehab-pathway__icon {
    display: flex;
    align-items: center;
    justify-content: center;

    width: 40px;
    height: 40px;

    margin-bottom: 20px;

    background: var(--gold);

    border-radius: 50%;

    color: var(--navy);

    font-size: 16px;
    font-weight: 800;
}

.ast-rehab-pathway h3 {
    margin: 0 0 12px;

    color: var(--navy);

    font-family: var(--font-heading);
    font-size: 21px;
    font-weight: 800;
}

.ast-rehab-pathway__steps p {
    margin: 0;

    color: var(--body-text);

    font-family: var(--font-body);
    font-size: 14px;
    line-height: 1.7;
}



/* =========================================================
   WHAT WE REHABILITATE
========================================================= */

.ast-rehab-help {
    position: relative;
    overflow: hidden;

    padding: 120px 0;

    background: #f6f2eb;
}

.ast-rehab-help::after {
    content: "";

    position: absolute;
    right: -150px;
    bottom: -180px;

    width: 560px;
    height: 560px;

    background:
        url("http://ammonitesportstherapy.co.uk/wp-content/uploads/2026/07/winkle_12055627.svg")
        center / contain no-repeat;

    opacity: .035;
}

.ast-rehab-help__inner {
    position: relative;
    z-index: 2;

    width: min(calc(100% - 80px), 1250px);

    margin: auto;
}

.ast-rehab-help__heading {
    display: grid;
    grid-template-columns: 1fr .8fr;

    gap: 100px;

    margin-bottom: 60px;
}

.ast-rehab-help h2 {
    margin: 0;

    color: var(--navy);

    font-family: var(--font-heading);
    font-size: clamp(42px,4vw,58px);
    font-weight: 800;
    line-height: 1.05;

    letter-spacing: -.04em;
}

.ast-rehab-help h2 strong {
    display: block;

    color: var(--gold);
}

.ast-rehab-help__heading > p {
    align-self: end;

    color: var(--body-text);

    font-family: var(--font-body);
    font-size: 16px;
    line-height: 1.75;
}

.ast-rehab-help__grid {
    display: grid;
    grid-template-columns: repeat(3,1fr);
}

.ast-rehab-help__grid article {
    min-height: 190px;

    padding: 34px;

    border-top: 1px solid rgba(var(--navy-rgb), .13);
    border-right: 1px solid rgba(var(--navy-rgb), .13);
}

.ast-rehab-help__grid article:nth-child(3n) {
    border-right: 0;
}

.ast-rehab-help h3 {
    margin: 0 0 12px;

    color: var(--navy);

    font-family: var(--font-heading);
    font-size: 18px;
    font-weight: 800;
}

.ast-rehab-help__grid p {
    margin: 0;

    color: var(--body-text);

    font-family: var(--font-body);
    font-size: 14px;
    line-height: 1.7;
}



/* =========================================================
   FEATURE
========================================================= */

.ast-rehab-feature {
    position: relative;

    min-height: 720px;

    overflow: hidden;
}

.ast-rehab-feature__background,
.ast-rehab-feature__background img {
    position: absolute;
    inset: 0;

    width: 100%;
    height: 100%;
}

.ast-rehab-feature__background img {
    object-fit: cover;
}

.ast-rehab-feature__overlay {
    position: absolute;
    inset: 0;

    background:
        linear-gradient(
            90deg,
            rgba(var(--navy-rgb), .2) 0%,
            rgba(var(--navy-rgb), .55) 45%,
            rgba(var(--navy-rgb), .94) 100%
        );
}

.ast-rehab-feature__inner {
    position: relative;
    z-index: 2;

    display: flex;
    justify-content: flex-end;
    align-items: center;

    width: min(calc(100% - 80px), 1320px);
    min-height: 720px;

    margin: auto;
}

.ast-rehab-feature__content {
    width: 52%;
    max-width: 650px;
}

.ast-rehab-feature h2 {
    margin: 0 0 24px;

    color: #fff;

    font-family: var(--font-heading);
    font-size: clamp(44px,4vw,62px);
    font-weight: 800;
    line-height: 1.02;

    letter-spacing: -.04em;
}

.ast-rehab-feature h2 strong {
    display: block;

    color: var(--gold);
}

.ast-rehab-feature__content > p {
    margin-bottom: 30px;

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

    font-family: var(--font-body);
    font-size: 16px;
    line-height: 1.75;
}

.ast-rehab-feature__points {
    display: grid;
    grid-template-columns: 1fr 1fr;

    gap: 10px;

    margin-bottom: 35px;
}

.ast-rehab-feature__points > div {
    display: flex;
    align-items: center;

    gap: 12px;

    padding: 15px;

    background: rgba(255,255,255,.1);

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

.ast-rehab-feature__points span {
    color: var(--gold);
    font-weight: 800;
}

.ast-rehab-feature__points p {
    margin: 0;

    color: #fff;

    font-family: var(--font-body);
    font-size: 13px;
}



/* =========================================================
   LOCATIONS
========================================================= */

.ast-rehab-locations {
    padding: 120px 0;

    background: #fff;
}

.ast-rehab-locations__inner {
    width: min(calc(100% - 80px), 1220px);

    margin: auto;
}

.ast-rehab-locations__header {
    max-width: 780px;

    margin: 0 auto 60px;

    text-align: center;
}

.ast-rehab-locations__header .ast-rehab-eyebrow {
    justify-content: center;
}

.ast-rehab-locations h2 {
    margin: 0 0 18px;

    color: var(--navy);

    font-family: var(--font-heading);
    font-size: clamp(42px,4vw,58px);
    font-weight: 800;
    line-height: 1.05;

    letter-spacing: -.04em;
}

.ast-rehab-locations h2 strong {
    color: var(--gold);
}

.ast-rehab-locations__header p {
    color: var(--body-text);

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


/* CARDS */

.ast-rehab-locations__grid {
    display: grid;
    grid-template-columns: 1fr 1fr;

    gap: 28px;
}

.ast-rehab-location {
    display: grid;
    grid-template-columns: 1fr 1fr;

    min-height: 430px;

    background: #f6f2eb;
}

.ast-rehab-location__image {
    position: relative;
}

.ast-rehab-location__image img {
    width: 100%;
    height: 100%;

    object-fit: cover;
}

.ast-rehab-location__image > span {
    position: absolute;
    left: 20px;
    bottom: 20px;

    padding: 9px 13px;

    background: var(--navy);

    color: #fff;

    font-family: var(--font-heading);
    font-size: 10px;
    font-weight: 700;

    text-transform: uppercase;
}

.ast-rehab-location__content {
    display: flex;
    flex-direction: column;
    justify-content: center;

    padding: 35px;
}

.ast-rehab-location h3 {
    margin: 0 0 17px;

    color: var(--navy);

    font-family: var(--font-heading);
    font-size: 23px;
    font-weight: 800;
    line-height: 1.15;
}

.ast-rehab-location__content p,
.ast-rehab-location address {
    color: var(--body-text);

    font-family: var(--font-body);
    font-size: 14px;
    line-height: 1.7;
}

.ast-rehab-location address {
    margin: 0 0 25px;

    color: #183247;
    font-style: normal;
}

.ast-rehab-location__content > a {
    display: inline-flex;
    align-items: center;
    align-self: flex-start;

    gap: 22px;

    color: var(--navy) !important;

    font-family: var(--font-heading);
    font-size: 10px;
    font-weight: 800;

    text-decoration: none !important;
    text-transform: uppercase;
}

.ast-rehab-location__content > a span {
    color: var(--gold);
    font-size: 18px;
}



/* =========================================================
   TESTIMONIAL
========================================================= */

.ast-rehab-testimonial {
    position: relative;
    overflow: hidden;

    padding: 115px 30px;

    background: #f6f2eb;

    text-align: center;
}

.ast-rehab-testimonial__quote {
    position: absolute;

    left: 50%;
    top: 15px;

    transform: translateX(-50%);

    color: var(--navy);

    font-family: var(--font-heading);
    font-size: 260px;

    opacity: .035;
}

.ast-rehab-testimonial__inner {
    position: relative;
    z-index: 2;

    max-width: 1000px;

    margin: auto;
}

.ast-rehab-testimonial .ast-rehab-eyebrow {
    justify-content: center;
}

.ast-rehab-testimonial__stars {
    margin-bottom: 24px;

    color: var(--gold);

    font-size: 18px;
    letter-spacing: 3px;
}

.ast-rehab-testimonial blockquote {
    margin: 0;
}

.ast-rehab-testimonial blockquote p {
    margin: 0 0 30px;

    color: var(--body-text);

    font-family: var(--font-body);
    font-size: clamp(28px,3vw,42px);
    font-weight: 750;
    line-height: 1.3;
}

.ast-rehab-testimonial strong {
    display: block;

    color: var(--navy);

    font-family: var(--font-heading);
    font-size: 13px;
}

.ast-rehab-testimonial__inner > span:last-child {
    color: #607180;

    font-family: var(--font-body);
    font-size: 12px;
}



/* =========================================================
   FAQ
========================================================= */

.ast-rehab-faq {
    position: relative;
    overflow: hidden;

    padding: 115px 0;

    background: var(--navy);
}

.ast-rehab-faq::before {
    content: "";

    position: absolute;
    left: -180px;
    top: 50%;

    width: 560px;
    height: 560px;

    transform: translateY(-50%);

    background:
        url("http://ammonitesportstherapy.co.uk/wp-content/uploads/2026/07/winkle_12055627.svg")
        center / contain no-repeat;

    opacity: .05;
}

.ast-rehab-faq__inner {
    position: relative;
    z-index: 2;

    width: min(calc(100% - 80px), 1050px);

    margin: auto;
}

.ast-rehab-faq__header {
    margin-bottom: 55px;

    text-align: center;
}

.ast-rehab-faq__eyebrow {
    color: var(--gold);

    font-family: var(--font-heading);
    font-size: 11px;
    font-weight: 700;

    letter-spacing: 1.6px;
    text-transform: uppercase;
}

.ast-rehab-faq h2 {
    margin: 16px 0 18px;

    color: #fff;

    font-family: var(--font-heading);
    font-size: clamp(42px,4vw,58px);
    font-weight: 800;

    letter-spacing: -.04em;
}

.ast-rehab-faq h2 strong {
    color: var(--gold);
}

.ast-rehab-faq__header p {
    color: rgba(255,255,255,.65);

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


/* ITEMS */

.ast-rehab-faq details {
    border-top: 1px solid rgba(255,255,255,.15);
}

.ast-rehab-faq details:last-child {
    border-bottom: 1px solid rgba(255,255,255,.15);
}

.ast-rehab-faq summary {
    display: flex;
    align-items: center;
    justify-content: space-between;

    min-height: 74px;

    cursor: pointer;

    list-style: none;
}

.ast-rehab-faq summary::-webkit-details-marker {
    display: none;
}

.ast-rehab-faq summary span {
    color: #fff;

    font-family: var(--font-heading);
    font-size: 15px;
    font-weight: 700;
}

.ast-rehab-faq summary i {
    position: relative;

    width: 18px;
    height: 18px;
}

.ast-rehab-faq summary i::before,
.ast-rehab-faq summary i::after {
    content: "";

    position: absolute;
    left: 50%;
    top: 50%;

    background: var(--gold);

    transform: translate(-50%,-50%);
}

.ast-rehab-faq summary i::before {
    width: 13px;
    height: 2px;
}

.ast-rehab-faq summary i::after {
    width: 2px;
    height: 13px;
}

.ast-rehab-faq details[open] summary i::after {
    display: none;
}

.ast-rehab-faq details[open] summary span {
    color: var(--gold);
}

.ast-rehab-faq__answer {
    max-width: 850px;

    padding-bottom: 28px;
}

.ast-rehab-faq__answer p {
    margin: 0;

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

    font-family: var(--font-body);
    font-size: 15px;
    line-height: 1.8;
}



/* =========================================================
   MOBILE
========================================================= */

@media (max-width: 767px) {

    .ast-rehab-hero,
    .ast-rehab-pathway,
    .ast-rehab-help,
    .ast-rehab-locations,
    .ast-rehab-testimonial,
    .ast-rehab-faq {
        padding-top: 80px;
        padding-bottom: 80px;
    }


    .ast-rehab-hero__inner,
    .ast-rehab-help__heading {
        grid-template-columns: 1fr;

        gap: 45px;

        width: calc(100% - 36px);
    }

    .ast-rehab-hero__visual {
        min-height: 410px;
    }

    .ast-rehab-hero__badge {
        right: 15px;
    }

    .ast-rehab-hero__actions {
        flex-direction: column;
        align-items: flex-start;
    }


    .ast-rehab-pathway__inner,
    .ast-rehab-help__inner,
    .ast-rehab-locations__inner,
    .ast-rehab-faq__inner {
        width: calc(100% - 36px);
    }


    .ast-rehab-pathway__steps {
        grid-template-columns: 1fr;
    }

    .ast-rehab-pathway__steps article + article {
        border-left: 0;
        border-top: 1px solid rgba(var(--navy-rgb), .14);
    }


    .ast-rehab-help__grid {
        grid-template-columns: 1fr;
    }

    .ast-rehab-help__grid article {
        border-right: 0;
    }


    .ast-rehab-feature,
    .ast-rehab-feature__inner {
        min-height: 680px;
    }

    .ast-rehab-feature__inner {
        width: calc(100% - 36px);

        align-items: flex-end;

        padding-bottom: 60px;
    }

    .ast-rehab-feature__overlay {
        background: rgba(var(--navy-rgb), .80);
    }

    .ast-rehab-feature__content {
        width: 100%;
    }

    .ast-rehab-feature__points {
        grid-template-columns: 1fr;
    }


    .ast-rehab-locations__grid {
        grid-template-columns: 1fr;
    }

    .ast-rehab-location {
        grid-template-columns: 1fr;
    }

    .ast-rehab-location__image {
        min-height: 310px;
    }

}

/* =========================================================
   SPORTS THERAPY INTRO â€” TITLE WRAPPING FIX
========================================================= */

.ast-sports-intro__inner {
    display: grid;
    grid-template-columns: 1.02fr 1fr;
    align-items: center;

    gap: 50px;

    width: min(calc(100% - 80px), 1320px);
    margin: 0 auto;
}


/* LEFT COLUMN */

.ast-sports-intro__content {
    width: 100%;
    max-width: 620px;
}


/* TITLE */

.ast-sports-intro h2 {
    margin: 0 0 28px !important;

    color: var(--navy) !important;

    font-family: var(--font-heading) !important;
    font-size: clamp(42px, 3.4vw, 56px) !important;
    font-weight: 800 !important;
    line-height: .98 !important;

    letter-spacing: -.045em !important;
}


/* FIRST LINE */

.ast-sports-intro h2 > span {
    display: block;

    white-space: nowrap;

    color: var(--navy) !important;
}


/* GOLD PART */

.ast-sports-intro h2 > strong {
    display: block;

    margin-top: 8px;

    color: var(--gold) !important;
    font-weight: 800 !important;
}


/* =========================================================
   TABLET
========================================================= */

@media (max-width: 1100px) {

    .ast-sports-intro__inner {
        grid-template-columns: 1fr 1fr;
        gap: 38px;
    }

    .ast-sports-intro h2 {
        font-size: clamp(38px, 4vw, 48px) !important;
    }

}


/* =========================================================
   MOBILE
========================================================= */

@media (max-width: 767px) {

    .ast-sports-intro__inner {
        grid-template-columns: 1fr;

        width: calc(100% - 36px);
        gap: 42px;ast-sports-intro__butto
    }

    .ast-sports-intro h2 {
        font-size: clamp(40px, 12vw, 54px) !important;
    }

    /* allow normal wrapping again on phones */
    .ast-sports-intro h2 > span {
        white-space: normal;
    }

}

.ast-sports-intro__inner {
    display: grid;
    grid-template-columns: 1.02fr 1fr;
    align-items: center;

    gap: 80px;

    width: min(calc(100% - 80px), 1320px);
    margin: 0 auto;
}

/* =========================================================
   SINGLE BLOG POST
========================================================= */

.amm-single-post-hero {
    position: relative;
    overflow: hidden;

    padding: 95px 30px 55px;

    background: #f6f2eb;
}

.amm-single-post-hero::before {
    content: "";

    position: absolute;
    left: -150px;
    top: 50%;

    width: 520px;
    height: 520px;

    transform: translateY(-50%);

    background-image:
        url("http://ammonitesportstherapy.co.uk/wp-content/uploads/2026/07/winkle_12055627.svg");

    background-repeat: no-repeat;
    background-position: center;
    background-size: contain;

    opacity: .035;

    pointer-events: none;
}

.amm-single-post-hero__inner {
    position: relative;
    z-index: 2;

    max-width: 980px;
    margin: 0 auto;

    text-align: center;
}

.amm-single-post-hero__eyebrow {
    display: inline-flex;
    align-items: center;
    gap: 14px;

    margin-bottom: 20px;

    color: var(--gold);

    font-family: var(--font-heading);
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 1.6px;

    text-transform: uppercase;
}

.amm-single-post-hero__eyebrow::before,
.amm-single-post-hero__eyebrow::after {
    content: "";

    width: 34px;
    height: 2px;

    background: var(--gold);
}

.amm-single-post-hero h1 {
    max-width: 920px;

    margin: 0 auto 18px !important;

    color: var(--navy) !important;

    font-family: var(--font-heading) !important;
    font-size: clamp(44px, 5vw, 70px) !important;
    font-weight: 800 !important;
    line-height: 1.03 !important;

    letter-spacing: -.045em !important;
}

.amm-single-post-hero__meta {
    color: #6d7d89;

    font-family: var(--font-body);
    font-size: 13px;
}


/* =========================================================
   FEATURED IMAGE
========================================================= */

.amm-single-post-image {
    padding: 0 30px 70px;

    background: #f6f2eb;
}

.amm-single-post-image__inner {
    max-width: 1180px;
    margin: 0 auto;
}

.amm-single-post-image img {
    display: block;

    width: 100%;
    height: 560px;

    object-fit: cover;

    border-radius: 8px;
}


/* =========================================================
   ARTICLE AREA
========================================================= */

.amm-blog-article {
    max-width: 850px;

    margin: 0 auto;

    padding: 75px 30px 110px;

    color: #304656;

    font-family: var(--font-body);
    font-size: 16px;
    line-height: 1.8;
}

.amm-blog-article__intro {
    margin-bottom: 30px !important;

    color: var(--navy) !important;

    font-size: 21px !important;
    font-weight: 500;
    line-height: 1.65 !important;
}

.amm-blog-article p {
    margin: 0 0 26px;
}

.amm-blog-article h2 {
    margin: 54px 0 18px !important;

    color: var(--navy) !important;

    font-family: var(--font-heading) !important;
    font-size: 31px !important;
    font-weight: 800 !important;
    line-height: 1.15 !important;

    letter-spacing: -.03em !important;
}

.amm-blog-article ul {
    margin: 0 0 30px;
    padding-left: 22px;
}

.amm-blog-article li {
    margin-bottom: 8px;
}

.amm-blog-article a {
    color: var(--gold);
    font-weight: 700;

    text-decoration: underline;
    text-underline-offset: 3px;
}


/* =========================================================
   MOBILE
========================================================= */

@media (max-width: 767px) {

    .amm-single-post-hero {
        padding: 70px 20px 40px;
    }

    .amm-single-post-image {
        padding: 0 20px 50px;
    }

    .amm-single-post-image img {
        height: 320px;
    }

    .amm-blog-article {
        padding: 55px 20px 80px;
    }

    .amm-blog-article h2 {
        font-size: 27px !important;
    }

}

/* =========================================================
   SINGLE POST TOP AREA
========================================================= */

.amm-single-post-top {
    position: relative;
    overflow: hidden;

    padding: 90px 30px 70px;

    background: #f6f2eb;
}


/* FAINT AMMONITE */

.amm-single-post-top::before {
    content: "";

    position: absolute;
    left: -170px;
    top: 120px;

    width: 520px;
    height: 520px;

    background-image:
        url("http://ammonitesportstherapy.co.uk/wp-content/uploads/2026/07/winkle_12055627.svg");

    background-repeat: no-repeat;
    background-position: center;
    background-size: contain;

    opacity: .035;

    pointer-events: none;
}


/* KEEP CONTENT ABOVE WATERMARK */

.amm-single-post-top > * {
    position: relative;
    z-index: 2;
}


/* POST TITLE */

.amm-single-post-top .elementor-widget-theme-post-title {
    max-width: 1050px;

    margin: 0 auto 22px;

    text-align: center;
}

.amm-single-post-top .elementor-widget-theme-post-title .elementor-heading-title {
    margin: 0 !important;

    color: var(--navy) !important;

    font-family: var(--font-heading) !important;
    font-size: clamp(44px, 5vw, 68px) !important;
    font-weight: 800 !important;
    line-height: 1.05 !important;

    letter-spacing: -.045em !important;
}


/* POST EXCERPT */

.amm-single-post-top .elementor-widget-theme-post-excerpt {
    max-width: 760px;

    margin: 0 auto 46px;

    text-align: center;
}

.amm-single-post-top .elementor-widget-theme-post-excerpt p {
    margin: 0;

    color: var(--body-text);

    font-family: var(--font-body);
    font-size: 17px;
    line-height: 1.7;
}


/* FEATURED IMAGE */

.amm-single-post-top .elementor-widget-theme-post-featured-image {
    max-width: 1180px;

    margin: 0 auto;
}

.amm-single-post-top .elementor-widget-theme-post-featured-image img {
    display: block;

    width: 100%;
    height: 560px;

    object-fit: cover;

    border-radius: 8px;
}


/* MOBILE */

@media (max-width: 767px) {

    .amm-single-post-top {
        padding: 70px 20px 50px;
    }

    .amm-single-post-top .elementor-widget-theme-post-title .elementor-heading-title {
        font-size: 42px !important;
    }

    .amm-single-post-top .elementor-widget-theme-post-excerpt {
        margin-bottom: 32px;
    }

    .amm-single-post-top .elementor-widget-theme-post-featured-image img {
        height: 300px;
    }

}

/* =========================================================
   AMMONITE BLOG POST
========================================================= */

.amm-post {
    background: #fff;
    overflow: hidden;
}


/* HERO */

.amm-post__hero {
    position: relative;
    overflow: hidden;

    padding: 95px 30px;

    background: #f6f2eb;
}

.amm-post__hero::before {
    content: "";

    position: absolute;
    left: -170px;
    bottom: -180px;

    width: 650px;
    height: 650px;

    background:
        url("http://ammonitesportstherapy.co.uk/wp-content/uploads/2026/07/winkle_12055627.svg")
        center / contain no-repeat;

    opacity: .04;
}

.amm-post__hero-inner {
    position: relative;
    z-index: 2;

    display: grid;
    grid-template-columns: .9fr 1.1fr;
    align-items: center;

    gap: 70px;

    width: min(calc(100% - 40px), 1300px);
    margin: 0 auto;
}

.amm-post__hero-content {
    max-width: 620px;
}

.amm-post__eyebrow {
    display: flex;
    align-items: center;
    gap: 12px;

    margin-bottom: 20px;

    color: var(--gold);

    font-family: var(--font-heading);
    font-size: 11px;
    font-weight: 700;

    letter-spacing: 1.6px;
    text-transform: uppercase;
}

.amm-post__eyebrow::before {
    content: "";

    width: 30px;
    height: 2px;

    background: var(--gold);
}

.amm-post__hero h1 {
    margin: 0 0 25px;

    color: var(--navy);

    font-family: var(--font-heading);
    font-size: clamp(46px, 4.5vw, 68px);
    font-weight: 800;
    line-height: 1.02;

    letter-spacing: -.045em;
}

.amm-post__hero h1 strong {
    display: block;
    color: var(--gold);
}

.amm-post__hero-content > p {
    margin: 0;

    color: var(--body-text);

    font-family: var(--font-body);
    font-size: 17px;
    line-height: 1.75;
}

.amm-post__hero-image {
    overflow: hidden;
    height: 520px;

    border-radius: 8px;
}

.amm-post__hero-image img {
    width: 100%;
    height: 100%;

    object-fit: cover;
    display: block;
}


/* ARTICLE */

.amm-post__article {
    width: min(calc(100% - 40px), 850px);

    margin: 0 auto;

    padding: 85px 0 100px;

    color: #304656;

    font-family: var(--font-body);
    font-size: 16px;
    line-height: 1.8;
}

.amm-post__article p {
    margin: 0 0 25px;
}

.amm-post__lead {
    color: var(--navy);

    font-size: 20px;
    font-weight: 500;
    line-height: 1.65;
}

.amm-post__article h2 {
    margin: 52px 0 18px;

    color: var(--navy);

    font-family: var(--font-heading);
    font-size: 31px;
    font-weight: 800;
    line-height: 1.15;

    letter-spacing: -.03em;
}

.amm-post__article ul {
    margin: 0 0 30px;
    padding-left: 22px;
}

.amm-post__article li {
    margin-bottom: 8px;
}

.amm-post__article a {
    color: var(--gold);
    font-weight: 700;

    text-decoration: underline;
    text-underline-offset: 3px;
}


/* HIGHLIGHT */

.amm-post__highlight {
    margin: 45px 0;

    padding: 30px 34px;

    border-left: 4px solid var(--gold);

    background: #f6f2eb;
}

.amm-post__highlight span {
    display: block;

    margin-bottom: 8px;

    color: var(--gold);

    font-family: var(--font-heading);
    font-size: 10px;
    font-weight: 700;

    letter-spacing: 1.4px;
    text-transform: uppercase;
}

.amm-post__highlight p {
    margin: 0;

    color: var(--body-text);

    font-family: var(--font-body);
    font-size: 20px;
    font-weight: 700;
    line-height: 1.5;
}


/* CTA */

.amm-post__cta {
    display: flex;
    align-items: center;
    justify-content: space-between;

    gap: 50px;

    width: min(calc(100% - 40px), 1180px);

    margin: 0 auto 100px;

    padding: 48px 55px;

    background: var(--navy);
}

.amm-post__cta > div > span {
    display: block;

    margin-bottom: 10px;

    color: var(--gold);

    font-family: var(--font-heading);
    font-size: 10px;
    font-weight: 700;

    letter-spacing: 1.4px;
    text-transform: uppercase;
}

.amm-post__cta h2 {
    margin: 0;

    color: #fff;

    font-family: var(--font-heading);
    font-size: 36px;
    font-weight: 800;
    line-height: 1.05;
}

.amm-post__cta h2 strong {
    color: var(--gold);
}

.amm-post__cta > a {
    display: inline-flex;
    align-items: center;
    justify-content: space-between;

    gap: 35px;

    min-width: 230px;
    min-height: 55px;

    padding: 0 22px;

    background: var(--gold);
    color: var(--navy) !important;

    font-family: var(--font-heading);
    font-size: 10px;
    font-weight: 700;

    text-decoration: none !important;
    text-transform: uppercase;
}


/* MOBILE */

@media (max-width: 767px) {

    .amm-post__hero {
        padding: 70px 20px;
    }

    .amm-post__hero-inner {
        grid-template-columns: 1fr;
        gap: 40px;

        width: 100%;
    }

    .amm-post__hero-image {
        height: 330px;
    }

    .amm-post__article {
        width: calc(100% - 40px);

        padding: 60px 0 75px;
    }

    .amm-post__article h2 {
        font-size: 27px;
    }

    .amm-post__cta {
        flex-direction: column;
        align-items: flex-start;

        width: calc(100% - 40px);

        padding: 35px 28px;

        margin-bottom: 70px;
    }

}

/* =========================================================
   AMMONITE NEWS POST
========================================================= */

.amm-news-post {
    background: #ffffff;
    overflow: hidden;
}


/* HERO */

.amm-news-post__hero {
    position: relative;
    overflow: hidden;

    padding: 75px 30px 80px;

    background: #f7f4ee;
}

.amm-news-post__hero::before {
    content: "";

    position: absolute;
    left: -160px;
    top: 50%;

    width: 520px;
    height: 520px;

    transform: translateY(-50%);

    background:
        url("http://ammonitesportstherapy.co.uk/wp-content/uploads/2026/07/winkle_12055627.svg")
        center / contain no-repeat;

    opacity: .035;

    pointer-events: none;
}

.amm-news-post__hero-inner {
    position: relative;
    z-index: 2;

    display: grid;
    grid-template-columns: .95fr 1.05fr;
    align-items: center;

    gap: 70px;

    width: min(calc(100% - 40px), 1220px);
    margin: 0 auto;
}


/* HERO COPY */

.amm-news-post__intro {
    max-width: 570px;
}

.amm-news-post__eyebrow {
    display: flex;
    align-items: center;
    gap: 12px;

    margin-bottom: 20px;

    color: var(--gold);

    font-family: var(--font-heading);
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 1.5px;
    text-transform: uppercase;
}

.amm-news-post__eyebrow::before {
    content: "";

    width: 30px;
    height: 2px;

    background: var(--gold);
}

.amm-news-post h1 {
    margin: 0 0 12px !important;

    color: var(--navy) !important;

    font-family: var(--font-heading) !important;
    font-size: clamp(48px, 5vw, 68px) !important;
    font-weight: 800 !important;
    line-height: 1 !important;

    letter-spacing: -.045em !important;
}

.amm-news-post__subtitle {
    margin: 0 0 24px !important;

    color: var(--gold);

    font-family: var(--font-heading);
    font-size: clamp(24px, 2.3vw, 34px);
    font-weight: 800;
    line-height: 1.15;
}

.amm-news-post__excerpt {
    max-width: 540px;

    margin: 0 !important;

    color: var(--navy);
font-weight: 600;
    font-family: var(--font-body);
    font-size: 16px;
    line-height: 1.75;
}


/* HERO IMAGE */

.amm-news-post__image {
    overflow: hidden;

    height: 430px;

    border-radius: 8px;
}

.amm-news-post__image img {
    display: block;

    width: 100%;
    height: 100%;

    object-fit: cover;
}


/* ARTICLE */

.amm-news-post__body {
    width: min(calc(100% - 40px), 820px);

    margin: 0 auto;

    padding: 75px 0 95px;

    color: var(--navy);

    font-family: var(--font-body);
    font-size: 16px;
    line-height: 1.8;
}

.amm-news-post__body p {
    margin: 0 0 24px;
}

.amm-news-post__lead {
    margin-bottom: 30px !important;

    color: var(--navy);

    font-size: 20px;
    font-weight: 500;
    line-height: 1.65;
}


/* HEADINGS */

.amm-news-post__body h2 {
    margin: 48px 0 16px !important;

    color: var(--navy) !important;

    font-family: var(--font-heading) !important;
    font-size: 30px !important;
    font-weight: 800 !important;
    line-height: 1.15 !important;

    letter-spacing: -.03em !important;
}


/* LINKS */

.amm-news-post__body a {
    color: var(--gold);

    font-weight: 700;

    text-decoration: underline;
    text-underline-offset: 3px;
}


/* LIST */

.amm-news-post__body ul {
    display: grid;
    grid-template-columns: 1fr 1fr;

    gap: 8px 30px;

    margin: 8px 0 36px;

    padding: 0;

    list-style: none;
}

.amm-news-post__body li {
    position: relative;

    padding-left: 20px;
}

.amm-news-post__body li::before {
    content: "";

    position: absolute;
    left: 0;
    top: .75em;

    width: 7px;
    height: 7px;

    border-radius: 50%;

    background: var(--gold);
}


/* PULLOUT */

.amm-news-post__pullout {
    margin: 42px 0 48px;

    padding: 28px 32px;

    border-left: 3px solid var(--gold);

    background: #f7f4ee;
}

.amm-news-post__pullout span {
    display: block;

    margin-bottom: 10px;

    color: var(--gold);

    font-family: var(--font-heading);
    font-size: 10px;
    font-weight: 700;

    letter-spacing: 1.4px;
    text-transform: uppercase;
}

.amm-news-post__pullout strong {
    display: block;

    color: var(--navy);

    font-family: var(--font-heading);
    font-size: 19px;
    font-weight: 750;
    line-height: 1.5;
}


/* CTA */

.amm-news-post__footer-cta {
    display: flex;
    align-items: center;
    justify-content: space-between;

    gap: 35px;

    margin-top: 60px;

    padding: 36px 40px;

    background: var(--navy);
}

.amm-news-post__footer-cta > div > span {
    display: block;

    margin-bottom: 7px;

    color: var(--gold);

    font-family: var(--font-heading);
    font-size: 10px;
    font-weight: 700;

    text-transform: uppercase;
    letter-spacing: 1.3px;
}

.amm-news-post__footer-cta h2 {
    margin: 0 !important;

    color: #fff !important;

    font-size: 27px !important;
}

.amm-news-post__footer-cta > a {
    display: inline-flex;
    align-items: center;
    justify-content: space-between;

    gap: 30px;

    min-width: 165px;
    min-height: 52px;

    padding: 0 20px;

    background: var(--gold);

    color: var(--navy) !important;

    font-family: var(--font-heading);
    font-size: 10px;
    font-weight: 700;

    text-transform: uppercase;
    text-decoration: none !important;
}


/* MOBILE */

@media (max-width: 767px) {

    .amm-news-post__hero {
        padding: 65px 20px;
    }

    .amm-news-post__hero-inner {
        grid-template-columns: 1fr;

        width: 100%;

        gap: 38px;
    }

    .amm-news-post__image {
        height: 310px;
    }

    .amm-news-post__body {
        width: calc(100% - 40px);

        padding: 60px 0 75px;
    }

    .amm-news-post__body ul {
        grid-template-columns: 1fr;
    }

    .amm-news-post__footer-cta {
        flex-direction: column;
        align-items: flex-start;

        padding: 30px 26px;
    }

}

/* =========================================================
   FINAL BLOG ALIGNMENT OVERRIDE
   KEEP AT VERY BOTTOM OF STYLE.CSS
========================================================= */

.amm-news-post .amm-news-post__body {
    width: calc(100% - 80px) !important;
    max-width: 1280px !important;

    margin-left: auto !important;
    margin-right: auto !important;

    padding: 80px 0 100px !important;

    text-align: left !important;
}


/* ARTICLE CONTENT STARTS ON SAME LEFT EDGE AS HERO */

.amm-news-post .amm-news-post__body > p,
.amm-news-post .amm-news-post__body > h2,
.amm-news-post .amm-news-post__body > ul,
.amm-news-post .amm-news-post__body > .amm-news-post__pullout {
    width: 100% !important;
    max-width: 820px !important;

    margin-left: 0 !important;
    margin-right: auto !important;

    text-align: left !important;
}


/* LEAD PARAGRAPH */

.amm-news-post .amm-news-post__lead {
    margin-left: 0 !important;
    margin-right: 0 !important;
}


/* CTA ALSO LEFT ALIGNED */

.amm-news-post .amm-news-post__footer-cta {
    width: 100% !important;
    max-width: 980px !important;

    margin-left: 0 !important;
    margin-right: auto !important;
}


/* MOBILE */

@media (max-width: 767px) {

    .amm-news-post .amm-news-post__body {
        width: calc(100% - 40px) !important;
        padding: 55px 0 75px !important;
    }

}

/* =========================================================
   ALIGN BLOG HERO + BODY TO SAME LEFT EDGE
========================================================= */

.amm-news-post__hero-inner,
.amm-news-post__body {
    width: min(calc(100% - 80px), 1280px) !important;
    margin-left: auto !important;
    margin-right: auto !important;
}


/* HERO COPY STARTS AT WRAPPER EDGE */

.amm-news-post__intro {
    margin-left: 0 !important;
    padding-left: 0 !important;
}


/* BODY COPY STARTS AT SAME WRAPPER EDGE */

.amm-news-post__body > p,
.amm-news-post__body > h2,
.amm-news-post__body > ul,
.amm-news-post__body > .amm-news-post__pullout {
    margin-left: 0 !important;
    margin-right: auto !important;
    padding-left: 0 !important;
}

/* =========================================================
   BLOG PULLOUT / INSIGHT BOX
========================================================= */

.amm-news-post__pullout {
    position: relative;

    max-width: 820px;

    margin: 46px 0 54px;

    padding: 30px 36px 32px 38px;

    background: #f8f5ef;

    border-left: 4px solid var(--gold);

    box-shadow: 0 8px 30px rgba(var(--navy-rgb), 0.04);
}


/* subtle decorative mark */

.amm-news-post__pullout::after {
    content: "â€œ";

    position: absolute;
    right: 22px;
    top: 4px;

    color: rgba(var(--navy-rgb), 0.05);

    font-family: var(--font-heading);
    font-size: 92px;
    line-height: 1;

    pointer-events: none;
}


/* SMALL LABEL */

.amm-news-post__pullout span {
    display: block;

    margin: 0 0 12px;

    color: var(--gold);

    font-family: var(--font-heading);
    font-size: 10px;
    font-weight: 700;

    letter-spacing: 1.5px;
    text-transform: uppercase;
}


/* MAIN MESSAGE */

.amm-news-post__pullout strong {
    position: relative;
    z-index: 2;

    display: block;

    max-width: 680px;

    color: var(--navy);

    font-family: var(--font-heading);
    font-size: 18px;
    font-weight: 700;
    line-height: 1.55;

    letter-spacing: -0.015em;
}


/* MOBILE */

@media (max-width: 767px) {

    .amm-news-post__pullout {
        padding: 26px 24px 28px;
        margin: 38px 0 44px;
    }

    .amm-news-post__pullout strong {
        font-size: 17px;
    }

    .amm-news-post__pullout::after {
        font-size: 70px;
        right: 14px;
    }

}

/* =========================================================
   BLOG PULLOUT â€” REFINED
========================================================= */

.amm-news-post__pullout {
    position: relative;

    max-width: 760px;

    margin: 42px 0 48px;

    padding: 24px 34px 25px 32px;

    background: #f4f0e8;

    border-left: 4px solid var(--gold);

    overflow: hidden;
}


/* LARGE FADED QUOTE */

.amm-news-post__pullout::after {
    content: "â€œ";

    position: absolute;
    right: 20px;
    top: -15px;

    color: rgba(var(--navy-rgb), 0.055);

    font-family: var(--font-heading);
    font-size: 120px;
    line-height: 1;

    pointer-events: none;
}


/* EYEBROW */

.amm-news-post__pullout span {
    position: relative;
    z-index: 2;

    display: block;

    margin: 0 0 8px;

    color: var(--gold);

    font-family: var(--font-heading);
    font-size: 9px;
    font-weight: 700;
    letter-spacing: 1.5px;
    text-transform: uppercase;
}


/* MESSAGE */

.amm-news-post__pullout strong {
    position: relative;
    z-index: 2;

    display: block;

    max-width: 620px;

    color: var(--navy);

    font-family: var(--font-heading);
    font-size: 17px;
    font-weight: 700;
    line-height: 1.45;

    letter-spacing: -0.015em;
}


/* MOBILE */

@media (max-width: 767px) {

    .amm-news-post__pullout {
        padding: 22px 24px;
        margin: 35px 0 42px;
    }

    .amm-news-post__pullout strong {
        font-size: 16px;
    }

    .amm-news-post__pullout::after {
        font-size: 90px;
        right: 12px;
    }

}

/* =========================================================
   FINAL PULLOUT BOX FIX
========================================================= */

.amm-news-post__pullout {
    position: relative;

    max-width: 760px !important;

    margin: 42px 0 48px !important;

    padding: 26px 38px 28px 40px !important;

    background: #f4f0e8 !important;

    border-left: 4px solid var(--gold) !important;

    box-sizing: border-box !important;

    overflow: hidden;
}


/* LABEL */

.amm-news-post__pullout span {
    position: relative;
    z-index: 2;

    display: block;

    margin: 0 0 10px !important;
    padding: 0 !important;

    color: var(--gold) !important;

    font-family: var(--font-heading) !important;
    font-size: 9px !important;
    font-weight: 700 !important;

    line-height: 1.2 !important;
    letter-spacing: 1.5px !important;

    text-transform: uppercase;
}


/* MAIN TEXT */

.amm-news-post__pullout strong {
    position: relative;
    z-index: 2;

    display: block;

    max-width: 620px;

    margin: 0 !important;
    padding: 0 !important;

    color: var(--navy) !important;

    font-family: var(--font-heading) !important;
    font-size: 17px !important;
    font-weight: 700 !important;
    line-height: 1.45 !important;

    letter-spacing: -0.015em !important;
}


/* QUOTE MARK */

.amm-news-post__pullout::after {
    content: "â€œ";

    position: absolute;

    right: 24px;
    top: -12px;

    color: rgba(var(--navy-rgb), 0.055);

    font-family: var(--font-heading);
    font-size: 110px;
    line-height: 1;

    pointer-events: none;
}

/* =========================================================
   FINAL BLOG PULLOUT FIX
   MUST STAY AT BOTTOM OF STYLE.CSS
========================================================= */

.amm-news-post .amm-news-post__body > .amm-news-post__pullout {
    position: relative;

    width: 100% !important;
    max-width: 760px !important;

    margin: 42px 0 50px !important;

    /* THIS OVERRIDES THE OLD ZERO-PADDING RULE */
    padding: 28px 42px 30px 38px !important;

    background: #f5f2ec !important;

    border: 0 !important;
    border-left: 4px solid var(--gold) !important;

    box-sizing: border-box !important;
    overflow: hidden;

    text-align: left !important;
}


/* SMALL LABEL */

.amm-news-post .amm-news-post__body > .amm-news-post__pullout > span {
    position: relative;
    z-index: 2;

    display: block;

    margin: 0 0 9px !important;
    padding: 0 !important;

    color: var(--gold) !important;

    font-family: var(--font-heading) !important;
    font-size: 9px !important;
    font-weight: 700 !important;
    line-height: 1.2 !important;

    letter-spacing: 1.5px !important;
    text-transform: uppercase;
}


/* MAIN CALLOUT TEXT */

.amm-news-post .amm-news-post__body > .amm-news-post__pullout > strong {
    position: relative;
    z-index: 2;

    display: block;

    max-width: 610px;

    margin: 0 !important;
    padding: 0 !important;

    color: var(--navy) !important;

    font-family: var(--font-heading) !important;
    font-size: 17px !important;
    font-weight: 700 !important;
    line-height: 1.5 !important;

    letter-spacing: -0.015em !important;
}


/* LARGE FADED QUOTE */

.amm-news-post .amm-news-post__body > .amm-news-post__pullout::after {
    content: "â€œ";

    position: absolute;
    right: 25px;
    top: -20px;

    color: rgba(var(--navy-rgb), 0.055);

    font-family: var(--font-heading);
    font-size: 120px;
    line-height: 1;

    pointer-events: none;
}


@media (max-width: 767px) {

    .amm-news-post .amm-news-post__body > .amm-news-post__pullout {
        padding: 24px 25px 26px 25px !important;
        margin: 36px 0 44px !important;
    }

    .amm-news-post .amm-news-post__body > .amm-news-post__pullout > strong {
        font-size: 16px !important;
    }

}

/* =========================================================
   SPORTS THERAPY INTRO â€” LARGE SCREEN COLUMN FIX
========================================================= */

.ast-sports-intro__inner {
    display: grid;
    grid-template-columns: minmax(0, 0.9fr) minmax(0, 1.1fr);

    gap: clamp(70px, 7vw, 130px);

    align-items: center;

    width: min(calc(100% - 80px), 1320px);
    margin: 0 auto;
}


/* KEEP LEFT CONTENT FROM PUSHING INTO IMAGE */

.ast-sports-intro__content {
    min-width: 0;
    max-width: 580px;
}


/* IMAGE COLUMN */

.ast-sports-intro__visual {
    min-width: 0;
    width: 100%;
}


/* LARGE DESKTOPS */

@media (min-width: 1400px) {

    .ast-sports-intro__inner {
        grid-template-columns: 540px minmax(0, 1fr);
        gap: 110px;
        max-width: 1320px;
    }

}


/* NORMAL DESKTOP */

@media (min-width: 1025px) and (max-width: 1399px) {

    .ast-sports-intro__inner {
        gap: 70px;
    }

}


/* TABLET / MOBILE */

@media (max-width: 1024px) {

    .ast-sports-intro__inner {
        grid-template-columns: 1fr;
        gap: 45px;

        width: min(calc(100% - 40px), 760px);
    }

    .ast-sports-intro__content {
        max-width: 100%;
    }

}

/* =========================================================
   SPORTS INTRO â€” FINAL DESKTOP FIX
   KEEP AT VERY BOTTOM OF STYLE.CSS
========================================================= */

.ast-sports-intro__inner {
    display: grid !important;
    grid-template-columns: minmax(0, 520px) minmax(0, 1fr) !important;
    gap: 100px !important;
    align-items: center !important;

    width: min(calc(100% - 100px), 1340px) !important;
    margin: 0 auto !important;
}


/* LEFT COLUMN */

.ast-sports-intro__content {
    width: 100% !important;
    max-width: 520px !important;
    min-width: 0 !important;

    margin: 0 !important;
    padding: 0 !important;
}


/* HEADING â€” THIS IS THE IMPORTANT FIX */

.ast-sports-intro__content h2 {
    width: 100% !important;
    max-width: 520px !important;

    margin: 0 0 26px !important;

    overflow: visible !important;

    font-size: clamp(42px, 3.25vw, 58px) !important;
    line-height: 0.98 !important;
    letter-spacing: -0.045em !important;
}


/* FORCE BOTH PARTS TO STAY INSIDE LEFT COLUMN */

.ast-sports-intro__content h2 span,
.ast-sports-intro__content h2 strong {
    display: block !important;

    width: 100% !important;
    max-width: 100% !important;

    white-space: normal !important;
    overflow-wrap: normal !important;
    word-break: normal !important;
}


/* DARK FIRST PART */

.ast-sports-intro__content h2 span {
    color: var(--navy) !important;
}


/* GOLD SECOND PART */

.ast-sports-intro__content h2 strong {
    margin-top: 7px !important;

    color: var(--gold) !important;
}


/* RIGHT IMAGE COLUMN */

.ast-sports-intro__visual {
    position: relative !important;

    width: 100% !important;
    min-width: 0 !important;
    max-width: none !important;

    margin: 0 !important;
    transform: none !important;
}


/* IMAGE */

.ast-sports-intro__visual > img {
    display: block !important;

    width: 100% !important;
    height: 520px !important;

    object-fit: cover !important;

    border-radius: 10px !important;
}


/* =========================================================
   VERY LARGE SCREENS
========================================================= */

@media (min-width: 1500px) {

    .ast-sports-intro__inner {
        grid-template-columns: 520px minmax(0, 1fr) !important;
        gap: 120px !important;
        max-width: 1380px !important;
    }

}


/* =========================================================
   MEDIUM DESKTOP
========================================================= */

@media (min-width: 1025px) and (max-width: 1250px) {

    .ast-sports-intro__inner {
        grid-template-columns: minmax(0, 460px) minmax(0, 1fr) !important;
        gap: 65px !important;
        width: calc(100% - 60px) !important;
    }

    .ast-sports-intro__content {
        max-width: 460px !important;
    }

    .ast-sports-intro__content h2 {
        max-width: 460px !important;
        font-size: 46px !important;
    }

}


/* =========================================================
   TABLET / MOBILE
========================================================= */

@media (max-width: 1024px) {

    .ast-sports-intro__inner {
        grid-template-columns: 1fr !important;
        gap: 45px !important;

        width: min(calc(100% - 40px), 760px) !important;
    }

    .ast-sports-intro__content,
    .ast-sports-intro__content h2 {
        max-width: none !important;
    }

    .ast-sports-intro__visual > img {
        height: auto !important;
        aspect-ratio: 4 / 3;
    }

}

.ast-sports-intro__inner {
    grid-template-columns: minmax(0, 590px) minmax(0, 1fr) !important;
    gap: 90px !important;
}

.ast-sports-intro__content {
    max-width: 590px !important;
}

.ast-sports-intro__content h2 {
    max-width: 590px !important;
}

@media (min-width: 1400px) {

    .ast-sports-intro__inner {
        grid-template-columns: 590px minmax(0, 1fr) !important;
        gap: 100px !important;
        max-width: 1400px !important;
    }

}

/* =========================================================
   FORCE SPORTS INTRO HEADING TO USE FULL LEFT COLUMN WIDTH
========================================================= */

.ast-sports-intro__content h2 {
    width: 100% !important;
    max-width: none !important;
}

.ast-sports-intro__content h2 span,
.ast-sports-intro__content h2 strong {
    width: auto !important;
    max-width: none !important;

    white-space: normal !important;
}


/* Give first line slightly more room */

@media (min-width: 1300px) {

    .ast-sports-intro__inner {
        grid-template-columns: 620px minmax(0, 1fr) !important;
        gap: 90px !important;
        max-width: 1420px !important;
    }

    .ast-sports-intro__content {
        max-width: 620px !important;
    }

    .ast-sports-intro__content h2 {
        max-width: 620px !important;
    }

}

/* =========================================================
   SPORTS INTRO HEADING â€” NATURAL WRAPPING FIX
========================================================= */

@media (min-width: 1200px) {

    .ast-sports-intro__content h2 {
        width: 100% !important;
        max-width: 650px !important;

        font-size: 54px !important;
        line-height: 0.98 !important;

        white-space: normal !important;
    }

    /* IMPORTANT:
       DON'T FORCE DARK/GOLD PARTS ON SEPARATE LINES
    */

    .ast-sports-intro__content h2 span,
    .ast-sports-intro__content h2 strong {
        display: inline !important;

        width: auto !important;
        max-width: none !important;

        margin: 0 !important;

        white-space: normal !important;
    }

    /* tiny space between "You" and "Move" */

    .ast-sports-intro__content h2 strong::before {
        content: " ";
    }

}

/* =========================================================
   SPORTS MASSAGE PAGE
========================================================= */

.ast-massage-page {
--cream: #f7f4ee;
    --body: #5d7080;
    --line: rgba(var(--navy-rgb), .12);

    overflow: hidden;
}


/* =========================================================
   INTRO
========================================================= */

.ast-massage-intro {
    position: relative;
    overflow: hidden;

    padding: 105px 35px;

    background: var(--cream);
}

.ast-massage-intro::before {
    content: "";

    position: absolute;
    left: -190px;
    bottom: -180px;

    width: 650px;
    height: 650px;

    background:
        url("http://ammonitesportstherapy.co.uk/wp-content/uploads/2026/07/winkle_12055627.svg")
        center / contain no-repeat;

    opacity: .035;
    pointer-events: none;
}

.ast-massage-intro__inner {
    position: relative;
    z-index: 2;

    display: grid;
    grid-template-columns: minmax(0, 560px) minmax(0, 1fr);
    align-items: center;

    gap: 95px;

    width: min(calc(100% - 70px), 1320px);
    margin: 0 auto;
}

.ast-massage-intro__content {
    max-width: 560px;
}

.ast-massage-intro__eyebrow,
.ast-massage-help__eyebrow,
.ast-massage-process__eyebrow {
    display: flex;
    align-items: center;

    gap: 12px;

    margin-bottom: 20px;

    color: var(--gold);

    font-family: var(--font-heading);
    font-size: 10px;
    font-weight: 700;

    letter-spacing: 1.6px;
    text-transform: uppercase;
}

.ast-massage-intro__eyebrow::before,
.ast-massage-help__eyebrow::before,
.ast-massage-process__eyebrow::before {
    content: "";

    width: 28px;
    height: 2px;

    background: var(--gold);
}

.ast-massage-intro h2 {
    margin: 0 0 25px;

    color: var(--navy);

    font-family: var(--font-heading);
    font-size: clamp(50px, 4.5vw, 68px);
    font-weight: 800;
    line-height: .98;

    letter-spacing: -.045em;
}

.ast-massage-intro h2 strong {
    display: block;

    margin-top: 10px;

    color: var(--gold);
}

.ast-massage-intro__lead {
    color: var(--navy) !important;

    font-size: 18px !important;
    font-weight: 600;
    line-height: 1.55 !important;
}

.ast-massage-intro__content > p {
    margin: 0 0 18px;

    color: var(--body-text);

    font-family: var(--font-body);
    font-size: 16px;
    line-height: 1.7;
}

.ast-massage-intro__points {
    margin: 30px 0 32px;

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

.ast-massage-intro__points > div {
    display: grid;
    grid-template-columns: 34px 1fr;

    gap: 14px;

    align-items: center;

    padding: 14px 0;

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

.ast-massage-intro__points span {
    color: var(--gold);

    font-family: var(--font-heading);
    font-size: 10px;
    font-weight: 700;
}

.ast-massage-intro__points p {
    margin: 0;

    color: var(--body-text);

    font-family: var(--font-body);
    font-size: 14px;
    line-height: 1.5;
}

.ast-massage-intro__points strong {
    color: var(--navy);
}

.ast-massage-intro__button,
.ast-massage-process__button {
    display: inline-flex;
    align-items: center;
    justify-content: space-between;

    gap: 35px;

    min-width: 220px;
    min-height: 52px;

    padding: 0 20px;

    background: var(--gold);
    color: var(--navy) !important;

    font-family: var(--font-heading);
    font-size: 10px;
    font-weight: 700;

    text-decoration: none !important;
    text-transform: uppercase;
}

.ast-massage-intro__visual {
    position: relative;

    width: 100%;
}

.ast-massage-intro__visual > img {
    display: block;

    width: 100%;
    height: 500px;

    object-fit: cover;

    border-radius: 8px;
}

.ast-massage-intro__review {
    position: absolute;

    right: -15px;
    bottom: -38px;

    width: 270px;

    padding: 25px 26px;

    background: var(--navy);

    color: #fff;

    box-shadow: 0 22px 50px rgba(var(--navy-rgb), .15);
}

.ast-massage-intro__review > div {
    margin-bottom: 8px;

    color: var(--gold);

    letter-spacing: 2px;
}

.ast-massage-intro__review strong {
    display: block;

    margin-bottom: 8px;

    font-family: var(--font-heading);
    font-size: 14px;
}

.ast-massage-intro__review p {
    margin: 0;

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

    font-size: 13px;
    line-height: 1.55;
}


/* =========================================================
   HELP SECTION
========================================================= */

.ast-massage-help {
    padding: 110px 35px;

    background: #fff;
}

.ast-massage-help__inner {
    display: grid;
    grid-template-columns: 390px minmax(0,1fr);

    gap: 100px;

    width: min(calc(100% - 70px), 1320px);
    margin: 0 auto;
}

.ast-massage-help__heading {
    align-self: start;
}

.ast-massage-help__heading h2 {
    margin: 0 0 25px;

    color: var(--navy);

    font-family: var(--font-heading);
    font-size: clamp(42px, 4vw, 58px);
    font-weight: 800;
    line-height: 1;

    letter-spacing: -.04em;
}

.ast-massage-help__heading h2 strong {
    display: block;

    margin-top: 8px;

    color: var(--gold);
}

.ast-massage-help__heading p {
    margin: 0;

    color: var(--body-text);

    font-family: var(--font-body);
    font-size: 16px;
    line-height: 1.7;
}

.ast-massage-help__grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);

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

.ast-massage-help__card {
    position: relative;

    min-height: 195px;

    padding: 28px 32px 32px 70px;

    border-right: 1px solid var(--line);
    border-bottom: 1px solid var(--line);

    transition: background .25s ease;
}

.ast-massage-help__card:hover {
    background: var(--cream);
}

.ast-massage-help__number {
    position: absolute;

    left: 25px;
    top: 30px;

    color: var(--gold);

    font-family: var(--font-heading);
    font-size: 10px;
    font-weight: 700;
}

.ast-massage-help__card h3 {
    margin: 0 0 12px;

    color: var(--navy);

    font-family: var(--font-heading);
    font-size: 18px;
    font-weight: 750;
    line-height: 1.25;
}

.ast-massage-help__card p {
    margin: 0;

    color: var(--body-text);

    font-family: var(--font-body);
    font-size: 14px;
    line-height: 1.65;
}


/* =========================================================
   RECOVER / REHAB / RESTART
========================================================= */

.ast-massage-process {
    display: grid;
    grid-template-columns: 1fr 1fr;

    min-height: 620px;

    background: var(--navy);
}

.ast-massage-process__image {
    min-height: 620px;
}

.ast-massage-process__image img {
    width: 100%;
    height: 100%;

    display: block;

    object-fit: cover;
}

.ast-massage-process__content {
    display: flex;
    align-items: center;

    padding: 70px;
}

.ast-massage-process__inner {
    width: 100%;
    max-width: 620px;

    margin: 0 auto;
}

.ast-massage-process h2 {
    margin: 0 0 24px;

    color: #fff;

    font-family: var(--font-heading);
    font-size: clamp(45px, 4vw, 62px);
    font-weight: 800;
    line-height: .98;

    letter-spacing: -.045em;
}

.ast-massage-process h2 strong {
    display: block;

    margin-top: 8px;

    color: var(--gold);
}

.ast-massage-process__intro {
    max-width: 520px;

    margin: 0 0 34px;

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

    font-family: var(--font-body);
    font-size: 16px;
    line-height: 1.7;
}

.ast-massage-process__steps {
    display: grid;
    grid-template-columns: repeat(3,1fr);

    margin-bottom: 34px;

    border-top: 1px solid rgba(255,255,255,.15);
    border-bottom: 1px solid rgba(255,255,255,.15);
}

.ast-massage-process__steps article {
    padding: 25px 22px;

    border-right: 1px solid rgba(255,255,255,.15);
}

.ast-massage-process__steps article:last-child {
    border-right: none;
}

.ast-massage-process__steps span {
    display: block;

    margin-bottom: 10px;

    color: var(--gold);

    font-family: var(--font-heading);
    font-size: 9px;
    font-weight: 700;
}

.ast-massage-process__steps h3 {
    margin: 0 0 10px;

    color: var(--gold);

    font-family: var(--font-heading);
    font-size: 14px;
    font-weight: 700;
}

.ast-massage-process__steps p {
    margin: 0;

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

    font-size: 13px;
    line-height: 1.65;
}


/* =========================================================
   WHO IT IS FOR
========================================================= */

.ast-massage-for {
    padding: 100px 35px;

    background: var(--cream);
}

.ast-massage-for__inner {
    display: grid;
    grid-template-columns: .8fr 1.2fr;

    gap: 100px;

    width: min(calc(100% - 70px), 1200px);
    margin: 0 auto;
}

.ast-massage-for__heading > span {
    display: block;

    margin-bottom: 15px;

    color: var(--gold);

    font-family: var(--font-heading);
    font-size: 10px;
    font-weight: 700;

    text-transform: uppercase;
    letter-spacing: 1.5px;
}

.ast-massage-for__heading h2 {
    margin: 0;

    color: var(--navy);

    font-family: var(--font-heading);
    font-size: clamp(42px, 4vw, 58px);
    font-weight: 800;
    line-height: 1;

    letter-spacing: -.04em;
}

.ast-massage-for__heading h2 strong {
    display: block;

    color: var(--gold);
}

.ast-massage-for__lead {
    margin: 0 0 28px;

    color: var(--navy);

    font-size: 18px;
    line-height: 1.65;
}

.ast-massage-for__list {
    display: grid;
    grid-template-columns: repeat(2,1fr);

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

.ast-massage-for__list > div {
    padding: 20px 0;

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

.ast-massage-for__list > div:nth-child(odd) {
    padding-right: 30px;
}

.ast-massage-for__list > div:nth-child(even) {
    padding-left: 30px;

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

.ast-massage-for__list strong {
    display: block;

    margin-bottom: 5px;

    color: var(--navy);

    font-family: var(--font-heading);
    font-size: 15px;
}

.ast-massage-for__list span {
    color: var(--body);

    font-size: 13px;
}


/* =========================================================
   MASSAGE FAQ
========================================================= */

.ast-massage-faq {
    position: relative;
    overflow: hidden;

    padding: 100px 35px;

    background: var(--navy);
}

.ast-massage-faq::before {
    content: "";

    position: absolute;
    left: -160px;
    bottom: -180px;

    width: 560px;
    height: 560px;

    background:
        url("http://ammonitesportstherapy.co.uk/wp-content/uploads/2026/07/winkle_12055627.svg")
        center / contain no-repeat;

    opacity: .06;
}

.ast-massage-faq__inner {
    position: relative;
    z-index: 2;

    width: min(calc(100% - 70px), 1000px);
    margin: 0 auto;
}

.ast-massage-faq__heading {
    margin-bottom: 45px;

    text-align: center;
}

.ast-massage-faq__heading > span {
    display: block;

    margin-bottom: 14px;

    color: var(--gold);

    font-family: var(--font-heading);
    font-size: 10px;
    font-weight: 700;

    letter-spacing: 1.5px;
    text-transform: uppercase;
}

.ast-massage-faq__heading h2 {
    margin: 0 0 15px;

    color: #fff;

    font-family: var(--font-heading);
    font-size: clamp(40px, 4vw, 55px);
    font-weight: 800;
    line-height: 1;

    letter-spacing: -.04em;
}

.ast-massage-faq__heading h2 strong {
    color: var(--gold);
}

.ast-massage-faq__heading p {
    margin: 0;

    color: rgba(255,255,255,.6);
}

.ast-massage-faq__items {
    border-top: 1px solid rgba(255,255,255,.15);
}

.ast-massage-faq details {
    border-bottom: 1px solid rgba(255,255,255,.15);
}

.ast-massage-faq summary {
    display: flex;
    align-items: center;
    justify-content: space-between;

    gap: 25px;

    padding: 22px 0;

    cursor: pointer;

    color: #fff;

    font-family: var(--font-heading);
    font-size: 14px;
    font-weight: 650;

    list-style: none;
}

.ast-massage-faq summary::-webkit-details-marker {
    display: none;
}

.ast-massage-faq summary span {
    color: var(--gold);

    font-size: 20px;
    font-weight: 400;
}

.ast-massage-faq details[open] summary {
    color: var(--gold);
}

.ast-massage-faq details[open] summary span {
    transform: rotate(45deg);
}

.ast-massage-faq details > div {
    max-width: 760px;

    padding: 0 0 24px;
}

.ast-massage-faq details p {
    margin: 0;

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

    font-size: 14px;
    line-height: 1.7;
}


/* =========================================================
   RESPONSIVE
========================================================= */

@media (max-width: 1050px) {

    .ast-massage-intro__inner,
    .ast-massage-help__inner,
    .ast-massage-for__inner {
        grid-template-columns: 1fr;

        gap: 55px;
    }

    .ast-massage-intro__content {
        max-width: 700px;
    }

    .ast-massage-help__heading {
        max-width: 650px;
    }

    .ast-massage-process {
        grid-template-columns: 1fr;
    }

    .ast-massage-process__image {
        min-height: 480px;
    }

}


@media (max-width: 767px) {

    .ast-massage-intro,
    .ast-massage-help,
    .ast-massage-for,
    .ast-massage-faq {
        padding: 70px 20px;
    }

    .ast-massage-intro__inner,
    .ast-massage-help__inner,
    .ast-massage-for__inner,
    .ast-massage-faq__inner {
        width: 100%;
    }

    .ast-massage-intro__visual > img {
        height: 350px;
    }

    .ast-massage-intro__review {
        position: relative;

        right: auto;
        bottom: auto;

        width: calc(100% - 30px);

        margin: -40px 15px 0;
    }

    .ast-massage-help__grid {
        grid-template-columns: 1fr;
    }

    .ast-massage-help__card {
        min-height: 0;
    }

    .ast-massage-process__content {
        padding: 60px 25px;
    }

    .ast-massage-process__steps {
        grid-template-columns: 1fr;
    }

    .ast-massage-process__steps article {
        border-right: none;
        border-bottom: 1px solid rgba(255,255,255,.15);
    }

    .ast-massage-process__steps article:last-child {
        border-bottom: none;
    }

    .ast-massage-for__list {
        grid-template-columns: 1fr;
    }

    .ast-massage-for__list > div:nth-child(odd),
    .ast-massage-for__list > div:nth-child(even) {
        padding-left: 0;
        padding-right: 0;

        border-left: none;
    }

}

/* =========================================================
   SPORTS MASSAGE
========================================================= */

:root {
    --ast-navy: #06283d;
    --ast-text: #183247;
    --ast-gold: #f4b312;
    --ast-cream: #f7f4ef;
    --ast-white: #ffffff;
    --ast-border: rgba(24, 50, 71, 0.14);
}


/* =========================================================
   SHARED
========================================================= */

.ast-section-eyebrow,
.ast-sports-faq__eyebrow {
    display: flex;
    align-items: center;
    gap: 14px;
    margin-bottom: 22px;

    color: var(--ast-gold);
    font-size: 12px;
    font-weight: 700;
    line-height: 1;
    letter-spacing: 2px;
    text-transform: uppercase;
}

.ast-section-eyebrow::before,
.ast-sports-faq__eyebrow::before {
    content: "";
    width: 30px;
    height: 2px;
    flex: 0 0 30px;
    background: var(--ast-gold);
}


.ast-section-title {
    margin: 0 0 26px;

    color: var(--ast-navy);
    font-size: clamp(42px, 4vw, 68px);
    font-weight: 800;
    line-height: 0.98;
    letter-spacing: -2.5px;
}

.ast-section-title strong {
    display: block;
    color: var(--ast-gold);
    font-weight: 800;
}


.ast-massage-intro p,
.ast-massage-support p,
.ast-massage-locations p,
.ast-location-card p {
    color: var(--body-text);
}


/* =========================================================
   BUTTON
========================================================= */

.ast-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 30px;

    margin-top: 14px;
    padding: 17px 24px;

    text-decoration: none;
    text-transform: uppercase;

    font-size: 12px;
    font-weight: 800;
    letter-spacing: 0.3px;

    transition:
        transform 0.25s ease,
        background 0.25s ease;
}

.ast-btn:hover {
    transform: translateY(-2px);
}

.ast-btn--gold {
    background: var(--ast-gold);
    color: var(--ast-navy);
}


/* =========================================================
   01 â€” INTRO
========================================================= */

.ast-massage-intro {
    position: relative;
    overflow: hidden;
    background: var(--ast-cream);
}

.ast-massage-intro::before {
    content: "";
    position: absolute;
    left: -90px;
    bottom: -130px;

    width: 440px;
    height: 440px;

    border: 80px solid rgba(24, 50, 71, 0.035);
    border-radius: 50%;

    pointer-events: none;
}


.ast-massage-intro__inner {
    position: relative;
    z-index: 1;

    width: min(1180px, calc(100% - 48px));
    margin: 0 auto;

    padding: 110px 0;

    display: grid;
    grid-template-columns: minmax(0, 0.9fr) minmax(0, 1.1fr);
    gap: 90px;
    align-items: center;
}


.ast-massage-intro__content {
    max-width: 560px;
}


.ast-massage-intro__lead {
    margin-bottom: 22px;

    color: var(--ast-navy) !important;
    font-size: 19px;
    font-weight: 700;
    line-height: 1.55;
}


.ast-massage-intro__content p:not(.ast-massage-intro__lead) {
    margin: 0 0 20px;

    font-size: 17px;
    line-height: 1.75;
}


.ast-massage-intro__visual {
    position: relative;
}


.ast-massage-intro__visual > img {
    display: block;
    width: 100%;
    min-height: 500px;
    object-fit: cover;
}


.ast-review-card {
    position: absolute;
    right: -28px;
    bottom: -45px;

    width: 250px;
    padding: 30px;

    background: var(--ast-navy);
    color: white;
}


.ast-review-card__stars {
    margin-bottom: 10px;

    color: var(--ast-gold);
    font-size: 20px;
    letter-spacing: 2px;
}


.ast-review-card strong {
    display: block;
    margin-bottom: 12px;

    color: white;
    font-size: 16px;
}


.ast-review-card p {
    margin: 0 !important;

    color: rgba(255,255,255,0.82) !important;
    font-size: 14px !important;
    line-height: 1.6 !important;
}


/* =========================================================
   02 â€” SUPPORT
========================================================= */

.ast-massage-support {
    background: white;
}


.ast-massage-support__inner {
    width: min(1180px, calc(100% - 48px));
    margin: 0 auto;

    padding: 120px 0;

    display: grid;
    grid-template-columns: 0.72fr 1.28fr;
    gap: 90px;
    align-items: start;
}


.ast-massage-support__heading {
    position: sticky;
    top: 130px;
}


.ast-massage-support__heading p {
    max-width: 430px;
    margin: 0;

    font-size: 17px;
    line-height: 1.75;
}


.ast-massage-support__grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    border-top: 1px solid var(--ast-border);
    border-left: 1px solid var(--ast-border);
}


.ast-massage-support__item {
    min-height: 210px;
    padding: 34px 34px 38px;

    display: grid;
    grid-template-columns: 28px 1fr;
    gap: 18px;

    border-right: 1px solid var(--ast-border);
    border-bottom: 1px solid var(--ast-border);

    transition:
        background 0.25s ease,
        transform 0.25s ease;
}


.ast-massage-support__item:hover {
    background: var(--ast-cream);
}


.ast-massage-support__item > span {
    color: var(--ast-gold);
    font-size: 11px;
    font-weight: 800;
}


.ast-massage-support__item h3 {
    margin: 0 0 14px;

    color: var(--ast-navy);
    font-size: 20px;
    font-weight: 800;
    line-height: 1.25;
}


.ast-massage-support__item p {
    margin: 0;

    font-size: 16px;
    line-height: 1.7;
}


/* =========================================================
   03 â€” FEATURE
========================================================= */

.ast-massage-feature {
    background: var(--ast-navy);
}


.ast-massage-feature__inner {
    width: min(1180px, calc(100% - 48px));
    margin: 0 auto;

    padding: 110px 0;
}


.ast-massage-feature__intro {
    max-width: 720px;
}


.ast-massage-feature__intro h2 {
    margin: 0 0 28px;

    color: white;
    font-size: clamp(42px, 4vw, 68px);
    font-weight: 800;
    line-height: 0.98;
    letter-spacing: -2.5px;
}


.ast-massage-feature__intro h2 strong {
    display: block;
    color: var(--ast-gold);
}


.ast-massage-feature__intro > p {
    max-width: 600px;
    margin: 0;

    color: rgba(255,255,255,0.82);
    font-size: 17px;
    line-height: 1.75;
}


.ast-massage-feature__points {
    margin-top: 62px;

    display: grid;
    grid-template-columns: repeat(3, 1fr);

    border-top: 1px solid rgba(255,255,255,0.14);
}


.ast-massage-feature__point {
    padding: 35px 42px 15px 0;
}


.ast-massage-feature__point + .ast-massage-feature__point {
    padding-left: 42px;
    border-left: 1px solid rgba(255,255,255,0.14);
}


.ast-massage-feature__point span {
    display: block;
    margin-bottom: 38px;

    color: var(--ast-gold);
    font-size: 11px;
    font-weight: 800;
}


.ast-massage-feature__point h3 {
    margin: 0 0 12px;

    color: white;
    font-size: 21px;
    font-weight: 800;
}


.ast-massage-feature__point p {
    margin: 0;

    color: rgba(255,255,255,0.72);
    font-size: 15px;
    line-height: 1.7;
}


/* =========================================================
   04 â€” LOCATIONS
========================================================= */

.ast-massage-locations {
    background: var(--ast-cream);
}


.ast-massage-locations__inner {
    width: min(1180px, calc(100% - 48px));
    margin: 0 auto;

    padding: 115px 0;
}


.ast-massage-locations__header {
    max-width: 680px;
    margin-bottom: 54px;
}


.ast-massage-locations__header p {
    max-width: 580px;
    margin: 0;

    font-size: 17px;
    line-height: 1.7;
}


.ast-massage-locations__grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 28px;
}


.ast-location-card {
    display: grid;
    grid-template-columns: 0.9fr 1.1fr;

    background: white;
    border: 1px solid var(--ast-border);
}


.ast-location-card__image img {
    display: block;
    width: 100%;
    height: 100%;
    min-height: 390px;
    object-fit: cover;
}


.ast-location-card__content {
    padding: 42px;
}


.ast-location-card__content > span {
    display: block;
    margin-bottom: 12px;

    color: var(--ast-gold);
    font-size: 11px;
    font-weight: 800;
    letter-spacing: 1.5px;
    text-transform: uppercase;
}


.ast-location-card h3 {
    margin: 0 0 18px;

    color: var(--ast-navy);
    font-size: 28px;
    font-weight: 800;
    line-height: 1.1;
}


.ast-location-card p {
    margin: 0 0 19px;

    font-size: 15px;
    line-height: 1.7;
}


.ast-location-card a {
    display: inline-flex;
    gap: 18px;
    align-items: center;

    margin-top: 10px;

    color: var(--ast-navy);
    font-size: 12px;
    font-weight: 800;
    text-decoration: none;
    text-transform: uppercase;
}


.ast-location-card a:hover {
    color: var(--ast-gold);
}


/* =========================================================
   05 â€” FAQ
   MATCH SPORTS THERAPY
========================================================= */

.ast-sports-faq {
    position: relative;
    overflow: hidden;

    background: var(--ast-navy);
    color: white;
}


.ast-sports-faq__inner {
    width: min(1100px, calc(100% - 48px));
    margin: 0 auto;

    padding: 110px 0;
}


.ast-sports-faq__header {
    margin-bottom: 55px;
    text-align: center;
}


.ast-sports-faq__eyebrow {
    justify-content: center;
}


.ast-sports-faq__eyebrow::after {
    content: "";
    width: 30px;
    height: 2px;

    background: var(--ast-gold);
}


.ast-sports-faq__header h2 {
    margin: 0 0 18px;

    color: #ffffff;
    font-size: clamp(42px, 4vw, 62px);
    font-weight: 800;
    line-height: 1;
    letter-spacing: -2px;
}


.ast-sports-faq__header h2 strong {
    color: var(--ast-gold);
    font-weight: 800;
}


.ast-sports-faq__header p {
    margin: 0 auto;
    max-width: 620px;

    color: rgba(255,255,255,0.72);
    font-size: 16px;
    line-height: 1.7;
}


.ast-sports-faq__list {
    border-top: 1px solid rgba(255,255,255,0.16);
}


.ast-sports-faq details {
    border-bottom: 1px solid rgba(255,255,255,0.16);
}


.ast-sports-faq summary {
    min-height: 76px;

    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;

    cursor: pointer;
    list-style: none;

    color: #ffffff;
}


.ast-sports-faq summary::-webkit-details-marker {
    display: none;
}


.ast-sports-faq summary span {
    color: #ffffff;
    font-size: 17px;
    font-weight: 700;

    transition: color 0.2s ease;
}


.ast-sports-faq details[open] summary span {
    color: var(--ast-gold);
}


.ast-sports-faq summary i {
    position: relative;
    width: 16px;
    height: 16px;
    flex: 0 0 16px;
}


.ast-sports-faq summary i::before,
.ast-sports-faq summary i::after {
    content: "";
    position: absolute;
    background: var(--ast-gold);

    transition: transform 0.25s ease;
}


.ast-sports-faq summary i::before {
    left: 1px;
    top: 7px;

    width: 14px;
    height: 2px;
}


.ast-sports-faq summary i::after {
    left: 7px;
    top: 1px;

    width: 2px;
    height: 14px;
}


.ast-sports-faq details[open] summary i::after {
    transform: rotate(90deg);
}


.ast-sports-faq__answer {
    max-width: 840px;
    padding: 0 40px 28px 0;
}


.ast-sports-faq__answer p {
    margin: 0;

    color: rgba(255,255,255,0.78) !important;
    font-size: 16px;
    line-height: 1.75;
}


.ast-sports-faq__footer {
    margin-top: 40px;

    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 30px;
}


.ast-sports-faq__footer p {
    margin: 0;

    color: rgba(255,255,255,0.72);
}


.ast-sports-faq__footer a {
    display: inline-flex;
    align-items: center;
    gap: 20px;

    color: white;
    font-size: 13px;
    font-weight: 800;
    text-decoration: none;
    text-transform: uppercase;
}


.ast-sports-faq__footer a:hover {
    color: var(--ast-gold);
}


/* =========================================================
   TABLET
========================================================= */

@media (max-width: 1024px) {

    .ast-massage-intro__inner,
    .ast-massage-support__inner {
        grid-template-columns: 1fr;
        gap: 60px;
    }

    .ast-massage-support__heading {
        position: static;
        max-width: 650px;
    }

    .ast-massage-feature__points {
        grid-template-columns: 1fr;
    }

    .ast-massage-feature__point,
    .ast-massage-feature__point + .ast-massage-feature__point {
        padding: 28px 0;
        border-left: 0;
        border-bottom: 1px solid rgba(255,255,255,0.14);
    }

    .ast-massage-feature__point span {
        margin-bottom: 15px;
    }

    .ast-massage-locations__grid {
        grid-template-columns: 1fr;
    }

}


/* =========================================================
   MOBILE
========================================================= */

@media (max-width: 767px) {

    .ast-massage-intro__inner,
    .ast-massage-support__inner,
    .ast-massage-feature__inner,
    .ast-massage-locations__inner,
    .ast-sports-faq__inner {
        width: min(100% - 36px, 1180px);
        padding-top: 75px;
        padding-bottom: 75px;
    }


    .ast-section-title,
    .ast-massage-feature__intro h2,
    .ast-sports-faq__header h2 {
        font-size: 40px;
        letter-spacing: -1.5px;
    }


    .ast-massage-intro__lead {
        font-size: 17px;
    }


    .ast-massage-intro__visual > img {
        min-height: 340px;
    }


    .ast-review-card {
        position: relative;
        right: auto;
        bottom: auto;

        width: calc(100% - 28px);
        margin: -45px 14px 0;
    }


    .ast-massage-support__grid {
        grid-template-columns: 1fr;
    }


    .ast-massage-support__item {
        min-height: 0;
        padding: 28px 22px;
    }


    .ast-location-card {
        grid-template-columns: 1fr;
    }


    .ast-location-card__image img {
        min-height: 270px;
    }


    .ast-location-card__content {
        padding: 30px;
    }


    .ast-sports-faq__header {
        margin-bottom: 40px;
    }


    .ast-sports-faq summary {
        min-height: 70px;
    }


    .ast-sports-faq summary span {
        padding-right: 15px;
        font-size: 15px;
    }


    .ast-sports-faq__answer {
        padding-right: 15px;
    }


    .ast-sports-faq__answer p {
        font-size: 15px;
    }


    .ast-sports-faq__footer {
        align-items: flex-start;
        flex-direction: column;
    }

}

/* =========================================================
   GLOBAL TYPOGRAPHY FALLBACKS
========================================================= */
body {
    font-family: var(--font-body);
    color: var(--body-text);
}

h1, h2, h3, h4, h5, h6 {
    font-family: var(--font-heading);
}

p {
    color: var(--body-text);
}
/* =========================================================
   FINAL GLOBAL SECTION OVERRIDES
   These rules intentionally sit at the end of the stylesheet.
========================================================= */


/* =========================================================
   SPORTS THERAPY FAQ â€” GLOBAL NAVY/GOLD
========================================================= */

.ast-sports-faq {
    position: relative !important;
    overflow: hidden !important;
    padding: 95px 6% 100px !important;
    background: var(--navy) !important;
    color: #ffffff !important;
}

.ast-sports-faq::before {
    content: "" !important;
    position: absolute !important;
    left: -210px !important;
    top: 50% !important;
    width: 570px !important;
    height: 570px !important;
    transform: translateY(-50%) !important;
    background:
        url("http://ammonitesportstherapy.co.uk/wp-content/uploads/2026/07/winkle_12055627.svg")
        center / contain no-repeat !important;
    opacity: .04 !important;
    filter: brightness(0) invert(1) !important;
    pointer-events: none !important;
}

.ast-sports-faq__inner {
    position: relative !important;
    z-index: 2 !important;
    width: 100% !important;
    max-width: 1050px !important;
    margin: 0 auto !important;
}

.ast-sports-faq__header {
    margin-bottom: 45px !important;
    text-align: center !important;
}

.ast-sports-faq__eyebrow {
    display: inline-flex !important;
    align-items: center !important;
    gap: 13px !important;
    color: var(--gold) !important;
    font-family: var(--font-heading) !important;
    font-size: 11px !important;
    font-weight: 700 !important;
    letter-spacing: 1.6px !important;
    text-transform: uppercase !important;
}

.ast-sports-faq__eyebrow::before,
.ast-sports-faq__eyebrow::after {
    content: "" !important;
    width: 32px !important;
    height: 2px !important;
    background: var(--gold) !important;
}

.ast-sports-faq h2 {
    margin: 17px 0 0 !important;
    color: #ffffff !important;
    font-family: var(--font-heading) !important;
    font-size: clamp(36px, 3vw, 47px) !important;
    font-weight: 800 !important;
    line-height: 1.05 !important;
    letter-spacing: -1.3px !important;
}

.ast-sports-faq h2 strong {
    color: var(--gold) !important;
    font: inherit !important;
}

.ast-sports-faq__header p {
    margin: 17px auto 0 !important;
    color: rgba(255,255,255,.72) !important;
    font-family: var(--font-body) !important;
    font-size: 16px !important;
    line-height: 1.7 !important;
}

.ast-sports-faq__list {
    border-top: 1px solid rgba(255,255,255,.16) !important;
}

.ast-sports-faq details {
    border-bottom: 1px solid rgba(255,255,255,.16) !important;
}

.ast-sports-faq summary {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 20px !important;
    min-height: 74px !important;
    cursor: pointer !important;
    list-style: none !important;
    color: #ffffff !important;
    font-family: var(--font-heading) !important;
    font-size: 16px !important;
    font-weight: 700 !important;
}

.ast-sports-faq summary::-webkit-details-marker {
    display: none !important;
}

.ast-sports-faq summary i {
    position: relative !important;
    width: 20px !important;
    height: 20px !important;
    flex: 0 0 20px !important;
}

.ast-sports-faq summary i::before,
.ast-sports-faq summary i::after {
    content: "" !important;
    position: absolute !important;
    top: 50% !important;
    left: 50% !important;
    width: 13px !important;
    height: 2px !important;
    background: var(--gold) !important;
    transform: translate(-50%,-50%) !important;
}

.ast-sports-faq summary i::after {
    transform: translate(-50%,-50%) rotate(90deg) !important;
    transition: .25s ease !important;
}

.ast-sports-faq details[open] summary {
    color: var(--gold) !important;
}

.ast-sports-faq details[open] summary i::after {
    transform: translate(-50%,-50%) !important;
}

.ast-sports-faq__answer {
    max-width: 850px !important;
    padding: 0 40px 26px 0 !important;
}

.ast-sports-faq__answer p {
    margin: 0 !important;
    color: rgba(255,255,255,.76) !important;
    font-family: var(--font-body) !important;
    font-size: 16px !important;
    line-height: 1.7 !important;
}


/* =========================================================
   WHY CHOOSE AMMONITE â€” RESTORE NAVY PANEL + VISIBLE CONTENT
========================================================= */

.amm-why-clean {
    --white: #ffffff;
    --muted: rgba(255,255,255,.78);
    --line: rgba(255,255,255,.16);

    position: relative !important;
    width: 100% !important;
    overflow: hidden !important;
    background: var(--navy) !important;
    color: #ffffff !important;
}

.amm-why-clean,
.amm-why-clean * {
    box-sizing: border-box !important;
}

.amm-why-clean__inner {
    display: grid !important;
    grid-template-columns: 46% 54% !important;
    width: 100% !important;
    min-height: 680px !important;
    margin: 0 auto !important;
    background: var(--navy) !important;
}

.amm-why-clean__visual {
    position: relative !important;
    min-height: 680px !important;
    overflow: hidden !important;
    background: var(--navy) !important;
}

.amm-why-clean__visual img {
    position: absolute !important;
    inset: 0 !important;
    display: block !important;
    width: 100% !important;
    height: 100% !important;
    max-width: none !important;
    object-fit: cover !important;
    object-position: center center !important;
}

.amm-why-clean__image-overlay {
    position: absolute !important;
    inset: 0 !important;
    z-index: 1 !important;
    display: block !important;
    background:
        linear-gradient(
            180deg,
            rgba(var(--navy-rgb), .03) 0%,
            rgba(var(--navy-rgb), .08) 55%,
            rgba(var(--navy-rgb), .34) 100%
        ) !important;
    pointer-events: none !important;
}

.amm-why-clean__content {
    position: relative !important;
    z-index: 2 !important;
    display: flex !important;
    flex-direction: column !important;
    justify-content: center !important;
    min-height: 680px !important;
    padding: 70px clamp(50px,5vw,90px) !important;
    background: var(--navy) !important;
    color: #ffffff !important;
    opacity: 1 !important;
    visibility: visible !important;
}

.amm-why-clean__eyebrow {
    display: inline-flex !important;
    align-items: center !important;
    gap: 12px !important;
    width: fit-content !important;
    margin-bottom: 20px !important;
    color: var(--gold) !important;
    font-family: var(--font-heading) !important;
    font-size: 10px !important;
    font-weight: 700 !important;
    line-height: 1.3 !important;
    letter-spacing: 1.6px !important;
    text-transform: uppercase !important;
    opacity: 1 !important;
    visibility: visible !important;
}

.amm-why-clean__eyebrow::before {
    content: "" !important;
    width: 32px !important;
    height: 2px !important;
    background: var(--gold) !important;
}

.amm-why-clean__content h2 {
    display: block !important;
    max-width: 760px !important;
    margin: 0 !important;
    color: #ffffff !important;
    font-family: var(--font-heading) !important;
    font-size: clamp(42px,3.8vw,58px) !important;
    font-weight: 800 !important;
    line-height: 1.02 !important;
    letter-spacing: -1.8px !important;
    opacity: 1 !important;
    visibility: visible !important;
}

.amm-why-clean__content h2 strong {
    display: block !important;
    color: var(--gold) !important;
    font: inherit !important;
}

.amm-why-clean__intro {
    display: block !important;
    max-width: 760px !important;
    margin: 26px 0 34px !important;
    color: var(--muted) !important;
    font-family: var(--font-body) !important;
    font-size: 16px !important;
    line-height: 1.75 !important;
    opacity: 1 !important;
    visibility: visible !important;
}

.amm-why-clean__benefits {
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0,1fr)) !important;
    width: 100% !important;
    margin-top: 4px !important;
    border-top: 1px solid var(--line) !important;
    border-bottom: 1px solid var(--line) !important;
    opacity: 1 !important;
    visibility: visible !important;
}

.amm-why-clean__benefit {
    display: block !important;
    min-height: 210px !important;
    padding: 30px 24px 28px 0 !important;
    opacity: 1 !important;
    visibility: visible !important;
}

.amm-why-clean__benefit + .amm-why-clean__benefit {
    padding-left: 24px !important;
    border-left: 1px solid var(--line) !important;
}

.amm-why-clean__number {
    display: block !important;
    margin-bottom: 18px !important;
    color: var(--gold) !important;
    font-family: var(--font-heading) !important;
    font-size: 10px !important;
    font-weight: 700 !important;
    letter-spacing: .7px !important;
}

.amm-why-clean__benefit h3 {
    display: block !important;
    margin: 0 0 11px !important;
    color: #ffffff !important;
    font-family: var(--font-heading) !important;
    font-size: 18px !important;
    font-weight: 700 !important;
    line-height: 1.25 !important;
    opacity: 1 !important;
    visibility: visible !important;
}

.amm-why-clean__benefit p {
    display: block !important;
    margin: 0 !important;
    color: rgba(255,255,255,.74) !important;
    font-family: var(--font-body) !important;
    font-size: 15px !important;
    line-height: 1.65 !important;
    opacity: 1 !important;
    visibility: visible !important;
}

.amm-why-clean__actions {
    display: flex !important;
    align-items: center !important;
    gap: 28px !important;
    margin-top: 30px !important;
    opacity: 1 !important;
    visibility: visible !important;
}


/* =========================================================
   SHARED GOLD BUTTON
   Location booking buttons now match .ast-page-hero__button
========================================================= */

.ast-page-hero__button,
.ast-location-card__button {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 32px !important;

    min-width: 235px !important;
    min-height: 56px !important;

    padding: 0 23px !important;

    background: var(--gold) !important;
    color: var(--navy) !important;

    font-family: var(--font-heading) !important;
    font-size: 11px !important;
    font-weight: 700 !important;
    line-height: 1 !important;
    letter-spacing: .45px !important;
    text-decoration: none !important;
    text-transform: uppercase !important;

    transition:
        background .3s ease,
        color .3s ease,
        transform .3s ease !important;
}

.ast-page-hero__button span,
.ast-location-card__button span {
    font-size: 18px !important;
    line-height: 1 !important;
    transition: transform .3s ease !important;
}

.ast-page-hero__button:hover,
.ast-location-card__button:hover {
    background: var(--navy) !important;
    color: #ffffff !important;
    transform: translateY(-3px) !important;
}

.ast-page-hero__button:hover span,
.ast-location-card__button:hover span {
    transform: translateX(4px) !important;
}


/* The hero button sits on navy backgrounds in several sections.
   On those dark sections, keep the hover white for contrast. */
.ast-page-hero .ast-page-hero__button:hover,
.amm-why-clean .ast-page-hero__button:hover {
    background: #ffffff !important;
    color: var(--navy) !important;
}


/* =========================================================
   RESPONSIVE FINAL OVERRIDES
========================================================= */

@media (max-width: 1050px) {
    .amm-why-clean__inner {
        grid-template-columns: 42% 58% !important;
    }

    .amm-why-clean__content {
        padding: 60px 40px !important;
    }

    .amm-why-clean__benefits {
        grid-template-columns: 1fr !important;
    }

    .amm-why-clean__benefit,
    .amm-why-clean__benefit + .amm-why-clean__benefit {
        min-height: 0 !important;
        padding: 24px 0 !important;
        border-left: 0 !important;
    }

    .amm-why-clean__benefit + .amm-why-clean__benefit {
        border-top: 1px solid var(--line) !important;
    }
}

@media (max-width: 767px) {
    .ast-sports-faq {
        padding: 75px 6% 80px !important;
    }

    .ast-sports-faq h2 {
        white-space: normal !important;
        font-size: clamp(34px, 10vw, 44px) !important;
    }

    .ast-sports-faq__eyebrow::after {
        display: none !important;
    }

    .ast-sports-faq summary {
        min-height: 68px !important;
        font-size: 15px !important;
    }

    .amm-why-clean__inner {
        grid-template-columns: 1fr !important;
        min-height: 0 !important;
    }

    .amm-why-clean__visual {
        min-height: 430px !important;
    }

    .amm-why-clean__content {
        min-height: 0 !important;
        padding: 55px 6% 65px !important;
    }

    .amm-why-clean__content h2 {
        font-size: clamp(38px, 11vw, 50px) !important;
    }

    .amm-why-clean__actions {
        align-items: stretch !important;
    }

    .ast-page-hero__button,
    .ast-location-card__button {
        width: 100% !important;
        min-width: 0 !important;
    }
}

.sm-editorial{
    padding:110px 6%;
    background:#f7f4ee;
}

.sm-editorial__inner{
    position:relative;
    display:grid;
    grid-template-columns:1.15fr .85fr;
    align-items:center;
    max-width:1400px;
    margin:0 auto;
}

.sm-editorial__image{
    position:relative;
    height:690px;
    overflow:hidden;
}

.sm-editorial__image img{
    width:100%;
    height:100%;
    object-fit:cover;
}

.sm-editorial__label{
    position:absolute;
    left:28px;
    bottom:28px;

    padding:10px 16px;

    background:var(--navy);
    color:#fff;

    font-family:var(--font-heading);
    font-size:10px;
    font-weight:700;
    letter-spacing:1.4px;
    text-transform:uppercase;
}

.sm-editorial__content{
    position:relative;
    z-index:2;

    margin-left:-75px;
    padding:70px 65px;

    background:#fff;

    box-shadow:0 25px 70px rgba(var(--navy-rgb),.10);
}

.sm-eyebrow{
    display:inline-flex;
    align-items:center;
    gap:12px;

    margin-bottom:18px;

    color:var(--gold);

    font-family:var(--font-heading);
    font-size:11px;
    font-weight:700;
    letter-spacing:1.8px;
    text-transform:uppercase;
}

.sm-eyebrow:before{
    content:"";
    width:36px;
    height:2px;
    background:var(--gold);
}

.sm-editorial h1{
    margin:0;

    color:var(--navy);

    font-size:clamp(52px,5vw,76px);
    font-weight:800;
    line-height:.94;
    letter-spacing:-2.8px;
}

.sm-editorial h1 strong{
    display:block;
    color:var(--gold);
    font:inherit;
}

.sm-editorial__lead{
    margin:30px 0 16px;

    color:var(--navy)!important;

    font-size:19px;
    font-weight:500;
    line-height:1.6;
}

.sm-editorial__content > p:not(.sm-editorial__lead){
    max-width:560px;

    margin:0;

    color:var(--body-text);

    font-size:16px;
    line-height:1.75;
}

.sm-editorial__actions{
    display:flex;
    align-items:center;
    gap:28px;

    margin-top:30px;
}

.sm-editorial__review{
    display:flex;
    flex-direction:column;
    gap:4px;

    color:var(--body-text);

    font-size:12px;
}

.sm-editorial__review strong{
    color:var(--gold);
    letter-spacing:2px;
}

.sm-benefits{
    position:relative;
    overflow:hidden;

    padding:105px 6%;

    background:var(--navy);
}

.sm-benefits:after{
    content:"";
    position:absolute;

    width:500px;
    height:500px;

    right:-190px;
    top:-180px;

    border:1px solid rgba(255,255,255,.06);
    border-radius:50%;
}

.sm-benefits__inner{
    position:relative;
    z-index:2;

    display:grid;
    grid-template-columns:.8fr 1.2fr;
    gap:100px;

    max-width:1400px;
    margin:0 auto;
}

.sm-benefits__heading{
    align-self:start;
    position:sticky;
    top:150px;
}

.sm-benefits__heading h2{
    margin:0;

    color:#fff;

    font-size:clamp(44px,4vw,62px);
    font-weight:800;
    line-height:.98;
    letter-spacing:-2px;
}

.sm-benefits__heading h2 strong{
    display:block;
    color:var(--gold);
    font:inherit;
}

.sm-benefits__heading p{
    max-width:450px;

    margin:25px 0 0;

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

    font-size:16px;
    line-height:1.75;
}

.sm-benefits__grid{
    display:grid;
    grid-template-columns:1fr 1fr;

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

.sm-benefits__grid article{
    display:grid;
    grid-template-columns:50px 1fr;
    gap:18px;

    min-height:190px;
    padding:32px 30px;

    border-bottom:1px solid rgba(255,255,255,.15);
}

.sm-benefits__grid article:nth-child(even){
    border-left:1px solid rgba(255,255,255,.15);
}

.sm-benefits__grid article > span{
    color:var(--gold);

    font-family:var(--font-heading);
    font-size:10px;
    font-weight:700;
}

.sm-benefits__grid h3{
    margin:0 0 9px;

    color:#fff;

    font-size:19px;
    font-weight:700;
}

.sm-benefits__grid p{
    margin:0;

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

    font-size:14px;
    line-height:1.65;
}

.sm-treatment{
    position:relative;

    min-height:800px;

    overflow:hidden;
}

.sm-treatment__image{
    position:absolute;
    inset:0;
}

.sm-treatment__image:after{
    content:"";

    position:absolute;
    inset:0;

    background:
        linear-gradient(
            90deg,
            rgba(var(--navy-rgb),.85) 0%,
            rgba(var(--navy-rgb),.35) 55%,
            rgba(var(--navy-rgb),.08) 100%
        );
}

.sm-treatment__image img{
    width:100%;
    height:100%;
    object-fit:cover;
}

.sm-treatment__panel{
    position:relative;
    z-index:2;

    width:min(680px,88%);

    margin-left:6%;
    padding:90px 70px;

    background:rgba(var(--navy-rgb),.94);

    color:#fff;
}

.sm-treatment__panel h2{
    margin:0;

    color:#fff;

    font-size:clamp(46px,4.5vw,66px);
    font-weight:800;
    line-height:.96;
    letter-spacing:-2.2px;
}

.sm-treatment__panel h2 strong{
    display:block;
    color:var(--gold);
    font:inherit;
}

.sm-treatment__lead{
    margin:28px 0 10px;

    color:#fff!important;

    font-size:19px;
    font-weight:600;
}

.sm-treatment__panel > p:not(.sm-treatment__lead){
    max-width:520px;

    margin:0;

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

    font-size:16px;
    line-height:1.7;
}

.sm-treatment__steps{
    display:grid;
    grid-template-columns:repeat(3,1fr);

    margin:35px 0;

    border-top:1px solid rgba(255,255,255,.14);
    border-bottom:1px solid rgba(255,255,255,.14);
}

.sm-treatment__steps article{
    padding:27px 20px 27px 0;
}

.sm-treatment__steps article + article{
    padding-left:20px;
    border-left:1px solid rgba(255,255,255,.14);
}

.sm-treatment__steps span{
    color:var(--gold);

    font-family:var(--font-heading);
    font-size:10px;
    font-weight:700;
}

.sm-treatment__steps h3{
    margin:15px 0 7px;

    color:#fff;

    font-size:17px;
}

.sm-treatment__steps p{
    margin:0;

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

    font-size:13px;
    line-height:1.55;
}
@media(max-width:900px){

    .sm-editorial__inner,
    .sm-benefits__inner{
        grid-template-columns:1fr;
    }

    .sm-editorial__content{
        margin:-70px 5% 0;
        padding:50px 35px;
    }

    .sm-benefits__heading{
        position:static;
    }

    .sm-benefits__grid{
        grid-template-columns:1fr;
    }

    .sm-benefits__grid article:nth-child(even){
        border-left:0;
    }
}

@media(max-width:767px){

    .sm-editorial,
    .sm-benefits{
        padding:75px 6%;
    }

    .sm-editorial__image{
        height:470px;
    }

    .sm-editorial__content{
        margin:-45px 4% 0;
        padding:40px 25px;
    }

    .sm-editorial__actions{
        flex-direction:column;
        align-items:flex-start;
    }

    .sm-treatment{
        min-height:0;
    }

    .sm-treatment__image{
        position:relative;
        height:430px;
    }

    .sm-treatment__panel{
        width:100%;
        margin:0;
        padding:55px 6%;
    }

    .sm-treatment__steps{
        grid-template-columns:1fr;
    }

    .sm-treatment__steps article,
    .sm-treatment__steps article + article{
        padding:22px 0;
        border-left:0;
    }

    .sm-treatment__steps article + article{
        border-top:1px solid rgba(255,255,255,.14);
    }
}

/* =========================================================
   SPORTS MASSAGE — CLEAN IMAGE TILES
========================================================= */

.sm-card-intro{
    position:relative;
    overflow:hidden;

    padding:100px 6% 95px;

    background:#F7F4EE;
}


/* =========================================================
   AMMONITE BACKGROUND MARK
========================================================= */




/* SECOND SUBTLE MARK */

.sm-card-intro::after{
    content:"";

    position:absolute;

    right:-230px;
    bottom:450px;

    width:650px;
    height:650px;

    background-image:
        url("http://ammonitesportstherapy.co.uk/wp-content/uploads/2026/07/winkle_12055627.svg");

    background-repeat:no-repeat;
    background-position:center;
    background-size:contain;

    opacity:.035;

    pointer-events:none;
}


/* =========================================================
   INNER
========================================================= */

.sm-card-intro__inner{
    position:relative;
    z-index:2;

    width:100%;
    max-width:1400px;
    margin:0 auto;
}


/* =========================================================
   INTRO
========================================================= */

.sm-card-intro__heading{
    max-width:920px;

    margin:0 auto 62px;

    text-align:center;
}


/* EYEBROW */

.sm-card-intro__eyebrow{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:14px;

    margin-bottom:22px;

    color:var(--gold);

    font-family:var(--font-heading);
    font-size:12px;
    font-weight:700;
    letter-spacing:1.8px;

    text-transform:uppercase;
}


.sm-card-intro__eyebrow::before,
.sm-card-intro__eyebrow::after{
    content:"";

    width:40px;
    height:2px;

    background:var(--gold);
}


/* =========================================================
   H2
========================================================= */

.sm-card-intro h2{
    margin:0;

    color:var(--navy);

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

    font-size:clamp(52px,5vw,74px);
    font-weight:800;

    line-height:.96;
    letter-spacing:-2.6px;
}


.sm-card-intro h2 strong{
    display:block;

    color:var(--gold);

    font:inherit;
}


/* =========================================================
   INTRO TEXT
========================================================= */

.sm-card-intro__lead{
    max-width:800px;

    margin:30px auto 16px;

    color:var(--navy)!important;

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

    font-size:20px;
    font-weight:600;

    line-height:1.55;
}


.sm-card-intro__heading > p:not(.sm-card-intro__lead){
    max-width:790px;

    margin:0 auto;

    color:var(--body-text);

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

    font-size:17px;
    line-height:1.7;
}


/* =========================================================
   TILE GRID
========================================================= */

.sm-card-intro__cards{
    display:grid;

    grid-template-columns:repeat(3,1fr);

    gap:30px;
}


/* =========================================================
   TILE
========================================================= */

.sm-card-intro__card{
    min-width:0;
}


/* =========================================================
   IMAGE
========================================================= */

.sm-card-intro__image{
    position:relative;

    height:360px;

    overflow:hidden;

    border-radius:12px;
}


.sm-card-intro__image img{
    display:block;

    width:100%;
    height:100%;

    object-fit:cover;

    transition:transform .6s ease;
}


/* DIFFERENT CROPS */

.sm-card-intro__card:nth-child(1) img{
    object-position:20% center;
}

.sm-card-intro__card:nth-child(2) img{
    object-position:52% center;
}

.sm-card-intro__card:nth-child(3) img{
    object-position:80% center;
}


/* VERY LIGHT IMAGE SHADE */

.sm-card-intro__image::after{
    content:"";

    position:absolute;
    inset:0;

    background:
        linear-gradient(
            180deg,
            rgba(var(--navy-rgb),0) 65%,
            rgba(var(--navy-rgb),.12) 100%
        );

    pointer-events:none;
}


/* =========================================================
   NUMBER
========================================================= */

.sm-card-intro__number{
    position:absolute;

    z-index:2;

    left:20px;
    bottom:20px;

    display:flex;
    align-items:center;
    justify-content:center;

    width:42px;
    height:42px;

    border-radius:50%;

    background:var(--gold);

    color:var(--navy);

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

    font-size:11px;
    font-weight:800;
}


/* =========================================================
   COPY BELOW IMAGE
========================================================= */

.sm-card-intro__card-copy{
    padding:24px 4px 0;
}


.sm-card-intro__card h4{
    margin:0 0 11px;

    color:var(--navy);

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

    font-size:25px;
    font-weight:800;

    line-height:1.15;
}


.sm-card-intro__card-copy p{
    max-width:390px;

    margin:0;

    color:var(--body-text);

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

    font-size:16px;
    line-height:1.65;
}


/* =========================================================
   HOVER
========================================================= */

.sm-card-intro__card:hover img{
    transform:scale(1.035);
}


/* =========================================================
   CTA
========================================================= */

.sm-card-intro__footer{
    display:flex;
    flex-direction:column;
    align-items:center;

    padding-top:58px;

    text-align:center;
}


.sm-card-intro__footer-line{
    width:70px;
    height:2px;

    margin-bottom:20px;

    background:var(--gold);
}


.sm-card-intro__footer p{
    margin:0 0 19px;

    color:var(--navy);

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

    font-size:18px;
    font-weight:500;
}


/* =========================================================
   TABLET
========================================================= */

@media(max-width:950px){

    .sm-card-intro__cards{
        grid-template-columns:1fr 1fr;
    }


    .sm-card-intro__card:last-child{
        grid-column:1 / -1;

        max-width:650px;
    }

}


/* =========================================================
   MOBILE
========================================================= */

@media(max-width:767px){

    .sm-card-intro{
        padding:70px 6%;
    }


    /* BACKGROUND MARK */

    .sm-card-intro::before{
        top:-60px;
        left:-210px;

        width:500px;
        height:500px;

        opacity:.06;
    }


    .sm-card-intro::after{
        display:none;
    }


    /* INTRO */

    .sm-card-intro__heading{
        margin-bottom:45px;
    }


    .sm-card-intro__eyebrow{
        font-size:10px;
        letter-spacing:1.4px;
    }


    .sm-card-intro__eyebrow::before,
    .sm-card-intro__eyebrow::after{
        width:24px;
    }


    /* HEADING */

    .sm-card-intro h2{
        font-size:clamp(42px,12vw,56px);

        line-height:.98;
        letter-spacing:-2px;
    }


    /* COPY */

    .sm-card-intro__lead{
        margin-top:24px;

        font-size:18px;
    }


    .sm-card-intro__heading > p:not(.sm-card-intro__lead){
        font-size:16px;
    }


    /* CARDS */

    .sm-card-intro__cards{
        grid-template-columns:1fr;

        gap:40px;
    }


    .sm-card-intro__card:last-child{
        grid-column:auto;

        max-width:none;
    }


    .sm-card-intro__image{
        height:360px;

        border-radius:10px;
    }


    .sm-card-intro__card-copy{
        padding-top:20px;
    }


    .sm-card-intro__card h4{
        font-size:24px;
    }


    .sm-card-intro__card-copy p{
        font-size:16px;
    }


    /* FOOTER */

    .sm-card-intro__footer{
        padding-top:48px;
    }


    .sm-card-intro__footer p{
        font-size:16px;
    }


    .sm-card-intro__footer .ast-page-hero__button{
        width:100%;
    }

}

.ammonite-main-hero__reviews blockquote {
    margin: 0;
    color: rgba(255, 255, 255, 0.9);
    font-family: var(--font-body);
    font-size: 13px;
    font-style: italic;
    line-height: 1.55;
}

.ammonite-main-hero__intro {
    max-width: 600px;
    margin: 27px 0 0;
    color: rgba(255, 255, 255, 0.9);
    font-family: var(--font-body);
    font-size: 17px;
    line-height: 1.72;
}

.who-more {
    margin-top: 18px;
}

.who-more p {
    position: relative;
    margin: 0 0 10px;
    padding-left: 22px;

    color: rgba(255, 255, 255, 0.9);
    font-family: var(--font-body);
    font-size: 15px;
    line-height: 1.5;
}

.who-more p::before {
    content: "";
    position: absolute;
    left: 0;
    top: 6px;

    width: 7px;
    height: 4px;

    border-left: 2px solid #e9ad18;
    border-bottom: 2px solid #e9ad18;

    transform: rotate(-45deg);
}

.ast-rehab-heading-line {
    display: block;
    white-space: nowrap;
}

@media (max-width: 767px) {
    .ast-rehab-heading-line {
        white-space: normal;
    }
}

.ast-rehab-feature h2 strong {
    display: inline;
}

/* =========================================================
   WHAT WE CAN HELP WITH
========================================================= */

.ast-rehab-help {
    position: relative;
    overflow: hidden;
    background: #f4f1e9;
    padding: 78px 0 90px;
}

.ast-rehab-help__inner {
    width: min(1280px, calc(100% - 70px));
    margin: 0 auto;
}


/* =========================================================
   HEADER
========================================================= */

.ast-rehab-help__header {
    max-width: 920px;
    margin: 0 auto 52px;
    text-align: center;
}

.ast-rehab-help__eyebrow {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 14px;

    margin-bottom: 18px;

    color: #dfa52d;

    font-size: 11px;
    font-weight: 700;
    line-height: 1;
    letter-spacing: 2.2px;
    text-transform: uppercase;
}

.ast-rehab-help__eyebrow::before,
.ast-rehab-help__eyebrow::after {
    content: "";
    width: 36px;
    height: 1px;
    background: #dfa52d;
}


/* TITLE */

.ast-rehab-help__header h2 {
    max-width: 900px;
    margin: 0 auto;

    color: #071e2d;

    font-size: clamp(44px, 4.8vw, 68px);
    line-height: 0.98;
    letter-spacing: -0.045em;
    font-weight: 800;
}

.ast-rehab-help__header h2 strong {
    display: inline;
    color: #dfa52d;
    font-weight: inherit;
}


/* INTRO */

.ast-rehab-help__header p {
    max-width: 760px;

    margin: 24px auto 0;

    color: #334a59;

    font-size: 17px;
    line-height: 1.75;
}


/* =========================================================
   GRID
========================================================= */

.ast-rehab-help__grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 18px;
}


/* =========================================================
   CARD
========================================================= */

.ast-rehab-help__card {
    position: relative;

    display: grid;
    grid-template-columns: 88px minmax(0, 1fr);
    gap: 24px;
    align-items: start;

    min-height: 235px;

    padding: 36px 34px;

    background: rgba(255, 255, 255, 0.38);

    border: 1px solid rgba(7, 30, 45, 0.12);
    border-radius: 14px;

    transition:
        transform 0.3s ease,
        background 0.3s ease,
        border-color 0.3s ease,
        box-shadow 0.3s ease;
}

.ast-rehab-help__card:hover {
    transform: translateY(-4px);

    background: rgba(255, 255, 255, 0.68);

    border-color: rgba(223, 165, 45, 0.38);

    box-shadow:
        0 18px 40px rgba(7, 30, 45, 0.06);
}


/* =========================================================
   ICON
========================================================= */

.ast-rehab-help__icon {
    display: flex;
    align-items: center;
    justify-content: center;

    width: 76px;
    height: 76px;

}

.ast-rehab-help__icon svg {
    width: 46px;
    height: 46px;}


.ast-rehab-help__icon svg circle:last-child {
    stroke: #dfa52d;
}


/* =========================================================
   CARD CONTENT
========================================================= */

.ast-rehab-help__content {
    padding-top: 5px;
}

.ast-rehab-help__content h3 {
    margin: 0;

    color: #071e2d;

    font-size: 21px;
    line-height: 1.2;
    font-weight: 800;
    letter-spacing: -0.015em;
}


/* GOLD LINE */

.ast-rehab-help__line {
    display: block;

    width: 30px;
    height: 2px;

    margin: 15px 0 17px;

    background: #dfa52d;

    transition: width 0.3s ease;
}

.ast-rehab-help__card:hover .ast-rehab-help__line {
    width: 48px;
}


/* DESCRIPTION */

.ast-rehab-help__content p {
    margin: 0;

    color: #334a59;

    font-size: 15px;
    line-height: 1.7;
}


/* =========================================================
   TABLET
========================================================= */

@media (max-width: 1050px) {

    .ast-rehab-help {
        padding: 72px 0 80px;
    }

    .ast-rehab-help__inner {
        width: min(100% - 50px, 1280px);
    }

    .ast-rehab-help__header {
        margin-bottom: 45px;
    }

    .ast-rehab-help__grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

}


/* =========================================================
   SMALL TABLET
========================================================= */

@media (max-width: 760px) {

    .ast-rehab-help__card {
        grid-template-columns: 70px minmax(0, 1fr);
        gap: 20px;

        min-height: auto;

        padding: 30px 28px;
    }

    .ast-rehab-help__icon {
        width: 64px;
        height: 64px;
    }

    .ast-rehab-help__icon svg {
        width: 38px;
        height: 38px;
    }

}


/* =========================================================
   MOBILE
========================================================= */

@media (max-width: 650px) {

    .ast-rehab-help {
        padding: 58px 0 62px;
    }

    .ast-rehab-help__inner {
        width: calc(100% - 32px);
    }

    .ast-rehab-help__header {
        margin-bottom: 34px;
        text-align: left;
    }

    .ast-rehab-help__eyebrow {
        justify-content: flex-start;

        margin-bottom: 16px;

        font-size: 10px;
        letter-spacing: 1.7px;
    }

    .ast-rehab-help__eyebrow::after {
        display: none;
    }

    .ast-rehab-help__header h2 {
        font-size: clamp(39px, 11.7vw, 52px);
        line-height: 1;
    }

    .ast-rehab-help__header p {
        margin-top: 18px;

        font-size: 16px;
        line-height: 1.65;
    }

    .ast-rehab-help__grid {
        grid-template-columns: 1fr;
        gap: 12px;
    }

    .ast-rehab-help__card {
        grid-template-columns: 58px minmax(0, 1fr);
        gap: 17px;

        padding: 26px 22px;

        border-radius: 11px;
    }

    .ast-rehab-help__icon {
        width: 54px;
        height: 54px;
    }

    .ast-rehab-help__icon svg {
        width: 32px;
        height: 32px;
    }

    .ast-rehab-help__content {
        padding-top: 2px;
    }

    .ast-rehab-help__content h3 {
        font-size: 19px;
    }

    .ast-rehab-help__line {
        margin: 12px 0 13px;
    }

    .ast-rehab-help__content p {
        font-size: 14.5px;
        line-height: 1.65;
    }

}

/* =========================================================
   REHABILITATION PATHWAY
========================================================= */

.ast-rehab-pathway {
    position: relative;
    overflow: hidden;

    background: #ffffff;

    padding: 95px 0 105px;
}

.ast-rehab-pathway__inner {
    width: min(1320px, calc(100% - 80px));
    margin: 0 auto;
}


/* =========================================================
   HEADER
========================================================= */

.ast-rehab-pathway__header {
    max-width: 800px;
    margin-bottom: 72px;
}

.ast-rehab-pathway__eyebrow {
    display: flex;
    align-items: center;
    gap: 14px;

    margin-bottom: 20px;

    color: #dfa52d;

    font-size: 11px;
    font-weight: 700;
    letter-spacing: 2px;
    text-transform: uppercase;
}

.ast-rehab-pathway__eyebrow::before {
    content: "";

    width: 30px;
    height: 2px;

    background: #dfa52d;
}

.ast-rehab-pathway__header h2 {
    margin: 0;

    color: #071e2d;

    font-size: clamp(46px, 5vw, 72px);
    line-height: 0.98;
    letter-spacing: -0.045em;
    font-weight: 800;
}

.ast-rehab-pathway__header h2 strong {
    display: inline;

    color: #dfa52d;

    font-weight: inherit;
}

.ast-rehab-pathway__header p {
    max-width: 720px;

    margin: 24px 0 0;

    color: #334a59;

    font-size: 17px;
    line-height: 1.7;
}


/* =========================================================
   JOURNEY
========================================================= */

.ast-rehab-pathway__journey {
    position: relative;

    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));

    gap: 22px;

    padding-top: 34px;
}


/* MAIN TRACK */

.ast-rehab-pathway__track {
    position: absolute;

    top: 58px;
    left: 9%;
    right: 9%;

    height: 2px;

    background:
        linear-gradient(
            to right,
            #dfa52d 0%,
            #dfa52d 72%,
            rgba(7, 30, 45, 0.12) 72%,
            rgba(7, 30, 45, 0.12) 100%
        );
}


/* =========================================================
   STEP
========================================================= */

.ast-rehab-pathway__step {
    position: relative;
    z-index: 2;
}


/* =========================================================
   MARKER
========================================================= */

.ast-rehab-pathway__marker {
    position: relative;

    display: flex;
    align-items: center;
    justify-content: center;

    width: 88px;
    height: 88px;

    margin-bottom: 28px;

    background: #ffffff;

    border: 2px solid #dfa52d;
    border-radius: 50%;

    box-shadow:
        0 0 0 10px #ffffff,
        0 14px 30px rgba(7, 30, 45, 0.07);
}

.ast-rehab-pathway__marker span {
    position: absolute;

    top: -26px;
    left: 50%;

    transform: translateX(-50%);

    color: #dfa52d;

    font-size: 10px;
    font-weight: 800;
    letter-spacing: 1px;
}

.ast-rehab-pathway__marker i {
    display: flex;
    align-items: center;
    justify-content: center;

    width: 52px;
    height: 52px;

    background: #dfa52d;

    border-radius: 50%;

    color: #071e2d;

    font-size: 21px;
    font-style: normal;
    font-weight: 800;
}


/* =========================================================
   CARD
========================================================= */

.ast-rehab-pathway__card {
    position: relative;

    min-height: 200px;

    padding: 30px 28px;

    background: #f7f4ed;

    border: 1px solid rgba(7, 30, 45, 0.08);
    border-radius: 14px;

    transition:
        transform 0.3s ease,
        box-shadow 0.3s ease,
        border-color 0.3s ease;
}

.ast-rehab-pathway__step:nth-child(even) .ast-rehab-pathway__card {
    transform: translateY(18px);
}

.ast-rehab-pathway__step:hover .ast-rehab-pathway__card {
    transform: translateY(-4px);

    border-color: rgba(223, 165, 45, 0.4);

    box-shadow:
        0 18px 38px rgba(7, 30, 45, 0.08);
}

.ast-rehab-pathway__step:nth-child(even):hover .ast-rehab-pathway__card {
    transform: translateY(12px);
}


/* CARD TOP ACCENT */

.ast-rehab-pathway__card::before {
    content: "";

    position: absolute;

    top: 0;
    left: 28px;

    width: 42px;
    height: 3px;

    background: #dfa52d;
}


/* TITLE */

.ast-rehab-pathway__card h3 {
    margin: 4px 0 14px;

    color: #071e2d;

    font-size: 23px;
    line-height: 1.2;
    font-weight: 800;
}


/* TEXT */

.ast-rehab-pathway__card p {
    margin: 0;

    color: #334a59;

    font-size: 15px;
    line-height: 1.7;
}


/* =========================================================
   TABLET
========================================================= */

@media (max-width: 1000px) {

    .ast-rehab-pathway {
        padding: 80px 0 90px;
    }

    .ast-rehab-pathway__inner {
        width: min(100% - 50px, 1320px);
    }

    .ast-rehab-pathway__journey {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 50px 24px;
    }

    .ast-rehab-pathway__track {
        display: none;
    }

    .ast-rehab-pathway__step:nth-child(even) .ast-rehab-pathway__card {
        transform: none;
    }

}


/* =========================================================
   MOBILE
========================================================= */

@media (max-width: 650px) {

    .ast-rehab-pathway {
        padding: 64px 0 70px;
    }

    .ast-rehab-pathway__inner {
        width: calc(100% - 34px);
    }

    .ast-rehab-pathway__header {
        margin-bottom: 48px;
    }

    .ast-rehab-pathway__header h2 {
        font-size: clamp(40px, 12vw, 54px);
    }

    .ast-rehab-pathway__header p {
        font-size: 16px;
    }

    .ast-rehab-pathway__journey {
        grid-template-columns: 1fr;

        gap: 22px;

        padding-top: 0;
    }

    .ast-rehab-pathway__step {
        display: grid;
        grid-template-columns: 70px minmax(0, 1fr);
        gap: 18px;
        align-items: start;
    }

    .ast-rehab-pathway__marker {
        width: 62px;
        height: 62px;

        margin: 0;

        box-shadow: none;
    }

    .ast-rehab-pathway__marker span {
        display: none;
    }

    .ast-rehab-pathway__marker i {
        width: 42px;
        height: 42px;

        font-size: 17px;
    }

    .ast-rehab-pathway__card,
    .ast-rehab-pathway__step:nth-child(even) .ast-rehab-pathway__card {
        min-height: auto;

        padding: 24px 22px;

        transform: none;
    }

    .ast-rehab-pathway__card h3 {
        font-size: 20px;
    }

}

.ast-rehab-help__icon {
    display: flex;
    align-items: center;
    justify-content: center;

    width: 76px;
    height: 76px;

    background: rgba(223, 165, 45, 0.07);
    border-radius: 50%;

    overflow: hidden;
}

.ast-rehab-help__icon img {
    display: block;

    width: 42px;
    height: 42px;

    object-fit: contain;
}

/* =========================================================
   SPORTS MASSAGE BENEFITS
========================================================= */

.sm-benefits {
    background: #f5f2eb;
    padding: 100px 0 105px;
}

.sm-benefits__inner {
    width: min(1240px, calc(100% - 70px));
    margin: 0 auto;
}


/* =========================================================
   TOP AREA
========================================================= */

.sm-benefits__top {
    display: grid;
    grid-template-columns: minmax(0, 1.05fr) minmax(380px, 0.95fr);
    gap: 85px;
    align-items: center;

    margin-bottom: 75px;
}


/* =========================================================
   IMAGE
========================================================= */

.sm-benefits__image {
    position: relative;
    overflow: hidden;

    height: 500px;

    border-radius: 14px;
}

.sm-benefits__image img {
    display: block;

    width: 100%;
    height: 100%;

    object-fit: cover;
    object-position: center;
}


/* SMALL ACCENT */

.sm-benefits__image::after {
    content: "";

    position: absolute;

    right: 26px;
    bottom: 26px;

    width: 70px;
    height: 5px;

    background: #e2a72e;
}


/* =========================================================
   INTRO
========================================================= */

.sm-benefits__intro {
    max-width: 520px;
}

.sm-benefits__eyebrow {
    display: flex;
    align-items: center;
    gap: 14px;

    margin-bottom: 22px;

    color: #dfa52d;

    font-size: 11px;
    line-height: 1;
    font-weight: 700;
    letter-spacing: 2px;
    text-transform: uppercase;
}

.sm-benefits__eyebrow::before {
    content: "";

    width: 32px;
    height: 2px;

    background: #dfa52d;
}


/* TITLE */

.sm-benefits__intro h2 {
    margin: 0;

    color: #071e2d;

    font-size: clamp(44px, 4.3vw, 64px);
    line-height: 0.98;
    letter-spacing: -0.045em;
    font-weight: 800;
}

.sm-benefits__intro h2 strong {
    display: inline;

    color: #dfa52d;
    font-weight: inherit;
}


/* TEXT */

.sm-benefits__intro > p {
    margin: 26px 0 0;

    color: #3d5360;

    font-size: 17px;
    line-height: 1.75;
}


/* =========================================================
   BENEFIT LIST
========================================================= */

.sm-benefits__list {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));

    column-gap: 55px;
    row-gap: 0;

    border-top: 1px solid rgba(7, 30, 45, 0.13);
}


/* ITEM */

.sm-benefits__list article {
    display: grid;
    grid-template-columns: 13px minmax(0, 1fr);
    gap: 17px;

    padding: 30px 0;

    border-bottom: 1px solid rgba(7, 30, 45, 0.13);
}


/* MARK */

.sm-benefits__mark {
    width: 7px;
    height: 7px;

    margin-top: 9px;

    background: #dfa52d;

    border-radius: 50%;
}


/* TITLE */

.sm-benefits__list h3 {
    margin: 0 0 8px;

    color: #071e2d;

    font-size: 19px;
    line-height: 1.25;
    font-weight: 800;
}


/* TEXT */

.sm-benefits__list p {
    margin: 0;

    color: #526570;

    font-size: 15px;
    line-height: 1.65;
}


/* =========================================================
   TABLET
========================================================= */

@media (max-width: 1000px) {

    .sm-benefits {
        padding: 80px 0 85px;
    }

    .sm-benefits__inner {
        width: min(100% - 50px, 1240px);
    }

    .sm-benefits__top {
        gap: 50px;
        margin-bottom: 60px;
    }

    .sm-benefits__image {
        height: 430px;
    }

    .sm-benefits__list {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        column-gap: 40px;
    }

}


/* =========================================================
   MOBILE
========================================================= */

@media (max-width: 720px) {

    .sm-benefits {
        padding: 62px 0 68px;
    }

    .sm-benefits__inner {
        width: calc(100% - 34px);
    }

    .sm-benefits__top {
        grid-template-columns: 1fr;
        gap: 38px;

        margin-bottom: 45px;
    }

    .sm-benefits__image {
        height: 330px;
        border-radius: 10px;
    }

    .sm-benefits__intro h2 {
        font-size: clamp(40px, 11vw, 52px);
    }

    .sm-benefits__intro > p {
        margin-top: 20px;

        font-size: 16px;
        line-height: 1.7;
    }

    .sm-benefits__list {
        grid-template-columns: 1fr;
    }

    .sm-benefits__list article {
        padding: 22px 0;
    }

}

/* =========================================================
   SPORTS MASSAGE IMAGE FEATURE
========================================================= */

.sm-feature {
    position: relative;
    min-height: 760px;
    overflow: hidden;
    background: #071e2d;
}


/* IMAGE */

.sm-feature__media {
    position: absolute;
    inset: 0;
}

.sm-feature__media img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;

    display: block;
}


/* OVERLAY */

.sm-feature__overlay {
    position: absolute;
    inset: 0;

}


/* CONTAINER */

.sm-feature__inner {
    position: relative;
    z-index: 2;

    width: min(1280px, calc(100% - 80px));
    min-height: 760px;

    margin: 0 auto;

    display: flex;
    align-items: flex-end;

    padding: 90px 0;
}


/* TEXT PANEL */

.sm-feature__panel {
    max-width: 600px;

    padding: 46px 48px;

    background: rgba(7, 30, 45, 0.88);

    backdrop-filter: blur(8px);
    -webkit-backdrop-filter: blur(8px);

    border: 1px solid rgba(255,255,255,0.12);
    border-radius: 14px;
}


/* EYEBROW */

.sm-feature__eyebrow {
    display: flex;
    align-items: center;
    gap: 13px;

    margin-bottom: 20px;

    color: #e2a72e;

    font-size: 11px;
    font-weight: 700;
    letter-spacing: 2px;
    text-transform: uppercase;
}

.sm-feature__eyebrow::before {
    content: "";
    width: 30px;
    height: 2px;

    background: #e2a72e;
}


/* TITLE */

.sm-feature__panel h2 {
    margin: 0;

    color: #ffffff;

    font-size: clamp(48px, 4.8vw, 68px);
    line-height: 0.96;
    letter-spacing: -0.045em;
    font-weight: 800;
}

.sm-feature__panel h2 strong {
    display: inline;

    color: #e2a72e;
    font-weight: inherit;
}


/* INTRO */

.sm-feature__intro {
    margin: 24px 0 0;

    color: rgba(255,255,255,0.76);

    font-size: 17px;
    line-height: 1.7;
}


/* POINTS */

.sm-feature__points {
    margin-top: 30px;

    display: grid;
    gap: 14px;
}

.sm-feature__points > div {
    display: grid;
    grid-template-columns: 26px 1fr;
    gap: 10px;
    align-items: start;
}

.sm-feature__points span {
    color: #e2a72e;

    font-size: 17px;
    font-weight: 800;
}

.sm-feature__points p {
    margin: 0;

    color: rgba(255,255,255,0.88);

    font-size: 15px;
    line-height: 1.5;
}


/* BUTTON */

.sm-feature__button {
    display: inline-flex;
    align-items: center;
    justify-content: space-between;
    gap: 38px;

    margin-top: 34px;

    min-width: 230px;

    padding: 17px 22px;

    background: #e2a72e;

    color: #071e2d;

    text-decoration: none;
    text-transform: uppercase;

    font-size: 11px;
    font-weight: 800;
    letter-spacing: 0.3px;

    transition:
        transform 0.25s ease,
        background 0.25s ease;
}

.sm-feature__button:hover {
    transform: translateY(-2px);
    background: #efb73a;
}


/* TABLET */

@media (max-width: 900px) {

    .sm-feature,
    .sm-feature__inner {
        min-height: 680px;
    }

    .sm-feature__inner {
        width: min(100% - 50px, 1280px);
        padding: 70px 0;
    }

    .sm-feature__panel {
        max-width: 560px;
    }

}


/* MOBILE */

@media (max-width: 650px) {

    .sm-feature {
        min-height: auto;
    }

    .sm-feature__media {
        position: relative;
        height: 360px;
    }

    .sm-feature__overlay {
        display: none;
    }

    .sm-feature__inner {
        width: 100%;
        min-height: auto;
        padding: 0;
        display: block;
    }

    .sm-feature__panel {
        max-width: none;

        padding: 38px 24px 42px;

        background: #071e2d;

        border: 0;
        border-radius: 0;

        backdrop-filter: none;
        -webkit-backdrop-filter: none;
    }

    .sm-feature__panel h2 {
        font-size: clamp(42px, 12vw, 54px);
    }

}

/* =========================================
   HEADER TOP BAR – FORCE CONTACT TEXT WHITE
========================================= */

.ast-header .ast-header__contact a,
.ast-header .ast-header__contact a:visited,
.ast-header .ast-header__contact a span {
    color: #ffffff !important;
    opacity: 1 !important;
}

/* Keep gold hover */
.ast-header .ast-header__contact a:hover,
.ast-header .ast-header__contact a:hover span {
    color: var(--gold) !important;
}

/* =========================================
   HEADER TOP CONTACT BAR — FORCE WHITE
========================================= */

html body .ast-header .ast-header__top .ast-header__contact a,
html body .ast-header .ast-header__top .ast-header__contact a:link,
html body .ast-header .ast-header__top .ast-header__contact a:visited,
html body .ast-header .ast-header__top .ast-header__contact a span {
    color: #ffffff !important;
    opacity: 1 !important;
    -webkit-text-fill-color: #ffffff !important;
}

/* Hover */
html body .ast-header .ast-header__top .ast-header__contact a:hover,
html body .ast-header .ast-header__top .ast-header__contact a:hover span {
    color: var(--gold) !important;
    -webkit-text-fill-color: var(--gold) !important;
}