/* ==========================================================================
   FUTURE ANALOG LLC — azurwest.com
   Shared stylesheet for index.php and legal pages
   ========================================================================== */

:root {
    --primary-azurwest: #005153;
    --accent-azurwest: #ffb922;
    --heading-azurwest: #1e3238;
    --text-azurwest: #6e7676;
    --border-azurwest: #dee2e6;
    --light-azurwest: #eff3f2;
    --soft-azurwest: #f7f9f9;
    --white-azurwest: #ffffff;
    --error-azurwest: #b3261e;

    --font-azurwest: "Golos Text", system-ui, -apple-system, "Segoe UI", Roboto, Arial, sans-serif;
    --wrap-azurwest: 1200px;
    --gutter-azurwest: clamp(20px, 4.5vw, 56px);
    --topbar-h-azurwest: 96px;
    --ease-azurwest: cubic-bezier(.2, .7, .2, 1);
    --ease-io-azurwest: cubic-bezier(.7, 0, .2, 1);
}

/* ---------- Base ---------- */

*, *::before, *::after { box-sizing: border-box; }

html {
    scroll-behavior: smooth;
    scroll-padding-top: 90px;
    -webkit-text-size-adjust: 100%;
    overflow-x: hidden;
}
@supports (overflow: clip) {
    html, body { overflow-x: clip; }
}

body {
    margin: 0;
    font-family: var(--font-azurwest);
    font-size: 16px;
    line-height: 1.75;
    letter-spacing: .01em;
    color: var(--text-azurwest);
    background: var(--white-azurwest);
    -webkit-font-smoothing: antialiased;
    overflow-x: hidden;
}

body.is-locked-azurwest { overflow: hidden; }

img, svg { display: block; max-width: 100%; }
img { height: auto; }

h1, h2, h3, h4, h5, h6,
.h1, .h2, .h3, .h4, .h5, .h6,
h1 a, h2 a, h3 a, h4 a, h5 a, h6 a,
.h1 a, .h2 a, .h3 a, .h4 a, .h5 a, .h6 a {
    font-family: var(--font-azurwest);
    color: var(--heading-azurwest);
    margin: 0;
    line-height: 1.15;
}

p { margin: 0; }

a {
    color: var(--primary-azurwest);
    text-decoration: none;
    transition: color .3s ease;
}

ul, ol { margin: 0; padding: 0; list-style: none; }

button { font: inherit; cursor: pointer; }

input, select, textarea, button { border-radius: 0; }

:focus-visible {
    outline: 2px solid var(--accent-azurwest);
    outline-offset: 3px;
}

::selection { background: var(--accent-azurwest); color: var(--heading-azurwest); }

.wrap-azurwest {
    width: 100%;
    max-width: calc(var(--wrap-azurwest) + var(--gutter-azurwest) * 2);
    margin-inline: auto;
    padding-inline: var(--gutter-azurwest);
}

.visually-hidden-azurwest,
.trap-azurwest {
    position: absolute !important;
    width: 1px;
    height: 1px;
    margin: -1px;
    padding: 0;
    overflow: hidden;
    clip-path: inset(50%);
    white-space: nowrap;
    border: 0;
}

.skip-azurwest {
    position: fixed;
    top: 12px;
    left: 12px;
    z-index: 200;
    padding: 12px 20px;
    background: var(--accent-azurwest);
    color: var(--heading-azurwest);
    font-weight: 700;
    translate: 0 -200%;
    transition: translate .3s ease;
}
.skip-azurwest:focus { translate: 0 0; }

/* ---------- Typography helpers ---------- */

.eyebrow-azurwest {
    display: inline-flex;
    align-items: center;
    gap: 14px;
    margin-bottom: 22px;
    font-size: 13px;
    font-weight: 700;
    letter-spacing: .18em;
    text-transform: uppercase;
    color: var(--primary-azurwest);
}
.eyebrow-azurwest::before {
    content: "";
    width: 34px;
    height: 2px;
    background: var(--accent-azurwest);
}

.heading-azurwest {
    font-weight: 700;
    letter-spacing: -.025em;
    line-height: 1.08;
}
.heading-xl-azurwest { font-size: clamp(2rem, 3.6vw, 3.5rem); }
.heading-lg-azurwest { font-size: clamp(1.9rem, 3.2vw, 3rem); }
.heading-md-azurwest { font-size: clamp(1.7rem, 2.5vw, 2.4rem); }

.lede-azurwest {
    margin-top: 26px;
    max-width: 640px;
    font-size: clamp(16px, 1.3vw, 18px);
    line-height: 1.8;
}

.thin-azurwest { display: block; font-weight: 400; }

/* ---------- Buttons ---------- */

.btn-azurwest {
    --btn-bg: var(--primary-azurwest);
    --btn-fg: var(--white-azurwest);
    --btn-hover-bg: var(--heading-azurwest);
    --btn-hover-fg: var(--white-azurwest);
    position: relative;
    isolation: isolate;
    overflow: hidden;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    min-height: 56px;
    padding: 18px 34px;
    border: 1px solid transparent;
    background: var(--btn-bg);
    color: var(--btn-fg);
    font-size: 14px;
    font-weight: 700;
    line-height: 1.2;
    letter-spacing: .1em;
    text-transform: uppercase;
    text-align: center;
    transition: color .45s var(--ease-io-azurwest), border-color .45s ease;
}
.btn-azurwest::before {
    content: "";
    position: absolute;
    inset: 0;
    z-index: -1;
    background: var(--btn-hover-bg);
    transform: scaleX(0);
    transform-origin: right center;
    transition: transform .5s var(--ease-io-azurwest);
}
.btn-azurwest:hover,
.btn-azurwest:focus-visible { color: var(--btn-hover-fg); }
.btn-azurwest:hover::before,
.btn-azurwest:focus-visible::before {
    transform: scaleX(1);
    transform-origin: left center;
}

.btn-gold-azurwest {
    --btn-bg: var(--accent-azurwest);
    --btn-fg: var(--heading-azurwest);
    --btn-hover-bg: var(--white-azurwest);
    --btn-hover-fg: var(--primary-azurwest);
}
.btn-light-azurwest {
    --btn-bg: var(--white-azurwest);
    --btn-fg: var(--primary-azurwest);
    --btn-hover-bg: var(--accent-azurwest);
    --btn-hover-fg: var(--heading-azurwest);
    min-height: 72px;
    padding-inline: 46px;
    font-size: 15px;
}
.btn-teal-azurwest {
    --btn-bg: var(--primary-azurwest);
    --btn-fg: var(--white-azurwest);
    --btn-hover-bg: var(--heading-azurwest);
}
.btn-outline-azurwest {
    --btn-bg: transparent;
    --btn-fg: var(--heading-azurwest);
    --btn-hover-bg: var(--heading-azurwest);
    border-color: var(--border-azurwest);
}
.btn-outline-azurwest:hover { border-color: var(--heading-azurwest); }
.btn-sm-azurwest { min-height: 54px; padding: 14px 26px; font-size: 13px; }
.btn-block-azurwest { width: 100%; min-height: 64px; }

.linkbtn-azurwest {
    padding: 0;
    border: 0;
    background: none;
    color: inherit;
    font-size: inherit;
    letter-spacing: inherit;
}
.linkbtn-azurwest:hover { color: var(--primary-azurwest); }

/* ==========================================================================
   Header
   ========================================================================== */

.topbar-azurwest {
    position: fixed;
    inset: 0 0 auto 0;
    z-index: 80;
    border-bottom: 1px solid rgba(255, 255, 255, .14);
    transition: background-color .4s ease, border-color .4s ease, box-shadow .4s ease;
}
.topbar-azurwest.is-scrolled-azurwest,
.topbar-azurwest.is-solid-azurwest {
    background: rgba(30, 50, 56, .96);
    border-bottom-color: transparent;
    box-shadow: 0 10px 30px rgba(10, 25, 28, .18);
}
@supports (backdrop-filter: blur(10px)) {
    .topbar-azurwest.is-scrolled-azurwest,
    .topbar-azurwest.is-solid-azurwest {
        background: rgba(30, 50, 56, .9);
        backdrop-filter: blur(10px);
    }
}

.topbar-inner-azurwest {
    display: flex;
    align-items: center;
    gap: 32px;
    height: var(--topbar-h-azurwest);
    max-width: 1600px;
    margin-inline: auto;
    padding-inline: clamp(20px, 3vw, 56px);
    transition: height .4s ease;
}
.is-scrolled-azurwest .topbar-inner-azurwest { height: 78px; }

.brand-azurwest {
    display: inline-flex;
    align-items: center;
    gap: 14px;
    flex-shrink: 0;
    color: var(--white-azurwest);
}
.brand-mark-azurwest {
    width: 52px;
    height: auto;
    transition: transform .6s var(--ease-azurwest);
}
.brand-azurwest:hover .brand-mark-azurwest { transform: rotate(-8deg) scale(1.05); }

.brand-text-azurwest { display: flex; flex-direction: column; line-height: 1; }
.brand-name-azurwest {
    font-size: 25px;
    font-weight: 800;
    letter-spacing: -.01em;
    text-transform: uppercase;
}
.brand-sub-azurwest {
    margin-top: 5px;
    font-size: 12.5px;
    font-weight: 700;
    letter-spacing: .14em;
    text-transform: uppercase;
    opacity: .9;
}

/* Main nav (desktop) */
.mainnav-azurwest { margin-left: auto; align-self: stretch; }
.mainnav-list-azurwest { display: flex; align-items: stretch; height: 100%; gap: clamp(14px, 2vw, 36px); }
.mainnav-item-azurwest { display: flex; align-items: center; }

.mainnav-link-azurwest {
    position: relative;
    display: inline-block;
    padding: 12px 0;
    color: var(--white-azurwest);
    font-size: 15px;
    font-weight: 700;
    letter-spacing: .08em;
    text-transform: uppercase;
}
.mainnav-link-azurwest::after {
    content: "";
    position: absolute;
    left: 0;
    bottom: 4px;
    width: 100%;
    height: 2px;
    background: var(--accent-azurwest);
    transform: scaleX(0);
    transform-origin: right;
    transition: transform .4s var(--ease-io-azurwest);
}
.mainnav-link-azurwest:hover,
.mainnav-item-azurwest:focus-within > .mainnav-link-azurwest { color: var(--accent-azurwest); }
.mainnav-link-azurwest:hover::after { transform: scaleX(1); transform-origin: left; }

.subtoggle-azurwest {
    display: grid;
    place-items: center;
    width: 26px;
    height: 32px;
    margin-left: 4px;
    padding: 0;
    border: 0;
    background: none;
    color: var(--white-azurwest);
    transition: transform .35s ease, color .3s ease;
}
.has-sub-azurwest:hover .subtoggle-azurwest,
.has-sub-azurwest.is-open-azurwest .subtoggle-azurwest { color: var(--accent-azurwest); transform: rotate(180deg); }

.subnav-azurwest {
    position: absolute;
    top: 100%;
    left: 0;
    right: 0;
    background: #15272c;
    border-top: 1px solid rgba(255, 255, 255, .08);
    border-bottom: 3px solid var(--accent-azurwest);
    box-shadow: 0 30px 60px rgba(5, 15, 18, .35);
    opacity: 0;
    visibility: hidden;
    translate: 0 -8px;
    transition: opacity .35s ease, translate .45s var(--ease-azurwest), visibility .35s;
}
@media (min-width: 1101px) {
    .topbar-azurwest:has(.has-sub-azurwest:hover),
    .topbar-azurwest:has(.has-sub-azurwest.is-open-azurwest) {
        background: #15272c;
        border-bottom-color: rgba(255, 255, 255, .08);
    }
}
.has-sub-azurwest:hover > .subnav-azurwest,
.has-sub-azurwest:focus-within > .subnav-azurwest,
.has-sub-azurwest.is-open-azurwest > .subnav-azurwest {
    opacity: 1;
    visibility: visible;
    translate: 0 0;
}
.subnav-inner-azurwest {
    display: grid;
    grid-template-columns: minmax(0, 300px) minmax(0, 1fr);
    gap: 40px clamp(40px, 5vw, 90px);
    max-width: calc(var(--wrap-azurwest) + var(--gutter-azurwest) * 2);
    margin-inline: auto;
    padding: 44px var(--gutter-azurwest) 48px;
}
.subnav-intro-azurwest {
    font-size: 15px;
    line-height: 1.7;
    color: rgba(255, 255, 255, .6);
}
.subnav-intro-azurwest strong {
    display: block;
    margin-bottom: 10px;
    font-size: 26px;
    font-weight: 600;
    line-height: 1.2;
    letter-spacing: -.01em;
    color: var(--white-azurwest);
}
.subnav-list-azurwest {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 10px 26px;
}
.subnav-list-azurwest a {
    display: flex;
    flex-direction: column;
    gap: 4px;
    height: 100%;
    padding: 16px 20px;
    border-left: 2px solid rgba(255, 255, 255, .14);
    color: var(--white-azurwest);
    transition: background-color .3s ease, border-color .3s ease, color .3s ease, padding .35s var(--ease-azurwest);
}
.subnav-list-azurwest a span {
    font-size: 16px;
    font-weight: 600;
    line-height: 1.35;
}
.subnav-list-azurwest a small {
    font-size: 12px;
    font-weight: 600;
    letter-spacing: .1em;
    text-transform: uppercase;
    color: rgba(255, 255, 255, .5);
    transition: color .3s ease;
}
.subnav-list-azurwest a:hover,
.subnav-list-azurwest a:focus-visible {
    background: rgba(255, 255, 255, .05);
    border-left-color: var(--accent-azurwest);
    padding-left: 26px;
    color: var(--accent-azurwest);
}
.subnav-list-azurwest a:hover small { color: rgba(255, 255, 255, .75); }
.has-sub-azurwest > .subnav-azurwest .subnav-list-azurwest li {
    opacity: 0;
    translate: 0 10px;
    transition: opacity .4s ease, translate .5s var(--ease-azurwest);
}
.has-sub-azurwest:hover > .subnav-azurwest .subnav-list-azurwest li,
.has-sub-azurwest:focus-within > .subnav-azurwest .subnav-list-azurwest li,
.has-sub-azurwest.is-open-azurwest > .subnav-azurwest .subnav-list-azurwest li { opacity: 1; translate: 0 0; }
.subnav-list-azurwest li:nth-child(2) { transition-delay: .04s; }
.subnav-list-azurwest li:nth-child(3) { transition-delay: .08s; }
.subnav-list-azurwest li:nth-child(4) { transition-delay: .12s; }
.subnav-list-azurwest li:nth-child(5) { transition-delay: .16s; }
.subnav-list-azurwest li:nth-child(6) { transition-delay: .2s; }

.drawer-head-azurwest,
.drawer-foot-azurwest { display: none; }

.topbar-actions-azurwest {
    display: flex;
    align-items: center;
    gap: 22px;
    margin-left: clamp(10px, 2vw, 40px);
}
.callicon-azurwest {
    display: grid;
    place-items: center;
    width: 44px;
    height: 44px;
    color: var(--white-azurwest);
    transition: color .3s ease, transform .3s ease;
}
.callicon-azurwest:hover { color: var(--accent-azurwest); transform: rotate(-12deg); }

.burger-azurwest {
    display: none;
    flex-direction: column;
    justify-content: center;
    gap: 6px;
    width: 48px;
    height: 48px;
    padding: 12px;
    border: 1px solid rgba(255, 255, 255, .3);
    background: transparent;
}
.burger-azurwest span {
    display: block;
    height: 2px;
    background: var(--white-azurwest);
    transition: transform .3s ease, opacity .3s ease;
}
.burger-azurwest span:nth-child(2) { width: 70%; margin-left: auto; }

.drawer-shade-azurwest {
    position: fixed;
    inset: 0;
    z-index: 85;
    background: rgba(10, 25, 28, .55);
    opacity: 0;
    transition: opacity .35s ease;
}
.drawer-shade-azurwest.is-visible-azurwest { opacity: 1; }
.is-locked-azurwest .topbar-azurwest { z-index: 90; }

/* ==========================================================================
   Lead stage (first screen)
   ========================================================================== */

.stage-azurwest {
    position: relative;
    display: flex;
    align-items: center;
    min-height: 100vh;
    min-height: 100svh;
    padding: calc(var(--topbar-h-azurwest) + 70px) 0 64px;
    overflow: hidden;
    color: var(--white-azurwest);
    background: var(--heading-azurwest);
}
.stage-bg-azurwest {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    scale: 1.12;
    transition: scale 2.6s var(--ease-azurwest);
}
.is-ready-azurwest .stage-bg-azurwest { scale: 1; }

.stage-shade-azurwest {
    position: absolute;
    inset: 0;
    background:
        linear-gradient(100deg, rgba(30, 50, 56, .9) 0%, rgba(30, 50, 56, .72) 45%, rgba(30, 50, 56, .5) 100%),
        linear-gradient(0deg, rgba(20, 36, 40, .65) 0%, rgba(20, 36, 40, 0) 40%);
}

.stage-inner-azurwest { position: relative; z-index: 1; }

.stage-kicker-azurwest {
    display: inline-flex;
    align-items: center;
    gap: 14px;
    margin-bottom: 28px;
    font-size: 14px;
    font-weight: 700;
    letter-spacing: .2em;
    text-transform: uppercase;
    color: var(--accent-azurwest);
}
.stage-kicker-azurwest::before {
    content: "";
    width: 46px;
    height: 2px;
    background: currentColor;
}

.stage-title-azurwest {
    color: var(--white-azurwest);
    font-size: clamp(2.4rem, 6.6vw, 6.2rem);
    font-weight: 600;
    line-height: 1.04;
    letter-spacing: -.035em;
}
.stage-line-azurwest { display: block; }
.stage-line-azurwest + .stage-line-azurwest { margin-top: .2em; }
.stage-line-azurwest > span {
    display: inline;
    padding: 0 .12em .04em;
    color: var(--white-azurwest);
    background-image: linear-gradient(var(--accent-azurwest), var(--accent-azurwest));
    background-repeat: no-repeat;
    background-position: left center;
    background-size: 100% 100%;
    -webkit-box-decoration-break: clone;
    box-decoration-break: clone;
    transition:
        background-size 1s var(--ease-io-azurwest) .25s,
        color .6s ease 1.05s;
}
.stage-line-azurwest:nth-child(2) > span { transition-delay: .5s, 1.3s; }
.js-azurwest:not(.is-ready-azurwest) .stage-line-azurwest > span {
    color: transparent;
    background-size: 0% 100%;
}

.stage-row-azurwest {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: 36px;
    margin-top: clamp(40px, 6vw, 64px);
}
.stage-actions-azurwest {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 22px 34px;
}
.stage-more-azurwest {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    color: var(--white-azurwest);
    font-weight: 600;
    letter-spacing: .04em;
    border-bottom: 1px solid rgba(255, 255, 255, .4);
    padding-bottom: 4px;
}
.stage-more-azurwest svg { transition: transform .35s ease; }
.stage-more-azurwest:hover { color: var(--accent-azurwest); border-color: var(--accent-azurwest); }
.stage-more-azurwest:hover svg { transform: translateY(4px); }

.stage-note-azurwest {
    justify-self: end;
    display: flex;
    align-items: center;
    gap: 26px;
    max-width: 660px;
    padding-left: 28px;
    border-left: 2px solid var(--accent-azurwest);
}
.stage-badges-azurwest { display: flex; flex-shrink: 0; }
.stage-badges-azurwest span {
    display: grid;
    place-items: center;
    width: 78px;
    height: 78px;
    margin-left: -14px;
    overflow: hidden;
    border: 3px solid var(--white-azurwest);
    border-radius: 50%;
    background: #b6b6b6;
    transition: transform .35s var(--ease-azurwest);
}
.stage-badges-azurwest span:first-child { margin-left: 0; }
.stage-badges-azurwest span:hover { transform: translateY(-6px); }
.stage-badges-azurwest img { width: 100%; height: 100%; object-fit: cover; }
.stage-note-azurwest p {
    font-size: 16.5px;
    line-height: 1.7;
    color: rgba(255, 255, 255, .88);
}

/* ==========================================================================
   Who we are — pillars
   ========================================================================== */

.pillars-azurwest { padding: clamp(80px, 10vw, 140px) 0; }

.pillars-head-azurwest {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: center;
    gap: 60px;
}
.pillars-head-azurwest .heading-azurwest { max-width: 900px; }

.emblem-azurwest {
    position: relative;
    display: grid;
    place-items: center;
    width: clamp(220px, 24vw, 340px);
    aspect-ratio: 1;
    border-radius: 50%;
    background: var(--primary-azurwest);
    margin-right: clamp(0px, 3vw, 40px);
}
.emblem-azurwest::before {
    content: "";
    position: absolute;
    inset: 6%;
    border: 1px dashed rgba(255, 255, 255, .35);
    border-radius: 50%;
    transition: inset .8s var(--ease-azurwest), border-color .6s ease;
}
.emblem-inner-azurwest {
    position: absolute;
    inset: 13%;
    overflow: hidden;
    border-radius: 50%;
    box-shadow: 0 0 0 6px var(--accent-azurwest);
}
.emblem-inner-azurwest img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: scale 1.2s var(--ease-azurwest);
}
.emblem-azurwest:hover::before { inset: 3%; border-color: rgba(255, 255, 255, .6); }
.emblem-azurwest:hover .emblem-inner-azurwest img { scale: 1.08; }

@keyframes spin-azurwest { to { rotate: 360deg; } }

.pillar-grid-azurwest {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: clamp(28px, 4vw, 70px);
    margin-top: clamp(60px, 8vw, 110px);
}
.pillar-card-azurwest {
    position: relative;
    padding-top: 40px;
    border-top: 1px solid var(--border-azurwest);
}
.pillar-card-azurwest::before {
    content: "";
    position: absolute;
    top: -1px;
    left: 0;
    width: 100%;
    height: 2px;
    background: var(--accent-azurwest);
    transform: scaleX(0);
    transform-origin: left;
    transition: transform .7s var(--ease-io-azurwest);
}
.pillar-card-azurwest:hover::before { transform: scaleX(1); }
.pillar-top-azurwest {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
}
.pillar-top-azurwest h3 {
    font-size: clamp(20px, 1.7vw, 26px);
    font-weight: 600;
    letter-spacing: -.015em;
}
.pillar-top-azurwest img {
    width: clamp(70px, 6vw, 96px);
    flex-shrink: 0;
    transition: transform .6s var(--ease-azurwest);
}
.pillar-card-azurwest:hover .pillar-top-azurwest img { transform: translateY(-6px) rotate(-4deg); }
.pillar-card-azurwest p {
    margin-top: 28px;
    font-size: 17px;
    line-height: 1.8;
}

/* Gold tone for pillar icons (originals are teal) */
.pillar-top-azurwest img {
    filter: brightness(0) saturate(100%) invert(77%) sepia(53%) saturate(1006%) hue-rotate(338deg) brightness(102%) contrast(101%);
}

/* ==========================================================================
   Services carousel
   ========================================================================== */

.offer-azurwest { padding-top: clamp(70px, 8vw, 110px); }

.offer-head-azurwest {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-end;
    justify-content: space-between;
    gap: 30px;
}
.offer-head-azurwest .eyebrow-azurwest { margin-bottom: 14px; }

.offer-controls-azurwest {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 10px;
}
.arrowbtn-azurwest {
    display: grid;
    place-items: center;
    width: 54px;
    height: 54px;
    padding: 0;
    border: 1px solid var(--border-azurwest);
    background: var(--white-azurwest);
    color: var(--heading-azurwest);
    transition: background-color .3s ease, color .3s ease, border-color .3s ease;
}
.arrowbtn-azurwest:hover {
    background: var(--heading-azurwest);
    border-color: var(--heading-azurwest);
    color: var(--white-azurwest);
}
.arrowbtn-azurwest .icon-play-azurwest { display: none; }
.arrowbtn-azurwest[aria-pressed="true"] .icon-play-azurwest { display: block; }
.arrowbtn-azurwest[aria-pressed="true"] .icon-pause-azurwest { display: none; }
.offer-controls-azurwest .btn-azurwest { margin-left: 12px; }

.slider-azurwest { margin-top: 50px; }

.slider-track-azurwest {
    --edge-azurwest: max(var(--gutter-azurwest), calc((100% - var(--wrap-azurwest)) / 2));
    display: flex;
    gap: 24px;
    overflow-x: auto;
    overscroll-behavior-x: contain;
    scroll-snap-type: x mandatory;
    scroll-padding-inline: var(--edge-azurwest);
    padding-inline: var(--edge-azurwest);
    scrollbar-width: none;
    cursor: grab;
}
.slider-track-azurwest::-webkit-scrollbar { display: none; }
.slider-track-azurwest.is-animating-azurwest { scroll-snap-type: none; }
.slider-track-azurwest.is-dragging-azurwest {
    cursor: grabbing;
    scroll-snap-type: none;
    user-select: none;
}
.slider-track-azurwest.is-dragging-azurwest .offer-card-azurwest { pointer-events: none; }
.slider-track-azurwest:focus-visible { outline-offset: -3px; }

.offer-card-azurwest {
    position: relative;
    flex: 0 0 clamp(290px, 31vw, 456px);
    height: clamp(520px, 44vw, 640px);
    overflow: hidden;
    scroll-snap-align: start;
    background: var(--heading-azurwest);
    color: var(--white-azurwest);
}
.offer-media-azurwest {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: scale 1.4s var(--ease-azurwest), filter .6s ease;
    user-select: none;
    -webkit-user-drag: none;
}
.offer-card-azurwest::before,
.offer-card-azurwest::after {
    content: "";
    position: absolute;
    inset: 0;
    z-index: 1;
    pointer-events: none;
}
.offer-card-azurwest::before {
    background:
        linear-gradient(180deg, rgba(14, 30, 34, .92) 0%, rgba(14, 30, 34, .3) 30%, rgba(14, 30, 34, .25) 42%, rgba(14, 30, 34, .88) 62%, rgba(14, 30, 34, .97) 100%);
    transition: opacity .6s ease;
}
.offer-card-azurwest::after {
    z-index: 3;
    top: auto;
    height: 4px;
    background: var(--accent-azurwest);
    transform: scaleX(0);
    transform-origin: left;
    transition: transform .7s var(--ease-io-azurwest);
}
.offer-card-azurwest:hover .offer-media-azurwest { scale: 1.07; }
.offer-card-azurwest:hover::after,
.offer-card-azurwest:focus-within::after { transform: scaleX(1); }

.offer-top-azurwest {
    position: absolute;
    inset: 0 0 auto 0;
    z-index: 2;
    margin: 0 34px;
    padding: 34px 0 22px;
    border-bottom: 1px solid rgba(255, 255, 255, .22);
}
.offer-num-azurwest {
    display: block;
    margin-bottom: 10px;
    font-size: 13px;
    font-weight: 700;
    letter-spacing: .18em;
    color: var(--accent-azurwest);
}
.offer-title-azurwest {
    color: var(--white-azurwest);
    font-size: clamp(21px, 1.8vw, 25px);
    font-weight: 600;
    line-height: 1.25;
    letter-spacing: -.01em;
}
.offer-tag-azurwest {
    display: block;
    margin-top: 8px;
    font-size: 14px;
    font-weight: 500;
    color: rgba(255, 255, 255, .8);
}

.offer-body-azurwest {
    position: absolute;
    inset: auto 0 0 0;
    z-index: 2;
    padding: 0 34px 34px;
    transition: translate .6s var(--ease-azurwest);
}
.offer-body-azurwest p {
    font-size: 15px;
    line-height: 1.65;
    color: rgba(255, 255, 255, .86);
}
.offer-label-azurwest {
    display: block;
    margin: 18px 0 10px;
    font-size: 12px;
    font-weight: 700;
    letter-spacing: .16em;
    text-transform: uppercase;
    color: var(--accent-azurwest);
}
.offer-body-azurwest li {
    position: relative;
    padding-left: 22px;
    font-size: 14.5px;
    line-height: 1.55;
    color: var(--white-azurwest);
}
.offer-body-azurwest li + li { margin-top: 7px; }
.offer-body-azurwest li::before {
    content: "";
    position: absolute;
    left: 0;
    top: .52em;
    width: 8px;
    height: 8px;
    background: var(--accent-azurwest);
}

@media (hover: hover) {
    .offer-body-azurwest ul li {
        transition: translate .5s var(--ease-azurwest);
    }
    .offer-card-azurwest:hover .offer-body-azurwest li { translate: 6px 0; }
    .offer-card-azurwest:hover .offer-body-azurwest li:nth-child(2) { transition-delay: .06s; }
    .offer-card-azurwest:hover .offer-body-azurwest li:nth-child(3) { transition-delay: .12s; }
}

.slider-bar-azurwest {
    width: calc(100% - var(--gutter-azurwest) * 2);
    max-width: var(--wrap-azurwest);
    height: 2px;
    margin: 34px auto 0;
    background: var(--border-azurwest);
}
.slider-bar-azurwest span {
    display: block;
    width: 20%;
    height: 100%;
    background: var(--primary-azurwest);
    transform-origin: left;
    transition: translate .25s linear;
}

/* Process steps */
.steps-azurwest {
    padding: clamp(70px, 8vw, 110px) 0 clamp(80px, 9vw, 130px);
    overflow: hidden;
}
.steps-list-azurwest {
    position: relative;
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 40px;
}
.steps-list-azurwest::before {
    content: "";
    position: absolute;
    top: 52px;
    left: calc(var(--gutter-azurwest) * -1 - 100vw);
    right: calc(var(--gutter-azurwest) * -1 - 100vw);
    height: 1px;
    background: var(--border-azurwest);
}
.step-azurwest { position: relative; }
.step-num-azurwest {
    display: block;
    font-size: 18px;
    font-weight: 700;
    color: var(--heading-azurwest);
    letter-spacing: .04em;
}
.step-dot-azurwest {
    position: absolute;
    top: 49px;
    left: 0;
    width: 7px;
    height: 7px;
    border-radius: 50%;
    background: var(--accent-azurwest);
    box-shadow: 0 0 0 0 rgba(255, 185, 34, .5);
    animation: pulse-azurwest 2.6s ease-out infinite;
}
.step-azurwest:nth-child(2) .step-dot-azurwest { animation-delay: .6s; }
.step-azurwest:nth-child(3) .step-dot-azurwest { animation-delay: 1.2s; }
@keyframes pulse-azurwest {
    0% { box-shadow: 0 0 0 0 rgba(255, 185, 34, .55); }
    70%, 100% { box-shadow: 0 0 0 12px rgba(255, 185, 34, 0); }
}
.step-azurwest h3 {
    margin-top: 58px;
    font-size: 22px;
    font-weight: 500;
}
.step-azurwest p {
    margin-top: 12px;
    max-width: 440px;
    font-size: 15.5px;
    line-height: 1.75;
}

/* ==========================================================================
   Structure / profile
   ========================================================================== */

.profile-azurwest {
    padding: clamp(80px, 10vw, 130px) 0;
    background: var(--light-azurwest);
}
.profile-head-azurwest {
    display: grid;
    grid-template-columns: 1.1fr 1fr;
    gap: 40px 80px;
    align-items: start;
}
.profile-title-azurwest { font-weight: 600; }
.profile-head-azurwest .lede-azurwest { margin-top: 10px; }

.profile-body-azurwest {
    display: grid;
    grid-template-columns: minmax(0, .62fr) minmax(0, 1fr);
    gap: 60px clamp(40px, 6vw, 110px);
    align-items: end;
    margin-top: clamp(40px, 6vw, 60px);
}
.profile-list-azurwest li {
    display: flex;
    align-items: flex-start;
    gap: 28px;
}
.profile-list-azurwest li + li { margin-top: 52px; }
.ringicon-azurwest {
    display: grid;
    place-items: center;
    flex-shrink: 0;
    width: 64px;
    height: 64px;
    border: 1px solid var(--heading-azurwest);
    border-radius: 50%;
    color: var(--heading-azurwest);
    transition: background-color .4s ease, color .4s ease, border-color .4s ease;
}
.profile-list-azurwest li:hover .ringicon-azurwest {
    background: var(--primary-azurwest);
    border-color: var(--primary-azurwest);
    color: var(--white-azurwest);
}
.profile-list-azurwest h3 {
    font-size: 20px;
    font-weight: 500;
}
.profile-list-azurwest p {
    margin-top: 10px;
    font-size: 16.5px;
    line-height: 1.8;
}

.profile-media-azurwest {
    position: relative;
    margin: 0;
    padding-top: 90px;
}
.profile-media-azurwest img {
    width: 100%;
    aspect-ratio: 16 / 11;
    object-fit: cover;
}
.profile-stats-azurwest {
    position: absolute;
    top: 0;
    right: -1px;
    display: flex;
    align-items: center;
    width: 80%;
    padding: clamp(26px, 3vw, 40px) clamp(22px, 3vw, 44px);
    background: var(--primary-azurwest);
    color: var(--white-azurwest);
}
.profile-stat-azurwest {
    display: flex;
    align-items: center;
    gap: 14px;
    flex: 1 1 0;
    min-width: 0;
}
.profile-stat-azurwest + .profile-stat-azurwest {
    padding-left: clamp(16px, 2.2vw, 34px);
    margin-left: clamp(16px, 2.2vw, 34px);
    border-left: 1px solid rgba(255, 255, 255, .3);
}
.profile-stat-azurwest strong {
    font-size: clamp(34px, 3.4vw, 54px);
    font-weight: 600;
    line-height: 1;
    letter-spacing: -.02em;
    flex-shrink: 0;
}
.profile-stat-azurwest > span {
    min-width: 0;
    font-size: clamp(12px, 1vw, 14px);
    font-weight: 600;
    line-height: 1.2;
    text-transform: uppercase;
    letter-spacing: .04em;
}

/* ==========================================================================
   Principles
   ========================================================================== */

.tenets-azurwest { padding: clamp(80px, 10vw, 130px) 0; }
.tenets-grid-azurwest {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    gap: 60px clamp(40px, 7vw, 120px);
    align-items: center;
}
.tenets-intro-azurwest > p:not(.eyebrow-azurwest) {
    margin-top: 28px;
    font-size: 16.5px;
    line-height: 1.8;
}
.tenets-link-azurwest {
    display: inline-flex;
    align-items: center;
    gap: 16px;
    margin-top: 34px;
    color: var(--heading-azurwest);
    font-size: 15px;
}
.tenets-link-azurwest > span:last-child {
    border-bottom: 1px solid var(--heading-azurwest);
    transition: border-color .3s ease, color .3s ease;
}
.tenets-link-azurwest:hover > span:last-child { color: var(--primary-azurwest); border-color: var(--accent-azurwest); }
.tenets-avatar-azurwest {
    display: grid;
    place-items: center;
    width: 64px;
    height: 64px;
    border-radius: 50%;
    background: var(--white-azurwest);
    box-shadow: 0 10px 26px rgba(30, 50, 56, .16);
    transition: transform .5s var(--ease-azurwest);
}
.tenets-avatar-azurwest img { width: 34px; }
.tenets-link-azurwest:hover .tenets-avatar-azurwest { transform: rotate(-10deg) scale(1.06); }

.tenets-list-azurwest li {
    display: grid;
    grid-template-columns: clamp(110px, 12vw, 170px) minmax(0, 1fr);
    border-bottom: 1px solid var(--border-azurwest);
}
.tenets-list-azurwest li:last-child { border-bottom: 0; }
.tenets-icon-azurwest {
    display: grid;
    place-items: center;
    padding: 26px;
    border-right: 1px solid var(--border-azurwest);
    transition: background-color .4s ease;
}
.tenets-icon-azurwest img {
    width: 60px;
    transition: transform .5s var(--ease-azurwest);
}
.tenets-list-azurwest li:hover .tenets-icon-azurwest { background: var(--light-azurwest); }
.tenets-list-azurwest li:hover .tenets-icon-azurwest img { transform: scale(1.1); }
.tenets-list-azurwest li > div {
    padding: 28px clamp(20px, 3vw, 40px);
    align-self: center;
}
.tenets-list-azurwest h3 { font-size: 21px; font-weight: 500; }
.tenets-list-azurwest p { margin-top: 6px; font-size: 15px; line-height: 1.7; }

/* ==========================================================================
   Commitments (dark slider)
   ========================================================================== */

.pledge-azurwest {
    position: relative;
    padding: clamp(80px, 10vw, 140px) 0;
    overflow: hidden;
    color: var(--white-azurwest);
    background: var(--heading-azurwest);
}
.pledge-bg-azurwest {
    position: absolute;
    inset: -8% 0;
    width: 100%;
    height: 116%;
    object-fit: cover;
    will-change: transform;
}
.pledge-shade-azurwest {
    position: absolute;
    inset: 0;
    background: linear-gradient(90deg, rgba(30, 50, 56, .95) 0%, rgba(30, 50, 56, .86) 55%, rgba(30, 50, 56, .7) 100%);
}
.pledge-inner-azurwest { position: relative; z-index: 1; }

.pledge-title-azurwest {
    color: var(--accent-azurwest);
    font-size: clamp(2.4rem, 5vw, 4.4rem);
    font-weight: 700;
    letter-spacing: -.03em;
    padding-left: clamp(0px, 10vw, 150px);
}
.pledge-slider-azurwest {
    position: relative;
    margin-top: 44px;
    padding-left: clamp(0px, 10vw, 150px);
}
.pledge-quote-azurwest {
    position: absolute;
    left: 0;
    top: 6px;
    width: clamp(60px, 7vw, 104px);
    color: rgba(255, 255, 255, .14);
}
.pledge-slides-azurwest { display: grid; }
.pledge-slide-azurwest {
    grid-area: 1 / 1;
    margin: 0;
    opacity: 0;
    visibility: hidden;
    translate: 0 24px;
    transition: opacity .7s ease, translate .8s var(--ease-azurwest), visibility .7s;
}
.pledge-slide-azurwest.is-active-azurwest {
    opacity: 1;
    visibility: visible;
    translate: 0 0;
}
.pledge-slide-azurwest blockquote {
    margin: 0;
    max-width: 1100px;
    font-size: clamp(1.3rem, 2.2vw, 2rem);
    font-weight: 400;
    line-height: 1.55;
    color: var(--white-azurwest);
}
.pledge-slide-azurwest figcaption {
    margin-top: 30px;
    font-size: 16px;
    font-weight: 700;
    color: rgba(255, 255, 255, .55);
}

.pledge-nav-azurwest {
    display: flex;
    align-items: center;
    gap: 12px;
    margin-top: 44px;
    color: rgba(255, 255, 255, .7);
}
.pledge-nav-azurwest button {
    display: grid;
    place-items: center;
    min-width: 40px;
    height: 40px;
    padding: 0 4px;
    border: 0;
    background: none;
    color: var(--white-azurwest);
    font-size: 18px;
    font-weight: 500;
    transition: color .3s ease, transform .3s ease;
}
.pledge-nav-azurwest button:hover { color: var(--accent-azurwest); }
.pledge-nav-azurwest [data-pledge-prev]:hover { transform: translateX(-4px); }
.pledge-nav-azurwest [data-pledge-next]:hover { transform: translateX(4px); }
.pledge-nav-azurwest .pledge-num-azurwest.is-active-azurwest { color: var(--accent-azurwest); }

/* ==========================================================================
   Questions + figures
   ========================================================================== */

.answers-azurwest { padding: clamp(80px, 10vw, 140px) 0 clamp(70px, 8vw, 110px); }
.answers-grid-azurwest {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    gap: 50px clamp(40px, 7vw, 110px);
    align-items: start;
}

.qa-item-azurwest { border-bottom: 1px solid var(--border-azurwest); }
.qa-item-azurwest h3 { font-size: inherit; }
.qa-btn-azurwest {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 24px;
    width: 100%;
    padding: 24px 0;
    border: 0;
    background: none;
    color: var(--heading-azurwest);
    font-size: 18px;
    font-weight: 600;
    line-height: 1.45;
    text-align: left;
    transition: color .3s ease;
}
.qa-btn-azurwest:hover,
.is-open-azurwest > h3 .qa-btn-azurwest { color: var(--primary-azurwest); }
.qa-sign-azurwest {
    position: relative;
    flex-shrink: 0;
    width: 14px;
    height: 14px;
}
.qa-sign-azurwest::before,
.qa-sign-azurwest::after {
    content: "";
    position: absolute;
    top: 50%;
    left: 0;
    width: 100%;
    height: 2px;
    margin-top: -1px;
    background: currentColor;
    transition: transform .4s var(--ease-azurwest);
}
.qa-sign-azurwest::after { transform: rotate(90deg); }
.is-open-azurwest .qa-sign-azurwest::after { transform: rotate(0deg); }

.qa-panel-azurwest {
    display: grid;
    grid-template-rows: 0fr;
    transition: grid-template-rows .5s var(--ease-azurwest);
}
.is-open-azurwest > .qa-panel-azurwest { grid-template-rows: 1fr; }
.qa-panel-inner-azurwest { overflow: hidden; }
.qa-panel-inner-azurwest p {
    padding: 0 0 26px;
    max-width: 94%;
    font-size: 16px;
    line-height: 1.85;
    opacity: 0;
    translate: 0 -8px;
    transition: opacity .4s ease, translate .5s var(--ease-azurwest);
}
.is-open-azurwest .qa-panel-inner-azurwest p { opacity: 1; translate: 0 0; transition-delay: .1s; }
.qa-panel-inner-azurwest a { text-decoration: underline; text-underline-offset: 3px; }

.figures-azurwest {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 40px clamp(24px, 4vw, 70px);
    margin-top: clamp(70px, 9vw, 120px);
}
.figure-azurwest h3 { font-size: 22px; font-weight: 500; }
.figure-azurwest p {
    margin-top: 12px;
    padding-bottom: 28px;
    border-bottom: 1px solid var(--border-azurwest);
    font-size: 15.5px;
    line-height: 1.7;
    min-height: calc(1.7em * 2 + 28px);
}
.figure-azurwest strong {
    display: block;
    margin-top: 26px;
    font-size: clamp(42px, 4.2vw, 60px);
    font-weight: 600;
    line-height: 1;
    letter-spacing: -.02em;
    color: var(--heading-azurwest);
    font-variant-numeric: tabular-nums;
}

/* ==========================================================================
   Enquiry form
   ========================================================================== */

.enquiry-azurwest {
    position: relative;
    padding: clamp(70px, 8vw, 100px) 0;
    overflow: hidden;
    background: var(--heading-azurwest);
}
.enquiry-pattern-azurwest {
    position: absolute;
    inset: 0 auto 0 0;
    width: 40%;
    background-color: var(--primary-azurwest);
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='240' height='240' viewBox='0 0 240 240'%3E%3Cg fill='none' stroke='%23ffffff' stroke-opacity='.07' stroke-width='1.2'%3E%3Cpath d='M-20 40c40-30 80 30 120 0s80-30 120 0 60 20 60 20'/%3E%3Cpath d='M-20 80c30-20 70 25 110 5s90-35 130-5 40 10 40 10'/%3E%3Cpath d='M-20 130c50-35 90 35 140 5s70-25 110 0'/%3E%3Cpath d='M-20 175c40-25 75 25 115 0s85-30 125 0 40 15 40 15'/%3E%3Cpath d='M-20 220c45-25 85 25 125 0s75-25 115 0'/%3E%3Cellipse cx='170' cy='100' rx='26' ry='16'/%3E%3Cellipse cx='170' cy='100' rx='12' ry='7'/%3E%3Cellipse cx='60' cy='200' rx='20' ry='12'/%3E%3C/g%3E%3C/svg%3E");
    background-size: 240px 240px;
}
.enquiry-photo-azurwest {
    position: absolute;
    inset: 0 0 0 40%;
}
.enquiry-photo-azurwest img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.enquiry-inner-azurwest {
    position: relative;
    z-index: 1;
    display: grid;
    grid-template-columns: minmax(0, 760px) minmax(0, 1fr);
    align-items: end;
    gap: 40px;
}

.enquiry-card-azurwest {
    padding: clamp(28px, 4.5vw, 58px);
    background: var(--white-azurwest);
    box-shadow: 0 30px 60px rgba(10, 25, 28, .25);
}
.enquiry-intro-azurwest {
    margin-top: 14px;
    font-size: 16px;
    line-height: 1.7;
}

.enquiry-info-azurwest {
    justify-self: end;
    width: 100%;
    max-width: 360px;
    padding: 30px 34px;
    background: rgba(30, 50, 56, .9);
    color: var(--white-azurwest);
    border-left: 4px solid var(--accent-azurwest);
}
@supports (backdrop-filter: blur(8px)) {
    .enquiry-info-azurwest { background: rgba(30, 50, 56, .78); backdrop-filter: blur(8px); }
}
.enquiry-info-azurwest a,
.enquiry-info-azurwest p {
    display: block;
    color: var(--white-azurwest);
    font-size: 16px;
    line-height: 1.5;
    overflow-wrap: anywhere;
}
.enquiry-info-azurwest > * + * { margin-top: 16px; }
.enquiry-info-azurwest span {
    display: block;
    margin-bottom: 2px;
    font-size: 11.5px;
    font-weight: 700;
    letter-spacing: .16em;
    text-transform: uppercase;
    color: var(--accent-azurwest);
}
.enquiry-info-azurwest a:hover { color: var(--accent-azurwest); }

/* Form */
.form-azurwest { margin-top: 30px; }
.form-grid-azurwest {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 18px 22px;
}
.field-wide-azurwest { grid-column: 1 / -1; }
.field-azurwest > label:not(.check-azurwest) {
    display: block;
    margin-bottom: 7px;
    font-size: 14px;
    font-weight: 600;
    color: var(--heading-azurwest);
}
.field-azurwest label > span[aria-hidden] { color: var(--error-azurwest); }
.opt-azurwest { font-weight: 400; color: var(--text-azurwest); }

.form-azurwest input:not([type="checkbox"]),
.form-azurwest select,
.form-azurwest textarea {
    display: block;
    width: 100%;
    min-height: 54px;
    padding: 14px 18px;
    border: 1px solid var(--border-azurwest);
    background: var(--soft-azurwest);
    color: var(--heading-azurwest);
    font: inherit;
    font-size: 16px;
    line-height: 1.5;
    transition: border-color .3s ease, background-color .3s ease, box-shadow .3s ease;
    appearance: none;
}
.form-azurwest textarea { min-height: 120px; resize: vertical; }
.form-azurwest select {
    padding-right: 46px;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1.5l5 5 5-5' fill='none' stroke='%231e3238' stroke-width='1.6'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: right 18px center;
    cursor: pointer;
}
.form-azurwest input:hover,
.form-azurwest select:hover,
.form-azurwest textarea:hover { border-color: #c4ccce; }
.form-azurwest input:not([type="checkbox"]):focus,
.form-azurwest select:focus,
.form-azurwest textarea:focus {
    outline: 2px solid var(--primary-azurwest);
    outline-offset: -1px;
    border-color: var(--primary-azurwest);
    background-color: var(--white-azurwest);
}

.field-azurwest.is-invalid-azurwest input,
.field-azurwest.is-invalid-azurwest select,
.field-azurwest.is-invalid-azurwest textarea {
    border-color: var(--error-azurwest);
    background-color: #fdf4f3;
}
.field-azurwest.is-valid-azurwest input,
.field-azurwest.is-valid-azurwest select,
.field-azurwest.is-valid-azurwest textarea { border-color: #7aa7a0; }

.field-err-azurwest {
    display: block;
    min-height: 0;
    font-size: 13px;
    line-height: 1.4;
    color: var(--error-azurwest);
}
.field-err-azurwest:not(:empty) { margin-top: 6px; }
.field-err-azurwest:not(:empty)::before { content: "⚠ "; }

.check-azurwest {
    display: flex;
    align-items: flex-start;
    gap: 12px;
    font-size: 14px;
    line-height: 1.6;
    color: var(--text-azurwest);
    cursor: pointer;
}
.check-azurwest input {
    flex-shrink: 0;
    width: 20px;
    height: 20px;
    margin: 2px 0 0;
    accent-color: var(--primary-azurwest);
    cursor: pointer;
}
.check-azurwest a { text-decoration: underline; text-underline-offset: 3px; }

.form-status-azurwest {
    margin: 18px 0 0;
    font-size: 14px;
    color: var(--error-azurwest);
}
.form-status-azurwest:empty { display: none; }

.form-azurwest [type="submit"] { margin-top: 22px; }
.form-note-azurwest {
    margin-top: 14px;
    font-size: 13px;
    text-align: center;
}

.spinner-azurwest {
    position: absolute;
    top: 50%;
    left: 50%;
    width: 26px;
    height: 26px;
    margin: -13px 0 0 -13px;
    border: 2px solid rgba(255, 255, 255, .35);
    border-top-color: var(--accent-azurwest);
    border-radius: 50%;
    opacity: 0;
    animation: spin-azurwest .8s linear infinite;
    transition: opacity .25s ease;
}
.btn-label-azurwest { transition: opacity .25s ease; }
.is-loading-azurwest { pointer-events: none; cursor: progress; }
.is-loading-azurwest .btn-label-azurwest { opacity: 0; }
.is-loading-azurwest .spinner-azurwest { opacity: 1; }

.thanks-azurwest {
    padding: 40px 0 10px;
    text-align: center;
    animation: rise-azurwest .7s var(--ease-azurwest) both;
}
.thanks-azurwest:focus { outline: none; }
.thanks-icon-azurwest {
    display: grid;
    place-items: center;
    width: 78px;
    height: 78px;
    margin: 0 auto 26px;
    border-radius: 50%;
    background: var(--accent-azurwest);
    color: var(--heading-azurwest);
}
.thanks-icon-azurwest svg path {
    stroke-dasharray: 30;
    stroke-dashoffset: 30;
    animation: draw-azurwest .6s ease .35s forwards;
}
.thanks-azurwest h3 { font-size: clamp(24px, 2.4vw, 30px); font-weight: 600; }
.thanks-azurwest p {
    max-width: 460px;
    margin: 14px auto 28px;
    font-size: 16px;
}
@keyframes rise-azurwest { from { opacity: 0; translate: 0 18px; } to { opacity: 1; translate: 0 0; } }
@keyframes draw-azurwest { to { stroke-dashoffset: 0; } }

/* ==========================================================================
   Footer
   ========================================================================== */

.base-azurwest {
    padding-top: clamp(70px, 8vw, 100px);
    background: var(--white-azurwest);
}
.base-grid-azurwest {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 440px);
}
.base-main-azurwest {
    padding-right: clamp(30px, 4vw, 70px);
    border-right: 1px solid var(--border-azurwest);
}
.base-top-azurwest {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1.15fr);
    gap: 40px 60px;
    padding-bottom: 56px;
}
.base-title-azurwest { font-size: 26px; font-weight: 500; }
.base-facts-azurwest { margin: 22px 0 0; }
.base-facts-azurwest div + div { margin-top: 14px; }
.base-facts-azurwest dt {
    font-size: 11.5px;
    font-weight: 700;
    letter-spacing: .16em;
    text-transform: uppercase;
    color: var(--primary-azurwest);
}
.base-facts-azurwest dd {
    margin: 2px 0 0;
    font-size: 15.5px;
    line-height: 1.6;
    color: var(--heading-azurwest);
}

.base-links-azurwest {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 20px 40px;
}
.base-links-azurwest li + li { margin-top: 12px; }
.base-links-azurwest a {
    display: inline-block;
    color: var(--text-azurwest);
    font-size: 17px;
    letter-spacing: .02em;
    transition: color .3s ease, translate .3s ease;
}
.base-links-azurwest a:hover { color: var(--primary-azurwest); translate: 6px 0; }

.base-bottom-azurwest {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1.15fr);
    gap: 40px 60px;
    align-items: end;
    padding: 50px 0 70px;
    border-top: 1px solid var(--border-azurwest);
}
.base-talk-azurwest p {
    font-size: 26px;
    font-weight: 500;
    color: var(--heading-azurwest);
}
.talk-link-azurwest {
    display: inline-flex;
    align-items: center;
    gap: 12px;
    margin-top: 18px;
    font-size: clamp(2.4rem, 4.4vw, 3.6rem);
    font-weight: 500;
    line-height: 1;
    letter-spacing: -.01em;
    color: var(--primary-azurwest);
}
.talk-link-azurwest svg { transition: translate .4s var(--ease-azurwest); }
.talk-link-azurwest:hover { color: var(--heading-azurwest); }
.talk-link-azurwest:hover svg { translate: 10px 0; }

.base-legal-azurwest > p { font-size: 16px; color: var(--heading-azurwest); }
.base-legal-azurwest ul {
    display: flex;
    flex-wrap: wrap;
    gap: 8px 0;
    margin-top: 20px;
}
.base-legal-azurwest li { font-size: 15px; }
.base-legal-azurwest li + li {
    margin-left: 14px;
    padding-left: 14px;
    border-left: 1px solid var(--border-azurwest);
}
.base-legal-azurwest a { color: var(--text-azurwest); }
.base-legal-azurwest a:hover { color: var(--primary-azurwest); }

.base-contact-azurwest {
    position: relative;
    padding: 0 0 60px clamp(30px, 4vw, 70px);
    font-style: normal;
}
.base-contact-azurwest::before {
    content: "";
    position: absolute;
    inset: -20px -20px 40% clamp(10px, 2vw, 40px);
    background-image: radial-gradient(#cdd6d6 1.1px, transparent 1.4px);
    background-size: 9px 9px;
    -webkit-mask-image: radial-gradient(ellipse at 50% 40%, #000 20%, transparent 70%);
    mask-image: radial-gradient(ellipse at 50% 40%, #000 20%, transparent 70%);
    opacity: .8;
    pointer-events: none;
}
.base-brand-azurwest {
    position: relative;
    display: inline-flex;
    align-items: center;
    gap: 14px;
    color: var(--heading-azurwest);
}
.base-brand-azurwest img { width: 64px; }
.base-brand-azurwest .brand-name-azurwest { font-size: 30px; }
.base-brand-azurwest .brand-sub-azurwest { font-size: 13.5px; color: var(--primary-azurwest); }

.base-phone-azurwest {
    position: relative;
    display: inline-flex;
    align-items: center;
    gap: 14px;
    margin-top: 36px;
    font-size: clamp(26px, 2.5vw, 36px);
    font-weight: 500;
    line-height: 1.1;
    color: var(--heading-azurwest);
}
.base-phone-azurwest svg { flex-shrink: 0; color: var(--primary-azurwest); transition: transform .4s ease; }
.base-phone-azurwest:hover { color: var(--primary-azurwest); }
.base-phone-azurwest:hover svg { transform: rotate(-14deg); }

.base-lines-azurwest { position: relative; margin-top: 34px; }
.base-lines-azurwest li {
    font-size: 16px;
    line-height: 1.6;
    color: var(--heading-azurwest);
    overflow-wrap: anywhere;
}
.base-lines-azurwest li + li { margin-top: 18px; }
.base-lines-azurwest span {
    display: block;
    font-size: 11.5px;
    font-weight: 700;
    letter-spacing: .16em;
    text-transform: uppercase;
    color: var(--primary-azurwest);
}
.base-lines-azurwest a { color: var(--heading-azurwest); border-bottom: 1px solid var(--border-azurwest); }
.base-lines-azurwest a:hover { color: var(--primary-azurwest); border-color: var(--accent-azurwest); }

.base-disclaimer-azurwest {
    padding: 26px 0;
    background: var(--light-azurwest);
}
.base-disclaimer-azurwest p {
    font-size: 13px;
    line-height: 1.75;
}
.base-disclaimer-azurwest strong { color: var(--heading-azurwest); }

/* ==========================================================================
   Floating helpers
   ========================================================================== */

.sidetabs-azurwest {
    position: fixed;
    top: 42%;
    right: 0;
    z-index: 60;
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    gap: 4px;
}
.sidetab-azurwest {
    display: flex;
    align-items: center;
    gap: 12px;
    height: 50px;
    padding: 0 15px;
    overflow: hidden;
    box-shadow: 0 8px 20px rgba(10, 25, 28, .15);
    font-size: 13px;
    font-weight: 700;
    letter-spacing: .08em;
    text-transform: uppercase;
    white-space: nowrap;
    translate: calc(100% - 50px) 0;
    transition: translate .45s var(--ease-azurwest);
}
.sidetab-azurwest svg { flex-shrink: 0; }
.sidetab-azurwest span {
    opacity: 0;
    transition: opacity .3s ease;
}
.sidetab-azurwest:hover span,
.sidetab-azurwest:focus-visible span { opacity: 1; transition-delay: .1s; }
.sidetab-azurwest:hover,
.sidetab-azurwest:focus-visible { translate: 0 0; }
.sidetab-gold-azurwest { background: var(--accent-azurwest); color: var(--heading-azurwest); }
.sidetab-teal-azurwest { background: var(--primary-azurwest); color: var(--white-azurwest); }

.ring-azurwest {
    --p: 0;
    position: fixed;
    right: 22px;
    bottom: 22px;
    z-index: 60;
    display: grid;
    place-items: center;
    width: 64px;
    height: 64px;
    border-radius: 50%;
    background: conic-gradient(var(--primary-azurwest) calc(var(--p) * 1%), var(--accent-azurwest) 0);
    color: var(--heading-azurwest);
    font-size: 15px;
    font-weight: 800;
    box-shadow: 0 10px 30px rgba(10, 25, 28, .2);
    opacity: 0;
    visibility: hidden;
    translate: 0 20px;
    transition: opacity .4s ease, translate .4s var(--ease-azurwest), visibility .4s;
}
.ring-azurwest::before {
    content: "";
    position: absolute;
    inset: 5px;
    border-radius: 50%;
    background: var(--accent-azurwest);
}
.ring-azurwest.is-visible-azurwest { opacity: 1; visibility: visible; translate: 0 0; }
.ring-value-azurwest,
.ring-arrow-azurwest {
    position: relative;
    grid-area: 1 / 1;
    transition: opacity .3s ease, translate .3s ease;
}
.ring-arrow-azurwest { opacity: 0; translate: 0 8px; }
.ring-azurwest:hover .ring-value-azurwest { opacity: 0; translate: 0 -8px; }
.ring-azurwest:hover .ring-arrow-azurwest { opacity: 1; translate: 0 0; }

/* ==========================================================================
   Cookie consent
   ========================================================================== */

.consent-azurwest {
    position: fixed;
    left: 22px;
    bottom: 22px;
    z-index: 95;
    width: min(540px, calc(100% - 32px));
    max-height: calc(100vh - 44px);
    overflow-y: auto;
    background: var(--white-azurwest);
    border-top: 4px solid var(--accent-azurwest);
    box-shadow: 0 30px 70px rgba(10, 25, 28, .28);
    opacity: 0;
    translate: 0 30px;
    transition: opacity .45s ease, translate .5s var(--ease-azurwest);
}
.consent-azurwest.is-visible-azurwest { opacity: 1; translate: 0 0; }
.consent-body-azurwest { padding: 28px 30px; }
.consent-title-azurwest { font-size: 21px; font-weight: 600; }
.consent-text-azurwest {
    margin-top: 10px;
    font-size: 14px;
    line-height: 1.7;
}
.consent-text-azurwest a { text-decoration: underline; text-underline-offset: 3px; }

.consent-prefs-azurwest {
    margin-top: 18px;
    border-top: 1px solid var(--border-azurwest);
}
.consent-opt-azurwest {
    position: relative;
    display: flex;
    align-items: flex-start;
    gap: 16px;
    padding: 14px 0;
    border-bottom: 1px solid var(--border-azurwest);
    cursor: pointer;
}
.consent-opt-azurwest input {
    position: absolute;
    opacity: 0;
    width: 44px;
    height: 24px;
    margin: 0;
    cursor: pointer;
}
.consent-switch-azurwest {
    position: relative;
    flex-shrink: 0;
    width: 44px;
    height: 24px;
    margin-top: 2px;
    border-radius: 24px;
    background: #c8d0d1;
    transition: background-color .3s ease;
}
.consent-switch-azurwest::after {
    content: "";
    position: absolute;
    top: 3px;
    left: 3px;
    width: 18px;
    height: 18px;
    border-radius: 50%;
    background: var(--white-azurwest);
    box-shadow: 0 1px 3px rgba(0, 0, 0, .2);
    transition: translate .3s var(--ease-azurwest);
}
.consent-opt-azurwest input:checked + .consent-switch-azurwest { background: var(--primary-azurwest); }
.consent-opt-azurwest input:checked + .consent-switch-azurwest::after { translate: 20px 0; }
.consent-opt-azurwest input:disabled + .consent-switch-azurwest { opacity: .55; }
.consent-opt-azurwest input:focus-visible + .consent-switch-azurwest {
    outline: 2px solid var(--accent-azurwest);
    outline-offset: 2px;
}
.consent-opt-text-azurwest { font-size: 13.5px; line-height: 1.55; }
.consent-opt-text-azurwest strong {
    display: block;
    font-size: 15px;
    font-weight: 600;
    color: var(--heading-azurwest);
}

.consent-actions-azurwest {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin-top: 20px;
}
.consent-actions-azurwest .btn-azurwest {
    flex: 1 1 auto;
    min-height: 48px;
    padding: 12px 18px;
    font-size: 12.5px;
}
.consent-actions-azurwest [hidden] { display: none; }

/* ==========================================================================
   Legal pages
   ========================================================================== */

.doc-banner-azurwest {
    position: relative;
    padding: calc(var(--topbar-h-azurwest) + clamp(60px, 8vw, 110px)) 0 clamp(60px, 7vw, 100px);
    overflow: hidden;
    background: var(--heading-azurwest);
    color: var(--white-azurwest);
}
.doc-banner-azurwest > img {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    opacity: .28;
}
.doc-banner-azurwest .wrap-azurwest { position: relative; }
.doc-crumbs-azurwest {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    font-size: 14px;
    font-weight: 600;
    letter-spacing: .08em;
    text-transform: uppercase;
}
.doc-crumbs-azurwest a { color: var(--white-azurwest); }
.doc-crumbs-azurwest a:hover { color: var(--accent-azurwest); }
.doc-crumbs-azurwest li + li::before { content: "/"; margin-right: 10px; opacity: .5; }
.doc-crumbs-azurwest [aria-current] { color: var(--accent-azurwest); }
.doc-title-azurwest {
    margin-top: 26px;
    color: var(--white-azurwest);
    font-size: clamp(2.4rem, 6vw, 5rem);
    font-weight: 600;
    letter-spacing: -.03em;
    line-height: 1.05;
}
.doc-title-azurwest span {
    padding: 0 .12em;
    background: var(--accent-azurwest);
    -webkit-box-decoration-break: clone;
    box-decoration-break: clone;
}
.doc-meta-azurwest {
    margin-top: 26px;
    font-size: 16px;
    color: rgba(255, 255, 255, .8);
}

.doc-azurwest { padding: clamp(60px, 8vw, 110px) 0; }
.doc-grid-azurwest {
    display: grid;
    grid-template-columns: 290px minmax(0, 1fr);
    gap: 50px clamp(40px, 6vw, 90px);
    align-items: start;
}
.doc-toc-azurwest {
    position: sticky;
    top: 110px;
    padding: 28px 0;
    border-top: 3px solid var(--accent-azurwest);
    background: var(--light-azurwest);
}
.doc-toc-azurwest p {
    padding: 0 26px 12px;
    font-size: 12px;
    font-weight: 700;
    letter-spacing: .16em;
    text-transform: uppercase;
    color: var(--primary-azurwest);
}
.doc-toc-azurwest a {
    display: block;
    padding: 7px 26px;
    border-left: 3px solid transparent;
    color: var(--heading-azurwest);
    font-size: 14.5px;
    line-height: 1.45;
    transition: color .25s ease, border-color .25s ease, background-color .25s ease;
}
.doc-toc-azurwest a:hover,
.doc-toc-azurwest a.is-current-azurwest {
    color: var(--primary-azurwest);
    border-left-color: var(--primary-azurwest);
    background: rgba(255, 255, 255, .7);
}

.doc-body-azurwest { max-width: 860px; }
.doc-lead-azurwest {
    padding: 26px 30px;
    border-left: 4px solid var(--accent-azurwest);
    background: var(--light-azurwest);
    font-size: 16.5px;
    line-height: 1.8;
    color: var(--heading-azurwest);
}
.doc-body-azurwest h2 {
    margin: 56px 0 18px;
    font-size: clamp(22px, 2.2vw, 28px);
    font-weight: 600;
    letter-spacing: -.01em;
    scroll-margin-top: 110px;
}
.doc-body-azurwest h2 small {
    display: block;
    margin-bottom: 6px;
    font-size: 13px;
    font-weight: 700;
    letter-spacing: .16em;
    color: var(--accent-azurwest);
}
.doc-body-azurwest h3 {
    margin: 26px 0 10px;
    font-size: 18px;
    font-weight: 600;
}
.doc-body-azurwest p,
.doc-body-azurwest li {
    font-size: 16px;
    line-height: 1.85;
}
.doc-body-azurwest p + p { margin-top: 14px; }
.doc-body-azurwest ul {
    margin: 14px 0;
    padding-left: 4px;
}
.doc-body-azurwest ul li {
    position: relative;
    padding-left: 24px;
}
.doc-body-azurwest ul li + li { margin-top: 8px; }
.doc-body-azurwest ul li::before {
    content: "";
    position: absolute;
    left: 0;
    top: .72em;
    width: 8px;
    height: 8px;
    background: var(--accent-azurwest);
}
.doc-body-azurwest a { text-decoration: underline; text-underline-offset: 3px; }
.doc-body-azurwest strong { color: var(--heading-azurwest); }

.doc-table-azurwest {
    width: 100%;
    margin: 18px 0;
    border-collapse: collapse;
    font-size: 14.5px;
}
.doc-table-wrap-azurwest { overflow-x: auto; }
.doc-table-azurwest th,
.doc-table-azurwest td {
    padding: 12px 14px;
    border: 1px solid var(--border-azurwest);
    text-align: left;
    vertical-align: top;
    line-height: 1.6;
}
.doc-table-azurwest th {
    background: var(--light-azurwest);
    color: var(--heading-azurwest);
    font-weight: 600;
}

.doc-contact-azurwest {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
    gap: 1px;
    margin-top: 22px;
    background: var(--border-azurwest);
    border: 1px solid var(--border-azurwest);
}
.doc-contact-azurwest > div {
    padding: 22px 24px;
    background: var(--white-azurwest);
    font-size: 15.5px;
    line-height: 1.6;
    color: var(--heading-azurwest);
    overflow-wrap: anywhere;
}
.doc-contact-azurwest span {
    display: block;
    margin-bottom: 4px;
    font-size: 11.5px;
    font-weight: 700;
    letter-spacing: .16em;
    text-transform: uppercase;
    color: var(--primary-azurwest);
}

/* ==========================================================================
   Scroll reveal
   ========================================================================== */

.js-azurwest [data-reveal] {
    opacity: 0;
    translate: 0 36px;
    transition: opacity .9s ease, translate 1s var(--ease-azurwest);
}
.js-azurwest [data-reveal].is-in-azurwest { opacity: 1; translate: 0 0; }
.js-azurwest [data-reveal-delay="1"] { transition-delay: .12s; }
.js-azurwest [data-reveal-delay="2"] { transition-delay: .24s; }
.js-azurwest [data-reveal-delay="3"] { transition-delay: .36s; }

/* ==========================================================================
   Responsive
   ========================================================================== */

@media (max-width: 1200px) {
    .mainnav-list-azurwest { gap: 22px; }
    .mainnav-link-azurwest { font-size: 14px; letter-spacing: .06em; }
    .base-grid-azurwest { grid-template-columns: minmax(0, 1fr) minmax(0, 380px); }
    .base-top-azurwest,
    .base-bottom-azurwest { grid-template-columns: 1fr; }
}

@media (max-width: 1100px) {
    :root { --topbar-h-azurwest: 84px; }

    .burger-azurwest { display: flex; }

    .mainnav-azurwest {
        position: fixed;
        top: 0;
        right: 0;
        z-index: 90;
        display: flex;
        flex-direction: column;
        width: min(400px, 88vw);
        height: 100vh;
        height: 100dvh;
        padding: 0 28px 28px;
        overflow-y: auto;
        background: var(--heading-azurwest);
        translate: 100% 0;
        visibility: hidden;
        transition: translate .5s var(--ease-io-azurwest), visibility .5s;
    }
    .mainnav-azurwest.is-open-azurwest { translate: 0 0; visibility: visible; }

    .drawer-head-azurwest {
        display: flex;
        align-items: center;
        justify-content: space-between;
        min-height: 84px;
        border-bottom: 1px solid rgba(255, 255, 255, .14);
        color: var(--white-azurwest);
    }
    .drawer-head-azurwest .brand-name-azurwest { font-size: 20px; }
    .drawer-close-azurwest {
        display: grid;
        place-items: center;
        width: 46px;
        height: 46px;
        border: 1px solid rgba(255, 255, 255, .3);
        background: none;
        color: var(--white-azurwest);
        transition: rotate .4s ease, color .3s ease;
    }
    .drawer-close-azurwest:hover { color: var(--accent-azurwest); rotate: 90deg; }

    .mainnav-list-azurwest {
        flex-direction: column;
        align-items: stretch;
        gap: 0;
        padding-top: 10px;
    }
    .mainnav-item-azurwest {
        flex-wrap: wrap;
        justify-content: space-between;
        border-bottom: 1px solid rgba(255, 255, 255, .1);
        opacity: 0;
        translate: 30px 0;
        transition: opacity .4s ease, translate .5s var(--ease-azurwest);
    }
    .is-open-azurwest .mainnav-item-azurwest { opacity: 1; translate: 0 0; }
    .is-open-azurwest .mainnav-item-azurwest:nth-child(2) { transition-delay: .05s; }
    .is-open-azurwest .mainnav-item-azurwest:nth-child(3) { transition-delay: .1s; }
    .is-open-azurwest .mainnav-item-azurwest:nth-child(4) { transition-delay: .15s; }
    .is-open-azurwest .mainnav-item-azurwest:nth-child(5) { transition-delay: .2s; }
    .is-open-azurwest .mainnav-item-azurwest:nth-child(6) { transition-delay: .25s; }

    .mainnav-link-azurwest { padding: 18px 0; font-size: 16px; }
    .mainnav-link-azurwest::after { display: none; }
    .subtoggle-azurwest { width: 46px; height: 46px; border: 1px solid rgba(255, 255, 255, .16); }
    .has-sub-azurwest:hover .subtoggle-azurwest { transform: none; color: var(--white-azurwest); }
    .has-sub-azurwest.is-open-azurwest .subtoggle-azurwest { transform: rotate(180deg); color: var(--accent-azurwest); }

    .mainnav-azurwest { align-self: auto; }
    .mainnav-list-azurwest { height: auto; }
    .subnav-azurwest {
        position: static;
        flex-basis: 100%;
        max-height: 0;
        overflow: hidden;
        background: transparent;
        border: 0;
        box-shadow: none;
        opacity: 1;
        visibility: visible;
        translate: none;
        transition: max-height .45s var(--ease-azurwest);
    }
    .has-sub-azurwest:hover > .subnav-azurwest,
    .has-sub-azurwest:focus-within > .subnav-azurwest { translate: none; }
    .has-sub-azurwest.is-open-azurwest > .subnav-azurwest { max-height: 700px; }
    .subnav-inner-azurwest { display: block; padding: 0 0 18px; }
    .subnav-intro-azurwest { display: none; }
    .subnav-list-azurwest { grid-template-columns: 1fr; gap: 0; }
    .has-sub-azurwest > .subnav-azurwest .subnav-list-azurwest li { opacity: 1; translate: none; }
    .subnav-list-azurwest a { padding: 9px 0 9px 16px; }
    .subnav-list-azurwest a span { font-size: 15px; font-weight: 500; color: rgba(255, 255, 255, .85); }
    .subnav-list-azurwest a small { display: none; }
    .subnav-list-azurwest a:hover,
    .subnav-list-azurwest a:focus-visible { background: none; padding-left: 22px; }
    .subnav-list-azurwest a:hover span { color: var(--accent-azurwest); }

    .drawer-foot-azurwest {
        display: flex;
        flex-direction: column;
        gap: 10px;
        margin-top: auto;
        padding-top: 30px;
        font-size: 15px;
        color: rgba(255, 255, 255, .7);
        overflow-wrap: anywhere;
    }
    .drawer-foot-azurwest a { color: var(--white-azurwest); font-weight: 600; }
    .drawer-foot-azurwest a:hover { color: var(--accent-azurwest); }

    .topbar-actions-azurwest { margin-left: auto; gap: 14px; }

    .pillars-head-azurwest { grid-template-columns: 1fr; }
    .emblem-azurwest { margin: 0; }

    .profile-head-azurwest,
    .profile-body-azurwest,
    .tenets-grid-azurwest,
    .answers-grid-azurwest { grid-template-columns: 1fr; }
    .profile-body-azurwest { gap: 60px; }
    .profile-list-azurwest { display: grid; grid-template-columns: repeat(3, 1fr); gap: 30px; }
    .profile-list-azurwest li { flex-direction: column; gap: 20px; }
    .profile-list-azurwest li + li { margin-top: 0; }

    .figures-azurwest { grid-template-columns: repeat(2, minmax(0, 1fr)); }

    .enquiry-pattern-azurwest { width: 100%; }
    .enquiry-photo-azurwest { inset: 0 0 0 55%; }
    .enquiry-inner-azurwest { grid-template-columns: 1fr; }
    .enquiry-info-azurwest { justify-self: stretch; max-width: none; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 20px; }
    .enquiry-info-azurwest > * + * { margin-top: 0; }

    .base-grid-azurwest { grid-template-columns: 1fr; }
    .base-main-azurwest { padding-right: 0; border-right: 0; }
    .base-contact-azurwest {
        order: -1;
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 30px 40px;
        padding: 0 0 50px;
        margin-bottom: 50px;
        border-bottom: 1px solid var(--border-azurwest);
    }
    .base-contact-azurwest::before { display: none; }
    .base-phone-azurwest { margin-top: 0; align-self: center; }
    .base-lines-azurwest { margin-top: 0; grid-column: 1 / -1; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 24px; }
    .base-lines-azurwest li + li { margin-top: 0; }

    .doc-grid-azurwest { grid-template-columns: 1fr; }
    .doc-toc-azurwest { position: static; }
}

@media (max-width: 1024px) {
    .stage-note-azurwest { justify-self: start; }
}

@media (max-width: 860px) {
    .pillar-grid-azurwest,
    .steps-list-azurwest { grid-template-columns: 1fr; gap: 44px; }
    .steps-list-azurwest::before { display: none; }
    .step-azurwest { padding-left: 34px; border-left: 1px solid var(--border-azurwest); }
    .step-dot-azurwest { top: 8px; left: -4px; }
    .step-azurwest h3 { margin-top: 10px; }

    .profile-list-azurwest { grid-template-columns: 1fr; }
    .profile-list-azurwest li { flex-direction: row; }
    .profile-media-azurwest { padding-top: 0; }
    .profile-stats-azurwest { position: relative; width: 100%; right: 0; }

    .enquiry-photo-azurwest { display: none; }
    .enquiry-info-azurwest { grid-template-columns: 1fr; }
}

@media (max-width: 768px) {
    .sidetabs-azurwest { display: none; }
    .ring-azurwest { right: 16px; bottom: 16px; width: 54px; height: 54px; font-size: 13px; }
    .consent-azurwest { left: 16px; bottom: 16px; }

    .stage-azurwest { align-items: flex-end; }



    .offer-controls-azurwest .btn-azurwest { margin-left: 0; }
    .offer-card-azurwest { flex-basis: min(84vw, 380px); height: 560px; }

    .tenets-list-azurwest li { grid-template-columns: 96px minmax(0, 1fr); }
    .tenets-icon-azurwest { padding: 18px; }
    .tenets-icon-azurwest img { width: 50px; }

    .base-top-azurwest { padding-bottom: 40px; }
    .base-contact-azurwest { grid-template-columns: 1fr; }
    .base-lines-azurwest { grid-template-columns: 1fr; }
}

@media (max-width: 600px) {
    .stage-note-azurwest { flex-direction: column; align-items: flex-start; gap: 18px; }
    .topbar-cta-azurwest { display: none; }
    .brand-name-azurwest { font-size: 20px; }
    .brand-sub-azurwest { font-size: 10.5px; }
    .brand-mark-azurwest { width: 42px; }
    .callicon-azurwest { width: 40px; }

    .btn-light-azurwest { min-height: 62px; padding-inline: 30px; }
    .stage-actions-azurwest { width: 100%; }
    .stage-actions-azurwest .btn-azurwest { width: 100%; }
    .stage-badges-azurwest span { width: 62px; height: 62px; }

    .profile-stats-azurwest { padding: 28px 22px; }
    .profile-stat-azurwest { flex-direction: column; align-items: flex-start; gap: 8px; }
    .profile-stat-azurwest > span { font-size: 13px; }

    .pledge-slider-azurwest { padding-left: 0; padding-top: 64px; }
    .pledge-title-azurwest { padding-left: 0; }

    .figures-azurwest { grid-template-columns: 1fr; gap: 36px; }
    .figure-azurwest p { min-height: 0; }

    .form-grid-azurwest { grid-template-columns: 1fr; }
    .qa-btn-azurwest { font-size: 16.5px; }

    .base-links-azurwest a { font-size: 16px; }
    .base-legal-azurwest li + li { margin-left: 10px; padding-left: 10px; }

    .consent-body-azurwest { padding: 22px 20px; }
    .consent-actions-azurwest .btn-azurwest { flex-basis: 100%; }

    .doc-lead-azurwest { padding: 20px; }
}

/* ==========================================================================
   Reduced motion
   ========================================================================== */

@media (prefers-reduced-motion: reduce) {
    html { scroll-behavior: auto; }
    .js-azurwest [data-reveal] { translate: none; transition: opacity .3s ease; }
    .stage-bg-azurwest { scale: 1; transition: none; }
    .stage-line-azurwest > span { transition: none; }
    .step-dot-azurwest { animation: none; }
    .offer-media-azurwest,
    .pledge-slide-azurwest,
    .qa-panel-azurwest { transition: none; }
    .spinner-azurwest { animation-duration: 1.6s; }
}
