@import url("awoh-approved-shell.css?v=20260614-wheel-menu");

/* Phase 2 editorial system */
.awoh-home-legacy {
    display: none !important;
}

.awoh-editorial-title,
.awoh-editorial-heading h2,
.awoh-home-editorial h1,
.awoh-home-editorial h2 {
    margin: 0;
    font-family: "GAFTON", Arial, sans-serif !important;
    font-weight: 400;
    letter-spacing: -0.035em;
}

.awoh-editorial-title {
    max-width: 1050px;
    font-size: clamp(58px, 8.4vw, 134px);
    line-height: 0.88;
}

.awoh-editorial-link {
    display: inline-flex;
    gap: 28px;
    padding: 12px 0;
    border-bottom: 1px solid currentColor;
    align-items: center;
    color: #ffffff !important;
    font-family: "Montserrat", Arial, sans-serif;
    font-size: 13px;
    font-weight: 700;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.awoh-editorial-link span {
    transition: transform 220ms ease;
}

.awoh-editorial-link:hover span {
    transform: translateX(7px);
}

.awoh-editorial-link--dark {
    color: #111111 !important;
}

.awoh-editorial-heading {
    display: grid;
    grid-template-columns: minmax(130px, 0.35fr) minmax(0, 1fr);
    gap: clamp(30px, 7vw, 120px);
    margin-bottom: clamp(52px, 8vw, 110px);
    align-items: start;
}

.awoh-editorial-heading h2 {
    font-size: clamp(52px, 7.2vw, 112px);
    line-height: 0.9;
}

.awoh-editorial-split {
    display: grid;
    grid-template-columns: minmax(180px, 0.45fr) minmax(0, 1.2fr);
    gap: clamp(40px, 8vw, 140px);
    align-items: start;
}

/* Floating header and automatic contrast */
.main-header {
    position: fixed !important;
    z-index: 1000;
    width: 100%;
    color: #111111;
    transition: color 280ms ease;
}

.main-header .main-header__layout,
.main-header .main-header__inner {
    background: transparent !important;
}

.main-header .main-header__inner {
    max-width: none !important;
    min-height: 76px;
    margin: 12px clamp(14px, 2.3vw, 36px) 0;
    padding: 0 clamp(16px, 2vw, 30px) !important;
    border: 1px solid transparent;
    border-radius: 18px;
    transition: background-color 280ms ease, border-color 280ms ease, box-shadow 280ms ease, backdrop-filter 280ms ease;
}

.main-header.is-scrolled .main-header__inner {
    border-color: rgba(127, 127, 127, 0.18);
    background: rgba(245, 245, 242, 0.68) !important;
    box-shadow: 0 10px 35px rgba(0, 0, 0, 0.08);
    -webkit-backdrop-filter: blur(14px) saturate(120%);
    backdrop-filter: blur(14px) saturate(120%);
}

.main-header[data-header-tone="dark"] {
    color: #ffffff;
}

.main-header[data-header-tone="dark"].is-scrolled .main-header__inner {
    border-color: rgba(255, 255, 255, 0.12);
    background: rgba(8, 8, 8, 0.62) !important;
    box-shadow: 0 10px 35px rgba(0, 0, 0, 0.24);
}

.main-header[data-header-tone="dark"] .logo-dark,
.main-header[data-header-tone="light"] .logo-light {
    display: block !important;
}

.main-header[data-header-tone="dark"] .logo-light,
.main-header[data-header-tone="light"] .logo-dark {
    display: none !important;
}

.main-header .main-header__logo img {
    width: auto !important;
    max-width: 118px;
    height: 42px;
    object-fit: contain;
}

.main-header .navbar-nav > .menu-item > a,
.main-header .awoh-language__trigger,
.main-header .header__search-icon,
.main-header .ms_theme_mode,
.main-header .main-header__nav-trigger {
    color: inherit !important;
}

.main-header .header__search-icon svg *,
.main-header .main-header__nav-trigger-icon::before,
.main-header .main-header__nav-trigger-icon::after {
    stroke: currentColor !important;
    color: inherit !important;
}

.main-header .navbar-nav > .menu-item > a {
    font-size: 12px !important;
    font-weight: 650;
    letter-spacing: 0.04em;
}

/* Home */
.awoh-home-editorial {
    background: #f4f2ed;
}

.awoh-home-hero {
    position: relative;
    min-height: 100svh;
    overflow: hidden;
    background: #000000;
    color: #ffffff;
}

.awoh-home-hero > video {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.awoh-home-hero__shade {
    position: absolute;
    inset: 0;
    background: linear-gradient(90deg, rgba(0, 0, 0, 0.84) 0%, rgba(0, 0, 0, 0.24) 68%, rgba(0, 0, 0, 0.08) 100%);
}

.awoh-home-hero__content {
    position: relative;
    z-index: 1;
    display: flex;
    min-height: 100svh;
    padding-top: 160px;
    padding-bottom: 72px;
    align-items: flex-start;
    flex-direction: column;
    justify-content: flex-end;
}

.awoh-home-hero h1 {
    max-width: 900px;
    margin: 18px 0 42px;
    color: #ffffff;
    font-size: clamp(86px, 13vw, 210px);
    line-height: 0.74;
}

.awoh-home-positioning,
.awoh-home-services,
.awoh-home-about {
    background: #f4f2ed;
    color: #111111;
}

.awoh-home-positioning {
    padding: clamp(110px, 15vw, 220px) 0;
}

.awoh-home-positioning h2,
.awoh-home-about h2 {
    max-width: 1040px;
    color: #111111;
    font-size: clamp(52px, 7.8vw, 118px);
    line-height: 0.92;
}

.awoh-home-services {
    padding: 0 0 clamp(110px, 15vw, 220px);
}

.awoh-home-services__list {
    margin: 0 0 56px;
    border-top: 1px solid rgba(17, 17, 17, 0.3);
}

.awoh-home-services__list a {
    display: grid;
    grid-template-columns: 80px 1fr auto;
    gap: 24px;
    padding: clamp(22px, 3vw, 42px) 0;
    border-bottom: 1px solid rgba(17, 17, 17, 0.3);
    align-items: center;
    color: #111111 !important;
}

.awoh-home-services__list span {
    font-size: 12px;
}

.awoh-home-services__list strong {
    font-family: "GAFTON", Arial, sans-serif;
    font-size: clamp(36px, 5vw, 76px);
    font-weight: 400;
    line-height: 1;
}

.awoh-home-services__list i {
    font-size: 28px;
    font-style: normal;
    transition: transform 200ms ease;
}

.awoh-home-services__list a:hover i {
    transform: translateX(8px);
}

.awoh-home-work,
.awoh-home-cta {
    background: #050505;
    color: #ffffff;
}

.awoh-home-work {
    padding: clamp(110px, 14vw, 210px) 0;
}

.awoh-home-work__media {
    margin: 0;
}

.awoh-home-work__media video {
    display: block;
    width: 100%;
    max-height: 78svh;
    background: #111111;
    object-fit: cover;
}

.awoh-home-work__media figcaption {
    display: flex;
    padding-top: 16px;
    justify-content: space-between;
    color: rgba(255, 255, 255, 0.68);
    font-size: 11px;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.awoh-home-about {
    padding: clamp(110px, 15vw, 220px) 0;
}

.awoh-home-about p:not(.awoh-title-kicker) {
    max-width: 560px;
    margin: 4px 0 46px;
    color: #333333;
    font-size: clamp(18px, 1.6vw, 23px);
    line-height: 1.65;
}

.awoh-home-cta {
    padding: clamp(120px, 16vw, 240px) 0;
}

.awoh-home-cta h2 {
    margin: 18px 0 50px;
    color: #ffffff;
    font-size: clamp(72px, 11vw, 176px);
    line-height: 0.8;
}

/* Services index */
.awoh-services-editorial__hero,
.awoh-services-editorial__transition {
    background: #050505;
    color: #ffffff;
}

.awoh-services-editorial__hero {
    display: flex;
    min-height: 92svh;
    padding: 180px 0 100px;
    align-items: flex-end;
}

.awoh-services-editorial__hero .awoh-services-intro {
    max-width: 650px;
    color: rgba(255, 255, 255, 0.72);
}

.awoh-services-editorial__index,
.awoh-services-editorial__cta {
    padding: clamp(110px, 14vw, 200px) 0;
    background: #f4f2ed;
    color: #111111;
}

.awoh-services-editorial__layout {
    display: grid;
    grid-template-columns: minmax(0, 1.25fr) minmax(320px, 0.75fr);
    gap: clamp(50px, 8vw, 130px);
    align-items: start;
}

.awoh-services-editorial__rows {
    border-top: 1px solid rgba(17, 17, 17, 0.28);
}

.awoh-services-editorial__row {
    display: grid;
    grid-template-columns: 54px minmax(180px, 0.8fr) minmax(220px, 1fr) auto;
    gap: 24px;
    padding: 28px 0;
    border-bottom: 1px solid rgba(17, 17, 17, 0.28);
    align-items: center;
    color: #111111 !important;
    transition: opacity 220ms ease;
}

.awoh-services-editorial__rows:has(.awoh-services-editorial__row:hover) .awoh-services-editorial__row:not(:hover) {
    opacity: 0.38;
}

.awoh-services-editorial__number,
.awoh-services-editorial__description {
    font-size: 12px;
    line-height: 1.5;
}

.awoh-services-editorial__name {
    font-family: "GAFTON", Arial, sans-serif;
    font-size: clamp(27px, 3vw, 46px);
    line-height: 0.96;
}

.awoh-services-editorial__arrow {
    font-size: 22px;
    transition: transform 200ms ease;
}

.awoh-services-editorial__row:hover .awoh-services-editorial__arrow {
    transform: translateX(7px);
}

.awoh-services-editorial__preview {
    position: sticky;
    top: 126px;
    margin: 0;
}

.awoh-services-editorial__preview img {
    display: block;
    width: 100%;
    height: min(64svh, 720px);
    opacity: 1;
    object-fit: cover;
    transition: opacity 180ms ease, transform 500ms cubic-bezier(0.2, 0.7, 0.2, 1);
}

.awoh-services-editorial__preview img.is-changing {
    opacity: 0;
    transform: scale(0.985);
}

.awoh-services-editorial__preview figcaption {
    padding-top: 12px;
    font-size: 11px;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.awoh-services-editorial__transition {
    padding: clamp(130px, 18vw, 270px) 0;
}

.awoh-services-editorial__transition .awoh-editorial-title {
    color: #ffffff;
}

.awoh-services-editorial__cta .awoh-editorial-title {
    margin-bottom: 48px;
    color: #111111;
}

/* Individual services */
.awoh-service-page__section,
.awoh-service-page__audience {
    background: #f4f2ed !important;
    color: #111111;
}

.awoh-service-page__visual {
    position: relative;
    min-height: 82svh;
    padding: clamp(28px, 4vw, 58px);
    overflow: hidden;
    background: #050505;
    color: #ffffff;
}

.awoh-service-page__visual-image {
    width: 100%;
    height: calc(82svh - clamp(56px, 8vw, 116px));
    background-position: center;
    background-size: cover;
}

.awoh-service-page__visual p {
    position: absolute;
    right: clamp(42px, 6vw, 90px);
    bottom: clamp(42px, 6vw, 90px);
    margin: 0;
    padding: 8px 12px;
    background: #050505;
    font-size: 10px;
    letter-spacing: 0.1em;
}

.awoh-service-page__cta {
    background: #050505 !important;
    color: #ffffff;
}

.awoh-service-page__cta .awoh-display-title,
.awoh-service-page__cta .awoh-service-page__cta-copy {
    color: #ffffff;
}

/* Contact */
.awoh-contact-editorial,
.awoh-contact-editorial__hero,
.awoh-contact-editorial__form {
    background: #f4f2ed !important;
    color: #111111;
}

.awoh-contact-editorial__hero {
    min-height: 62svh;
    padding-top: 180px !important;
    padding-bottom: 90px !important;
}

.awoh-contact-editorial__hero .awoh-display-title {
    max-width: 1100px;
    color: #111111;
    font-size: clamp(82px, 12vw, 188px) !important;
    line-height: 0.78 !important;
}

.awoh-contact-editorial__form {
    padding: 20px 0 clamp(110px, 14vw, 200px) !important;
}

.awoh-contact-editorial .contact-area-inner > .row {
    gap: clamp(50px, 8vw, 130px);
    flex-wrap: nowrap;
}

.awoh-contact-editorial .contact-area-inner > .row > [class*="col-"] {
    width: auto;
    max-width: none;
    padding: 0;
    flex: 1 1 0;
}

.awoh-contact-editorial .awoh-contact-panel {
    padding: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
}

.awoh-contact-editorial .awoh-contact-panel::before {
    display: none;
}

.awoh-contact-editorial .awoh-contact-form .form-group {
    margin-bottom: 26px;
}

.awoh-contact-editorial .awoh-contact-form .form-control {
    min-height: 52px;
    padding: 8px 0 13px !important;
    border: 0 !important;
    border-bottom: 1px solid rgba(17, 17, 17, 0.36) !important;
    border-radius: 0 !important;
    background: transparent !important;
    color: #111111 !important;
    box-shadow: none !important;
}

.awoh-contact-editorial .awoh-contact-form label,
.awoh-contact-editorial .awoh-form-privacy,
.awoh-contact-editorial .awoh-form-privacy a,
.awoh-contact-editorial .content-area .desc,
.awoh-contact-editorial .content-area .phone a {
    color: #222222 !important;
}

.awoh-contact-editorial .awoh-contact-form__submit {
    width: clamp(132px, 12vw, 168px) !important;
    min-width: 0 !important;
    height: clamp(132px, 12vw, 168px) !important;
    padding: 22px !important;
    border-radius: 50% !important;
    background: #111111 !important;
    color: #ffffff !important;
}

.awoh-contact-editorial .awoh-contact-form__submit::before {
    border-radius: 50% !important;
}

.awoh-contact-editorial .awoh-contact-form__submit:hover {
    transform: rotate(-5deg) scale(1.03);
}

.awoh-contact-editorial__visual {
    padding: clamp(100px, 13vw, 190px) 0;
    background: #050505;
    color: #ffffff;
}

.awoh-contact-editorial__visual-image {
    min-height: min(70svh, 760px);
    margin-top: 42px;
    background: url("../images/bg/awoh-texture-horizontal-optimized.jpg") center / cover no-repeat;
}

/* AWOH skateboard wheel action */
.awoh-wheel-action {
    position: fixed;
    z-index: 950;
    right: clamp(18px, 2.4vw, 38px);
    bottom: clamp(18px, 2.4vw, 38px);
    display: flex;
    height: 62px;
    padding: 5px;
    border: 1px solid rgba(255, 255, 255, 0.18);
    border-radius: 999px;
    background: rgba(8, 8, 8, 0.84);
    align-items: center;
    color: #ffffff !important;
    box-shadow: 0 12px 34px rgba(0, 0, 0, 0.22);
    -webkit-backdrop-filter: blur(10px);
    backdrop-filter: blur(10px);
    transition: opacity 220ms ease, transform 220ms ease, padding 280ms ease;
}

.awoh-wheel-action__label {
    overflow: hidden;
    width: 0;
    opacity: 0;
    font-size: 11px;
    font-weight: 750;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    white-space: nowrap;
    transition: width 280ms ease, margin 280ms ease, opacity 180ms ease;
}

.awoh-wheel-action__wheel {
    display: grid;
    width: 50px;
    height: 50px;
    border-radius: 50%;
    background: #ff9700;
    place-items: center;
}

.awoh-wheel-action__wheel svg {
    width: 34px;
    height: 34px;
    fill: none;
    stroke: #111111;
    stroke-linecap: round;
    stroke-width: 2.5;
    transition: transform 520ms cubic-bezier(0.2, 0.8, 0.2, 1);
}

.awoh-wheel-action:hover,
.awoh-wheel-action:focus-visible {
    padding-left: 19px;
}

.awoh-wheel-action:hover .awoh-wheel-action__label,
.awoh-wheel-action:focus-visible .awoh-wheel-action__label {
    width: 72px;
    margin-right: 10px;
    opacity: 1;
}

.awoh-wheel-action:hover .awoh-wheel-action__wheel svg,
.awoh-wheel-action:focus-visible .awoh-wheel-action__wheel svg {
    transform: rotate(160deg);
}

.awoh-wheel-action.is-footer-visible {
    opacity: 0;
    pointer-events: none;
    transform: translateY(16px);
}

/* Existing About and policy pages join the editorial contrast system */
body:has(.team-area) .portfolio-banner {
    background: #050505;
    color: #ffffff;
}

body:has(.team-area) .portfolio-banner .awoh-display-title {
    color: #ffffff;
}

body:has(.team-area) .project-area.bottom,
body:has(.team-area) .project-area.last {
    background: #050505;
    color: #ffffff;
}

body:has(.team-area) .project-area.bottom .content__title {
    color: #ffffff;
}

body:has(.awoh-policy) .awoh-policy {
    background: #f4f2ed;
    color: #111111;
}

@media (max-width: 991px) {
    .awoh-editorial-split,
    .awoh-editorial-heading,
    .awoh-services-editorial__layout {
        grid-template-columns: 1fr;
    }

    .awoh-services-editorial__preview {
        position: relative;
        top: 0;
        grid-row: 1;
    }

    .awoh-services-editorial__preview img {
        height: 58svh;
    }

    .awoh-services-editorial__row {
        grid-template-columns: 44px 1fr auto;
    }

    .awoh-services-editorial__description {
        display: none;
    }

    .awoh-contact-editorial .contact-area-inner > .row {
        gap: 70px;
        flex-wrap: wrap;
    }

    .awoh-contact-editorial .contact-area-inner > .row > [class*="col-"] {
        flex-basis: 100%;
    }
}

@media (max-width: 767px) {
    .main-header .main-header__inner {
        min-height: 64px;
        margin: 8px 8px 0;
        padding: 0 14px !important;
        border-radius: 15px;
    }

    .main-header .main-header__logo img {
        max-width: 92px;
        height: 34px;
    }

    .awoh-home-hero__content {
        padding-bottom: 46px;
    }

    .awoh-home-hero h1 {
        font-size: clamp(76px, 25vw, 116px);
    }

    .awoh-home-positioning,
    .awoh-home-about,
    .awoh-home-work,
    .awoh-home-cta,
    .awoh-services-editorial__index,
    .awoh-services-editorial__cta,
    .awoh-services-editorial__transition {
        padding-top: 88px;
        padding-bottom: 88px;
    }

    .awoh-home-services {
        padding-bottom: 88px;
    }

    .awoh-home-services__list a {
        grid-template-columns: 42px 1fr auto;
        gap: 12px;
    }

    .awoh-home-services__list strong {
        font-size: clamp(29px, 9vw, 42px);
    }

    .awoh-services-editorial__hero {
        min-height: 84svh;
        padding: 138px 0 70px;
    }

    .awoh-services-editorial__preview img {
        height: 52svh;
    }

    .awoh-services-editorial__row {
        padding: 22px 0;
    }

    .awoh-service-page__visual {
        min-height: 64svh;
        padding: 18px;
    }

    .awoh-service-page__visual-image {
        height: calc(64svh - 36px);
    }

    .awoh-contact-editorial__hero {
        min-height: 48svh;
        padding-top: 132px !important;
        padding-bottom: 50px !important;
    }

    .awoh-contact-editorial .awoh-contact-form .form-group.col-6 {
        width: 100%;
        flex-basis: 100%;
    }

    .awoh-contact-editorial .awoh-contact-form__submit {
        width: 132px !important;
        height: 132px !important;
    }

    .awoh-wheel-action {
        right: 14px;
        bottom: 14px;
        height: 56px;
    }

    .awoh-wheel-action__wheel {
        width: 44px;
        height: 44px;
    }
}

/* Final cascade guards for template rules loaded earlier in this file. */
body[data-menu="fixed"] .main-header {
    position: fixed !important;
    height: auto !important;
    min-height: 0 !important;
}

body[data-menu="fixed"] .main-header .main-header__inner,
.main-header.full-width .main-header__inner,
.main-header .main-header__inner.move {
    max-width: none !important;
    min-height: 76px !important;
    margin: 12px clamp(14px, 2.3vw, 36px) 0 !important;
    padding: 0 clamp(16px, 2vw, 30px) !important;
    transform: none !important;
}

.main-header.is-scrolled .main-header__inner {
    background: rgba(245, 245, 242, 0.68) !important;
}

.main-header[data-header-tone="dark"].is-scrolled .main-header__inner {
    background: rgba(8, 8, 8, 0.62) !important;
}

.main-header[data-header-tone="dark"] .main-header__default .navbar-nav > .menu-item > a,
.main-header[data-header-tone="dark"] .awoh-language__trigger,
.main-header[data-header-tone="dark"] .header__search-icon,
.main-header[data-header-tone="dark"] .ms_theme_mode {
    color: #ffffff !important;
}

.main-header[data-header-tone="light"] .main-header__default .navbar-nav > .menu-item > a,
.main-header[data-header-tone="light"] .awoh-language__trigger,
.main-header[data-header-tone="light"] .header__search-icon,
.main-header[data-header-tone="light"] .ms_theme_mode {
    color: #111111 !important;
}

.awoh-contact-editorial .awoh-contact-form__submit {
    width: clamp(132px, 12vw, 168px) !important;
    min-width: 0 !important;
    height: clamp(132px, 12vw, 168px) !important;
    border-radius: 50% !important;
}

@media (max-width: 767px) {
    body[data-menu="fixed"] .main-header .main-header__inner,
    .main-header.full-width .main-header__inner,
    .main-header .main-header__inner.move {
        min-height: 64px !important;
        margin: 8px 8px 0 !important;
        padding: 0 14px !important;
    }
}

@media (prefers-reduced-motion: reduce) {
    .awoh-wheel-action,
    .awoh-wheel-action *,
    .awoh-services-editorial__preview img,
    .main-header,
    .main-header * {
        scroll-behavior: auto !important;
        transition-duration: 0.01ms !important;
        animation-duration: 0.01ms !important;
    }
}

/* Awoh palette */
:root {
    --color-primary-darker: #b36e00;
    --color-primary-darker-h: 37;
    --color-primary-darker-s: 100%;
    --color-primary-darker-l: 35%;
    --color-primary-dark: #d98200;
    --color-primary-dark-h: 36;
    --color-primary-dark-s: 100%;
    --color-primary-dark-l: 43%;
    --color-primary: #ff9c00;
    --color-primary-h: 37;
    --color-primary-s: 100%;
    --color-primary-l: 50%;
    --color-primary-light: #ffb43d;
    --color-primary-lighter: #ffcb7a;
    --color-accent: #007eff;
    --color-accent-dark: #0065cc;
    --color-accent-light: #4da5ff;
}

/* Two-font system: Montserrat for reading, GAFTON for display. */
:root {
    --font-primary: "Montserrat", Arial, sans-serif;
    --font-heading: "GAFTON", Arial, sans-serif;
}

body,
body p,
body a,
body li,
body label,
body input,
body textarea,
body select,
body button,
.main-header,
.ms-main,
.awoh-footer {
    font-family: "Montserrat", Arial, sans-serif !important;
}

h1,
h2,
h3,
h4,
h5,
h6,
.title,
.sub-title,
.heading-title,
.hero-title,
.content__title,
.ms-page-title,
.ms-tt__text span,
.ms-pt-block .currency,
.ms-pt-block .price,
.label-title,
.awoh-footer__eyebrow,
.awoh-footer__social-label,
.awoh-policy__label,
.awoh-policy__contents span {
    font-family: "GAFTON", Arial, sans-serif !important;
    font-weight: 400 !important;
    font-synthesis: none;
    letter-spacing: 0.005em;
}

.ms-s-i.s-it span,
.ms-s-i.s-text i span {
    font-family: "Montserrat", Arial, sans-serif !important;
}

/* GAFTON only exists in its regular cut. Never synthesize a bold version. */
h1,
h2,
h3,
h4,
h5,
h6,
.title,
.sub-title,
.heading-title,
.hero-title,
.content__title,
.ms-page-title,
.label-title {
    font-weight: 400 !important;
    font-synthesis: none;
}

/* Compact display text needs extra breathing room for accessibility. */
.portfolio_wrap .portfolio-feed .item--inner .ms-p-content h3 {
    font-family: "GAFTON", Arial, sans-serif !important;
    font-weight: 400 !important;
    font-synthesis: none;
    letter-spacing: 0.018em !important;
    line-height: 1.16;
    text-transform: none;
}

.portfolio_wrap .portfolio-feed .item--inner:hover .ms-p-content h3 {
    letter-spacing: 0.018em !important;
}

.portfolio_wrap .portfolio-feed .item--inner .ms-p-content .ms-p-cat,
.awoh-testimonial__name,
.awoh-testimonial__role {
    font-family: "Montserrat", Arial, sans-serif !important;
    font-synthesis: none;
}

/* Lightweight site search */
.header__search-modal .header__search--inner {
    height: auto;
    max-width: 760px;
}

.header__search-modal .searchform {
    position: relative;
}

.header__search-modal .search-field {
    color: var(--color-contrast-higher);
}

.awoh-search-results {
    display: none;
    max-height: min(55vh, 460px);
    margin-top: 12px;
    padding: 8px;
    overflow-y: auto;
    border: 1px solid var(--color-contrast-low);
    border-radius: 22px;
    background: #000000;
    box-shadow: 0 18px 60px rgba(0, 0, 0, 0.32);
}

.awoh-search-results.is-visible {
    display: block;
}

.awoh-search-result {
    display: block;
    padding: 14px 16px;
    border-radius: 15px;
    color: #ffffff !important;
    transition: background-color 180ms ease, color 180ms ease;
}

.awoh-search-result:hover,
.awoh-search-result:focus-visible {
    background: var(--color-primary);
    color: #000000 !important;
    outline: none;
}

.awoh-search-result__title {
    display: block;
    font-family: "GAFTON", Arial, sans-serif;
    font-size: 18px;
    font-weight: 400;
    font-synthesis: none;
    letter-spacing: 0.02em;
    line-height: 1.2;
}

.awoh-search-result__description {
    display: block;
    margin-top: 5px;
    color: currentColor;
    font-size: 13px;
    line-height: 1.45;
    opacity: 0.72;
}

.awoh-search-empty {
    margin: 0;
    padding: 18px 16px;
    color: var(--color-contrast-medium);
    font-size: 14px;
    text-align: center;
}

.ms_ac_panel[id] {
    scroll-margin-top: 110px;
}

@media (max-width: 767px) {
    .header__search-modal .header__search--inner {
        margin: 0 20px;
    }

    .header__search-modal .header__search--close-btn {
        top: 18px;
        right: 18px;
    }
}

.awoh-footer {
    --awoh-footer-ink: #ffffff;
    --awoh-footer-muted: rgba(255, 255, 255, 0.62);
    --awoh-footer-line: rgba(255, 255, 255, 0.18);
    position: relative;
    z-index: 3;
    width: 100%;
    padding: 14px 0 12px;
    background: #000000;
    color: var(--awoh-footer-ink);
}

.awoh-footer * {
    box-sizing: border-box;
}

.awoh-footer a {
    color: inherit;
    text-decoration: none;
}

.awoh-footer__container {
    width: min(calc(100% - 48px), 1320px);
    margin: 0 auto;
}

.awoh-footer__top {
    position: relative;
    display: grid;
    grid-template-columns: minmax(0, 1.6fr) minmax(330px, 0.8fr);
    gap: clamp(36px, 4vw, 64px);
    align-items: end;
    overflow: hidden;
    min-height: clamp(310px, 24vw, 360px);
    padding: clamp(30px, 3vw, 42px) clamp(32px, 3.4vw, 48px) clamp(32px, 3vw, 42px);
    margin-bottom: 0;
    border: 1px solid rgba(255, 255, 255, 0.14);
    border-radius: 28px;
    background: #111;
}

.awoh-footer__top::before {
    content: "";
    position: absolute;
    inset: 0;
    z-index: 0;
    background-image: url("../images/bg/awoh-texture-horizontal-optimized.jpg");
    background-position: center 48%;
    background-size: cover;
    filter: none;
    opacity: 1;
    transform: none;
}

.awoh-footer__top::after {
    content: "";
    position: absolute;
    inset: 0;
    z-index: 0;
    background: linear-gradient(90deg, rgba(0, 0, 0, 0.34) 0%, rgba(0, 0, 0, 0.08) 56%, rgba(0, 0, 0, 0.3) 100%);
}

.awoh-footer__top > * {
    position: relative;
    z-index: 1;
}

.awoh-footer__headline {
    max-width: 560px;
    margin: 0 0 18px;
    color: var(--awoh-footer-ink);
    font-family: "Montserrat", Arial, sans-serif !important;
    font-size: clamp(32px, 2.8vw, 42px);
    font-weight: 780 !important;
    font-synthesis: none;
    letter-spacing: -0.055em;
    line-height: 0.94;
}

.awoh-footer__headline-line {
    display: block;
    white-space: nowrap;
}

.awoh-footer__headline-mobile {
    display: none;
}

.awoh-footer__intro {
    max-width: 500px;
    margin: 0 0 20px;
    color: var(--awoh-footer-ink);
    font-size: clamp(13px, 1vw, 15px);
    font-weight: 600;
    line-height: 1.42;
}

.awoh-footer__button {
    display: inline-flex;
    gap: 12px;
    align-items: center;
    min-height: 43px;
    padding: 8px 19px;
    border: 1px solid var(--awoh-footer-ink);
    border-radius: 999px;
    font-size: 14px;
    font-weight: 600;
    transition: background-color 180ms ease, color 180ms ease, transform 180ms ease;
}

.awoh-footer__button:hover {
    background: #fff;
    color: #050505;
    transform: translateY(-2px);
}

.awoh-footer__button-arrow {
    font-size: 22px;
    font-weight: 400;
    line-height: 1;
    transform: rotate(-45deg);
}

.awoh-footer__contact {
    align-self: end;
    padding-bottom: 4px;
}

.awoh-footer__eyebrow,
.awoh-footer__social-label {
    display: block;
    margin-bottom: 10px;
    font-family: "Montserrat", Arial, sans-serif !important;
    font-size: 11px;
    font-weight: 750 !important;
    letter-spacing: 0.16em;
    text-transform: uppercase;
}

.awoh-footer__contact-arrow {
    display: none;
    margin-bottom: 4px;
    font-size: 34px;
    line-height: 1;
    transform: rotate(135deg);
    transform-origin: center;
}

.awoh-footer__email {
    display: inline-block;
    width: max-content;
    max-width: 100%;
    padding-bottom: 7px;
    border-bottom: 1px solid currentColor;
    font-size: clamp(17px, 1.45vw, 22px);
    font-weight: 600;
    letter-spacing: -0.045em;
    overflow-wrap: normal;
    white-space: nowrap;
    word-break: normal;
}

.awoh-footer__email:hover {
    opacity: 0.55;
}

.awoh-footer__bottom {
    display: grid;
    grid-template-columns: minmax(390px, 1.35fr) minmax(300px, 0.8fr) minmax(250px, 0.72fr);
    gap: clamp(24px, 3vw, 40px);
    align-items: center;
    padding: 18px 24px 2px;
    border-top: 0;
}

.awoh-footer__brand {
    display: grid;
    grid-template-columns: 68px minmax(0, 280px);
    gap: 16px;
    align-items: center;
}

.awoh-footer__logo {
    display: block;
    width: 68px;
    height: 68px;
}

.awoh-footer__description {
    margin: 0;
    color: var(--awoh-footer-muted);
    font-size: 13px;
    line-height: 1.4;
}

.awoh-footer__nav {
    display: grid;
    grid-template-rows: repeat(3, auto);
    grid-auto-flow: column;
    grid-auto-columns: minmax(110px, 1fr);
    gap: 4px 20px;
}

.awoh-footer__nav a {
    width: fit-content;
    font-size: 13px;
    font-weight: 600;
    line-height: 1.3;
}

.awoh-footer__nav a:hover {
    text-decoration: underline;
    text-underline-offset: 4px;
}

.awoh-footer__social {
    min-height: 58px;
    padding-left: clamp(24px, 2.4vw, 34px);
    border-left: 1px solid var(--awoh-footer-line);
}

.awoh-footer__instagram {
    display: inline-flex;
    gap: 10px;
    align-items: center;
    font-size: 14px;
    font-weight: 600;
}

.awoh-footer__instagram svg {
    width: 25px;
    height: 25px;
    fill: none;
    stroke: currentColor;
    stroke-width: 1.8;
}

.awoh-footer__instagram:hover {
    opacity: 0.55;
}

.awoh-footer__legal {
    display: flex;
    flex-wrap: wrap;
    gap: 8px 40px;
    justify-content: space-between;
    padding: 4px 24px 0;
    color: var(--awoh-footer-muted);
    font-size: 11px;
}

.awoh-footer__legal p {
    margin: 0;
}

@media (max-width: 991px) {
    .awoh-footer__top,
    .awoh-footer__bottom {
        grid-template-columns: 1fr;
    }

    .awoh-footer__top {
        align-items: start;
        gap: 36px;
        min-height: 0;
    }

    .awoh-footer__bottom {
        gap: 24px;
        padding: 22px 20px 6px;
    }

    .awoh-footer__social {
        padding: 22px 0 0;
        border-top: 1px solid var(--awoh-footer-line);
        border-left: 0;
    }
}

@media (max-width: 767px) {
    .awoh-footer {
        padding: 14px 0 46px;
    }

    .awoh-footer__container {
        display: grid;
        grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
        width: min(calc(100% - 16px), 620px);
    }

    .awoh-footer__top {
        display: block;
        grid-column: 1 / -1;
        min-height: 0;
        padding: 28px 22px 24px;
        border-radius: 24px;
        background: #090909;
    }

    .awoh-footer__top::before {
        background-position: 49% center;
        background-size: cover;
    }

    .awoh-footer__top::after {
        background: linear-gradient(180deg, rgba(0, 0, 0, 0.14) 0%, rgba(0, 0, 0, 0.08) 45%, rgba(0, 0, 0, 0.38) 100%);
    }

    .awoh-footer__headline {
        max-width: 540px;
        margin: 0;
        font-size: clamp(25px, 7.4vw, 30px);
        letter-spacing: -0.045em;
        line-height: 1;
    }

    .awoh-footer__headline-desktop {
        display: none;
    }

    .awoh-footer__headline-mobile {
        display: block;
    }

    .awoh-footer__intro,
    .awoh-footer__button,
    .awoh-footer__brand {
        display: none;
    }

    .awoh-footer__contact {
        margin-top: clamp(40px, 11vw, 58px);
        padding: 0;
    }

    .awoh-footer__eyebrow {
        margin-bottom: 14px;
        font-size: 11px;
    }

    .awoh-footer__email {
        display: block;
        width: 100%;
        padding-bottom: 9px;
        font-size: clamp(18px, 5.6vw, 23px);
        white-space: nowrap;
    }

    .awoh-footer__bottom {
        display: contents;
    }

    .awoh-footer__nav {
        grid-column: 1 / -1;
        grid-template-rows: repeat(3, auto);
        grid-auto-columns: minmax(0, 1fr);
        gap: 9px 20px;
        padding: 28px 22px 0;
    }

    .awoh-footer__nav a {
        font-size: clamp(14px, 4vw, 16px);
        font-weight: 600;
    }

    .awoh-footer__social {
        grid-column: 1 / -1;
        display: grid;
        grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
        align-items: center;
        min-height: 0;
        margin: 24px 22px 0;
        padding: 20px 0 0;
        border-top: 1px solid var(--awoh-footer-line);
        border-left: 0;
    }

    .awoh-footer__social-label {
        margin: 0;
        font-size: 11px;
    }

    .awoh-footer__instagram {
        justify-self: start;
        gap: 8px;
        font-size: clamp(13px, 3.6vw, 15px);
    }

    .awoh-footer__instagram svg {
        width: 26px;
        height: 26px;
    }

    .awoh-footer__legal {
        grid-column: 1 / -1;
        display: grid;
        grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
        align-items: center;
        gap: 10px;
        margin: 26px 22px 0;
        padding: 0;
        border-top: 0;
        font-size: clamp(10px, 2.6vw, 12px);
        text-align: left;
    }

    .awoh-footer__legal p:first-child {
        justify-self: start;
    }

    .awoh-footer__legal p:last-child {
        justify-self: start;
        text-align: left;
    }
}

@media (prefers-reduced-motion: reduce) {
    .awoh-footer__button {
        transition: none;
    }
}

/* Privacy policy */
.awoh-policy {
    padding: clamp(150px, 16vw, 230px) 0 clamp(80px, 10vw, 140px);
    background: var(--color-bg);
    color: var(--color-contrast-higher);
}

.awoh-policy__container {
    width: min(100% - 48px, 1040px);
    margin: 0 auto;
}

.awoh-policy__header {
    display: grid;
    grid-template-columns: minmax(0, 1.35fr) minmax(240px, 0.65fr);
    gap: 48px;
    align-items: end;
    padding-bottom: clamp(48px, 7vw, 84px);
    border-bottom: 1px solid var(--color-contrast-low);
}

.awoh-policy__label {
    display: block;
    margin-bottom: 20px;
    font-family: "GAFTON", Arial, sans-serif;
    font-size: 12px;
    letter-spacing: 0.16em;
    text-transform: uppercase;
}

.awoh-policy__title {
    max-width: 850px;
    margin: 0;
    font-family: "GAFTON", Arial, sans-serif;
    font-size: clamp(52px, 7vw, 92px);
    font-weight: 400;
    letter-spacing: 0;
    line-height: 0.92;
}

.awoh-policy__summary,
.awoh-policy__updated {
    color: var(--color-contrast-medium);
    font-size: 16px;
    line-height: 1.55;
}

.awoh-policy__updated {
    margin: 20px 0 0;
}

.awoh-policy__content {
    display: grid;
    grid-template-columns: minmax(180px, 0.4fr) minmax(0, 1fr);
    gap: clamp(44px, 8vw, 120px);
    padding-top: clamp(52px, 7vw, 90px);
}

.awoh-policy__contents {
    position: sticky;
    top: 130px;
    align-self: start;
}

.awoh-policy__contents span {
    display: block;
    margin-bottom: 14px;
    font-family: "GAFTON", Arial, sans-serif;
    font-size: 12px;
    letter-spacing: 0.14em;
    text-transform: uppercase;
}

.awoh-policy__contents a {
    display: block;
    width: fit-content;
    margin-bottom: 8px;
    color: var(--color-contrast-medium);
    font-size: 14px;
}

.awoh-policy__contents a:hover {
    color: var(--color-contrast-higher);
}

.awoh-policy__section {
    padding: 0 0 42px;
    margin: 0 0 42px;
    border-bottom: 1px solid var(--color-contrast-low);
    scroll-margin-top: 130px;
}

.awoh-policy__section:last-child {
    margin-bottom: 0;
}

.awoh-policy__section h2 {
    margin: 0 0 18px;
    font-family: "GAFTON", Arial, sans-serif;
    font-size: clamp(28px, 3vw, 42px);
    font-weight: 400;
    letter-spacing: 0;
    line-height: 1.05;
}

.awoh-policy__section p,
.awoh-policy__section li {
    color: var(--color-contrast-medium);
    font-size: 17px;
    line-height: 1.65;
}

.awoh-policy__section p {
    margin: 0 0 16px;
}

.awoh-policy__section ul {
    margin: 0;
    padding-left: 22px;
}

.awoh-policy__section li {
    margin-bottom: 10px;
}

.awoh-policy__section a,
.awoh-form-privacy a {
    color: inherit;
    text-decoration: underline;
    text-underline-offset: 4px;
}

.awoh-form-privacy {
    margin: 8px 0 18px;
    color: var(--color-contrast-medium);
    font-size: 13px;
    line-height: 1.5;
}

.awoh-form-privacy a:hover {
    color: var(--color-primary);
}

/* Contact form */
.awoh-contact-form .row {
    row-gap: 12px;
}

.contact-area.contact-2 {
    padding: clamp(20px, 3vw, 42px) 0 clamp(60px, 7vw, 96px);
    overflow: hidden;
}

.contact-area.contact-2 .contact-area-inner > .row {
    align-items: flex-start;
    row-gap: 20px;
}

.contact-area.contact-2 .contact-area-inner > .row > [class*="col-"] {
    display: flex;
}

.awoh-contact-panel {
    position: relative;
    isolation: isolate;
    width: 100%;
    overflow: hidden;
    padding: clamp(22px, 2.4vw, 32px);
    border: 1px solid rgba(20, 20, 20, 0.1);
    border-radius: 28px;
    background: rgba(244, 241, 235, 0.76);
    box-shadow: 0 22px 70px rgba(20, 20, 20, 0.08);
    backdrop-filter: saturate(140%) blur(18px);
    -webkit-backdrop-filter: saturate(140%) blur(18px);
}

.awoh-contact-panel::before {
    content: "";
    position: absolute;
    inset: 0;
    z-index: -1;
    pointer-events: none;
}

.awoh-contact-panel--info::before {
    background:
        radial-gradient(circle at 8% 5%, rgba(255, 156, 0, 0.15), transparent 42%),
        linear-gradient(145deg, rgba(255, 255, 255, 0.22), transparent 60%);
}

.awoh-contact-panel--form {
    background: rgba(120, 120, 120, 0.07);
    border-color: rgba(120, 120, 120, 0.22);
}

.awoh-contact-panel--form::before {
    background:
        radial-gradient(circle at 100% 0%, rgba(120, 120, 120, 0.12), transparent 45%),
        linear-gradient(145deg, rgba(255, 255, 255, 0.12), transparent 62%);
}

[data-theme="dark"] .awoh-contact-panel {
    border-color: rgba(255, 255, 255, 0.13);
    background: rgba(255, 255, 255, 0.055);
    box-shadow: 0 24px 80px rgba(0, 0, 0, 0.4);
}

[data-theme="dark"] .awoh-contact-panel--form {
    border-color: rgba(255, 255, 255, 0.16);
    background: rgba(255, 255, 255, 0.055);
}

.awoh-contact-panel--form .contact-title {
    margin-bottom: 8px;
    color: var(--color-contrast-higher);
    font-size: clamp(30px, 3vw, 42px);
}

.awoh-contact-panel--form > .desc {
    margin-bottom: 20px;
    color: var(--color-contrast-medium);
    font-size: 14px;
}

.awoh-contact-panel--info .phone a,
.awoh-contact-panel--info .ms-s-i {
    transition: color 180ms ease, opacity 180ms ease;
}

.awoh-contact-panel--info .phone a:hover,
.awoh-contact-panel--info .ms-s-i:hover {
    color: var(--color-primary);
}

.contact-area.contact-2 .content-area {
    gap: clamp(28px, 4vw, 46px);
}

.contact-area.contact-2 .content-area .phone {
    flex-wrap: wrap;
}

.awoh-contact-form .form-group {
    margin: 0;
    padding-bottom: 0 !important;
}

.awoh-contact-form label {
    display: block;
    margin-bottom: 5px;
    color: var(--color-contrast-higher);
    font-size: 12px;
    font-weight: 600;
}

.awoh-contact-form .form-control {
    width: 100%;
    min-height: 44px;
    padding: 9px 13px;
    border: 1px solid rgba(120, 120, 120, 0.28);
    border-radius: 9px;
    background: rgba(255, 255, 255, 0.5);
    color: var(--color-contrast-higher);
    font-size: 14px;
    transition: border-color 180ms ease, background-color 180ms ease, box-shadow 180ms ease;
}

[data-theme="dark"] .awoh-contact-form .form-control {
    border-color: rgba(255, 255, 255, 0.18);
    background: rgba(0, 0, 0, 0.24);
}

.awoh-contact-form select.form-control option {
    background: var(--color-bg);
    color: var(--color-contrast-higher);
}

.awoh-contact-form textarea.form-control {
    min-height: 68px;
    max-height: 220px;
    overflow-y: hidden;
    resize: none;
    line-height: 1.45;
}

.awoh-contact-form select.form-control {
    cursor: pointer;
}

.awoh-contact-form .form-control:focus {
    border-color: rgba(90, 90, 90, 0.7);
    background: rgba(255, 255, 255, 0.72);
    box-shadow: 0 0 0 3px rgba(90, 90, 90, 0.12);
    outline: none;
}

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

.awoh-contact-form__honeypot {
    position: absolute !important;
    left: -10000px !important;
    width: 1px !important;
    height: 1px !important;
    overflow: hidden !important;
}

.awoh-contact-form__actions {
    display: flex;
    gap: 16px;
    align-items: center;
    flex-wrap: wrap;
    margin-top: 0;
}

.awoh-contact-form__submit {
    position: relative;
    z-index: 0;
    overflow: hidden;
    min-height: 44px;
    padding: 9px 22px;
    border: 1px solid var(--color-primary);
    border-radius: 999px;
    background: var(--color-primary);
    color: #000000;
    font-weight: 600;
    cursor: pointer;
    transition: color 0.3s ease, border-color 0.3s ease, transform 0.2s ease;
}

.awoh-contact-form__submit::before,
.awoh-contact-form__submit::after {
    content: "";
    position: absolute;
    top: 0;
    left: -4px;
    z-index: -1;
    display: block;
    width: calc(100% + 8px);
    height: 100%;
    background: var(--color-contrast-higher);
    pointer-events: none;
}

.awoh-contact-form__submit::before {
    border-radius: 100% 100% 0 0;
    transform: translate3d(0, 100%, 0);
    transition: transform 0s cubic-bezier(0.1, 0, 0.3, 1), border-radius 0.5s cubic-bezier(0.1, 0, 0.3, 1);
}

.awoh-contact-form__submit::after {
    transform: translate3d(0, -105%, 0);
    transition: transform 0.4s cubic-bezier(0.1, 0, 0.3, 1);
}

.awoh-contact-form__submit:hover,
.awoh-contact-form__submit:focus-visible {
    border-color: var(--color-contrast-higher);
    color: var(--color-contrast-lower);
    transform: translateY(-2px);
}

.awoh-contact-form__submit:hover::before,
.awoh-contact-form__submit:focus-visible::before {
    border-radius: 0;
    transform: translateZ(0) scaleX(1);
    transition: transform 0.2s cubic-bezier(0.1, 0, 0.3, 1), border-radius 0.5s cubic-bezier(0.1, 0, 0.3, 1);
}

.awoh-contact-form__submit:hover::after,
.awoh-contact-form__submit:focus-visible::after {
    transform: translateZ(0);
    transition-delay: 0.4s;
    transition-duration: 0.05s;
    transition-timing-function: linear;
}

.awoh-contact-form__submit-text {
    position: relative;
    z-index: 1;
    display: block;
}

.awoh-contact-form__submit:hover .awoh-contact-form__submit-text,
.awoh-contact-form__submit:focus-visible .awoh-contact-form__submit-text {
    animation: MoveScaleUpInitial 0.3s forwards, MoveScaleUpEnd 0.3s 0.2s forwards;
}

.awoh-contact-form__submit:disabled {
    cursor: wait;
    opacity: 0.55;
}

.awoh-contact-form__status {
    display: none;
    width: 100%;
    margin: 12px 0 0;
    padding: 14px 16px;
    border-radius: 10px;
    font-size: 14px;
    line-height: 1.5;
}

.awoh-contact-form__status.is-visible {
    display: block;
}

.awoh-contact-form__status.is-success {
    border: 1px solid rgba(255, 156, 0, 0.28);
    background: rgba(255, 156, 0, 0.12);
    color: var(--color-primary-dark);
}

.awoh-contact-form__status.is-error {
    background: rgba(235, 87, 87, 0.12);
    color: #eb5757;
}

/* Testimonials */
.awoh-testimonials {
    padding: clamp(48px, 6vw, 88px) 0 clamp(80px, 10vw, 140px);
    background: var(--color-bg);
}

/* Client logos only occupy space when the image exists. */
.client-logo-area .is-missing-client-logo {
    display: none !important;
}

.client-area.area-2 .client-bg-area {
    padding: clamp(56px, 6vw, 88px) 0 clamp(34px, 4vw, 58px);
}

.client-area.area-2 .client-logo-area .image-area {
    margin: clamp(16px, 2vw, 28px) 0;
}

.client-area.area-2 .ms-ah-wrapper {
    margin-bottom: clamp(20px, 3vw, 42px);
}

/* About statements use sentence case with selective brand-color emphasis. */
.project-area .e-con-inner .awoh-brand-statement,
.project-area .e-con-inner .awoh-brand-statement span {
    color: var(--color-contrast-higher) !important;
    font-family: "Montserrat", Arial, sans-serif !important;
    font-weight: 560 !important;
    font-style: normal !important;
    text-transform: none !important;
    -webkit-text-fill-color: currentColor !important;
}

.project-area .e-con-inner .awoh-brand-statement {
    flex-basis: 100%;
    max-width: 860px;
    font-size: clamp(18px, 1.65vw, 24px);
    letter-spacing: -0.012em !important;
    line-height: 1.42 !important;
    text-align: left !important;
}

.project-area .e-con-inner .number-tag:empty {
    display: none;
}

.ms-main .ms-ah-wrapper:has(.awoh-title-kicker),
.page-header-content .container:has(.awoh-title-kicker),
.team-area.one > .container,
.awoh-testimonials > .container {
    text-align: left;
}

.ms-main .ms-ah-wrapper:has(.awoh-title-kicker) .awoh-title-kicker,
.ms-main .ms-ah-wrapper:has(.awoh-title-kicker) .awoh-display-title {
    margin-right: 0;
    margin-left: 0;
    text-align: left !important;
}

.project-area .e-con-inner .awoh-brand-statement .awoh-brand-statement__name {
    color: var(--color-primary) !important;
    font-weight: 800 !important;
    letter-spacing: -0.025em;
    -webkit-text-fill-color: var(--color-primary) !important;
}

.project-area .e-con-inner .awoh-brand-statement .awoh-brand-statement__highlight {
    color: var(--color-primary) !important;
    font-weight: 720 !important;
    -webkit-text-fill-color: var(--color-primary) !important;
}

.awoh-brand-statement .split-line,
.awoh-brand-statement .word,
.awoh-brand-statement .char,
.awoh-values-ticker .ms-tt__text,
.awoh-values-ticker .ms-tt__text span,
.awoh-values-ticker .word,
.awoh-values-ticker .char {
    font-family: "GAFTON", Arial, sans-serif !important;
    font-weight: 400 !important;
    font-style: normal !important;
}

.awoh-values-ticker .ms-tt__text {
    letter-spacing: 0 !important;
}

@media (max-width: 767px) {
    .project-area .e-con-inner .awoh-brand-statement {
        font-size: clamp(16px, 4.5vw, 18px);
        letter-spacing: -0.008em !important;
        line-height: 1.5 !important;
    }
}

/* Orange Montserrat kicker + GAFTON display title. */
.awoh-title-kicker {
    width: fit-content;
    margin: 0 0 clamp(14px, 1.8vw, 24px);
    color: var(--color-primary) !important;
    font-family: "Montserrat", Arial, sans-serif !important;
    font-size: clamp(17px, 1.55vw, 23px) !important;
    font-weight: 760 !important;
    font-synthesis: none;
    letter-spacing: -0.012em !important;
    line-height: 1.15 !important;
    text-transform: uppercase !important;
}

.ms-main .awoh-display-title,
.page-header-content .awoh-display-title,
.team-area.one .awoh-display-title {
    margin-top: 0 !important;
    color: var(--color-contrast-higher);
    font-family: "GAFTON", Arial, sans-serif !important;
    font-size: clamp(48px, 5vw, 70px) !important;
    font-weight: 400 !important;
    font-synthesis: none;
    letter-spacing: 0 !important;
    line-height: 0.98 !important;
    text-transform: none !important;
}

.client-area .ms-ah-wrapper .awoh-title-kicker,
.client-area .ms-ah-wrapper .awoh-display-title {
    margin-right: 0;
    margin-left: 0;
    text-align: left !important;
}

.team-area.one > .container > .awoh-display-title {
    margin-bottom: clamp(30px, 4vw, 50px) !important;
}

/* Header language menu and permanent removal of the legacy back-to-top control. */
.back-to-top,
.js-back-to-top {
    display: none !important;
}

.awoh-language {
    position: relative;
    display: block !important;
    flex: 0 0 auto;
    width: auto !important;
    height: auto !important;
    overflow: visible !important;
    opacity: 1 !important;
    visibility: visible !important;
    z-index: 1001;
}

.awoh-language__menu {
    position: relative;
    display: block !important;
    opacity: 1 !important;
    visibility: visible !important;
}

.awoh-language__trigger {
    display: inline-flex;
    min-width: 52px;
    height: 38px;
    padding: 0 11px;
    border: 1px solid var(--color-contrast-low);
    border-radius: 999px;
    color: var(--color-contrast-higher);
    background: var(--color-bg);
    align-items: center;
    justify-content: center;
    gap: 7px;
    font-family: "Montserrat", Arial, sans-serif;
    font-size: 12px;
    font-weight: 700;
    line-height: 1;
    cursor: pointer;
    list-style: none;
    transition: border-color 180ms ease, color 180ms ease, background-color 180ms ease;
}

.main-header__widgets,
.main-header__widgets .main-header--widgets {
    overflow: visible !important;
}

.awoh-language__trigger::-webkit-details-marker {
    display: none;
}

.awoh-language__trigger:hover,
.awoh-language__trigger:focus-visible,
.awoh-language__menu[open] .awoh-language__trigger {
    border-color: var(--color-primary);
    color: var(--color-primary);
    outline: none;
}

.awoh-language__chevron {
    width: 6px;
    height: 6px;
    border-right: 1.5px solid currentColor;
    border-bottom: 1.5px solid currentColor;
    transform: translateY(-2px) rotate(45deg);
    transition: transform 180ms ease;
}

.awoh-language__menu[open] .awoh-language__chevron {
    transform: translateY(2px) rotate(225deg);
}

.awoh-language__options {
    position: absolute;
    top: calc(100% + 10px);
    right: 0;
    display: grid;
    min-width: 154px;
    padding: 8px;
    border: 1px solid var(--color-contrast-low);
    border-radius: 14px;
    background: var(--color-bg);
    box-shadow: 0 18px 45px rgba(0, 0, 0, 0.2);
    gap: 2px;
}

.awoh-language__options button {
    width: 100%;
    padding: 10px 12px;
    border: 0;
    border-radius: 9px;
    color: var(--color-contrast-high);
    background: transparent;
    font-family: "Montserrat", Arial, sans-serif;
    font-size: 13px;
    font-weight: 600;
    line-height: 1.2;
    text-align: left;
    cursor: pointer;
}

.awoh-language__options button:hover,
.awoh-language__options button:focus-visible,
.awoh-language__options button[aria-current="true"] {
    color: var(--color-contrast-higher);
    background: var(--color-contrast-lower);
    outline: none;
}

.awoh-language__menu.is-loading .awoh-language__trigger {
    color: #ff9700 !important;
    pointer-events: none;
}

.awoh-language__menu.is-loading .awoh-language__code {
    opacity: 0.55;
}

.awoh-language__menu.is-loading .awoh-language__chevron {
    width: 12px;
    height: 12px;
    border: 2px solid currentColor;
    border-right-color: transparent;
    border-radius: 50%;
    animation: awoh-language-loading 650ms linear infinite;
    transform: none;
}

@keyframes awoh-language-loading {
    to {
        transform: rotate(360deg);
    }
}

#google_translate_element,
.goog-te-banner-frame,
.goog-te-banner-frame.skiptranslate,
iframe.goog-te-banner-frame,
.goog-te-balloon-frame,
.goog-logo-link,
.goog-te-gadget {
    display: none !important;
    visibility: hidden !important;
}

html {
    margin-top: 0 !important;
}

body {
    top: 0 !important;
    position: static !important;
}

body > iframe.goog-te-banner-frame,
body > .goog-te-banner-frame,
body > .skiptranslate:not(#google_translate_element) {
    display: none !important;
    width: 0 !important;
    height: 0 !important;
    border: 0 !important;
}

@media (max-width: 575px) {
    .awoh-language__trigger {
        min-width: 46px;
        height: 34px;
        padding: 0 9px;
    }

    .awoh-language__options {
        right: -44px;
    }
}

/* Keep team details comfortably inside the portrait and improve contrast on reveal. */
.team-area.one .ms-tm.style-1 .ms-tm--content {
    right: 0;
    left: 0;
    width: auto;
    padding: clamp(24px, 2.4vw, 34px);
    padding-right: clamp(30px, 3vw, 42px);
}

.team-area.one .ms-tm.style-1 .ms-tm--content > * {
    max-width: 100%;
}

.team-area.one .ms-tm.style-1 .ms-tm--desc p {
    margin-bottom: 0;
    overflow-wrap: anywhere;
}

.team-area.one .ms-tm.style-1 .ms-tm--img::after {
    background:
        linear-gradient(180deg, rgba(24, 26, 28, 0.36) 0%, rgba(20, 22, 24, 0.58) 44%, rgba(10, 11, 12, 0.82) 100%);
}

.team-area.one .ms-tm.style-1:focus-within .ms-tm--title,
.team-area.one .ms-tm.style-1:focus-within .ms-tm--desc,
.team-area.one .ms-tm.style-1:focus-within .ms-tm--function,
.team-area.one .ms-tm.style-1:focus-within .ms-s-icon {
    opacity: 1;
    transform: translate(0);
}

.team-area.one .ms-tm.style-1:focus-within .ms-tm--img::after {
    opacity: 1;
}

@media (max-width: 575px) {
    .team-area.one .ms-tm.style-1 .ms-tm--content {
        padding: 24px;
        padding-right: 28px;
    }
}

.awoh-testimonials__eyebrow {
    font-size: clamp(18px, 1.65vw, 24px);
    font-weight: 760;
    letter-spacing: -0.018em;
}

@media (max-width: 767px) {
    .ms-main .awoh-display-title,
    .page-header-content .awoh-display-title,
    .team-area.one .awoh-display-title {
        font-size: clamp(38px, 10.5vw, 48px) !important;
    }

    .awoh-title-kicker,
    .awoh-testimonials__eyebrow {
        font-size: clamp(14px, 4.3vw, 17px) !important;
        letter-spacing: 0 !important;
    }
}

.awoh-testimonials__header {
    display: block;
    margin-bottom: clamp(40px, 6vw, 72px);
}

.awoh-testimonials__eyebrow {
    width: fit-content;
    margin: 0 0 clamp(14px, 1.8vw, 24px);
    color: var(--color-primary);
    font-family: "Montserrat", Arial, sans-serif;
    font-size: clamp(17px, 1.55vw, 23px);
    font-weight: 760;
    letter-spacing: -0.012em;
    text-transform: uppercase;
}

.awoh-testimonials__title {
    max-width: 760px;
    margin: 0;
    font-family: "GAFTON", Arial, sans-serif !important;
    font-size: clamp(48px, 5vw, 70px);
    font-weight: 400 !important;
    line-height: 0.98;
    text-align: left;
}

.awoh-testimonials__grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 18px;
}

.awoh-testimonial {
    display: flex;
    min-height: 340px;
    padding: clamp(26px, 3vw, 38px);
    border: 1px solid var(--color-contrast-low);
    border-radius: 24px;
    background: var(--color-contrast-lower);
    flex-direction: column;
}

.awoh-testimonial__mark {
    margin-bottom: 40px;
    color: var(--color-primary);
    font-family: "GAFTON", Arial, sans-serif;
    font-size: 72px;
    line-height: 0.5;
}

.awoh-testimonial__quote {
    margin: 0 0 36px;
    color: var(--color-contrast-higher);
    font-size: 18px;
    line-height: 1.6;
}

.awoh-testimonial__author {
    margin-top: auto;
    padding-top: 20px;
    border-top: 1px solid var(--color-contrast-low);
}

.awoh-testimonial__name {
    display: block;
    color: var(--color-contrast-higher);
    font-size: 14px;
    font-weight: 600;
    letter-spacing: 0.01em;
}

.awoh-testimonial__role {
    display: block;
    margin-top: 4px;
    color: var(--color-contrast-medium);
    font-size: 13px;
}

@media (max-width: 991px) {
    .awoh-testimonials__grid {
        grid-template-columns: 1fr;
    }

    .awoh-testimonial {
        min-height: 0;
    }
}

@media (max-width: 767px) {
    .awoh-testimonials__header {
        display: block;
    }

    .awoh-testimonials__title {
        font-size: clamp(38px, 10.5vw, 48px);
    }
}

@media (max-width: 575px) {
    .awoh-contact-form .form-group.col-6 {
        width: 100%;
    }

    .awoh-contact-panel {
        padding: 26px 20px;
        border-radius: 22px;
    }
}

@media (max-width: 767px) {
    .awoh-policy__container {
        width: min(100% - 28px, 1180px);
    }

    .awoh-policy__header,
    .awoh-policy__content {
        grid-template-columns: 1fr;
    }

    .awoh-policy__header {
        gap: 30px;
    }

    .awoh-policy__contents {
        position: static;
        display: none;
    }
}

/* Awoh layout and display typography */
@media (min-width: 976px) {
    .container,
    .main-header__layout .main-header__inner {
        max-width: 1180px;
    }
}

.page-header-content .page-header__title,
.ms-main .ms-hero-title,
.ms-main .ms-ah-wrapper .content__title,
.ms-main .content__title.hero-title,
.ms-main .team-area.one .title,
.ms-main .contact-title,
.ms-main .ms-sc--t {
    font-family: "GAFTON", Arial, sans-serif;
    font-weight: 400;
    letter-spacing: 0;
    line-height: 0.94;
    text-transform: none;
}

@media (max-width: 991px) {
    .awoh-footer__top {
        padding: 34px;
    }
}

@media (max-width: 575px) {
    .awoh-footer__top {
        padding: 28px 22px;
        border-radius: 20px;
    }

    .awoh-footer__top::before {
        background-position: 58% center;
        opacity: 1;
    }
}

/* The home slider has stronger theme rules, so this selector is intentionally specific. */
body.index-two .banner-horizental .ms-cont__inner h1.ms-sc--t,
body.index-two .banner-horizental .swiper-slide h1.ms-sc--t,
body.index-two .banner-horizental h1.ms-sc--t .word,
body.index-two .banner-horizental h1.ms-sc--t .char {
    font-family: "GAFTON", Arial, sans-serif !important;
    font-weight: 400 !important;
    font-style: normal !important;
    letter-spacing: 0 !important;
}

body.index-two .banner-horizental .ms-cont__inner h1.ms-sc--t {
    font-size: clamp(72px, 9vw, 138px);
    line-height: 0.86 !important;
}

@media (max-width: 768px) {
    body.index-two .banner-horizental .ms-cont__inner h1.ms-sc--t {
        font-size: clamp(54px, 15vw, 84px);
        line-height: 0.88 !important;
    }
}

/* Portfolio filters */
.awoh-portfolio-filter-mobile {
    display: none;
}

.ms-portfolio-filter-area.project .filters-button-group {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    max-width: 100%;
    margin-bottom: 30px;
    padding: 8px;
    background: var(--color-contrast-lower);
    border: 1px solid var(--color-contrast-low);
    border-radius: 24px;
    text-align: left;
}

.ms-portfolio-filter-area.project .filters-button-group button {
    height: 40px;
    padding: 0 15px;
    color: var(--color-contrast-high);
    font-size: 13px;
}

.ms-portfolio-filter-area.project .filters-button-group button::after {
    background: transparent;
}

.ms-portfolio-filter-area.project .filters-button-group button:hover {
    color: var(--color-contrast-higher);
}

.ms-portfolio-filter-area.project .filters-button-group button:hover::after {
    background: var(--color-contrast-low);
    opacity: 1;
}

.ms-portfolio-filter-area.project .filters-button-group button.is-checked {
    color: #111111;
}

.ms-portfolio-filter-area.project .filters-button-group button.is-checked::after,
.ms-portfolio-filter-area.project .filters-button-group button.is-checked:hover::after {
    background: #ff9700;
    opacity: 1;
}

[data-theme="dark"] .ms-portfolio-filter-area.project .filters-button-group {
    background: #111111;
    border-color: #292929;
}

[data-theme="dark"] .ms-portfolio-filter-area.project .filters-button-group button {
    color: #d8d8d8;
}

[data-theme="dark"] .ms-portfolio-filter-area.project .filters-button-group button:hover {
    color: #ffffff;
}

[data-theme="dark"] .ms-portfolio-filter-area.project .filters-button-group button:hover::after {
    background: #292929;
}

[data-theme="dark"] .ms-portfolio-filter-area.project .filters-button-group button.is-checked {
    color: #111111;
}

[data-theme="dark"] .ms-portfolio-filter-area.project .filters-button-group button.is-checked::after,
[data-theme="dark"] .ms-portfolio-filter-area.project .filters-button-group button.is-checked:hover::after {
    background: #ff9700;
}

@media (max-width: 767px) {
    .ms-portfolio-filter-area.project .filters-button-group,
    .ms-portfolio-filter-area.project .filter-nav {
        display: none;
    }

    .awoh-portfolio-filter-mobile {
        display: block;
        margin: 0 0 28px;
    }

    .awoh-portfolio-filter-mobile label {
        display: block;
        margin-bottom: 9px;
        color: var(--color-contrast-higher);
        font-size: 13px;
        font-weight: 700;
    }

    .awoh-portfolio-filter-mobile__control {
        position: relative;
    }

    .awoh-portfolio-filter-mobile select {
        width: 100%;
        height: 52px;
        padding: 0 48px 0 16px;
        border: 1px solid var(--color-contrast-low);
        border-radius: 14px;
        appearance: none;
        background: var(--color-contrast-lower);
        color: var(--color-contrast-higher);
        font-family: "Montserrat", Arial, sans-serif;
        font-size: 15px;
        font-weight: 600;
    }

    .awoh-portfolio-filter-mobile__control span {
        position: absolute;
        top: 50%;
        right: 17px;
        color: var(--color-primary);
        font-size: 20px;
        pointer-events: none;
        transform: translateY(-50%);
    }
}

/* Home orientation section */
.awoh-home-guide {
    padding: clamp(80px, 10vw, 140px) 0;
    background: var(--color-bg);
    color: var(--color-contrast-higher);
}

.awoh-home-guide__title {
    max-width: 760px;
    margin: 0;
    font-family: "GAFTON", Arial, sans-serif !important;
    font-size: clamp(48px, 5vw, 70px);
    font-weight: 400 !important;
    line-height: 0.98;
}

.awoh-home-guide__intro {
    max-width: 680px;
    margin: 24px 0 0;
    color: var(--color-contrast-higher);
    font-family: "Montserrat", Arial, sans-serif !important;
    font-size: clamp(18px, 1.5vw, 21px);
    font-weight: 500;
    line-height: 1.58;
}

.awoh-home-guide__grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 16px;
    margin-top: clamp(44px, 6vw, 72px);
}

.awoh-home-guide__card {
    display: flex;
    min-height: 280px;
    padding: clamp(26px, 3vw, 38px);
    border: 1px solid var(--color-contrast-low);
    border-radius: 24px;
    background: var(--color-contrast-lower);
    color: var(--color-contrast-higher) !important;
    flex-direction: column;
    transition: border-color 180ms ease, transform 180ms ease;
}

.awoh-home-guide__card:hover {
    border-color: var(--color-primary);
    transform: translateY(-4px);
}

.awoh-home-guide__card--featured {
    grid-column: span 1;
    border-color: color-mix(in srgb, var(--color-primary) 55%, var(--color-contrast-low));
}

.awoh-home-guide__number {
    color: var(--color-primary);
    font-family: "Montserrat", Arial, sans-serif !important;
    font-size: 13px;
    font-weight: 780;
    letter-spacing: 0.08em;
}

.awoh-home-guide__card h2 {
    margin: 34px 0 12px;
    font-family: "GAFTON", Arial, sans-serif !important;
    font-size: clamp(36px, 3.35vw, 48px);
    font-weight: 400 !important;
    font-synthesis: none;
    letter-spacing: 0;
    line-height: 0.98;
}

.awoh-home-guide__card p {
    max-width: 440px;
    margin: 0;
    color: var(--color-contrast-higher);
    font-family: "Montserrat", Arial, sans-serif !important;
    font-size: clamp(16px, 1.25vw, 18px);
    font-weight: 500;
    line-height: 1.6;
}

.awoh-home-guide__link {
    margin-top: auto;
    padding-top: 28px;
    color: var(--color-primary);
    font-family: "Montserrat", Arial, sans-serif !important;
    font-size: 15px;
    font-weight: 750;
}

.floating-sms {
    right: 24px !important;
    left: auto !important;
    z-index: 999;
}

.floating-sms.is-footer-visible {
    display: none !important;
}

html {
    scroll-behavior: smooth;
}

@media (max-width: 767px) {
    body.index-two {
        display: block !important;
    }

    body.index-two .banner-horizental {
        min-height: 100svh;
    }

    .awoh-home-guide {
        padding: 72px 0 88px;
    }

    .awoh-home-guide__title {
        font-size: clamp(38px, 10.5vw, 48px);
    }

    .awoh-home-guide__intro {
        margin-top: 18px;
        font-size: 17px;
    }

    .awoh-home-guide__grid {
        grid-template-columns: 1fr;
        gap: 12px;
        margin-top: 38px;
    }

    .awoh-home-guide__card {
        min-height: 230px;
        padding: 26px 22px;
        border-radius: 20px;
    }

    .awoh-home-guide__card h2 {
        margin-top: 26px;
        font-size: 36px;
    }

    .awoh-home-guide__card p {
        font-size: 16px;
        line-height: 1.58;
    }

    .floating-sms {
        right: 16px !important;
        left: auto !important;
        bottom: calc(16px + env(safe-area-inset-bottom, 0px));
    }
}

/* Retired Work & Services experiment. Kept inert for review history. */
@media (max-width: 0px) {
.awoh-work-services {
    overflow: hidden;
    background: var(--color-bg);
}

.awoh-work-services section[id],
.awoh-work-services .ms_ac_panel[id] {
    scroll-margin-top: 96px;
}

.awoh-work-hero {
    min-height: min(900px, 100svh);
}

.awoh-work-hero .ms-hc--inner {
    max-width: 1180px;
    margin: 0 auto;
    padding-right: 24px;
    padding-left: 24px;
}

.awoh-work-hero .awoh-title-kicker {
    color: #ffffff;
}

.awoh-work-hero__intro {
    max-width: 680px;
    margin: 24px 0 0;
    color: rgba(255, 255, 255, 0.88);
    font-family: "Montserrat", Arial, sans-serif;
    font-size: clamp(17px, 1.5vw, 21px);
    font-weight: 500;
    line-height: 1.6;
}

.awoh-work-hero__actions {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    margin-top: 32px;
}

.awoh-work-link {
    display: inline-flex;
    min-height: 48px;
    padding: 12px 20px;
    border: 1px solid var(--color-contrast-low);
    border-radius: 999px;
    align-items: center;
    justify-content: center;
    color: var(--color-contrast-higher) !important;
    font-family: "Montserrat", Arial, sans-serif;
    font-size: 14px;
    font-weight: 750;
    transition: background-color 180ms ease, border-color 180ms ease, transform 180ms ease;
}

.awoh-work-hero .awoh-work-link {
    border-color: rgba(255, 255, 255, 0.45);
    color: #ffffff !important;
}

.awoh-work-link:hover {
    border-color: var(--color-primary);
    transform: translateY(-2px);
}

.awoh-work-link--primary {
    border-color: #ff9700;
    background: #ff9700;
    color: #111111 !important;
}

.awoh-capabilities,
.awoh-work-gallery,
.awoh-services-detail,
.awoh-process,
.awoh-work-cta {
    padding: clamp(84px, 10vw, 144px) 0;
}

.awoh-section-intro {
    max-width: 680px;
    margin: 24px 0 0;
    color: var(--color-contrast-high);
    font-family: "Montserrat", Arial, sans-serif;
    font-size: clamp(17px, 1.45vw, 20px);
    line-height: 1.65;
}

.awoh-capabilities__grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1px;
    margin-top: clamp(44px, 6vw, 72px);
    border: 1px solid var(--color-contrast-low);
    background: var(--color-contrast-low);
}

.awoh-capabilities__grid a {
    display: flex;
    min-height: 112px;
    padding: 24px;
    background: var(--color-bg);
    align-items: center;
    color: var(--color-contrast-higher) !important;
    font-family: "GAFTON", Arial, sans-serif;
    font-size: clamp(25px, 2.5vw, 38px);
    line-height: 1;
    transition: background-color 180ms ease, color 180ms ease;
}

.awoh-capabilities__grid a:hover {
    background: #ff9700;
    color: #111111 !important;
}

.awoh-capabilities__grid span {
    min-width: 46px;
    color: var(--color-primary);
    font-family: "Montserrat", Arial, sans-serif;
    font-size: 12px;
    font-weight: 750;
}

.awoh-capabilities__grid a:hover span {
    color: #111111;
}

.awoh-work-gallery {
    background: var(--color-contrast-lower);
}

.awoh-work-gallery__header {
    display: grid;
    grid-template-columns: minmax(0, 1.25fr) minmax(280px, 0.75fr);
    gap: 48px;
    margin-bottom: 48px;
    align-items: end;
}

.awoh-work-gallery__header .awoh-section-intro {
    margin: 0;
}

.awoh-work-gallery .portfolio_wrap .portfolio-feed {
    margin-right: -8px;
    margin-left: -8px;
}

.awoh-work-gallery .grid-item-p {
    padding: 8px;
}

.awoh-services-detail .accordion-container {
    max-width: 920px;
    margin: clamp(48px, 7vw, 84px) 0 0 auto;
}

.awoh-services-detail .ms_ac_panel {
    border-color: var(--color-contrast-low);
}

.awoh-services-detail .ms_ac--text {
    padding-bottom: 34px;
}

.awoh-service-summary {
    max-width: 720px;
    color: var(--color-contrast-higher);
    font-size: clamp(18px, 1.5vw, 21px);
    font-weight: 600;
    line-height: 1.55;
}

.awoh-service-deliverables {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px 28px;
    margin: 24px 0;
    padding: 0;
    list-style: none;
}

.awoh-service-deliverables li {
    position: relative;
    padding-left: 18px;
    color: var(--color-contrast-high);
}

.awoh-service-deliverables li::before {
    position: absolute;
    top: 0.65em;
    left: 0;
    width: 6px;
    height: 6px;
    border-radius: 50%;
    background: #ff9700;
    content: "";
}

.awoh-related-work {
    margin: 0 0 28px;
    color: var(--color-contrast-high);
}

.awoh-related-work a {
    color: var(--color-contrast-higher);
    text-decoration: underline;
    text-decoration-color: #ff9700;
    text-underline-offset: 4px;
}

.awoh-process {
    background: var(--color-contrast-lower);
}

.awoh-process__grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 12px;
    margin-top: clamp(44px, 6vw, 72px);
}

.awoh-process__grid article {
    min-height: 280px;
    padding: 28px;
    border: 1px solid var(--color-contrast-low);
    border-radius: 20px;
    background: var(--color-bg);
}

.awoh-process__grid span {
    color: #ff9700;
    font-size: 13px;
    font-weight: 800;
}

.awoh-process__grid h3 {
    margin: 72px 0 14px;
    color: var(--color-contrast-higher);
    font-family: "GAFTON", Arial, sans-serif;
    font-size: clamp(30px, 3vw, 42px);
    font-weight: 400;
}

.awoh-process__grid p {
    margin: 0;
    color: var(--color-contrast-high);
    line-height: 1.6;
}

.awoh-clients .client-bg-area {
    padding-top: clamp(80px, 9vw, 130px);
    padding-bottom: clamp(80px, 9vw, 130px);
}

.awoh-work-cta {
    text-align: center;
}

.awoh-work-cta .container {
    max-width: 880px;
}

.awoh-work-cta h2 {
    margin: 0;
    color: var(--color-contrast-higher);
    font-family: "GAFTON", Arial, sans-serif;
    font-size: clamp(48px, 7vw, 92px);
    font-weight: 400;
    line-height: 0.95;
}

.awoh-work-cta p:not(.awoh-title-kicker) {
    max-width: 640px;
    margin: 24px auto 30px;
    color: var(--color-contrast-high);
    font-size: 18px;
    line-height: 1.65;
}

@media (max-width: 991px) {
    .awoh-work-gallery__header {
        grid-template-columns: 1fr;
        gap: 20px;
    }

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

@media (max-width: 767px) {
    .awoh-work-hero {
        min-height: 100svh;
    }

    .awoh-work-hero .ms-hc--inner {
        padding: 120px 20px 60px;
    }

    .awoh-work-hero__actions {
        align-items: stretch;
        flex-direction: column;
    }

    .awoh-capabilities,
    .awoh-work-gallery,
    .awoh-services-detail,
    .awoh-process,
    .awoh-work-cta {
        padding: 76px 0;
    }

    .awoh-capabilities__grid,
    .awoh-service-deliverables,
    .awoh-process__grid {
        grid-template-columns: 1fr;
    }

    .awoh-capabilities__grid a {
        min-height: 88px;
        padding: 20px;
        font-size: 28px;
    }

    .awoh-services-detail .accordion-container {
        margin-top: 42px;
    }

    .awoh-services-detail .ms_ac--label .label-title {
        font-size: clamp(25px, 8vw, 34px);
    }

    .awoh-process__grid article {
        min-height: 230px;
    }

    .awoh-process__grid h3 {
        margin-top: 48px;
    }
}
}

/* Services selection and individual service pages */
.awoh-services-intro,
.awoh-service-page__intro,
.awoh-service-page__tagline,
.awoh-service-page__cta-copy,
.awoh-service-page__audience-copy {
    max-width: 720px;
    margin: 28px 0 0;
    color: var(--color-contrast-high);
    font-size: clamp(17px, 1.4vw, 20px);
    line-height: 1.65;
}

.awoh-service-selection {
    padding: 0 0 clamp(90px, 12vw, 170px);
}

.awoh-service-selection .portfolio-feed {
    row-gap: 24px;
}

.awoh-service-selection .grid-item-p {
    padding-right: 12px;
    padding-left: 12px;
}

.awoh-service-selection .item--inner,
.awoh-service-selection .item--inner > a {
    min-height: clamp(420px, 52vw, 680px);
}

.awoh-service-selection .ms-p-img,
.awoh-service-selection .ms-p-img img {
    width: 100%;
    height: 100%;
}

.awoh-service-selection .ms-p-img img {
    object-fit: cover;
}

.awoh-service-selection .ms-p-content .ms-p-cat {
    max-width: 430px;
    white-space: normal;
}

.awoh-service-page__hero {
    position: relative;
    min-height: clamp(680px, 90svh, 920px);
    display: flex;
    align-items: flex-end;
    overflow: hidden;
}

.awoh-service-page__hero::after {
    position: absolute;
    inset: 0;
    background: linear-gradient(180deg, rgba(0, 0, 0, 0.12), rgba(0, 0, 0, 0.82));
    content: "";
}

.awoh-service-page__hero-image {
    position: absolute;
    inset: 0;
    background-position: center;
    background-size: cover;
    transform: scale(1.02);
}

.awoh-service-page__hero .container {
    position: relative;
    z-index: 1;
    padding-bottom: clamp(70px, 9vw, 130px);
}

.awoh-service-page__hero .awoh-title-kicker,
.awoh-service-page__hero .awoh-display-title,
.awoh-service-page__hero .awoh-service-page__tagline {
    color: #ffffff;
}

.awoh-service-page__tagline {
    max-width: 760px;
    font-size: clamp(19px, 1.8vw, 26px);
}

.awoh-service-page__section,
.awoh-service-page__audience,
.awoh-service-page__cta {
    padding: clamp(90px, 11vw, 160px) 0;
}

.awoh-service-page__columns {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(320px, 0.8fr);
    gap: clamp(48px, 8vw, 120px);
    align-items: start;
}

.awoh-service-page__list {
    margin: 10px 0 0;
    padding: 0;
    border-top: 1px solid var(--color-contrast-low);
    list-style: none;
}

.awoh-service-page__list li {
    padding: 22px 0;
    border-bottom: 1px solid var(--color-contrast-low);
    color: var(--color-contrast-higher);
    font-size: clamp(18px, 1.6vw, 22px);
    font-weight: 600;
}

.awoh-service-page__audience {
    background: var(--color-contrast-lower);
}

.awoh-service-page__audience .ms-ah-wrapper {
    max-width: 920px;
}

.awoh-service-page__audience-copy {
    max-width: 820px;
    color: var(--color-contrast-higher);
    font-size: clamp(21px, 2vw, 30px);
    line-height: 1.5;
}

.awoh-service-page__cta {
    text-align: center;
}

.awoh-service-page__cta .ms-ah-wrapper {
    max-width: 900px;
    margin: 0 auto;
}

.awoh-service-page__cta-copy {
    margin-right: auto;
    margin-left: auto;
}

.awoh-service-page__cta .btn {
    margin-top: 34px;
}

@media (max-width: 991px) {
    .awoh-service-page__columns {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 767px) {
    .awoh-service-selection {
        padding-bottom: 90px;
    }

    .awoh-service-selection .item--inner,
    .awoh-service-selection .item--inner > a {
        min-height: 440px;
    }

    .awoh-service-page__hero {
        min-height: 82svh;
    }

    .awoh-service-page__hero .container {
        padding-bottom: 64px;
    }

    .awoh-service-page__section,
    .awoh-service-page__audience,
    .awoh-service-page__cta {
        padding: 76px 0;
    }
}

/* AWOH Phase 1 responsive consolidation */
.awoh-home-hero h1,
.awoh-service-page__hero .awoh-display-title,
.awoh-contact-editorial__hero .awoh-display-title {
    font-size: var(--awoh-hero-size) !important;
}

.awoh-editorial-title,
.awoh-editorial-heading h2,
.awoh-home-positioning h2,
.awoh-home-about h2,
.awoh-home-work h2,
.awoh-home-cta h2,
.ms-main .awoh-display-title,
.team-area.one .awoh-display-title {
    font-size: var(--awoh-section-title-size) !important;
}

.main-header .main-header--widgets {
    display: flex;
    align-items: center;
}

.main-header .main-header__nav-trigger {
    border: 0;
}

.awoh-menu-open {
    overflow: hidden;
}

.awoh-services-editorial__row.is-active {
    opacity: 1 !important;
}

@media (min-width: 1024px) {
    .main-header .main-header__inner {
        display: grid;
        grid-template-columns: minmax(150px, 1fr) auto minmax(150px, 1fr);
        align-items: center;
    }

    .main-header__widgets {
        justify-self: end;
    }

    .main-header__nav-trigger {
        display: none !important;
    }
}

@media (min-width: 768px) and (max-width: 1023px) {
    body[data-menu="fixed"] .main-header .main-header__inner,
    .main-header.full-width .main-header__inner,
    .main-header .main-header__inner.move {
        min-height: 60px !important;
        margin: 8px 12px 0 !important;
        padding: 0 16px !important;
        border-radius: 12px;
    }

    .main-header .main-header__inner {
        display: grid;
        grid-template-columns: 1fr auto auto !important;
        gap: 10px;
        align-items: center;
    }

    .main-header__widgets {
        justify-self: end;
    }

    .main-header__nav-trigger {
        display: inline-flex !important;
    }

    .awoh-home-positioning,
    .awoh-home-about,
    .awoh-home-work,
    .awoh-home-cta,
    .awoh-services-editorial__index,
    .awoh-services-editorial__cta,
    .awoh-services-editorial__transition,
    .awoh-service-page__section,
    .awoh-service-page__audience,
    .awoh-service-page__cta,
    .awoh-contact-editorial__visual {
        padding-top: var(--awoh-section-space) !important;
        padding-bottom: var(--awoh-section-space) !important;
    }

    .awoh-services-editorial__hero {
        min-height: 68svh;
        padding: 130px 0 72px;
    }

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

    .awoh-services-editorial__rows {
        grid-row: 1;
    }

    .awoh-services-editorial__preview {
        position: relative;
        top: auto;
        grid-row: 2;
    }

    .awoh-services-editorial__preview img {
        height: min(46svh, 520px);
    }

    .awoh-contact-editorial .contact-area-inner > .row {
        gap: 42px;
        flex-wrap: nowrap;
    }

    .awoh-contact-editorial .contact-area-inner > .row > [class*="col-"] {
        flex: 1 1 0;
    }
}

@media (max-width: 1023px) {
    .main-header__nav {
        position: fixed !important;
        inset: 0;
        z-index: 1001 !important;
        display: none !important;
        width: 100% !important;
        padding: 108px clamp(24px, 7vw, 64px) 48px !important;
        border: 0 !important;
        border-radius: 0 !important;
        background: #050505 !important;
        box-shadow: none !important;
        color: #fff !important;
    }

    .main-header__nav.main-header__nav--is-visible {
        display: flex !important;
        align-items: center;
    }

    .main-header__nav--is-visible::after {
        display: none !important;
    }

    .main-header__nav .navbar-nav {
        width: min(100%, 760px);
        margin: 0 auto;
        padding: 0 !important;
    }

    .main-header__nav .navbar-nav > .menu-item {
        border-bottom: 1px solid rgba(255, 255, 255, 0.2);
    }

    .main-header__nav .navbar-nav > .menu-item > a {
        display: block;
        padding: 18px 0 !important;
        color: #fff !important;
        font-family: "GAFTON", Arial, sans-serif;
        font-size: clamp(38px, 7vw, 58px) !important;
        font-weight: 400 !important;
        letter-spacing: 0 !important;
        line-height: 1 !important;
        text-transform: none !important;
    }

    .main-header__nav-trigger {
        position: relative;
        z-index: 1002 !important;
        background: transparent !important;
        color: inherit !important;
    }

    .awoh-wheel-action {
        right: 14px;
        bottom: calc(14px + env(safe-area-inset-bottom));
        width: 44px;
        height: 44px;
        padding: 0;
        border: 0;
    }

    .awoh-wheel-action__label {
        display: none !important;
    }

    .awoh-wheel-action__wheel {
        width: 44px;
        height: 44px;
    }

    .awoh-wheel-action:hover,
    .awoh-wheel-action:focus-visible {
        padding: 0;
    }
}

@media (max-width: 767px) {
    body[data-menu="fixed"] .main-header .main-header__inner,
    .main-header.full-width .main-header__inner,
    .main-header .main-header__inner.move {
        min-height: 56px !important;
        margin: 0 !important;
        padding: 0 14px !important;
        border-radius: 0;
    }

    .main-header .main-header__inner {
        display: grid;
        grid-template-columns: 1fr auto auto !important;
        gap: 8px;
        align-items: center;
    }

    .main-header .main-header__logo img {
        max-width: 88px;
        height: 30px;
    }

    .main-header__widgets {
        justify-self: end;
    }

    .awoh-language__trigger {
        min-width: 44px;
        height: 34px;
    }

    .main-header__nav {
        padding: 82px 22px 32px !important;
    }

    .main-header__nav .navbar-nav > .menu-item > a {
        padding: 16px 0 !important;
        font-size: clamp(36px, 12vw, 48px) !important;
    }

    .awoh-home-hero {
        min-height: min(82svh, 720px);
    }

    .awoh-home-hero__content {
        padding-bottom: 36px;
    }

    .awoh-home-positioning,
    .awoh-home-about,
    .awoh-home-work,
    .awoh-home-cta,
    .awoh-services-editorial__index,
    .awoh-services-editorial__cta,
    .awoh-services-editorial__transition,
    .awoh-service-page__section,
    .awoh-service-page__audience,
    .awoh-service-page__cta,
    .awoh-contact-editorial__visual,
    .team-area.one {
        padding-top: var(--awoh-section-space) !important;
        padding-bottom: var(--awoh-section-space) !important;
    }

    .awoh-services-editorial__hero {
        min-height: 68svh;
        padding: 108px 0 56px;
    }

    .awoh-services-editorial__layout {
        grid-template-columns: 1fr;
        gap: 36px;
    }

    .awoh-services-editorial__rows {
        grid-row: 1;
    }

    .awoh-services-editorial__preview {
        position: relative;
        top: auto;
        grid-row: 2;
    }

    .awoh-services-editorial__preview img {
        height: min(42svh, 390px);
    }

    .awoh-services-editorial__row {
        grid-template-columns: 36px 1fr auto;
        gap: 10px;
        padding: 18px 0;
    }

    .awoh-services-editorial__name {
        font-size: clamp(28px, 9vw, 40px);
    }

    .awoh-service-page__hero {
        min-height: 72svh;
    }

    .awoh-service-page__visual {
        min-height: 54svh;
        padding: 12px;
    }

    .awoh-service-page__visual-image {
        height: calc(54svh - 24px);
    }

    .portfolio-banner,
    .ms-about-area,
    .about-area,
    .team-area.one {
        min-height: 0 !important;
    }

    .ms-about-area,
    .about-area {
        padding-top: var(--awoh-section-space) !important;
        padding-bottom: var(--awoh-section-space) !important;
    }

    .team-area.one .team-area-inner {
        row-gap: 24px;
    }

    .awoh-contact-editorial__hero {
        min-height: 42svh;
        padding-top: 108px !important;
        padding-bottom: 36px !important;
    }

    .awoh-contact-editorial__form {
        padding: 8px 0 var(--awoh-section-space) !important;
    }

    .awoh-contact-editorial .contact-area-inner > .row {
        gap: 42px;
        flex-wrap: wrap;
    }

    .awoh-contact-editorial .awoh-contact-form .form-group {
        margin-bottom: 18px;
    }

    .awoh-contact-editorial .awoh-contact-form .form-control {
        min-height: 48px;
    }

    .awoh-contact-editorial .awoh-contact-form__submit {
        width: 112px !important;
        height: 112px !important;
        padding: 16px !important;
    }

    .awoh-contact-editorial__visual-image {
        min-height: 48svh;
        margin-top: 28px;
    }

    .awoh-footer {
        padding-bottom: calc(24px + env(safe-area-inset-bottom));
    }

    .awoh-footer__container {
        display: block;
        width: min(calc(100% - 24px), 620px);
    }

    .awoh-footer__top {
        padding: 24px 18px 22px;
        border-radius: 18px;
    }

    .awoh-footer__contact {
        margin-top: 32px;
    }

    .awoh-footer__nav {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        grid-template-rows: none;
        grid-auto-flow: row;
        gap: 10px 18px;
        padding: 24px 18px 0;
    }

    .awoh-footer__social,
    .awoh-footer__legal {
        margin-right: 18px;
        margin-left: 18px;
    }
}

/* Phase 1.1: transparent header, explicit contrast states and branded wheel. */
.main-header,
.main-header .main-header__layout {
    background: transparent !important;
    box-shadow: none !important;
}

.main-header .main-header__layout {
    padding: 0 !important;
}

body[data-menu="fixed"] .main-header .main-header__inner,
.main-header.full-width .main-header__inner,
.main-header .main-header__inner,
.main-header .main-header__inner.move {
    width: auto !important;
    max-width: none !important;
    min-height: 68px !important;
    margin: 12px max(32px, calc((100vw - 1440px) / 2)) 0 !important;
    padding: 0 22px !important;
    border: 1px solid transparent !important;
    border-radius: 20px !important;
    background: transparent !important;
    box-shadow: none !important;
    -webkit-backdrop-filter: none !important;
    backdrop-filter: none !important;
    filter: none !important;
    transform: none !important;
}

.main-header.is-scrolled .main-header__inner {
    border-color: rgba(20, 20, 20, 0.08) !important;
    background: rgba(245, 245, 242, 0.72) !important;
    box-shadow: 0 6px 22px rgba(0, 0, 0, 0.05) !important;
    -webkit-backdrop-filter: blur(12px) saturate(115%) !important;
    backdrop-filter: blur(12px) saturate(115%) !important;
}

.main-header.is-on-dark.is-scrolled .main-header__inner {
    border-color: rgba(255, 255, 255, 0.1) !important;
    background: rgba(8, 8, 8, 0.64) !important;
    box-shadow: 0 6px 22px rgba(0, 0, 0, 0.12) !important;
}

.site-header.is-on-dark,
.main-header.is-on-dark {
    color: #ffffff !important;
}

.site-header.is-on-light,
.main-header.is-on-light {
    color: #171717 !important;
}

.awoh-menu-open .main-header {
    color: #ffffff !important;
}

.awoh-menu-open .main-header .logo-light {
    display: block !important;
    opacity: 1 !important;
    visibility: visible !important;
}

.awoh-menu-open .main-header .logo-dark {
    display: none !important;
    opacity: 0 !important;
    visibility: hidden !important;
}

.awoh-menu-open .main-header .main-header__nav-trigger {
    color: #ffffff !important;
}

.main-header.is-on-dark .main-header__default .navbar-nav > .menu-item > a,
.main-header.is-on-dark .awoh-language__trigger,
.main-header.is-on-dark .main-header__nav-trigger {
    color: #ffffff !important;
}

.main-header.is-on-light .main-header__default .navbar-nav > .menu-item > a,
.main-header.is-on-light .awoh-language__trigger,
.main-header.is-on-light .main-header__nav-trigger {
    color: #171717 !important;
}

.main-header.is-on-dark .logo-light,
.main-header.is-on-light .logo-dark {
    display: block !important;
    opacity: 1 !important;
    visibility: visible !important;
}

.main-header.is-on-dark .logo-dark,
.main-header.is-on-light .logo-light {
    display: none !important;
    opacity: 0 !important;
    visibility: hidden !important;
}

.main-header .main-header__logo img {
    max-width: 116px;
    height: 38px;
    opacity: 1 !important;
}

.main-header .main-header__default .navbar-nav > .menu-item > a {
    opacity: 1 !important;
}

.main-header__widgets {
    padding-right: 0;
}

.awoh-language__trigger {
    min-width: 52px;
    height: 38px;
    padding: 0 10px;
    border-radius: 12px;
    background: transparent !important;
    box-shadow: none !important;
}

.main-header.is-on-dark .awoh-language__trigger {
    border-color: rgba(255, 255, 255, 0.42);
}

.main-header.is-on-light .awoh-language__trigger {
    border-color: rgba(17, 17, 17, 0.3);
}

.awoh-language__trigger:hover,
.awoh-language__trigger:focus-visible,
.awoh-language__menu[open] .awoh-language__trigger {
    border-color: #ff9700 !important;
    color: inherit !important;
}

.awoh-language__code {
    line-height: 1;
}

.awoh-wheel-action {
    right: clamp(24px, 2.5vw, 38px);
    bottom: calc(clamp(24px, 2.5vw, 38px) + env(safe-area-inset-bottom, 0px));
    display: grid;
    width: 56px;
    height: 56px;
    padding: 5px;
    border: 1px solid rgba(255, 255, 255, 0.34);
    border-radius: 50%;
    background: #0b0b0b;
    box-shadow: 0 8px 24px rgba(0, 0, 0, 0.2);
    place-items: center;
    -webkit-backdrop-filter: none;
    backdrop-filter: none;
    transition: opacity 180ms ease, transform 180ms ease, border-color 180ms ease;
}

.awoh-wheel-action__label {
    display: none !important;
}

.awoh-wheel-action__wheel {
    position: relative;
    width: 44px;
    height: 44px;
    border: 2px solid #171717;
    background: #ff9700;
    box-shadow: inset 0 0 0 3px rgba(255, 255, 255, 0.18);
}

.awoh-wheel-action__wheel::after {
    content: "";
    position: absolute;
    inset: 50% auto auto 50%;
    width: 8px;
    height: 8px;
    border: 2px solid #171717;
    border-radius: 50%;
    background: #ffb13d;
    transform: translate(-50%, -50%);
}

.awoh-wheel-action__wheel svg {
    width: 30px;
    height: 30px;
    stroke-width: 2;
}

.awoh-wheel-action:hover,
.awoh-wheel-action:focus-visible {
    padding: 5px;
    border-color: #ff9700;
    transform: translateY(-2px);
    outline: none;
}

.awoh-wheel-action:hover .awoh-wheel-action__wheel svg,
.awoh-wheel-action:focus-visible .awoh-wheel-action__wheel svg {
    transform: rotate(35deg);
}

@media (min-width: 768px) and (max-width: 1023px) {
    body[data-menu="fixed"] .main-header .main-header__inner,
    .main-header.full-width .main-header__inner,
    .main-header .main-header__inner,
    .main-header .main-header__inner.move {
        min-height: 58px !important;
        margin: 8px 22px 0 !important;
        padding: 0 14px !important;
        border-radius: 14px !important;
    }

    .awoh-language__trigger {
        height: 34px;
    }

    .awoh-wheel-action {
        right: 20px;
        bottom: calc(20px + env(safe-area-inset-bottom, 0px));
        width: 44px;
        height: 44px;
        padding: 4px;
    }

    .awoh-wheel-action__wheel {
        width: 36px;
        height: 36px;
    }

    .awoh-wheel-action__wheel svg {
        width: 25px;
        height: 25px;
    }
}

@media (max-width: 767px) {
    body[data-menu="fixed"] .main-header .main-header__inner,
    .main-header.full-width .main-header__inner,
    .main-header .main-header__inner,
    .main-header .main-header__inner.move {
        min-height: 54px !important;
        margin: 6px 18px 0 !important;
        padding: 0 10px !important;
        border-radius: 12px !important;
    }

    .main-header .main-header__logo img {
        max-width: 86px;
        height: 29px;
    }

    .awoh-language__trigger {
        min-width: 46px;
        height: 34px;
        padding: 0 8px;
        border-radius: 10px;
    }

    .awoh-wheel-action {
        right: 16px;
        bottom: calc(16px + env(safe-area-inset-bottom, 0px));
        width: 42px;
        height: 42px;
        padding: 4px;
    }

    .awoh-wheel-action__wheel {
        width: 34px;
        height: 34px;
    }

    .awoh-wheel-action__wheel svg {
        width: 23px;
        height: 23px;
    }
}

/* TBWA-aligned editorial header: full-width type layer, never a capsule. */
.site-header {
    min-height: 72px !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    transition: color 180ms ease, background-color 180ms ease, border-color 180ms ease;
}

.site-header.is-scrolled {
    border-bottom: 1px solid rgba(20, 20, 20, 0.08) !important;
    background: rgba(245, 245, 242, 0.12) !important;
    -webkit-backdrop-filter: blur(8px) !important;
    backdrop-filter: blur(8px) !important;
}

.site-header.is-on-dark.is-scrolled {
    border-bottom-color: rgba(255, 255, 255, 0.1) !important;
    background: rgba(0, 0, 0, 0.12) !important;
}

.site-header .main-header__layout {
    width: 100% !important;
    max-width: none !important;
    height: auto !important;
    padding: 0 !important;
}

body[data-menu="fixed"] .site-header .main-header__inner,
.site-header.full-width .main-header__inner,
.site-header .main-header__inner,
.site-header .main-header__inner.move,
.site-header.is-scrolled .main-header__inner,
.site-header.is-on-dark.is-scrolled .main-header__inner {
    position: relative !important;
    inset: auto !important;
    width: 100% !important;
    max-width: none !important;
    min-height: 72px !important;
    margin: 0 !important;
    padding: 0 clamp(48px, 4.5vw, 64px) !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    -webkit-backdrop-filter: none !important;
    backdrop-filter: none !important;
    filter: none !important;
    transform: none !important;
}

.site-header .main-header__logo {
    display: flex;
    width: 116px;
    min-width: 116px;
    height: 38px;
    overflow: visible;
    align-items: center;
    justify-self: start;
}

.site-header .main-header__logo .logo-dark,
.site-header .main-header__logo .logo-light {
    position: static !important;
    inset: auto !important;
    width: 100%;
    height: 100%;
    transform: none !important;
}

.site-header .main-header__logo a,
.site-header .main-header__logo img {
    display: block;
    width: 100% !important;
    height: 100% !important;
    object-fit: contain;
    object-position: left center;
}

.site-header.is-on-dark .main-header__logo .logo-light,
.site-header.is-on-light .main-header__logo .logo-dark {
    display: block !important;
    opacity: 1 !important;
    visibility: visible !important;
}

.site-header.is-on-dark .main-header__logo .logo-dark,
.site-header.is-on-light .main-header__logo .logo-light {
    display: none !important;
    opacity: 0 !important;
    visibility: hidden !important;
}

.site-header.is-on-dark .main-header__default .navbar-nav > .menu-item > a,
.site-header.is-on-dark .awoh-language__trigger,
.site-header.is-on-dark .awoh-language__code,
.site-header.is-on-dark .awoh-language__chevron,
.site-header.is-on-dark .main-header__nav-trigger,
.site-header.is-on-dark .main-header__nav-trigger-icon {
    color: #ffffff !important;
    opacity: 1 !important;
}

.site-header.is-on-light .main-header__default .navbar-nav > .menu-item > a,
.site-header.is-on-light .awoh-language__trigger,
.site-header.is-on-light .awoh-language__code,
.site-header.is-on-light .awoh-language__chevron,
.site-header.is-on-light .main-header__nav-trigger,
.site-header.is-on-light .main-header__nav-trigger-icon {
    color: #171717 !important;
    opacity: 1 !important;
}

.site-header.is-on-dark .main-header__nav-trigger-icon,
.site-header.is-on-dark .main-header__nav-trigger-icon::before,
.site-header.is-on-dark .main-header__nav-trigger-icon::after {
    background-color: #ffffff !important;
    border-color: #ffffff !important;
}

.site-header.is-on-light .main-header__nav-trigger-icon,
.site-header.is-on-light .main-header__nav-trigger-icon::before,
.site-header.is-on-light .main-header__nav-trigger-icon::after {
    background-color: #171717 !important;
    border-color: #171717 !important;
}

.site-header .main-header__nav-trigger[aria-expanded="true"] .main-header__nav-trigger-icon {
    background-color: transparent !important;
}

.awoh-menu-open .site-header .main-header__logo .logo-light {
    display: block !important;
    opacity: 1 !important;
    visibility: visible !important;
}

.awoh-menu-open .site-header .main-header__logo .logo-dark {
    display: none !important;
    opacity: 0 !important;
    visibility: hidden !important;
}

.awoh-menu-open .site-header .main-header__nav-trigger,
.awoh-menu-open .site-header .main-header__nav-trigger-icon,
.awoh-menu-open .site-header .main-header__nav-trigger-icon::before,
.awoh-menu-open .site-header .main-header__nav-trigger-icon::after {
    color: #ffffff !important;
    border-color: #ffffff !important;
    background-color: #ffffff !important;
}

.awoh-menu-open .site-header .main-header__nav-trigger[aria-expanded="true"] .main-header__nav-trigger-icon {
    background-color: transparent !important;
}

.site-header .main-header__nav {
    justify-self: center;
}

.site-header .main-header__widgets {
    min-width: 116px;
    padding: 0 !important;
    justify-self: end;
}

.site-header .awoh-language__trigger {
    min-width: auto;
    height: 36px;
    padding: 0;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    gap: 7px;
}

.site-header .awoh-language__trigger:hover,
.site-header .awoh-language__trigger:focus-visible,
.site-header .awoh-language__menu[open] .awoh-language__trigger {
    border: 0 !important;
    color: #ff9700 !important;
}

.site-header .awoh-language__chevron {
    width: 5px;
    height: 5px;
}

@media (min-width: 1024px) {
    .site-header .main-header__inner {
        grid-template-columns: minmax(150px, 1fr) auto minmax(150px, 1fr) !important;
    }

    .site-header .main-header__default .navbar-nav {
        gap: clamp(24px, 2.6vw, 44px);
        padding: 0 !important;
    }

    .site-header .main-header__default .navbar-nav > .menu-item > a {
        font-size: 14px !important;
        font-weight: 650;
        letter-spacing: 0;
    }
}

@media (min-width: 768px) and (max-width: 1023px) {
    .site-header {
        min-height: 60px !important;
    }

    body[data-menu="fixed"] .site-header .main-header__inner,
    .site-header.full-width .main-header__inner,
    .site-header .main-header__inner,
    .site-header .main-header__inner.move,
    .site-header.is-scrolled .main-header__inner {
        min-height: 60px !important;
        margin: 0 !important;
        padding: 0 24px !important;
        border-radius: 0 !important;
    }

    .site-header .main-header__widgets {
        min-width: 46px;
    }

    .site-header .awoh-language__trigger {
        height: 34px;
    }
}

@media (max-width: 767px) {
    .site-header {
        min-height: 56px !important;
    }

    body[data-menu="fixed"] .site-header .main-header__inner,
    .site-header.full-width .main-header__inner,
    .site-header .main-header__inner,
    .site-header .main-header__inner.move,
    .site-header.is-scrolled .main-header__inner {
        min-height: 56px !important;
        margin: 0 !important;
        padding: 0 20px !important;
        border-radius: 0 !important;
    }

    .site-header .main-header__widgets {
        min-width: 42px;
    }

    .site-header .main-header__logo {
        width: 86px;
        min-width: 86px;
        height: 29px;
    }

    .site-header .awoh-language__trigger {
        height: 32px;
    }
}

/* Header horizontal distribution: full width with balanced editorial zones. */
.site-header,
.site-header .main-header__layout,
body[data-menu="fixed"] .site-header .main-header__inner,
.site-header.full-width .main-header__inner,
.site-header .main-header__inner {
    width: 100% !important;
    max-width: none !important;
    box-sizing: border-box;
}

.site-header .main-header__widgets,
.site-header .main-header__widgets .main-header--widgets {
    width: auto !important;
    min-width: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
}

@media (min-width: 1024px) {
    .site-header .main-header__inner {
        display: grid !important;
        grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr) !important;
        column-gap: clamp(28px, 3vw, 52px);
        padding-right: clamp(48px, 4.5vw, 64px) !important;
        padding-left: clamp(48px, 4.5vw, 64px) !important;
    }

    .site-header .main-header__logo {
        grid-column: 1;
        justify-self: start;
    }

    .site-header .main-header__nav {
        grid-column: 2;
        width: max-content !important;
        margin: 0 !important;
        justify-self: center;
    }

    .site-header .main-header__widgets {
        grid-column: 3;
        justify-self: end;
    }
}

@media (min-width: 768px) and (max-width: 1023px) {
    .site-header .main-header__inner {
        display: grid !important;
        grid-template-columns: minmax(0, 1fr) auto auto !important;
        column-gap: 12px;
        padding-right: 24px !important;
        padding-left: 24px !important;
    }
}

@media (max-width: 767px) {
    .site-header .main-header__inner {
        display: grid !important;
        grid-template-columns: minmax(0, 1fr) auto auto !important;
        column-gap: 10px;
        padding-right: 20px !important;
        padding-left: 20px !important;
    }
}

/* Phase 1.1 visual correction: semantic contrast, first-block clearance and compact rhythm. */
.site-header,
.site-header .main-header__layout,
.site-header .main-header__inner {
    background: transparent !important;
    border: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
}

.site-header.is-on-dark .main-header__default .navbar-nav > .menu-item > a,
.site-header.is-on-dark .awoh-language__trigger,
.site-header.is-on-dark .awoh-language__code,
.site-header.is-on-dark .awoh-language__chevron {
    color: #fff !important;
    opacity: 1 !important;
}

.site-header.is-on-light .main-header__default .navbar-nav > .menu-item > a,
.site-header.is-on-light .awoh-language__trigger,
.site-header.is-on-light .awoh-language__code,
.site-header.is-on-light .awoh-language__chevron {
    color: #171717 !important;
    opacity: 1 !important;
}

.awoh-home-hero,
.awoh-home-work,
.awoh-home-cta,
.awoh-services-editorial__hero,
.awoh-services-editorial__transition,
.awoh-service-page__hero,
.awoh-service-page__visual,
.awoh-service-page__cta,
.awoh-contact-editorial__visual,
body:has(.team-area) .portfolio-banner,
body:has(.team-area) .project-area.bottom,
body:has(.team-area) .project-area.last {
    color: #f7f7f4;
}

.awoh-services-editorial__hero .awoh-editorial-title,
.awoh-services-editorial__transition .awoh-editorial-title,
.awoh-service-page__hero .awoh-display-title,
.awoh-service-page__cta .awoh-display-title,
.awoh-home-hero .awoh-display-title,
.awoh-home-work .awoh-display-title,
.awoh-home-cta .awoh-display-title,
body:has(.team-area) .portfolio-banner .content__title,
body:has(.team-area) .project-area.bottom .awoh-brand-statement,
body:has(.team-area) .project-area.last .awoh-brand-statement {
    color: #fff !important;
    -webkit-text-fill-color: #fff !important;
    opacity: 1 !important;
}

.awoh-services-editorial__hero .awoh-services-intro,
.awoh-services-editorial__transition p,
.awoh-service-page__hero p,
.awoh-service-page__cta p,
.awoh-home-hero p,
.awoh-home-work p,
.awoh-home-cta p,
.awoh-contact-editorial__visual p,
body:has(.team-area) .project-area.bottom p,
body:has(.team-area) .project-area.last p {
    color: rgba(255, 255, 255, 0.76) !important;
}

.awoh-services-editorial__index,
.awoh-services-editorial__cta,
.awoh-service-page__section,
.awoh-service-page__audience,
.awoh-contact-editorial__hero,
.awoh-contact-editorial__form,
.awoh-policy,
body:has(.team-area) .marquee-area,
body:has(.team-area) .project-area:not(.bottom):not(.last),
body:has(.team-area) .team-area {
    color: #171717;
}

.awoh-services-editorial__index .awoh-editorial-title,
.awoh-services-editorial__cta .awoh-editorial-title,
.awoh-service-page__section .awoh-display-title,
.awoh-service-page__audience .awoh-display-title,
.awoh-contact-editorial__hero .awoh-display-title,
.awoh-contact-editorial__form .content-title,
.awoh-contact-editorial__form .contact-title,
.awoh-policy h1,
.awoh-policy h2,
body:has(.team-area) .project-area:not(.bottom):not(.last) .awoh-brand-statement,
body:has(.team-area) .team-area .awoh-editorial-title {
    color: #171717 !important;
    -webkit-text-fill-color: #171717 !important;
}

/* Slightly open the primary page titles so GAFTON does not feel compressed. */
.awoh-home-hero h1,
.awoh-services-editorial__hero h1.awoh-editorial-title,
.awoh-service-page__hero h1.awoh-display-title,
.awoh-contact-editorial__hero h1.awoh-display-title,
.awoh-policy__title {
    letter-spacing: 0.005em !important;
}

.awoh-contact-editorial__hero p,
.awoh-contact-editorial__form p,
.awoh-policy p,
.awoh-policy li,
.awoh-service-page__section p,
.awoh-service-page__audience p {
    color: #4a4a46 !important;
}

.awoh-title-kicker,
.awoh-brand-statement__name,
.awoh-brand-statement__highlight {
    color: #ff9700 !important;
    -webkit-text-fill-color: #ff9700 !important;
}

.awoh-services-editorial__hero > .container,
.awoh-services-editorial__transition > .container,
.awoh-service-page__hero > .container,
.awoh-service-page__visual > p,
.awoh-service-page__cta > .container,
.awoh-contact-editorial__visual > .container,
.portfolio-banner > .container,
.project-area > .container,
.team-area > .container {
    position: relative;
    z-index: 2;
}

.awoh-service-page__hero-image {
    position: absolute;
    z-index: 0;
}

.awoh-service-page__visual-image {
    position: relative;
    z-index: 0;
}

.awoh-service-page__hero::before,
.awoh-service-page__hero::after,
.awoh-service-page__visual::before,
.awoh-service-page__visual::after,
.awoh-contact-editorial__visual::before,
.awoh-contact-editorial__visual::after,
.portfolio-banner::before,
.portfolio-banner::after,
.project-area::before,
.project-area::after {
    z-index: 1;
    pointer-events: none;
}

.awoh-home-hero,
.awoh-home-hero__content {
    min-height: min(88svh, 860px);
}

.awoh-home-hero__content {
    padding-top: var(--awoh-first-block-offset);
    padding-bottom: clamp(56px, 7vw, 80px);
}

.awoh-services-editorial__hero {
    min-height: min(76svh, 760px);
    padding: var(--awoh-first-block-offset) 0 clamp(72px, 8vw, 100px);
}

.awoh-contact-editorial__hero {
    min-height: 0;
    padding: var(--awoh-first-block-offset) 0 clamp(64px, 7vw, 88px);
}

.awoh-service-page__hero {
    min-height: min(78svh, 780px);
}

.awoh-service-page__hero > .container {
    padding-top: var(--awoh-first-block-offset);
    padding-bottom: clamp(64px, 8vw, 96px);
}

.awoh-policy {
    padding-top: var(--awoh-first-block-offset);
    padding-bottom: var(--awoh-section-space-compact);
}

body:has(.team-area) .portfolio-banner {
    min-height: min(66svh, 660px) !important;
    padding: var(--awoh-first-block-offset) 0 clamp(64px, 7vw, 88px) !important;
}

.awoh-home-positioning,
.awoh-home-services,
.awoh-home-work,
.awoh-home-about,
.awoh-home-cta,
.awoh-services-editorial__index,
.awoh-services-editorial__transition,
.awoh-services-editorial__cta,
.awoh-service-page__section,
.awoh-service-page__audience,
.awoh-service-page__cta,
.awoh-contact-editorial__form,
body:has(.team-area) .project-area,
body:has(.team-area) .team-area {
    padding-top: var(--awoh-section-space-compact);
    padding-bottom: var(--awoh-section-space-compact);
}

.awoh-service-page__visual {
    min-height: min(64svh, 660px);
    padding-top: var(--awoh-section-space-compact);
    padding-bottom: var(--awoh-section-space-compact);
}

.awoh-service-page__visual-image {
    height: min(52svh, 560px);
}

.awoh-contact-editorial__visual {
    padding-top: var(--awoh-section-space-compact);
    padding-bottom: var(--awoh-section-space-compact);
}

.awoh-contact-editorial__visual img,
.awoh-contact-editorial__visual-image {
    min-height: min(52svh, 560px);
}

body:has(.team-area) .project-area:not(.bottom):not(.last) .ms-hero:has(.jarallax-img:empty) {
    display: none !important;
}

body:has(.team-area) .project-area.last {
    min-height: 0 !important;
    padding-top: clamp(48px, 6vw, 72px) !important;
    padding-bottom: clamp(48px, 6vw, 72px) !important;
}

@media (min-width: 768px) and (max-width: 1023px) {
    .awoh-home-hero,
    .awoh-home-hero__content {
        min-height: min(80svh, 720px);
    }

    .awoh-services-editorial__hero,
    .awoh-service-page__hero {
        min-height: min(70svh, 680px);
    }

    body:has(.team-area) .portfolio-banner {
        min-height: min(58svh, 580px) !important;
    }
}

@media (max-width: 767px) {
    .awoh-home-hero,
    .awoh-home-hero__content {
        min-height: min(76svh, 680px);
    }

    .awoh-home-hero__content,
    .awoh-services-editorial__hero,
    .awoh-contact-editorial__hero,
    .awoh-service-page__hero > .container,
    .awoh-policy,
    body:has(.team-area) .portfolio-banner {
        padding-top: var(--awoh-first-block-offset) !important;
    }

    .awoh-services-editorial__hero,
    .awoh-service-page__hero {
        min-height: min(64svh, 600px);
    }

    .awoh-contact-editorial__hero {
        min-height: 0;
    }

    body:has(.team-area) .portfolio-banner {
        min-height: min(52svh, 520px) !important;
    }

    .awoh-service-page__visual {
        min-height: min(50svh, 520px);
    }

    .awoh-service-page__visual-image {
        height: min(42svh, 420px);
    }

    .awoh-contact-editorial__visual img,
    .awoh-contact-editorial__visual-image {
        min-height: min(44svh, 440px);
    }

    .awoh-wheel-action {
        display: none !important;
    }
}

/* Publication safeguard: the approved contact wheel remains available on phones. */
@media (max-width: 767px) {
    .awoh-wheel-action.awoh-wheel-action--approved {
        display: grid !important;
    }
}
