:root {
    --bg: #FFF8E7;
    --surface: #FFFFFF;
    --surface-warm: #FDF1D2;
    --ink: #3B2B22;
    --copy: #6A584C;
    --copy-soft: #8C7868;
    --gold: #E59A00;
    --gold-strong: #B85C00;
    --gold-faint: rgba(229, 154, 0, 0.12);
    --brown: #5A2A0A;
    --brown-deep: #3A1C0B;
    --line: rgba(77, 52, 32, 0.08);
    --line-soft: rgba(255, 255, 255, 0.12);
    --shadow-soft: 0 18px 45px rgba(31, 18, 10, 0.06);
    --shadow-card: 0 22px 48px rgba(31, 18, 10, 0.1);
    --container: 1220px;
    --radius-xl: 30px;
    --radius-lg: 22px;
    --radius-md: 16px;
    --radius-sm: 6px;
}

* {
    box-sizing: border-box;
}

html {
    scroll-behavior: smooth;
    -webkit-text-size-adjust: 100%;
}

/* Corporate first-load screen: branded, quiet and deliberately brief. */
.site-loader {
    position: fixed;
    z-index: 2147483646;
    inset: 0;
    display: grid;
    align-content: center;
    justify-items: center;
    visibility: hidden;
    opacity: 0;
    overflow: hidden;
    color: #3B2B22;
    background: #fff;
    transition: opacity .42s ease, visibility .42s step-end;
}

.site-loading { overflow: hidden; }
.site-loading .site-loader { visibility: visible; opacity: 1; transition: opacity .18s ease; }
.site-loader__blocks {
    position: relative;
    z-index: 1;
    width: 90px;
    height: 14px;
    border-radius: 999px;
    box-shadow: 0 3px 0 #EAE2DA;
    clip-path: inset(-40px 0 -5px);
}
.site-loader__blocks::before {
    content: "";
    position: absolute;
    inset: auto calc(50% - 17px) 0;
    height: 50px;
    --loader-block: no-repeat linear-gradient(#B85C00 0 0);
    background: var(--loader-block), var(--loader-block), var(--loader-block), var(--loader-block);
    background-size: 16px 14px;
    animation: siteLoaderBlocks 2s infinite linear, siteLoaderShift 2s infinite linear;
}
@keyframes siteLoaderBlocks {
    0%, 100% { background-position: 0 -50px, 100% -50px; }
    17.5% { background-position: 0 100%, 100% -50px, 0 -50px, 100% -50px; }
    35% { background-position: 0 100%, 100% 100%, 0 -50px, 100% -50px; }
    52.5% { background-position: 0 100%, 100% 100%, 0 calc(100% - 16px), 100% -50px; }
    70%, 98% { background-position: 0 100%, 100% 100%, 0 calc(100% - 16px), 100% calc(100% - 16px); }
}
@keyframes siteLoaderShift {
    0%, 70% { transform: translateX(0); }
    100% { transform: translateX(200%); }
}

@media (prefers-reduced-motion: reduce) {
    .site-loader__blocks::before { animation: none; background-position: 0 100%, 100% 100%, 0 calc(100% - 16px), 100% calc(100% - 16px); }
}

/* Refined desktop cursor: a compact oil-gold dot inside a restrained ring. */
@media (hover: hover) and (pointer: fine) {
    body.has-brand-cursor,
    body.has-brand-cursor a,
    body.has-brand-cursor button,
    body.has-brand-cursor [role="button"],
    body.has-brand-cursor summary,
    body.has-brand-cursor label[for] {
        cursor: none;
    }

    .brand-cursor {
        position: fixed;
        z-index: 2147483647;
        top: -22px;
        left: -22px;
        width: 44px;
        height: 44px;
        pointer-events: none;
        opacity: 0;
        border: 1px solid rgba(229, 154, 0, .7);
        border-radius: 50%;
        background: radial-gradient(circle, #F5B82E 0 3px, transparent 3.6px);
        box-shadow: 0 0 0 5px rgba(229, 154, 0, .08), 0 8px 22px rgba(90, 42, 10, .13);
        transition: width .18s ease, height .18s ease, margin .18s ease, opacity .18s ease, border-color .18s ease, background-color .18s ease, box-shadow .18s ease, scale .14s ease;
        will-change: transform;
    }

    .brand-cursor.is-visible { opacity: 1; }
    .brand-cursor.is-active {
        width: 54px;
        height: 54px;
        margin: -5px;
        border-color: #F5B82E;
        background: radial-gradient(circle, #FFF8E7 0 3px, #E59A00 3.6px 7px, transparent 7.6px);
        box-shadow: 0 0 0 6px rgba(229, 154, 0, .13), 0 10px 28px rgba(90, 42, 10, .2);
    }

    .brand-cursor.is-pressed { scale: .82; }
}

html.lenis-soft {
    scroll-behavior: auto;
}

body {
    position: relative;
    margin: 0;
    background:
        linear-gradient(180deg, #fffdf9 0%, #ffffff 34%, #fcf8f1 72%, #fffdfa 100%);
    color: var(--ink);
    font-family: "Poppins", sans-serif;
    overflow-x: hidden;
}

body.is-ready {
    overflow-x: hidden;
}

.nav-backdrop {
    display: none;
}

body.nav-open {
    overflow: hidden;
    overscroll-behavior: none;
}

body::before {
    content: "";
    position: fixed;
    inset: -6% -8% 0;
    z-index: -2;
    opacity: 0.92;
    background:
        radial-gradient(circle at 14% 16%, rgba(215, 175, 109, 0.22) 0%, rgba(215, 175, 109, 0.12) 14%, transparent 36%),
        radial-gradient(circle at 82% 14%, rgba(178, 119, 53, 0.14) 0%, rgba(178, 119, 53, 0.06) 16%, transparent 32%),
        radial-gradient(circle at 76% 76%, rgba(230, 205, 163, 0.18) 0%, rgba(230, 205, 163, 0.07) 18%, transparent 40%),
        radial-gradient(circle at 18% 72%, rgba(196, 138, 74, 0.12) 0%, rgba(196, 138, 74, 0.05) 16%, transparent 34%),
        radial-gradient(circle at 50% 28%, rgba(255, 255, 255, 0.88) 0%, rgba(255, 255, 255, 0) 24%),
        repeating-radial-gradient(circle at 82% 62%, rgba(229, 195, 138, 0.14) 0 2px, transparent 2px 58px),
        repeating-radial-gradient(circle at 14% 30%, rgba(211, 162, 94, 0.09) 0 1px, transparent 1px 44px);
    filter: blur(0.2px) saturate(110%);
    transform-origin: center;
    animation: siteAuroraFlow 24s ease-in-out infinite alternate;
    pointer-events: none;
}

body::after {
    content: "";
    position: fixed;
    inset: 0;
    z-index: -1;
    opacity: 0.68;
    background:
        linear-gradient(90deg, rgba(255, 255, 255, 0) 0%, rgba(245, 233, 214, 0.46) 50%, rgba(255, 255, 255, 0) 100%),
        radial-gradient(120% 72% at 50% -8%, rgba(255, 255, 255, 0.6) 0%, rgba(255, 255, 255, 0) 56%),
        radial-gradient(90% 58% at 50% 112%, rgba(222, 188, 133, 0.18) 0%, rgba(222, 188, 133, 0) 62%);
    mask-image:
        radial-gradient(72% 42% at 50% 16%, transparent 0 42%, #000 42.8% 43.6%, transparent 44.4% 52%, #000 52.8% 53.6%, transparent 54.4% 63%, #000 63.8% 64.6%, transparent 65.4%),
        radial-gradient(76% 52% at 50% 78%, transparent 0 54%, #000 54.8% 55.6%, transparent 56.4% 66%, #000 66.8% 67.6%, transparent 68.4%);
    -webkit-mask-image:
        radial-gradient(72% 42% at 50% 16%, transparent 0 42%, #000 42.8% 43.6%, transparent 44.4% 52%, #000 52.8% 53.6%, transparent 54.4% 63%, #000 63.8% 64.6%, transparent 65.4%),
        radial-gradient(76% 52% at 50% 78%, transparent 0 54%, #000 54.8% 55.6%, transparent 56.4% 66%, #000 66.8% 67.6%, transparent 68.4%);
    filter: blur(0.4px);
    animation: siteContourDrift 30s ease-in-out infinite alternate;
    pointer-events: none;
}

img {
    display: block;
    max-width: 100%;
    height: auto;
}

a {
    color: inherit;
    text-decoration: none;
}

button,
input {
    font: inherit;
}

.container {
    width: min(var(--container), calc(100% - 48px));
    margin: 0 auto;
}

.sr-only {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border: 0;
}

.page {
    position: relative;
    overflow: clip;
}

[data-reveal] {
    --reveal-delay: 0ms;
    opacity: 0;
    transform: translate3d(0, 30px, 0) scale(0.988);
    transition:
        opacity 0.7s cubic-bezier(0.2, 0.7, 0.2, 1),
        transform 0.7s cubic-bezier(0.2, 0.7, 0.2, 1),
        filter 0.7s cubic-bezier(0.2, 0.7, 0.2, 1);
    transition-delay: var(--reveal-delay);
    will-change: transform, opacity;
    filter: blur(6px);
}

[data-reveal].is-visible {
    opacity: 1;
    transform: translate3d(0, 0, 0) scale(1);
    filter: blur(0);
}

[data-reveal="left"] {
    transform: translate3d(-34px, 18px, 0) scale(0.988);
}

[data-reveal="right"] {
    transform: translate3d(34px, 18px, 0) scale(0.988);
}

[data-reveal="zoom"] {
    transform: translate3d(0, 24px, 0) scale(0.958);
}

.stats-band,
.about,
.difference,
.products,
.why,
.industries,
.footer-trust,
.cta-strip,
.footer {
    content-visibility: auto;
    contain-intrinsic-size: 1px 760px;
}

[data-reveal-delay="2"] {
    transition-delay: 0.08s;
}

[data-reveal-delay="3"] {
    transition-delay: 0.16s;
}

[data-reveal-delay="4"] {
    transition-delay: 0.24s;
}

[data-reveal-delay="5"] {
    transition-delay: 0.32s;
}

.topbar {
    background: linear-gradient(180deg, #4b2f20 0%, #2b180f 100%);
    color: rgba(255, 250, 244, 0.96);
    font-size: 13px;
    line-height: 1.45;
    letter-spacing: 0.01em;
    text-shadow: 0 1px 2px rgba(0, 0, 0, 0.18);
}

.topbar__inner {
    min-height: 40px;
    display: grid;
    grid-template-columns: 1fr auto 1fr;
    align-items: center;
    gap: 18px;
}

.topbar__left,
.topbar__right,
.socials {
    display: flex;
    align-items: center;
    gap: 18px;
}

.topbar__center {
    justify-self: center;
    font-weight: 700;
    color: rgba(255, 247, 238, 0.98);
}

.topbar__contact {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    font-weight: 600;
    transition: color 0.24s ease, transform 0.24s ease;
}

.topbar__contact:hover {
    color: #fff;
    transform: translateY(-1px);
}

.topbar__contact-icon {
    width: 20px;
    height: 20px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border: 1px solid rgba(255, 255, 255, 0.2);
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.08);
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.15);
    flex: 0 0 auto;
}

.topbar__contact-icon svg {
    width: 11px;
    height: 11px;
    stroke: currentColor;
    stroke-width: 1.9;
    fill: none;
    stroke-linecap: round;
    stroke-linejoin: round;
}

.topbar__right {
    justify-content: flex-end;
}

.socials {
    gap: 10px;
}

.socials a,
.footer__socials a {
    width: 23px;
    height: 23px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: rgba(255, 255, 255, 0.9);
    border: 1px solid rgba(255, 255, 255, 0.28);
    border-radius: 50%;
    transition: transform 0.35s ease, box-shadow 0.35s ease, border-color 0.35s ease, color 0.35s ease;
}

.footer__socials a {
    width: 34px;
    height: 34px;
    padding: 7px;
}

.socials svg,
.footer__socials svg,
.hero-card__icon svg,
.why-card__icon svg,
.industry__icon svg {
    width: 100%;
    height: 100%;
    stroke: currentColor;
    stroke-width: 1.45;
    fill: none;
    stroke-linecap: round;
    stroke-linejoin: round;
}

.footer__socials svg {
    width: 18px;
    height: 18px;
    stroke-width: 1.6;
}

.socials a:hover,
.footer__socials a:hover {
    transform: translateY(-3px) scale(1.06);
    border-color: rgba(255, 255, 255, 0.54);
    box-shadow: 0 12px 24px rgba(0, 0, 0, 0.16);
}

.header {
    position: sticky;
    top: 0;
    z-index: 1100 !important;
    background: rgba(255, 255, 255, 0.92);
    border-bottom: 1px solid rgba(78, 52, 32, 0.08);
    box-shadow: 0 1px 0 rgba(34, 21, 13, 0.08), 0 18px 30px rgba(34, 21, 13, 0.12);
    backdrop-filter: saturate(1.08) blur(0px);
    -webkit-backdrop-filter: saturate(1.08) blur(0px);
    transition:
        background 0.36s ease,
        box-shadow 0.36s ease,
        border-color 0.36s ease,
        backdrop-filter 0.36s ease,
        -webkit-backdrop-filter 0.36s ease;
}

.header__progress {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 3px;
    background: linear-gradient(90deg, #d49745 0%, #f0c677 45%, #b97727 100%);
    transform: scaleX(0);
    transform-origin: left center;
    transition: transform 0.16s linear, opacity 0.3s ease;
    opacity: 0.88;
    z-index: 2;
}

.header__inner {
    min-height: 86px;
    display: grid;
    grid-template-columns: minmax(155px, 195px) 1fr auto;
    align-items: center;
    gap: 34px;
    transition: min-height 0.3s ease, gap 0.3s ease, transform 0.3s ease;
}

.logo img {
    width: 190px;
    max-width: 100%;
    transition: width 0.3s ease, transform 0.3s ease, filter 0.3s ease;
}

.header--scrolled {
    background: #ffffff;
    border-bottom-color: rgba(78, 52, 32, 0.12);
    backdrop-filter: none;
    -webkit-backdrop-filter: none;
    box-shadow: 0 1px 0 rgba(34, 21, 13, 0.08), 0 18px 30px rgba(34, 21, 13, 0.12);
}

.header--scrolled .header__inner {
    min-height: 74px;
    gap: 28px;
}

.header--scrolled .logo img {
    width: 176px;
    filter: saturate(108%);
}

.header__actions {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 16px;
}

.nav-toggle {
    display: none;
    width: 48px;
    height: 48px;
    padding: 0;
    border: 1px solid rgba(209, 149, 69, 0.22);
    border-radius: 16px;
    background: rgba(255, 255, 255, 0.72);
    color: var(--brown);
    box-shadow: 0 16px 32px rgba(44, 26, 14, 0.08);
    align-items: center;
    justify-content: center;
    flex-direction: column;
    gap: 5px;
    cursor: pointer;
    transition: transform 0.28s ease, box-shadow 0.28s ease, border-color 0.28s ease, background 0.28s ease;
}

.nav-toggle span {
    width: 18px;
    height: 2px;
    border-radius: 999px;
    background: currentColor;
    transition: transform 0.28s ease, opacity 0.28s ease;
}

.nav-toggle:hover {
    transform: translateY(-1px);
    border-color: rgba(209, 149, 69, 0.38);
    box-shadow: 0 20px 36px rgba(44, 26, 14, 0.12);
}

.nav {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 4px;
    padding: 6px 9px;
    border: 1px solid rgba(185, 116, 39, 0.16);
    border-radius: 999px;
    background: linear-gradient(180deg, rgba(255,255,255,.94), rgba(255,250,242,.82));
    box-shadow: 0 12px 32px rgba(76,45,20,.08), inset 0 1px 0 #fff, inset 0 -1px 0 rgba(189,121,46,.06);
    font-size: 14px;
    font-weight: 700;
}

.nav::before {
    content: "";
    position: absolute;
    inset: 3px;
    border: 1px solid rgba(255,255,255,.72);
    border-radius: inherit;
    pointer-events: none;
}

.nav__item {
    position: relative;
}

.nav__item-linkwrap {
    display: inline-flex;
    align-items: center;
    gap: 0;
    padding-right: 4px;
    border: 1px solid transparent;
    border-radius: 999px;
    transition: background .25s ease,border-color .25s ease,box-shadow .25s ease,transform .25s ease;
}

.nav__link {
    position: relative;
    z-index: 1;
    display: inline-flex;
    align-items: center;
    min-height: 42px;
    padding: 0 14px;
    border-radius: 999px;
    color: #3d322b;
    letter-spacing: 0.01em;
    transition: color 0.28s ease, transform 0.28s ease, background .28s ease, box-shadow .28s ease;
}

.nav__link:hover,
.nav__link.is-active,
.nav__item--dropdown:hover .nav__link,
.nav__item--dropdown:focus-within .nav__link {
    color: var(--gold-strong);
}

.nav > .nav__link.is-active,
.nav > .nav__link:hover {
    background: linear-gradient(180deg,rgba(255,248,235,.96),rgba(246,229,202,.72));
    box-shadow: inset 0 0 0 1px rgba(195,124,46,.13),0 7px 18px rgba(94,56,23,.08);
}

.nav__item--dropdown:hover .nav__item-linkwrap,
.nav__item--dropdown:focus-within .nav__item-linkwrap,
.nav__item--dropdown.is-open .nav__item-linkwrap {
    border-color: rgba(195,124,46,.2);
    background: linear-gradient(180deg,rgba(255,248,235,.98),rgba(246,229,202,.78));
    box-shadow: 0 7px 18px rgba(94,56,23,.09),inset 0 1px 0 #fff;
}

.nav__item--dropdown .nav__link {
    padding-right: 5px;
}

.nav__link:hover {
    transform: translateY(-1px);
}

.nav__item--dropdown {
    position: static;
}

.nav__item--dropdown::after {
    content: "";
    position: absolute;
    left: 50%;
    top: calc(100% - 2px);
    width: min(1100px, calc(100vw - 40px));
    height: 22px;
    transform: translateX(-50%);
}

.nav__dropdown-toggle {
    position: relative;
    z-index: 1;
    width: 27px;
    height: 27px;
    margin-left: 0;
    border: 0;
    border-radius: 999px;
    background: transparent;
    color: #3d322b;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    transition: color 0.28s ease, background 0.28s ease, transform 0.28s ease;
}

.nav__dropdown-toggle span {
    width: 6px;
    height: 6px;
    margin-top: -2px;
    border-right: 1.5px solid currentColor;
    border-bottom: 1.5px solid currentColor;
    transform: rotate(45deg);
    transition: transform 0.28s ease;
}

.nav__dropdown-toggle:hover,
.nav__item--dropdown:hover .nav__dropdown-toggle,
.nav__item--dropdown:focus-within .nav__dropdown-toggle {
    color: var(--gold-strong);
    background: rgba(209, 149, 69, 0.08);
}

.nav__dropdown {
    position: absolute;
    top: calc(100% + 10px);
    left: 50%;
    width: min(1100px, calc(100vw - 40px));
    max-height: calc(100vh - 96px);
    padding: 15px;
    border: 1px solid rgba(188, 119, 43, 0.2);
    border-radius: 22px;
    background: linear-gradient(145deg,rgba(255,253,249,.99),rgba(250,241,226,.98));
    box-shadow: 0 30px 75px rgba(44,26,14,.2),0 2px 0 rgba(255,255,255,.9) inset;
    overflow-y: auto;
    opacity: 0;
    visibility: hidden;
    transform: translate(-50%, 12px);
    transition: opacity 0.24s ease, transform 0.24s ease, visibility 0.24s ease;
    z-index: 1200;
    backdrop-filter: blur(14px);
}

.nav__dropdown a::after {
    display: none;
}

.nav__dropdown-top {
    display: grid;
    grid-template-columns: auto minmax(0,1fr) auto;
    gap: 16px;
    align-items: center;
    margin-bottom: 12px;
    padding: 2px 3px 12px;
    border-bottom: 1px solid rgba(209, 149, 69, 0.12);
}

.nav__dropdown-kicker {
    margin: 0;
    color: var(--gold-strong);
    font-size: 11px;
    font-weight: 800;
    letter-spacing: 0.16em;
    text-transform: uppercase;
}

.nav__dropdown-copy {
    grid-column: 2;
    max-width: 580px;
    margin: 0;
    color: #6d5c50;
    font-size: 12px;
    line-height: 1.65;
}

.nav__dropdown-cta {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    min-width: 184px;
    align-self: center;
    padding: 11px 19px;
    border: 1px solid rgba(209, 149, 69, 0.2);
    border-radius: 999px;
    background: linear-gradient(180deg, rgba(255, 249, 239, 0.98) 0%, rgba(247, 236, 215, 0.92) 100%);
    color: var(--gold-strong);
    font-size: 12px;
    font-weight: 800;
    letter-spacing: 0.03em;
    text-transform: none;
    white-space: nowrap;
}

.nav__dropdown::before {
    content: "";
    position: absolute;
    top: -10px;
    left: 50%;
    width: 18px;
    height: 18px;
    border-top: 1px solid rgba(209, 149, 69, 0.15);
    border-left: 1px solid rgba(209, 149, 69, 0.15);
    background: rgba(255, 252, 247, 0.98);
    transform: translateX(-50%) rotate(45deg);
}

.nav__item--dropdown:hover .nav__dropdown,
.nav__item--dropdown:focus-within .nav__dropdown,
.nav__item--dropdown.is-open .nav__dropdown {
    opacity: 1;
    visibility: visible;
    transform: translate(-50%, 0);
}

.nav__item--dropdown:hover .nav__dropdown-toggle span,
.nav__item--dropdown:focus-within .nav__dropdown-toggle span,
.nav__item--dropdown.is-open .nav__dropdown-toggle span {
    transform: rotate(-135deg);
}

.nav__indicator {
    position: absolute;
    left: 0;
    bottom: 6px;
    width: 0;
    height: 2px;
    border-radius: 999px;
    background: linear-gradient(90deg, rgba(209, 149, 69, 0.9) 0%, rgba(190, 125, 43, 0.95) 100%);
    box-shadow: 0 4px 14px rgba(209, 149, 69, 0.28);
    opacity: 0;
    transform: translateX(0);
    transition: width 0.3s cubic-bezier(0.2, 0.8, 0.2, 1), transform 0.3s cubic-bezier(0.2, 0.8, 0.2, 1), opacity 0.2s ease;
    pointer-events: none;
}

.nav__dropdown-grid {
    display: grid;
    grid-template-columns: .92fr 1.25fr .92fr;
    gap: 12px;
    align-items: start;
}

.nav__group {
    display: flex;
    flex-direction: column;
    min-height: 0;
    padding: 12px;
    border: 1px solid rgba(209, 149, 69, 0.1);
    border-radius: 16px;
    background: linear-gradient(160deg,rgba(255,255,255,.94),rgba(250,240,223,.76));
    box-shadow: inset 0 1px 0 #fff,0 10px 24px rgba(76,45,20,.045);
}

.nav__group-head {
    display: grid;
    grid-template-columns: 76px minmax(0, 1fr);
    gap: 11px;
    align-items: start;
    margin-bottom: 9px;
}

.nav__group-media {
    display: block;
    overflow: hidden;
    border-radius: 14px;
    aspect-ratio: 1 / 1;
    background: linear-gradient(135deg, #2a190f 0%, #6f4626 52%, #1a120d 100%);
}

.nav__group-media img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.36s ease;
}

.nav__group:hover .nav__group-media img {
    transform: scale(1.05);
}

.nav__group-body {
    display: flex;
    flex: 1;
    flex-direction: column;
}

.nav__group-body--stacked {
    min-height: 0;
}

.nav__group-title {
    display: inline-block;
    margin-bottom: 5px;
    color: #2f1f16;
    font-size: 13px;
    font-weight: 800;
    line-height: 1.35;
}

.nav__group-title::after {
    bottom: -6px;
}

.nav__group-copy {
    margin: 0;
    color: #79685c;
    font-size: 11px;
    line-height: 1.58;
}

.nav__group-list {
    display: grid;
    gap: 2px;
    margin: 0;
    padding: 0;
    list-style: none;
}

.nav__group-list--dense {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    column-gap: 12px;
}

.nav__group-list--dense a {
    font-size: 10px;
    overflow-wrap: anywhere;
}

.nav__group-list a {
    display: block;
    position: relative;
    padding: 3px 0 3px 13px;
    color: #6b584b;
    font-size: 11px;
    font-weight: 600;
    line-height: 1.35;
}

.nav__group-list a::after {
    display: none;
}

.nav__group-list a::before {
    content: "";
    position: absolute;
    left: 0;
    top: 9px;
    width: 5px;
    height: 5px;
    border-radius: 50%;
    background: rgba(209, 149, 69, 0.48);
}

.nav__group-list a:hover {
    color: var(--gold-strong);
}

.nav__group-meta {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    margin-top: 8px;
    padding-top: 9px;
    border-top: 1px solid rgba(209, 149, 69, 0.12);
    color: #8c786a;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 0.04em;
    text-transform: uppercase;
}

.nav__group-link {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    color: var(--gold-strong);
    white-space: nowrap;
}

.nav__dropdown--standard {
    width: min(620px, calc(100vw - 40px));
    padding: 14px;
}

.nav__standard-list,
.nav__standard-list ul {
    margin: 0;
    padding: 0;
    list-style: none;
}

.nav__standard-list {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
}

.nav__standard-list > li {
    padding: 12px;
    border: 1px solid rgba(209, 149, 69, 0.12);
    border-radius: 14px;
    background: rgba(255, 255, 255, 0.72);
}

.nav__standard-list > li > a {
    display: grid;
    gap: 4px;
    color: #2f1f16;
    font-size: 13px;
}

.nav__standard-list > li > a small {
    color: #79685c;
    font-size: 11px;
    font-weight: 500;
    line-height: 1.5;
}

.nav__standard-list ul {
    display: grid;
    gap: 3px;
    margin-top: 9px;
    padding-top: 8px;
    border-top: 1px solid rgba(209, 149, 69, 0.12);
}

.nav__standard-list ul a {
    display: block;
    padding: 5px 8px;
    border-radius: 8px;
    color: #6b584b;
    font-size: 12px;
    font-weight: 600;
}

.nav__standard-list ul a:hover {
    color: var(--gold-strong);
    background: rgba(209, 149, 69, 0.08);
}

@media (max-width: 900px) {
    .nav__dropdown--standard {
        width: 100%;
    }

    .nav__standard-list {
        grid-template-columns: 1fr;
    }

    .nav__group-list--dense {
        grid-template-columns: 1fr;
    }
}

.footer .footer-submenu {
    display: grid;
    gap: 5px;
    margin: 6px 0 2px;
    padding-left: 13px;
    border-left: 1px solid rgba(209, 149, 69, 0.22);
    list-style: none;
}

.footer .footer-submenu a {
    font-size: 11px;
    opacity: 0.82;
}

.quote-button,
.gold-button,
.dark-outline-button,
.hero-outline-button {
    position: relative;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    min-height: 44px;
    padding: 12px 22px;
    border-radius: 12px;
    border: 1px solid transparent;
    font-size: 12px;
    font-weight: 800;
    letter-spacing: 0.08em;
    overflow: hidden;
    isolation: isolate;
    transition: transform 0.28s ease, box-shadow 0.28s ease, background 0.28s ease, border-color 0.28s ease, color 0.28s ease;
}

.quote-button::before,
.gold-button::before,
.hero-outline-button::before {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(110deg, transparent 22%, rgba(255, 255, 255, 0.18) 42%, rgba(255, 255, 255, 0.78) 50%, rgba(255, 255, 255, 0.12) 58%, transparent 78%);
    transform: translateX(-130%);
    transition: transform 0.75s cubic-bezier(0.2, 0.8, 0.2, 1);
    pointer-events: none;
    z-index: -1;
}

.quote-button {
    min-height: 48px;
    padding-inline: 24px;
    border-radius: 16px;
}

.quote-button:hover,
.gold-button:hover,
.dark-outline-button:hover,
.hero-outline-button:hover {
    transform: translateY(-4px);
    box-shadow: 0 20px 38px rgba(201, 135, 53, 0.22);
}

.quote-button:hover::before,
.gold-button:hover::before,
.hero-outline-button:hover::before {
    transform: translateX(130%);
}

.quote-button,
.gold-button {
    background: linear-gradient(135deg, #b87329 0%, #d69b4a 42%, #f0c47f 100%);
    color: #fff;
    border-color: rgba(140, 84, 22, 0.18);
    box-shadow:
        inset 0 1px 0 rgba(255, 255, 255, 0.28),
        0 16px 30px rgba(201, 135, 53, 0.22);
}

.dark-outline-button {
    background: linear-gradient(180deg, rgba(255, 255, 255, 0.09) 0%, rgba(255, 255, 255, 0.03) 100%);
    color: #fff;
    border-color: rgba(255, 255, 255, 0.22);
    box-shadow:
        inset 0 1px 0 rgba(255, 255, 255, 0.14),
        0 14px 28px rgba(0, 0, 0, 0.16);
}

.hero-outline-button {
    background: rgba(255, 255, 255, 0.94);
    color: #3c312a;
    border-color: rgba(78, 52, 32, 0.14);
    box-shadow: 0 12px 26px rgba(31, 18, 10, 0.08);
}

body.nav-open {
    overflow: hidden;
}

.hero {
    position: relative;
    padding: 0;
    background: #fff;
    overflow: clip;
}

.hero__stage {
    position: relative;
}

.hero-slide {
    position: absolute;
    inset: 0;
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transition: opacity 0.72s ease, visibility 0.72s ease;
}

.hero-slide.is-active {
    position: relative;
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
    z-index: 2;
}

.hero .container {
    width: 100%;
    max-width: none;
    margin: 0;
}

.hero__overlay {
    position: absolute;
    inset: 0;
    z-index: 0;
    pointer-events: none;
    background:
        radial-gradient(circle at 16% 26%, rgba(255, 255, 255, 0.9) 0%, rgba(255, 255, 255, 0.38) 20%, transparent 46%),
        radial-gradient(circle at 68% 22%, rgba(214, 165, 96, 0.24) 0%, transparent 24%),
        linear-gradient(90deg, rgba(255, 249, 240, 0.72) 0%, rgba(255, 249, 240, 0.42) 26%, rgba(255, 249, 240, 0.06) 46%, rgba(29, 18, 12, 0.12) 100%),
        linear-gradient(180deg, rgba(255, 255, 255, 0.05) 0%, rgba(28, 18, 12, 0.18) 100%);
    mix-blend-mode: screen;
    opacity: 0;
}

.hero__inner {
    position: relative;
    z-index: 1;
    --hero-parallax-x: 0px;
    --hero-parallax-y: 0px;
    --hero-content-shift: 0px;
    min-height: 0;
    aspect-ratio: 1024 / 377;
    display: grid;
    grid-template-columns: minmax(0, 470px);
    align-items: center;
    gap: 0;
    padding: 0 0 0 max(28px, calc((100vw - var(--container)) / 2 + 12px));
    background:
        linear-gradient(90deg, rgba(255, 250, 244, 0.88) 0%, rgba(255, 250, 244, 0.62) 24%, rgba(255, 250, 244, 0.16) 42%, rgba(255, 250, 244, 0) 58%),
        linear-gradient(118deg, rgba(255, 255, 255, 0.14) 0%, rgba(255, 255, 255, 0) 36%, rgba(73, 44, 26, 0.14) 100%),
        var(--hero-banner-image, url("../images/hero-final.png")) center center / 100% 100% no-repeat;
    background-position:
        0 0,
        calc(50% + (var(--hero-parallax-x) * 0.35)) calc(50% + (var(--hero-parallax-y) * 0.2)),
        calc(50% + var(--hero-parallax-x)) calc(50% + var(--hero-parallax-y));
    border-top: 1px solid rgba(78, 52, 32, 0.08);
    border-bottom: 1px solid rgba(78, 52, 32, 0.08);
    overflow: hidden;
    box-shadow: inset 0 -30px 60px rgba(20, 12, 8, 0.08);
    animation: heroBackgroundDrift 18s ease-in-out infinite alternate;
    transition: background-position 0.2s ease-out;
}

.hero__inner::before {
    content: "";
    position: absolute;
    inset: -8% -4%;
    background:
        radial-gradient(circle at 18% 24%, rgba(255, 255, 255, 0.28) 0%, transparent 24%),
        radial-gradient(circle at 78% 34%, rgba(209, 149, 69, 0.18) 0%, transparent 28%),
        linear-gradient(115deg, rgba(255, 255, 255, 0.18), transparent 34%, transparent 68%, rgba(255, 255, 255, 0.12));
    mix-blend-mode: screen;
    opacity: 0;
    pointer-events: none;
    transform: translate3d(1.5%, 0, 0) scale(1.04);
}

.hero__inner::after {
    content: "";
    position: absolute;
    left: -4%;
    top: -10%;
    width: 56%;
    height: 128%;
    background:
        radial-gradient(circle at 20% 24%, rgba(255, 255, 255, 0.96) 0%, rgba(255, 255, 255, 0.66) 18%, transparent 46%),
        radial-gradient(circle at 66% 32%, rgba(212, 164, 99, 0.34) 0%, transparent 27%),
        radial-gradient(circle at 36% 74%, rgba(255, 255, 255, 0.54) 0%, transparent 24%),
        linear-gradient(120deg, rgba(255, 255, 255, 0.28), transparent 34%, rgba(214, 168, 101, 0.15) 58%, transparent 82%);
    opacity: 0;
    filter: blur(14px);
    pointer-events: none;
    transform: translate3d(-1.5%, 1.5%, 0) scale(1.03);
}

.hero-copy {
    padding: 18px 0 68px;
    align-self: center;
    position: relative;
    z-index: 2;
    transform: translate3d(0, calc(var(--hero-content-shift) * -1), 0);
    animation: heroContentFloat 9s ease-in-out 6.2s infinite;
    transition: transform 0.22s ease-out;
}

.hero-copy::before {
    content: "";
    position: absolute;
    left: -52px;
    top: -44px;
    width: 470px;
    height: 392px;
    background:
        radial-gradient(circle at 26% 24%, rgba(255, 255, 255, 0.92) 0%, rgba(255, 255, 255, 0.58) 26%, transparent 64%),
        radial-gradient(circle at 72% 34%, rgba(209, 149, 69, 0.22) 0%, transparent 24%),
        radial-gradient(circle at 38% 80%, rgba(255, 255, 255, 0.48) 0%, transparent 22%);
    opacity: 0.95;
    filter: blur(10px);
    pointer-events: none;
    z-index: -1;
    animation: heroCopyAura 8.5s ease-in-out infinite alternate;
}

.hero-copy__kicker {
    margin-bottom: 12px;
    font-size: 11px;
    letter-spacing: 0.22em;
    font-weight: 800;
    opacity: 0;
    transform: translate3d(0, 14px, 0);
}

.hero-copy h1 {
    margin: 0;
    color: #221914;
    font-family: "Playfair Display", serif;
    font-size: clamp(50px, 5.4vw, 66px);
    font-weight: 700;
    line-height: 0.9;
}

.hero-copy__title {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 4px;
    position: relative;
    z-index: 3;
    padding: 8px 0 10px;
    perspective: 900px;
}

.hero-copy__title::before {
    content: "";
    position: absolute;
    left: -28px;
    top: -6px;
    width: clamp(220px, 46vw, 480px);
    height: clamp(120px, 20vw, 220px);
    background:
        radial-gradient(circle at 28% 40%, rgba(255, 255, 255, 0.96) 0%, rgba(255, 255, 255, 0.52) 28%, transparent 72%),
        radial-gradient(circle at 72% 52%, rgba(214, 166, 96, 0.36) 0%, rgba(214, 166, 96, 0.1) 22%, transparent 56%);
    filter: blur(8px);
    opacity: 0.96;
    pointer-events: none;
    z-index: -1;
    animation: heroHeadlineGlow 8s ease-in-out infinite alternate;
}

.hero-copy__line {
    position: relative;
    display: inline-block;
    width: 0;
    overflow: hidden;
    white-space: nowrap;
    border-right: 3px solid rgba(34, 25, 20, 0.72);
    will-change: width;
    color: #221914;
    opacity: 1;
    transform: none;
    transform-origin: left center;
    text-shadow: 0 8px 28px rgba(255, 255, 255, 0.24);
}

.hero-copy__line--1 {
    width: 8.4ch;
}

.hero-copy__line--2 {
    width: 8.6ch;
}

.hero-copy__line--3 {
    width: 9.8ch;
}

.hero-copy__line--3 > span {
    color: var(--gold-strong);
}

.hero-copy > p:not(.section-kicker) {
    max-width: 390px;
    margin: 22px 0 0;
    color: #433730;
    font-size: 15px;
    line-height: 1.72;
    opacity: 0;
    transform: translate3d(0, 16px, 0);
}

.hero-copy__actions {
    display: flex;
    flex-wrap: wrap;
    gap: 14px;
    margin-top: 26px;
    opacity: 0;
    transform: translate3d(0, 14px, 0);
}

.hero-copy__actions .gold-button,
.hero-copy__actions .hero-outline-button {
    min-height: 46px;
    padding: 12px 22px;
    border-radius: 15px;
    font-size: 11px;
    opacity: 1;
    transform: none;
}

.hero-copy__actions .gold-button {
    box-shadow:
        inset 0 1px 0 rgba(255, 255, 255, 0.28),
        0 18px 34px rgba(183, 116, 41, 0.24);
}

.hero-copy__actions .hero-outline-button {
    background: rgba(255, 255, 255, 0.86);
    border-color: rgba(120, 82, 43, 0.12);
    box-shadow: 0 14px 28px rgba(31, 18, 10, 0.09);
}

.hero-copy__trust {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 12px;
    margin-top: 18px;
    opacity: 0;
    transform: translate3d(0, 14px, 0);
}

body.is-ready .hero-slide.is-active .hero__inner::before {
    animation: heroBannerLayerIn 1.2s cubic-bezier(0.2, 0.8, 0.2, 1) 0.18s forwards, heroLightSweep 16s ease-in-out 1.6s infinite;
}

body.is-ready .hero-slide.is-active .hero__inner::after {
    animation: heroBannerGlowIn 1.3s cubic-bezier(0.2, 0.8, 0.2, 1) 0.28s forwards, heroTextAura 16s ease-in-out 1.7s infinite alternate;
}

body.is-ready .hero-slide.is-active .hero__overlay {
    animation: heroFadeInSoft 1.2s ease 0.12s forwards, heroOverlayBloom 14s ease-in-out 1.4s infinite alternate;
}

body.is-ready .hero-slide.is-active .hero-copy__kicker {
    animation: heroFadeUp 0.72s cubic-bezier(0.2, 0.8, 0.2, 1) 0.12s forwards;
}

body.is-ready .hero-slide.is-active .hero-copy__line--1 {
    animation:
        heroTypingLine1 1.15s steps(10, end) 0.24s forwards,
        heroCaretBlink 0.9s step-end 0.24s 2,
        heroCaretHide 0.01s linear 1.44s forwards;
}

body.is-ready .hero-slide.is-active .hero-copy__line--2 {
    animation:
        heroTypingLine2 1.18s steps(10, end) 1.52s forwards,
        heroCaretBlink 0.9s step-end 1.52s 2,
        heroCaretHide 0.01s linear 2.76s forwards;
}

body.is-ready .hero-slide.is-active .hero-copy__line--3 {
    border-right-color: rgba(190, 125, 43, 0.82);
    animation:
        heroTypingLine3 1.3s steps(12, end) 2.9s forwards,
        heroCaretBlinkHold 0.95s step-end 2.9s 2,
        heroCaretHide 0.01s linear 4.26s forwards;
}

body.is-ready .hero-slide.is-active .hero-copy > p:not(.section-kicker) {
    animation: heroFadeUp 0.68s cubic-bezier(0.2, 0.8, 0.2, 1) 4.1s forwards;
}

body.is-ready .hero-slide.is-active .hero-copy__actions {
    animation: heroButtonReveal 0.62s cubic-bezier(0.2, 0.8, 0.2, 1) 4.3s forwards;
}

body.is-ready .hero-slide.is-active .hero-copy__trust {
    animation: heroFadeUp 0.62s cubic-bezier(0.2, 0.8, 0.2, 1) 4.5s forwards;
}

.hero__nav {
    position: absolute;
    left: 50%;
    bottom: 22px;
    z-index: 6;
    display: inline-flex;
    align-items: center;
    gap: 10px;
    padding: 10px 14px;
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.78);
    border: 1px solid rgba(209, 149, 69, 0.14);
    box-shadow: 0 14px 30px rgba(35, 20, 10, 0.12);
    transform: translateX(-50%);
    backdrop-filter: blur(14px);
    -webkit-backdrop-filter: blur(14px);
}

.hero__dot {
    width: 12px;
    height: 12px;
    padding: 0;
    border: 0;
    border-radius: 999px;
    background: rgba(133, 92, 51, 0.28);
    cursor: pointer;
    transition: width 0.24s ease, background-color 0.24s ease, transform 0.24s ease;
}

.hero__dot.is-active {
    width: 30px;
    background: linear-gradient(90deg, #d69b4a, #b6782f);
    transform: translateY(-1px);
}

.hero-copy__avatars {
    display: flex;
}

.hero-copy__avatars span {
    width: 26px;
    height: 26px;
    margin-left: -6px;
    border: 2px solid #fff;
    border-radius: 50%;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: linear-gradient(135deg, #d5a45d 0%, #c98b35 100%);
    color: #fff;
    font-size: 10px;
    font-weight: 700;
    box-shadow: 0 6px 14px rgba(31, 18, 10, 0.1);
}

.hero-copy__avatars span:first-child {
    margin-left: 0;
}

.hero-copy__trust strong {
    color: #3a2c24;
    font-size: 12px;
    font-weight: 700;
    line-height: 1.45;
}

.stats-band {
    position: relative;
    z-index: 5;
    margin-top: -46px;
    padding: 0 0 14px;
}

.stats-band__inner {
    min-height: 0;
    display: grid;
    grid-template-columns: 60% 40%;
    align-items: center;
    gap: 30px;
    width: min(var(--container), calc(100% - 48px));
    margin: 0 auto;
    padding: 18px 28px 16px;
    background: rgba(255, 255, 255, 0.98);
    border: 1px solid rgba(78, 52, 32, 0.08);
    border-radius: 28px;
    backdrop-filter: blur(20px);
    box-shadow: rgba(0, 0, 0, 0.35) 0px 5px 15px;
}

.stats-band__stats,
.stats-band__certs {
    display: grid;
    align-items: center;
}

.stats-band__stats {
    grid-template-columns: repeat(4, minmax(0, 1fr));
}

.stats-band__certs {
    grid-template-columns: repeat(4, minmax(0, 1fr));
}

.stat {
    display: flex;
    align-items: center;
    gap: 8px;
    min-height: 68px;
    white-space: nowrap;
    transition: transform 0.3s ease;
}

.stat:hover {
    transform: translateY(-3px);
}

.stat__icon {
    width: 45px;
    height: 45px;
    color: var(--gold);
    flex: 0 0 auto;
    transition: transform 0.32s ease, filter 0.32s ease;
    animation: iconGentleFloat 4.6s ease-in-out infinite;
}

.stat__icon svg {
    width: 100%;
    height: 100%;
    stroke: currentColor;
    stroke-width: 0.95;
    fill: none;
    stroke-linecap: round;
    stroke-linejoin: round;
}

.stat:hover .stat__icon {
    transform: scale(1.08);
    filter: drop-shadow(0 8px 18px rgba(209, 149, 69, 0.24));
}

.stat__text strong,
.stat__text span {
    display: block;
}

.stat__text strong {
    color: var(--gold-strong);
    font-size: 18px;
    line-height: 1;
}

.stat__text span {
    color: #433833;
    font-size: 12px;
    line-height: 1.2;
    white-space: nowrap;
}

.certification {
    margin: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 12px 8px;
    border-radius: 18px;
    background: linear-gradient(180deg, rgba(255, 255, 255, 0.9) 0%, rgba(250, 246, 239, 0.7) 100%);
    transition: transform 0.35s ease, box-shadow 0.35s ease, background 0.35s ease;
}

.certification img {
    width: auto;
    max-width: 54px;
    max-height: 54px;
    object-fit: contain;
    transform-origin: center;
    transition: transform 0.4s ease, filter 0.4s ease;
}

.certification:hover {
    transform: translateY(-6px);
    background: linear-gradient(180deg, rgba(255, 255, 255, 1) 0%, rgba(253, 248, 241, 0.95) 100%);
    box-shadow:
        0 14px 28px rgba(35, 20, 10, 0.12),
        0 0 0 1px rgba(209, 149, 69, 0.12);
}

.certification:hover img {
    transform: scale(1.08) rotate(-2deg);
    filter: drop-shadow(0 8px 16px rgba(209, 149, 69, 0.18));
}

.about,
.products,
.industries {
    padding: 84px 0;
}

.about {
    padding-top: 82px;
    padding-bottom: 72px;
    background: transparent;
}

.about__inner {
    display: grid;
    grid-template-columns: 390px 490px 200px;
    align-items: center;
    justify-content: center;
    column-gap: 48px;
    row-gap: 28px;
}

.about__image {
    padding: 0;
    border-radius: 10px;
    background: transparent;
    box-shadow: none;
    justify-self: start;
    width: 100%;
}

.about__image img {
    width: 100%;
    border-radius: 8px;
    box-shadow: rgba(0, 0, 0, 0.25) 0px 54px 55px,
        rgba(0, 0, 0, 0.12) 0px -12px 30px,
        rgba(0, 0, 0, 0.12) 0px 4px 6px,
        rgba(0, 0, 0, 0.17) 0px 12px 13px,
        rgba(0, 0, 0, 0.09) 0px -3px 5px !important;
    transition: transform 0.55s ease, box-shadow 0.55s ease;
}

.about__image:hover img {
    transform: translateY(-6px);
}

.section-kicker {
    margin: 0 0 14px;
    color: var(--gold-strong);
    font-size: 11px;
    font-weight: 800;
    letter-spacing: 0.16em;
    text-transform: uppercase;
}

.section-kicker--center {
    text-align: center;
}

.section-kicker--dark {
    color: #c9954d;
}

.about__copy h2,
.section-title,
.difference__copy h2,
.cta-strip__title h2 {
    margin: 0;
    color: var(--brown);
    font-family: "Playfair Display", serif;
    font-weight: 700;
    line-height: 1.06;
    position: relative;
    z-index: 1;
}

.about__copy h2 {
    max-width: 520px;
    font-size: 42px;
    line-height: 1.04;
    letter-spacing: -0.02em;
    display: inline-block;
    padding-bottom: 18px;
}

.about__copy h2::before {
    content: "";
    position: absolute;
    left: -28px;
    right: 18%;
    top: -18px;
    bottom: 14px;
    background:
        radial-gradient(circle at 22% 46%, rgba(242, 202, 138, 0.24) 0%, transparent 34%),
        radial-gradient(circle at 72% 50%, rgba(209, 149, 69, 0.18) 0%, transparent 38%),
        radial-gradient(circle at 50% 58%, rgba(255, 244, 227, 0.28) 0%, transparent 42%);
    filter: blur(20px);
    opacity: 0.96;
    z-index: -1;
    pointer-events: none;
    animation: titleAuraDrift 7.5s ease-in-out infinite alternate;
}

.about__copy h2::after {
    content: "";
    position: absolute;
    left: 0;
    bottom: 0;
    width: 148px;
    height: 16px;
    border-radius: 999px;
    background:
        linear-gradient(90deg, rgba(255, 255, 255, 0) 0%, rgba(255, 246, 232, 0.95) 12%, rgba(224, 176, 107, 0.96) 34%, rgba(209, 149, 69, 0.98) 52%, rgba(246, 214, 165, 0.9) 78%, rgba(255, 255, 255, 0) 100%);
    mask:
        radial-gradient(circle at 7px 7px, #000 98%, transparent 100%) left center/14px 14px no-repeat,
        linear-gradient(#000 0 0) center/100% 3px no-repeat,
        radial-gradient(circle at calc(100% - 7px) 7px, #000 98%, transparent 100%) right center/14px 14px no-repeat;
    -webkit-mask:
        radial-gradient(circle at 7px 7px, #000 98%, transparent 100%) left center/14px 14px no-repeat,
        linear-gradient(#000 0 0) center/100% 3px no-repeat,
        radial-gradient(circle at calc(100% - 7px) 7px, #000 98%, transparent 100%) right center/14px 14px no-repeat;
    background-size: 220% 100%;
    box-shadow: 0 8px 18px rgba(209, 149, 69, 0.18);
    animation: titleAccentFlow 5.6s linear infinite;
}

.about__copy h2 span,
.section-title span {
    position: relative;
}

.about__copy h2::selection,
.section-title::selection {
    background: rgba(209, 149, 69, 0.2);
}

.about__copy p:not(.section-kicker) {
    max-width: 495px;
    margin: 18px 0 24px;
    color: var(--copy);
    font-size: 14px;
    line-height: 1.85;
}

.about__horse {
    position: relative;
    display: flex;
    justify-content: flex-end;
    align-items: flex-start;
    align-self: start;
    padding-top: 2px;
}

.about__horse::before {
    content: "";
    position: absolute;
    inset: 12% 10% 20% -10%;
    background:
        linear-gradient(90deg, rgba(214, 178, 127, 0.2), rgba(214, 178, 127, 0.08) 28%, transparent 66%),
        radial-gradient(circle at 58% 48%, rgba(255, 255, 255, 0.52) 0%, transparent 28%);
    filter: blur(18px);
    opacity: 0.82;
    pointer-events: none;
    animation: horseWindTrail 2.8s linear infinite;
}

.about__horse::after {
    content: "";
    position: absolute;
    left: -8%;
    top: 28%;
    width: 48%;
    height: 26%;
    background:
        linear-gradient(90deg, rgba(214, 178, 127, 0), rgba(214, 178, 127, 0.2) 26%, rgba(214, 178, 127, 0.05) 72%, rgba(214, 178, 127, 0)),
        linear-gradient(90deg, rgba(255, 255, 255, 0), rgba(255, 255, 255, 0.38) 38%, rgba(255, 255, 255, 0));
    filter: blur(6px);
    opacity: 0;
    pointer-events: none;
    animation: horseWindStreak 2.8s linear infinite;
}

.about__horse img {
    width: 320px;
    opacity: 1;
    position: relative;
    z-index: 1;
    filter: drop-shadow(0 14px 28px rgba(168, 128, 82, 0.12));
    transform-origin: center bottom;
    animation: horseRunMotion 1.45s ease-in-out infinite, horseLookAlive 4.2s ease-in-out infinite;
}

.why {
    position: relative;
    padding: 84px 0 90px;
    background:
        radial-gradient(circle at 16% 20%, rgba(255, 255, 255, 0.86) 0%, rgba(255, 255, 255, 0) 26%),
        radial-gradient(circle at 84% 28%, rgba(228, 191, 136, 0.28) 0%, rgba(228, 191, 136, 0) 22%),
        linear-gradient(180deg, rgba(255, 250, 243, 0.92) 0%, rgba(252, 245, 235, 0.98) 52%, rgba(255, 252, 247, 1) 100%);
    overflow: clip;
}

.why::before {
    content: "";
    position: absolute;
    inset: 0;
    background:
        linear-gradient(135deg, rgba(255, 255, 255, 0.22), transparent 34%, rgba(215, 174, 113, 0.12) 68%, transparent 100%),
        repeating-radial-gradient(circle at 14% 24%, rgba(214, 166, 96, 0.08) 0 1px, transparent 1px 42px);
    pointer-events: none;
    opacity: 0.95;
}

.why .section-kicker {
    margin-bottom: 12px;
    font-size: clamp(30px, 3.6vw, 44px);
    font-weight: 700;
    letter-spacing: 0;
    color: #2b1a12;
}

.why__lead {
    max-width: 690px;
    margin: 0 auto 34px;
    text-align: center;
    color: #6d5b4c;
    font-size: 14px;
    line-height: 1.8;
}

.why__grid {
    position: relative;
    z-index: 1;
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 22px;
}

.why-card {
    position: relative;
    min-height: 292px;
    padding: 30px 24px 26px;
    border: 1px solid rgba(209, 149, 69, 0.14);
    border-radius: 28px;
    background:
        linear-gradient(180deg, rgba(255, 255, 255, 0.84) 0%, rgba(252, 246, 236, 0.78) 100%);
    backdrop-filter: blur(16px);
    -webkit-backdrop-filter: blur(16px);
    box-shadow:
        inset 0 1px 0 rgba(255, 255, 255, 0.92),
        0 18px 38px rgba(31, 18, 10, 0.08);
    text-align: center;
    overflow: hidden;
    transition: transform 0.32s ease, border-color 0.32s ease, box-shadow 0.32s ease, background 0.32s ease;
}

.why-card::before {
    content: "";
    position: absolute;
    inset: 0;
    background:
        radial-gradient(circle at top, rgba(236, 193, 125, 0.2), transparent 44%),
        linear-gradient(120deg, transparent 18%, rgba(255, 255, 255, 0.26) 50%, transparent 82%);
    opacity: 0.92;
    transform: translateX(-24%);
    transition: transform 0.5s ease, opacity 0.5s ease;
    pointer-events: none;
}

.why-card::after {
    content: "";
    position: absolute;
    inset: auto 24px 0;
    height: 1px;
    background: linear-gradient(90deg, transparent 0%, rgba(209, 149, 69, 0.32) 50%, transparent 100%);
    opacity: 0.75;
}

.why-card:hover {
    transform: translateY(-10px);
    border-color: rgba(216, 160, 87, 0.32);
    background: linear-gradient(180deg, rgba(255, 255, 255, 0.9) 0%, rgba(250, 241, 226, 0.92) 100%);
    box-shadow:
        inset 0 1px 0 rgba(255, 255, 255, 0.92),
        0 24px 48px rgba(12, 6, 3, 0.12),
        0 34px 70px rgba(205, 155, 89, 0.12);
}

.why-card:hover::before {
    opacity: 1;
    transform: translateX(0);
}

.why-card__icon {
    width: 68px;
    height: 68px;
    margin: 0 auto 22px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    border: 1px solid rgba(209, 149, 69, 0.24);
    background: radial-gradient(circle at 30% 30%, #fffdf8 0%, #f7e8cf 52%, #dfb172 100%);
    color: #8f4e1b;
    box-shadow:
        inset 0 1px 0 rgba(255, 255, 255, 0.86),
        0 12px 24px rgba(20, 10, 5, 0.12);
    transition: transform 0.42s ease, box-shadow 0.42s ease, filter 0.42s ease;
    animation: iconGentleFloat 5.2s ease-in-out infinite;
}

.why-card:hover .why-card__icon {
    transform: translateY(-7px) scale(1.08) rotate(-5deg);
    box-shadow:
        inset 0 1px 0 rgba(255, 255, 255, 0.9),
        0 18px 30px rgba(20, 10, 5, 0.16);
    filter: drop-shadow(0 8px 18px rgba(236, 185, 95, 0.2));
}

.why-card h3 {
    min-height: 58px;
    margin: 0 0 16px;
    color: #2d1c13;
    font-family: "Playfair Display", serif;
    font-size: 21px;
    line-height: 1.2;
}

.why-card p {
    margin: 0;
    color: #6b5a4b;
    font-size: 14px;
    line-height: 1.82;
}

.section-title {
    margin-bottom: 30px;
    width: fit-content;
    max-width: 100%;
    margin-left: auto;
    margin-right: auto;
    padding: 0 16px 18px;
    text-align: center;
    font-size: clamp(32px, 3.8vw, 50px);
    line-height: 1.08;
    letter-spacing: -0.02em;
}

.section-title::before {
    content: "";
    position: absolute;
    left: 12%;
    right: 12%;
    top: -18px;
    bottom: 10px;
    background:
        radial-gradient(circle at 50% 50%, rgba(242, 202, 138, 0.18) 0%, transparent 44%),
        radial-gradient(circle at 68% 58%, rgba(255, 241, 215, 0.16) 0%, transparent 34%),
        radial-gradient(circle at 34% 44%, rgba(209, 149, 69, 0.14) 0%, transparent 34%);
    filter: blur(24px);
    opacity: 0.96;
    z-index: -1;
    pointer-events: none;
    animation: titleAuraDrift 8.2s ease-in-out infinite alternate;
}

.section-title::after {
    content: "";
    position: absolute;
    left: 50%;
    bottom: 0;
    width: 170px;
    height: 18px;
    transform: translateX(-50%);
    border-radius: 999px;
    background:
        linear-gradient(90deg, rgba(255, 255, 255, 0) 0%, rgba(255, 248, 236, 0.96) 10%, #efc686 30%, #d19545 50%, #f6d9a9 74%, rgba(255, 255, 255, 0) 100%);
    mask:
        radial-gradient(circle at 8px 8px, #000 98%, transparent 100%) left center/16px 16px no-repeat,
        linear-gradient(#000 0 0) center/100% 3px no-repeat,
        radial-gradient(circle at calc(100% - 8px) 8px, #000 98%, transparent 100%) right center/16px 16px no-repeat;
    -webkit-mask:
        radial-gradient(circle at 8px 8px, #000 98%, transparent 100%) left center/16px 16px no-repeat,
        linear-gradient(#000 0 0) center/100% 3px no-repeat,
        radial-gradient(circle at calc(100% - 8px) 8px, #000 98%, transparent 100%) right center/16px 16px no-repeat;
    background-size: 240% 100%;
    box-shadow: 0 10px 20px rgba(209, 149, 69, 0.16);
    animation: titleAccentFlow 6s linear infinite;
}

.section-title::marker {
    content: "";
}

.section-title::after,
.about__copy h2::after {
    pointer-events: none;
}

.section-title::before,
.about__copy h2::before {
    will-change: transform, opacity;
}

.section-title::after,
.about__copy h2::after {
    will-change: background-position, transform;
}

.section-title > .title-accent,
.about__copy h2 > .title-accent {
    display: none;
}

.section-title::after {
    clip-path: polygon(0 40%, 8% 40%, 12% 0, 88% 0, 92% 40%, 100% 40%, 100% 60%, 92% 60%, 88% 100%, 12% 100%, 8% 60%, 0 60%);
}

.about__copy h2::after {
    clip-path: polygon(0 42%, 8% 42%, 12% 0, 88% 0, 92% 42%, 100% 42%, 100% 58%, 92% 58%, 88% 100%, 12% 100%, 8% 58%, 0 58%);
}

.section-title--left {
    text-align: left;
    margin-bottom: 14px;
    margin-left: 0;
    margin-right: 0;
    padding-left: 0;
}

.products__grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 24px;
    max-width: 1120px;
    margin: 0 auto;
}

.products {
    background: transparent;
}

.product-card {
    position: relative;
    display: flex;
    flex-direction: column;
    overflow: hidden;
    border: 1px solid rgba(209, 149, 69, 0.22);
    border-radius: 24px;
    background: linear-gradient(180deg, rgba(255, 255, 255, 0.98) 0%, #ffffff 100%);
    box-shadow: 0 14px 30px rgba(31, 18, 10, 0.08);
    transition: transform 0.28s ease, box-shadow 0.28s ease, border-color 0.28s ease;
}

.product-card:hover {
    transform: translateY(-9px);
    border-color: rgba(209, 149, 69, 0.38);
    box-shadow: 0 26px 52px rgba(35, 20, 10, 0.14);
}

.product-card__image {
    position: relative;
    aspect-ratio: 1.18 / 0.62;
    overflow: hidden;
    background: linear-gradient(180deg, rgba(250, 243, 233, 0.9) 0%, rgba(255, 255, 255, 0.98) 100%);
}

.product-card__badge {
    position: absolute;
    left: 18px;
    top: 18px;
    z-index: 2;
    display: inline-flex;
    align-items: center;
    padding: 8px 12px;
    border: 1px solid rgba(255, 255, 255, 0.16);
    border-radius: 999px;
    background: rgba(37, 23, 14, 0.64);
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);
    color: #fff7ef;
    font-size: 10px;
    font-weight: 800;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    box-shadow: 0 12px 24px rgba(18, 10, 6, 0.18);
}

.product-card__image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.55s ease, filter 0.55s ease;
}

.product-card__overlay {
    position: absolute;
    inset: 0;
    background:
        linear-gradient(180deg, rgba(17, 10, 7, 0.02) 0%, rgba(17, 10, 7, 0.18) 56%, rgba(17, 10, 7, 0.52) 100%),
        radial-gradient(circle at 22% 18%, rgba(255, 255, 255, 0.26) 0%, transparent 26%);
    opacity: 0.38;
    transition: opacity 0.4s ease, background 0.4s ease;
    pointer-events: none;
}

.product-card:hover .product-card__image img {
    transform: scale(1.1);
    filter: saturate(1.08) contrast(1.02);
}

.product-card:hover .product-card__overlay {
    opacity: 0.86;
}

.product-card__body {
    position: relative;
    display: flex;
    flex: 1 1 auto;
    flex-direction: column;
    margin: 10px 10px 12px;
    padding: 22px 18px 18px;
    border-radius: 26px;
    background:
        linear-gradient(180deg, rgba(255, 255, 255, 0.98) 0%, rgba(252, 247, 240, 0.94) 100%);
    box-shadow:
        inset 0 1px 0 rgba(255, 255, 255, 0.8),
        0 10px 24px rgba(52, 31, 18, 0.08);
}

.product-card__tag {
    display: inline-flex;
    align-self: flex-start;
    margin-bottom: 18px;
    padding: 8px 14px;
    border: 1px solid rgba(209, 149, 69, 0.2);
    border-radius: 999px;
    background: linear-gradient(180deg, rgba(255, 248, 238, 0.95) 0%, rgba(246, 232, 210, 0.86) 100%);
    color: var(--gold-strong);
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 0.04em;
    line-height: 1.4;
}

.product-card__body h3 {
    margin: 0 0 16px;
    color: #2c1d14;
    font-family: "Playfair Display", serif;
    font-size: 22px;
    font-weight: 700;
    line-height: 1.18;
}

.product-card__body p {
    min-height: 96px;
    margin: 0 0 18px;
    color: var(--copy);
    font-size: 14px;
    line-height: 1.68;
}

.product-card__actions {
    display: grid;
    gap: 14px;
    margin-top: auto;
}

.product-card__button {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    align-self: flex-start;
    padding: 12px 18px;
    border: 1px solid rgba(209, 149, 69, 0.34);
    border-radius: 14px;
    background: linear-gradient(135deg, #dca04b 0%, #c8842f 100%);
    box-shadow: 0 12px 24px rgba(201, 138, 48, 0.24);
    color: #fff;
    font-size: 12px;
    font-weight: 800;
    letter-spacing: 0.03em;
    text-transform: uppercase;
    transition: transform 0.28s ease, box-shadow 0.28s ease, background 0.28s ease;
}

.product-card__button:hover {
    transform: translateY(-2px);
    box-shadow: 0 16px 28px rgba(201, 138, 48, 0.3);
    background: linear-gradient(135deg, #e0a654 0%, #cf8e39 100%);
}

.product-card__button span {
    font-size: 13px;
    transition: transform 0.28s ease;
}

.product-card:hover .product-card__button span {
    transform: translateX(4px);
}

.product-card__docs {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
}

.product-card__doc-link {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 40px;
    padding: 10px 14px;
    border: 1px solid rgba(209, 149, 69, 0.18);
    border-radius: 12px;
    background: rgba(255, 255, 255, 0.72);
    color: #6b4c31;
    font-size: 11px;
    font-weight: 800;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    transition: transform 0.26s ease, border-color 0.26s ease, box-shadow 0.26s ease, color 0.26s ease, background 0.26s ease;
}

.product-card__doc-link:hover {
    transform: translateY(-2px);
    border-color: rgba(209, 149, 69, 0.3);
    background: rgba(255, 250, 242, 0.96);
    color: var(--gold-strong);
    box-shadow: 0 14px 26px rgba(31, 18, 10, 0.08);
}

.products__action {
    display: flex;
    justify-content: center;
    margin-top: 26px;
}

.difference {
    padding: 34px 0 78px;
    background: transparent;
}

.difference__panel {
    position: relative;
    display: grid;
    grid-template-columns: minmax(0, 0.9fr) minmax(0, 1fr);
    align-items: start;
    gap: 24px;
    width: 100vw;
    max-width: none;
    padding: 34px max(24px, calc((100vw - var(--container)) / 2 + 24px));
    margin-left: calc(50% - 50vw);
    margin-right: calc(50% - 50vw);
    background:
        linear-gradient(180deg, rgba(255, 255, 255, 0.56) 0%, rgba(252, 246, 236, 0.42) 100%);
    box-shadow: none;
    backdrop-filter: blur(16px);
    -webkit-backdrop-filter: blur(16px);
    overflow: visible;
    justify-content: center;
    border: 0;
    border-radius: 0;
}

.difference__image {
    width: min(100%, 520px);
    overflow: hidden;
    border-radius: 28px;
    border: 1px solid rgba(209, 149, 69, 0.14);
    box-shadow: 0 24px 46px rgba(0, 0, 0, 0.14);
    justify-self: end;
    transition: transform 0.5s ease, box-shadow 0.5s ease;
}

.difference__image:hover {
    transform: translateY(-6px);
    box-shadow: 0 28px 52px rgba(35, 20, 10, 0.18);
}

.difference__compare {
    --split: 52%;
    position: relative;
    width: 100%;
    aspect-ratio: 1.48 / 0.72;
    overflow: hidden;
    border-radius: 28px;
    background: #120b08;
}

.difference__compare-side {
    position: absolute;
    inset: 0;
    background-image: url("../images/08_before_after.png");
    background-repeat: no-repeat;
    background-size: 200% 100%;
}

.difference__compare-side--before {
    background-position: left center;
}

.difference__compare-side--after {
    background-position: right center;
    clip-path: inset(0 0 0 var(--split));
}

.difference__compare-divider {
    position: absolute;
    top: 0;
    bottom: 0;
    left: var(--split);
    width: 0;
    transform: translateX(-50%);
    border-left: 2px solid rgba(255, 247, 236, 0.88);
    box-shadow:
        0 0 0 1px rgba(67, 35, 14, 0.12),
        0 0 28px rgba(255, 231, 197, 0.24);
    pointer-events: none;
    transition: left 0.18s ease-out;
}

.difference__compare-handle {
    position: absolute;
    top: 50%;
    left: 50%;
    width: 58px;
    height: 58px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border: 1px solid rgba(172, 115, 42, 0.28);
    border-radius: 50%;
    background:
        radial-gradient(circle at 30% 30%, rgba(255, 255, 255, 0.98) 0%, rgba(253, 241, 224, 0.94) 56%, rgba(233, 194, 136, 0.92) 100%);
    color: #8c5d23;
    font-size: 24px;
    font-weight: 700;
    line-height: 1;
    transform: translate(-50%, -50%);
    box-shadow:
        inset 0 1px 0 rgba(255, 255, 255, 0.92),
        0 16px 28px rgba(31, 18, 10, 0.24);
    transition: transform 0.22s ease, box-shadow 0.22s ease, filter 0.22s ease;
}

.difference__compare-handle::before,
.difference__compare-handle::after {
    content: "";
    position: absolute;
    top: 50%;
    width: 10px;
    height: 10px;
    margin-top: -5px;
    border-top: 2px solid currentColor;
    border-right: 2px solid currentColor;
    opacity: 0.72;
}

.difference__compare-handle::before {
    left: 12px;
    transform: rotate(-135deg);
}

.difference__compare-handle::after {
    right: 12px;
    transform: rotate(45deg);
}

.difference__compare.is-dragging .difference__compare-handle,
.difference__compare:hover .difference__compare-handle {
    transform: translate(-50%, -50%) scale(1.08);
    box-shadow:
        inset 0 1px 0 rgba(255, 255, 255, 0.96),
        0 20px 34px rgba(31, 18, 10, 0.28);
    filter: drop-shadow(0 10px 20px rgba(236, 185, 95, 0.22));
}

.difference__compare-label {
    position: absolute;
    bottom: 14px;
    z-index: 2;
    color: #fff;
    font-size: 12px;
    font-weight: 700;
    line-height: 1;
    text-transform: uppercase;
    text-shadow: 0 2px 8px rgba(0, 0, 0, 0.45);
    pointer-events: none;
}

.difference__compare-label--before {
    left: 14px;
}

.difference__compare-label--after {
    right: 14px;
}

.difference__compare-range {
    position: absolute;
    inset: 0;
    z-index: 3;
    width: 100%;
    height: 100%;
    margin: 0;
    opacity: 0;
    cursor: ew-resize;
    touch-action: none;
}

.difference__copy {
    position: relative;
    max-width: 690px;
    min-height: 340px;
    padding: 8px 250px 18px 0;
    justify-self: start;
    z-index: 1;
}

.difference__intro {
    max-width: 350px;
    margin: 0 0 18px;
    color: #6d5c51;
    font-size: 13px;
    line-height: 1.72;
}

.difference__copy ul {
    margin: 0 0 24px;
    padding: 0;
    list-style: none;
    display: grid;
    gap: 9px;
}

.difference__copy li {
    position: relative;
    padding-left: 26px;
    color: #4d4037;
    font-size: 12px;
    font-weight: 500;
    line-height: 1.42;
}

.difference__copy li::before {
    content: "";
    position: absolute;
    left: 0;
    top: 4px;
    width: 14px;
    height: 14px;
    border: 1.5px solid var(--gold);
    border-radius: 50%;
    box-shadow: inset 0 0 0 2px rgba(209, 149, 69, 0.18);
}

.difference__copy li::after {
    content: "";
    position: absolute;
    left: 4px;
    top: 8px;
    width: 5px;
    height: 3px;
    border-left: 1.5px solid var(--gold);
    border-bottom: 1.5px solid var(--gold);
    transform: rotate(-45deg);
}

.difference__leaf-wrap {
    position: absolute;
    right: -110px;
    top: 45%;
    width: 100%;
    height: auto;
    transform: translateY(-50%);
    pointer-events: none;
    z-index: 0;
    opacity: 0.86;
}

.difference__leaf-glow {
    position: absolute;
    inset: 2% 2% -6% -8%;
    border-radius: 50%;
    background:
        radial-gradient(circle at 50% 52%, rgba(255, 255, 255, 0.98) 0%, rgba(251, 240, 218, 0.84) 26%, rgba(231, 196, 138, 0.34) 52%, rgba(209, 149, 69, 0.08) 68%, rgba(209, 149, 69, 0) 80%);
    filter: blur(12px);
    opacity: 1;
    animation: leafAuraPulse 7.4s ease-in-out infinite;
}

.difference__leaf-rings {
    position: absolute;
    inset: -10% -4% -34% -24%;
    border-radius: 50%;
    background:
        radial-gradient(circle at 50% 58%, transparent 0 30%, rgba(232, 199, 142, 0.2) 30.5%, transparent 31.5%),
        radial-gradient(circle at 50% 58%, transparent 0 48%, rgba(238, 212, 171, 0.16) 48.5%, transparent 49.5%),
        radial-gradient(circle at 50% 58%, transparent 0 67%, rgba(244, 224, 193, 0.13) 67.5%, transparent 68.5%);
    opacity: 0.9;
    animation: leafRingDrift 10s ease-in-out infinite;
}

.difference__leaf {
    position: absolute;
    right: 0;
    top: 0;
    width: 400px;
    transform: translateY(-50%);
    transform-origin: 88% 58%;
    pointer-events: none;
    filter: drop-shadow(8px 14px 14px rgba(0, 0, 0, 0.22)) !important;
    animation: leafSway 7.8s cubic-bezier(0.42, 0, 0.2, 1) infinite;
    z-index: 2;
}

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

.industries {
    background: transparent;
}

.industries__lead {
    max-width: 700px;
    margin: 0 auto 34px;
    text-align: center;
    color: #6d5d52;
    font-size: 14px;
    line-height: 1.75;
}

.industry {
    position: relative;
    text-align: left;
    min-height: 360px;
    padding: 0;
    border-radius: 28px;
    border: 1px solid rgba(77, 52, 32, 0.08);
    background: #ffff;
    box-shadow: 0 22px 44px rgba(31, 18, 10, 0.1);
    backdrop-filter: blur(10px);
    overflow: hidden;
    transition: transform 0.34s ease, box-shadow 0.34s ease, border-color 0.34s ease;
}

.industry::before {
    content: "";
    position: absolute;
    inset: 0;
    background:
        linear-gradient(180deg, rgba(20, 12, 8, 0.08) 0%, rgba(20, 12, 8, 0.08) 22%, rgba(20, 12, 8, 0.68) 100%),
        linear-gradient(135deg, rgba(255, 255, 255, 0.14), transparent 32%, rgba(209, 149, 69, 0.24) 100%);
    opacity: 1;
    pointer-events: none;
    z-index: 1;
}

.industry:hover {
    transform: translateY(-10px);
    border-color: rgba(209, 149, 69, 0.26);
    box-shadow: 0 28px 54px rgba(31, 18, 10, 0.16);
}

.industry__media {
    position: absolute;
    inset: 0;
    overflow: hidden;
}

.industry__media img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.6s ease, filter 0.6s ease;
}

.industry__wash {
    position: absolute;
    inset: 0;
    background:
        linear-gradient(180deg, rgba(24, 14, 9, 0.08) 0%, rgba(24, 14, 9, 0.06) 24%, rgba(24, 14, 9, 0.74) 100%),
        radial-gradient(circle at 22% 18%, rgba(255, 255, 255, 0.22) 0%, transparent 24%);
    transition: opacity 0.38s ease, background 0.38s ease;
}

.industry:hover .industry__media img {
    transform: scale(1.08);
    filter: saturate(1.08) contrast(1.04);
}

.industry:hover .industry__wash {
    background:
        linear-gradient(180deg, rgba(24, 14, 9, 0.05) 0%, rgba(24, 14, 9, 0.02) 22%, rgba(24, 14, 9, 0.8) 100%),
        radial-gradient(circle at 22% 18%, rgba(255, 255, 255, 0.28) 0%, transparent 24%);
}

.industry__content {
    position: relative;
    z-index: 2;
    display: flex;
    min-height: 360px;
    flex-direction: column;
    justify-content: flex-end;
    padding: 28px 24px 24px;
    color: #fff8f0;
}

.industry__eyebrow {
    display: inline-flex;
    align-self: flex-start;
    margin-bottom: 14px;
    padding: 7px 12px;
    border: 1px solid rgba(255, 255, 255, 0.18);
    border-radius: 999px;
    background: rgba(33, 19, 12, 0.42);
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);
    color: rgba(255, 247, 235, 0.92);
    font-size: 10px;
    font-weight: 800;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.industry__icon {
    width: 52px;
    height: 52px;
    margin: 0 0 16px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border: 1px solid rgba(255, 255, 255, 0.16);
    border-radius: 18px;
    color: #fff7ec;
    background: rgba(255, 255, 255, 0.14);
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);
    box-shadow:
        inset 0 1px 0 rgba(255, 255, 255, 0.18);
    transition: transform 0.34s ease, background 0.34s ease, box-shadow 0.34s ease;
    animation: iconGentleFloat 4.9s ease-in-out infinite;
}

.industry:hover .industry__icon {
    transform: translateY(-4px);
    background: rgba(255, 255, 255, 0.2);
    box-shadow:
        inset 0 1px 0 rgba(255, 255, 255, 0.22),
        0 12px 22px rgba(16, 9, 6, 0.18);
}

.industry h3 {
    margin: 0 0 12px;
    color: #fff9f2;
    font-size: 28px;
    font-weight: 700;
    line-height: 1.08;
    transform: translateY(12px);
    opacity: 0.9;
    transition: transform 0.34s ease, opacity 0.34s ease;
}

.industry h3 span {
    display: block;
}

.industry p {
    margin: 0;
    max-width: 280px;
    color: rgba(255, 246, 236, 0.88);
    font-size: 14px;
    line-height: 1.72;
    opacity: 0;
    transform: translateY(18px);
    transition: opacity 0.34s ease, transform 0.34s ease;
}

.industry:hover h3,
.industry:hover p {
    transform: translateY(0);
    opacity: 1;
}

.stats-band__stats .stat:nth-child(2) .stat__icon,
.why-card:nth-child(2) .why-card__icon,
.industry:nth-child(2n) .industry__icon {
    animation-delay: 0.7s;
}

.stats-band__stats .stat:nth-child(3) .stat__icon,
.why-card:nth-child(3) .why-card__icon,
.industry:nth-child(3n) .industry__icon {
    animation-delay: 1.4s;
}

.stats-band__stats .stat:nth-child(4) .stat__icon,
.why-card:nth-child(4) .why-card__icon,
.industry:nth-child(4n) .industry__icon {
    animation-delay: 2.1s;
}

.why-card,
.industry,
.product-card {
    transform-origin: center bottom;
}

.why-card:nth-child(odd),
.industry:nth-child(3n + 1),
.product-card:nth-child(odd) {
    animation: premiumFloatA 7s ease-in-out infinite;
}

.why-card:nth-child(even),
.industry:nth-child(3n + 2),
.product-card:nth-child(even) {
    animation: premiumFloatB 8s ease-in-out infinite;
}

.why-card:nth-child(3n),
.industry:nth-child(3n),
.product-card:nth-child(3n) {
    animation-delay: -2s;
}

.cta-strip {
    position: relative;
    overflow: hidden;
    background: linear-gradient(135deg, #1a120d 0%, #100b08 52%, #22140d 100%);
}

.cta-strip::before {
    content: "";
    position: absolute;
    inset: 0;
    background:
        radial-gradient(circle at 16% 50%, rgba(212, 147, 65, 0.24) 0%, transparent 34%),
        radial-gradient(circle at 84% 38%, rgba(255, 255, 255, 0.09) 0%, transparent 26%),
        linear-gradient(90deg, rgba(255, 255, 255, 0.05), transparent 22%, transparent 78%, rgba(255, 255, 255, 0.04));
    pointer-events: none;
}

.cta-strip::after {
    content: "";
    position: absolute;
    inset: 1px;
    border: 1px solid rgba(255, 255, 255, 0.06);
    pointer-events: none;
}

.cta-strip__inner {
    position: relative;
    min-height: 124px;
    display: grid;
    grid-template-columns: 1.5fr 1fr auto;
    align-items: center;
    gap: 34px;
    padding: 34px 0;
}

.cta-strip__title h2 {
    margin: 0;
    color: #fff;
    font-size: clamp(28px, 3vw, 40px);
    line-height: 1.05;
    text-shadow: 0 6px 20px rgba(0, 0, 0, 0.28);
}

.cta-strip__inner p {
    margin: 0;
    color: rgba(255, 244, 232, 0.84);
    font-size: 15px;
    line-height: 1.7;
}

.cta-strip__actions {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-end;
    gap: 14px;
}

.cta-strip__actions a:hover {
    transform: translateY(-4px);
}

.cta-strip .gold-button,
.cta-strip .dark-outline-button {
    min-height: 48px;
    padding-inline: 24px;
}

.floating-cta {
    position: fixed;
    right: 18px;
    bottom: 18px;
    z-index: 1300;
    display: grid;
    gap: 12px;
}

.floating-cta__item {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 58px;
    height: 58px;
    padding: 0;
    border-radius: 50%;
    box-shadow: 0 20px 40px rgba(31, 18, 10, 0.22);
    backdrop-filter: blur(12px);
    transition: transform 0.28s ease, box-shadow 0.28s ease;
}

.floating-cta__item:hover {
    transform: translateY(-3px);
    box-shadow: 0 24px 42px rgba(31, 18, 10, 0.28);
}

.floating-cta__item--whatsapp {
    background: linear-gradient(135deg, #1ca85a 0%, #0d7f41 100%);
    color: #fff;
}

.floating-cta__item--quote {
    background: linear-gradient(135deg, #20130d 0%, #5b361d 100%);
    color: #fff7ee;
}

.floating-cta__icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 42px;
    height: 42px;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.16);
    flex-shrink: 0;
}

.floating-cta__icon svg {
    width: 20px;
    height: 20px;
    fill: none;
    stroke: currentColor;
    stroke-width: 1.8;
    stroke-linecap: round;
    stroke-linejoin: round;
}

.footer-trust {
    position: relative;
    padding: 0 0 18px;
    background: transparent;
}

.footer-trust__inner {
    display: grid;
    grid-template-columns: minmax(0, 1.1fr) minmax(0, 1fr);
    gap: 24px;
    align-items: center;
    padding: 26px 28px;
    border: 1px solid rgba(209, 149, 69, 0.12);
    border-radius: 32px;
    background:
        linear-gradient(180deg, rgba(255, 255, 255, 0.94) 0%, rgba(252, 246, 236, 0.92) 100%);
    box-shadow:
        inset 0 1px 0 rgba(255, 255, 255, 0.9),
        0 24px 48px rgba(31, 18, 10, 0.08);
}

.footer-trust__eyebrow {
    margin: 0 0 10px;
    color: var(--gold-strong);
    font-size: 11px;
    font-weight: 900;
    letter-spacing: 0.18em;
    text-transform: uppercase;
}

.footer-trust__copy h2 {
    margin: 0;
    color: #2b1a12;
    font-size: clamp(24px, 2.8vw, 38px);
    line-height: 1.08;
}

.footer-trust__badges {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 14px;
}

.footer-trust__badge {
    display: grid;
    justify-items: center;
    gap: 10px;
    padding: 16px 12px 14px;
    border: 1px solid rgba(209, 149, 69, 0.12);
    border-radius: 22px;
    background: rgba(255, 255, 255, 0.8);
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.84);
    text-align: center;
    transition: transform 0.28s ease, box-shadow 0.28s ease, border-color 0.28s ease;
}

.footer-trust__badge:hover {
    transform: translateY(-4px);
    border-color: rgba(209, 149, 69, 0.24);
    box-shadow: 0 18px 32px rgba(31, 18, 10, 0.08);
}

.footer-trust__badge img {
    width: auto;
    max-width: 50px;
    max-height: 50px;
}

.footer-trust__badge span {
    color: #5f4b3d;
    font-size: 11px;
    font-weight: 800;
    line-height: 1.4;
}

.footer {
    position: relative;
    background: linear-gradient(180deg, #513624 0%, #261710 32%, #110b08 100%) !important;
    color: rgba(255, 255, 255, 0.88);
}

.footer::before {
    content: "";
    position: absolute;
    inset: 0;
    background:
        radial-gradient(circle at 12% 18%, rgba(214, 155, 74, 0.16) 0%, transparent 24%),
        radial-gradient(circle at 88% 12%, rgba(255, 255, 255, 0.06) 0%, transparent 20%),
        linear-gradient(180deg, rgba(255, 255, 255, 0.04), transparent 18%);
    pointer-events: none;
}

.footer__grid {
    position: relative;
    padding: 68px 0 42px;
    display: grid;
    grid-template-columns: 1.25fr 0.9fr 0.9fr 1fr 1.05fr;
    gap: 30px;
}

.footer__column,
.footer__newsletter-card {
    position: relative;
}

.footer__grid > *:not(:first-child) {
    padding-left: 24px;
    border-left: 1px solid rgba(255, 255, 255, 0.1);
}

.footer__brand img {
    width: 196px;
    max-width: 100%;
    margin-bottom: 18px;
}

.footer__brand p,
.footer__newsletter-copy {
    margin: 0;
    color: rgba(255, 245, 236, 0.78);
    font-size: 13px;
    line-height: 1.8;
}

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

.footer h3 {
    margin: 0 0 18px;
    color: #f7dfbe;
    font-size: 12px;
    font-weight: 900;
    letter-spacing: 0.18em;
    text-transform: uppercase;
}

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

.footer li,
.footer li a {
    color: rgba(255, 250, 246, 0.84);
    font-size: 13px;
    line-height: 1.85;
    transition: color 0.24s ease, transform 0.24s ease;
}

.footer li a:hover {
    color: #f4c27a;
    transform: translateX(2px);
}

.footer__contact li + li {
    margin-top: 8px;
}

.footer__newsletter-card {
    padding: 22px 22px 20px;
    border: 1px solid rgba(255, 255, 255, 0.08);
    border-radius: 26px;
    background: linear-gradient(180deg, rgba(255, 255, 255, 0.08) 0%, rgba(255, 255, 255, 0.04) 100%);
    box-shadow:
        inset 0 1px 0 rgba(255, 255, 255, 0.08),
        0 16px 32px rgba(7, 4, 3, 0.16);
}

.footer__newsletter {
    margin-top: 18px;
    display: flex;
    overflow: hidden;
    border: 1px solid rgba(255, 255, 255, 0.12);
    border-radius: 14px;
    background: rgba(255, 255, 255, 0.97);
    box-shadow: 0 14px 28px rgba(15, 10, 8, 0.18);
    transition: transform 0.3s ease, box-shadow 0.3s ease, border-color 0.3s ease;
}

.footer__newsletter:focus-within {
    transform: translateY(-2px);
    border-color: rgba(214, 155, 74, 0.36);
    box-shadow: 0 20px 36px rgba(15, 10, 8, 0.22);
}

.footer__newsletter input {
    width: 100%;
    min-height: 48px;
    padding: 0 16px;
    border: 0;
    color: #36271d;
    background: transparent;
}

.footer__newsletter button {
    min-width: 72px;
    padding: 0 16px;
    border: 0;
    background: linear-gradient(135deg, #bc7a2d 0%, #e0a85b 100%);
    color: #fff;
    font-size: 12px;
    font-weight: 800;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    cursor: pointer;
}

.footer__newsletter-note {
    margin: 14px 0 0;
    color: rgba(255, 240, 224, 0.64);
    font-size: 11px;
    line-height: 1.6;
}

@keyframes leafSway {
    0%,
    100% {
        transform: translateY(-50%) translateX(0) rotate(0deg);
    }
    18% {
        transform: translateY(calc(-50% - 4px)) translateX(-5px) rotate(-1.8deg);
    }
    38% {
        transform: translateY(calc(-50% - 10px)) translateX(4px) rotate(1.4deg);
    }
    58% {
        transform: translateY(calc(-50% - 6px)) translateX(-8px) rotate(-2.6deg);
    }
    78% {
        transform: translateY(calc(-50% - 12px)) translateX(6px) rotate(1.8deg);
    }
}

@keyframes leafAuraPulse {
    0%,
    100% {
        transform: scale(0.98);
        opacity: 0.84;
    }
    50% {
        transform: scale(1.04);
        opacity: 1;
    }
}

@keyframes leafRingDrift {
    0%,
    100% {
        transform: rotate(0deg) scale(0.98);
        opacity: 0.76;
    }
    50% {
        transform: rotate(6deg) scale(1.02);
        opacity: 1;
    }
}

@keyframes horseRunMotion {
    0%,
    100% {
        transform: translate3d(0, 0, 0) rotate(0deg);
    }
    20% {
        transform: translate3d(8px, -5px, 0) rotate(0.7deg);
    }
    45% {
        transform: translate3d(14px, -2px, 0) rotate(-0.5deg);
    }
    70% {
        transform: translate3d(7px, 4px, 0) rotate(0.55deg);
    }
    85% {
        transform: translate3d(2px, 1px, 0) rotate(-0.35deg);
    }
}

@keyframes horseLookAlive {
    0%,
    100% {
        filter: drop-shadow(0 14px 28px rgba(168, 128, 82, 0.12));
    }
    50% {
        filter: drop-shadow(0 22px 34px rgba(168, 128, 82, 0.2));
    }
}

@keyframes horseWindTrail {
    0%,
    100% {
        transform: translate3d(0, 0, 0) scaleX(0.94);
        opacity: 0.42;
    }
    35% {
        transform: translate3d(-14px, -2px, 0) scaleX(1.06);
        opacity: 0.88;
    }
    70% {
        transform: translate3d(-26px, 2px, 0) scaleX(1.14);
        opacity: 0.3;
    }
}

@keyframes horseWindStreak {
    0% {
        transform: translate3d(20px, 0, 0) scaleX(0.72);
        opacity: 0;
    }
    22% {
        opacity: 0.55;
    }
    58% {
        transform: translate3d(-34px, 0, 0) scaleX(1.08);
        opacity: 0.16;
    }
    100% {
        transform: translate3d(-54px, 0, 0) scaleX(1.18);
        opacity: 0;
    }
}

@keyframes siteAuroraFlow {
    0% {
        transform: translate3d(0, 0, 0) scale(1);
    }
    100% {
        transform: translate3d(0, 10px, 0) scale(1.02);
    }
}

@keyframes siteContourDrift {
    0% {
        transform: translate3d(-1.2%, 0, 0) scale(1);
    }
    100% {
        transform: translate3d(1.2%, 1%, 0) scale(1.018);
    }
}

@keyframes heroTypingLine1 {
    from {
        width: 0;
    }
    to {
        width: 8.4ch;
    }
}

@keyframes heroTypingLine2 {
    from {
        width: 0;
    }
    to {
        width: 8.6ch;
    }
}

@keyframes heroTypingLine3 {
    from {
        width: 0;
    }
    to {
        width: 9.8ch;
    }
}

@keyframes heroCaretBlink {
    0%,
    49% {
        border-right-color: rgba(34, 25, 20, 0.72);
    }
    50%,
    100% {
        border-right-color: transparent;
    }
}

@keyframes heroCaretBlinkHold {
    0%,
    49% {
        border-right-color: rgba(190, 125, 43, 0.82);
    }
    50%,
    100% {
        border-right-color: transparent;
    }
}

@keyframes heroCaretHide {
    from {
        border-right-color: transparent;
    }
    to {
        border-right-color: transparent;
        border-right-width: 0;
    }
}

@keyframes heroBackgroundDrift {
    0% {
        background-position:
            0 0,
            50% 50%,
            50% 50%;
        transform: scale(1);
    }
    100% {
        background-position:
            0 0,
            51% 49.5%,
            52% 50%;
        transform: scale(1.018);
    }
}

@keyframes heroLightSweep {
    0%,
    100% {
        transform: translate3d(-1.5%, 0, 0) scale(1);
        opacity: 0.48;
    }
    50% {
        transform: translate3d(1.5%, -1.2%, 0) scale(1.03);
        opacity: 0.82;
    }
}

@keyframes heroOverlayBloom {
    0% {
        opacity: 0.72;
        transform: translate3d(0, 0, 0) scale(1);
    }
    100% {
        opacity: 0.94;
        transform: translate3d(0.8%, -1.2%, 0) scale(1.03);
    }
}

@keyframes heroFadeInSoft {
    from {
        opacity: 0;
    }
    to {
        opacity: 0.9;
    }
}

@keyframes heroBannerLayerIn {
    from {
        opacity: 0;
        transform: translate3d(1.5%, 0, 0) scale(1.04);
        filter: blur(10px);
    }
    to {
        opacity: 0.84;
        transform: translate3d(0, 0, 0) scale(1);
        filter: blur(0);
    }
}

@keyframes heroBannerGlowIn {
    from {
        opacity: 0;
        transform: translate3d(-1.5%, 1.5%, 0) scale(1.03);
        filter: blur(20px);
    }
    to {
        opacity: 1;
        transform: translate3d(0, 0, 0) scale(1);
        filter: blur(14px);
    }
}

@keyframes heroFadeUp {
    from {
        opacity: 0;
        transform: translate3d(0, 18px, 0);
        filter: blur(6px);
    }
    to {
        opacity: 1;
        transform: translate3d(0, 0, 0);
        filter: blur(0);
    }
}

@keyframes heroLineReveal {
    from {
        opacity: 0;
        transform: translate3d(0, 24px, 0) scale(0.985);
        filter: blur(8px);
    }
    to {
        opacity: 1;
        transform: translate3d(0, 0, 0) scale(1);
        filter: blur(0);
    }
}

@keyframes heroButtonReveal {
    from {
        opacity: 0;
        transform: translate3d(0, 12px, 0) scale(0.98);
        filter: blur(4px);
    }
    to {
        opacity: 1;
        transform: translate3d(0, 0, 0) scale(1);
        filter: blur(0);
    }
}

@keyframes heroContentFloat {
    0%,
    100% {
        transform: translate3d(0, 0, 0);
    }
    50% {
        transform: translate3d(0, -4px, 0);
    }
}

@keyframes heroTextAura {
    0% {
        transform: translate3d(-2.5%, 0, 0) scale(1);
        opacity: 0.86;
    }
    50% {
        transform: translate3d(3%, -2.2%, 0) scale(1.08);
        opacity: 1;
    }
    100% {
        transform: translate3d(0.8%, 1.8%, 0) scale(1.04);
        opacity: 0.9;
    }
}

@keyframes heroCopyAura {
    0% {
        transform: translate3d(-6px, 0, 0) scale(1);
        opacity: 0.82;
    }
    50% {
        transform: translate3d(10px, -6px, 0) scale(1.04);
        opacity: 1;
    }
    100% {
        transform: translate3d(2px, 6px, 0) scale(1.02);
        opacity: 0.88;
    }
}

@keyframes heroHeadlineGlow {
    0% {
        transform: translate3d(-8px, 0, 0) scale(0.98);
        opacity: 0.82;
    }
    50% {
        transform: translate3d(10px, -6px, 0) scale(1.05);
        opacity: 1;
    }
    100% {
        transform: translate3d(2px, 8px, 0) scale(1.02);
        opacity: 0.9;
    }
}

@keyframes premiumFloatA {
    0%,
    100% {
        transform: translateY(0);
    }
    50% {
        transform: translateY(-6px);
    }
}

@keyframes premiumFloatB {
    0%,
    100% {
        transform: translateY(0);
    }
    50% {
        transform: translateY(-4px);
    }
}

@keyframes titleAccentFlow {
    0% {
        background-position: 0% 50%;
    }
    100% {
        background-position: 200% 50%;
    }
}

@keyframes iconGentleFloat {
    0%,
    100% {
        transform: translateY(0) scale(1);
        filter: none;
    }

    50% {
        transform: translateY(-4px) scale(1.03);
        filter: drop-shadow(0 8px 16px rgba(209, 149, 69, 0.14));
    }
}

@keyframes titleAuraDrift {
    0% {
        transform: translate3d(-1.5%, 0, 0) scale(0.98);
        opacity: 0.82;
    }
    50% {
        transform: translate3d(1.8%, -2%, 0) scale(1.04);
        opacity: 1;
    }
    100% {
        transform: translate3d(0.6%, 1.4%, 0) scale(1.01);
        opacity: 0.9;
    }
}

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

    *,
    *::before,
    *::after {
        animation: none !important;
        transition-duration: 0.01ms !important;
        transition-delay: 0ms !important;
    }

    [data-reveal] {
        opacity: 1 !important;
        transform: none !important;
        filter: none !important;
    }
}

/* Shared accessibility and footer form states. */
.skip-link {
    position: fixed;
    top: 10px;
    left: 10px;
    z-index: 10000;
    padding: 11px 16px;
    border-radius: 10px;
    color: #fff;
    background: #2f1d13;
    box-shadow: 0 10px 24px rgba(25, 13, 6, .24);
    font-size: 13px;
    font-weight: 700;
    text-decoration: none;
    transform: translateY(-160%);
    transition: transform .2s ease;
}

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

.footer__newsletter-status {
    grid-column: 1 / -1;
    margin: 0;
    color: #f5d59f;
    font-size: 12px;
    line-height: 1.5;
}

.footer__newsletter-status--error {
    color: #ffd1c9;
}

.footer__newsletter-honeypot {
    position: absolute !important;
    width: 1px !important;
    height: 1px !important;
    overflow: hidden !important;
    clip: rect(0, 0, 0, 0) !important;
    white-space: nowrap !important;
}

@media (max-width: 860px) {
    .nav__group-title,
    .nav__group-list a {
        display: flex;
        align-items: center;
        min-height: 40px;
    }
}

.footer__bottom {
    position: relative;
    min-height: 62px;
    border-top: 1px solid rgba(255, 255, 255, 0.12);
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 18px;
    color: rgba(255, 245, 236, 0.72);
    font-size: 12px;
}

.footer__copyright {
    margin: 0;
    flex: 1 1 auto;
    display: block;
    color: rgba(255, 247, 238, 0.96);
    font-size: 12px;
    font-weight: 500;
    line-height: 1.6;
    letter-spacing: 0.02em;
    text-align: left;
    text-shadow: 0 1px 10px rgba(0, 0, 0, 0.22);
}

.footer__bottom > * {
    opacity: 1 !important;
    transform: none !important;
    filter: none !important;
}

.footer__legal {
    display: flex;
    gap: 24px;
}

.footer__legal a {
    transition: color 0.24s ease;
}

.footer__legal a:hover {
    color: #f4c27a;
}

@media (max-width: 1180px) {
    .footer-trust__inner {
        grid-template-columns: 1fr;
    }

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

    .header__inner {
        grid-template-columns: minmax(145px, 185px) 1fr auto;
        gap: 18px;
    }

    .logo img {
        width: 180px;
    }

    .nav {
        gap: 4px;
        padding-inline: 10px;
    }

    .nav__link {
        padding-inline: 12px;
        font-size: 13px;
    }

    .hero__inner,
    .about__inner,
    .difference__panel,
    .cta-strip__inner,
    .footer__grid {
        grid-template-columns: 1fr;
    }

    .hero__inner,
    .hero__inner::before,
    .hero__inner::after,
    .hero-copy,
    .hero-copy::before,
    .hero-copy__title::before {
        animation: none;
    }

    .cta-strip__inner {
        gap: 22px;
        padding: 30px 0;
    }

    .footer__grid {
        gap: 22px;
    }

    .footer__grid > *:not(:first-child) {
        padding-left: 0;
        border-left: 0;
    }

    .stats-band__inner {
        grid-template-columns: 1fr;
        gap: 12px;
        padding: 18px 22px;
    }

    .stats-band__stats,
    .products__grid,
    .why__grid,
    .industries__grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .stats-band__certs {
        grid-template-columns: repeat(4, minmax(0, 1fr));
    }

    .about__horse {
        display: none;
    }

    .difference__copy {
        max-width: none;
        min-height: 0;
        padding: 0;
    }

    .difference__leaf-wrap {
        display: none;
    }

    .cta-strip__actions {
        justify-content: flex-start;
    }

    .nav__dropdown {
        width: min(1000px, calc(100vw - 42px));
    }

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

@media (max-width: 860px) {
    .container {
        width: min(var(--container), calc(100% - 32px));
    }

    .footer-trust__inner {
        padding: 22px 18px;
    }

    .footer-trust__copy h2 {
        font-size: clamp(22px, 6vw, 30px);
    }

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

    .topbar__inner,
    .footer__bottom {
        grid-template-columns: 1fr;
        justify-items: center;
        text-align: center;
    }

    .topbar__left,
    .topbar__right {
        justify-content: center;
        flex-wrap: wrap;
        gap: 10px 14px;
    }

    .topbar {
        display: none;
    }

    .header {
        background: rgba(255, 255, 255, 0.84);
        backdrop-filter: saturate(1.14) blur(16px);
        -webkit-backdrop-filter: saturate(1.14) blur(16px);
    }

    .header__inner {
        grid-template-columns: minmax(0, 1fr) auto;
        justify-items: stretch;
        align-items: center;
        gap: 12px;
        min-height: 72px;
        padding: 12px 0;
    }

    .logo img,
    .header--scrolled .logo img {
        width: 145px;
    }

    .header__actions {
        display: none;
    }

    .quote-button {
        min-height: 42px;
        padding-inline: 16px;
        font-size: 11px;
        letter-spacing: 0.06em;
    }

    .nav-toggle {
        display: inline-flex;
    }

    .nav-toggle[aria-expanded="true"] span:nth-child(1) {
        transform: translateY(7px) rotate(45deg);
    }

    .nav-toggle[aria-expanded="true"] span:nth-child(2) {
        opacity: 0;
    }

    .nav-toggle[aria-expanded="true"] span:nth-child(3) {
        transform: translateY(-7px) rotate(-45deg);
    }

    .nav {
        position: absolute;
        top: 100%;
        left: 50%;
        right: auto;
        display: grid;
        align-content: start;
        gap: 8px;
        width: 100vw;
        min-width: 0;
        min-height: calc(100dvh - 72px);
        padding: 18px max(16px, env(safe-area-inset-right)) 28px max(16px, env(safe-area-inset-left));
        border: 0;
        border-top: 1px solid rgba(209, 149, 69, 0.16);
        border-radius: 0 0 24px 24px;
        background:
            radial-gradient(circle at 100% 0%, rgba(213, 160, 84, 0.16), transparent 28%),
            linear-gradient(180deg, #fffdfa 0%, #f9f2e8 100%);
        box-shadow: 0 26px 42px rgba(44, 26, 14, 0.14);
        backdrop-filter: blur(22px);
        -webkit-backdrop-filter: blur(22px);
        opacity: 0;
        visibility: hidden;
        transform: translate(-50%, -10px);
        pointer-events: none;
        max-height: calc(100dvh - 72px);
        overflow-y: auto;
        overflow-x: hidden;
        overscroll-behavior: contain;
        -webkit-overflow-scrolling: touch;
        transition: opacity 0.28s ease, transform 0.28s ease, visibility 0.28s ease;
    }

    .nav-backdrop {
        position: fixed;
        inset: 0;
        z-index: -1;
        display: block;
        border: 0;
        background: rgba(28, 17, 10, 0.28);
        opacity: 0;
        pointer-events: none;
        transition: opacity 0.28s ease;
    }

    .nav-backdrop.is-visible {
        z-index: 1;
        opacity: 1;
        pointer-events: auto;
    }

    .header__inner {
        position: relative;
        z-index: 2;
    }

    .nav.is-open {
        opacity: 1;
        visibility: visible;
        transform: translate(-50%, 0);
        pointer-events: auto;
    }

    .nav__link {
        justify-content: space-between;
        width: 100%;
        min-height: 48px;
        padding-inline: 16px;
        border: 1px solid rgba(188, 125, 43, 0.14);
        border-radius: 16px;
        background: linear-gradient(100deg, rgba(255, 255, 255, 0.9) 0%, rgba(255, 248, 238, 0.78) 100%);
        box-shadow: 0 7px 18px rgba(82, 48, 20, 0.04), inset 0 1px 0 rgba(255, 255, 255, 0.9);
        font-weight: 700;
    }

    .nav__item,
    .nav__item--dropdown,
    .nav__item-linkwrap {
        position: relative;
        display: grid;
        min-width: 0;
        width: 100%;
    }

    .nav__item--dropdown::after,
    .nav__indicator {
        display: none;
    }

    .nav__item-linkwrap {
        grid-template-columns: minmax(0, 1fr) auto;
        gap: 8px;
    }

    .nav__dropdown-toggle {
        width: 48px;
        height: 48px;
        margin-left: 0;
        border: 1px solid rgba(188, 125, 43, 0.14);
        background: linear-gradient(180deg, #fffaf2 0%, #f5e7d1 100%);
        box-shadow: 0 7px 18px rgba(82, 48, 20, 0.05);
    }

    .nav__dropdown {
        position: static;
        left: auto;
        width: 100%;
        min-width: 0;
        max-width: 100%;
        box-sizing: border-box;
        max-height: 0;
        margin-top: 0;
        padding: 0 14px;
        border: 0;
        border-radius: 18px;
        background: rgba(255, 252, 247, 0.94);
        box-shadow: none;
        opacity: 1;
        visibility: visible;
        overflow: hidden;
        transform: none;
        transition: max-height 0.3s ease, padding 0.3s ease, margin-top 0.3s ease;
        backdrop-filter: none;
        -webkit-backdrop-filter: none;
    }

    .nav__dropdown::before {
        display: none;
    }

    .nav__item--dropdown.is-open .nav__dropdown {
        max-height: min(72vh, 920px);
        margin-top: 6px;
        padding: 12px;
        overflow-y: auto;
        transform: none;
    }

    .nav__dropdown-top {
        display: none;
    }

    .nav__dropdown-grid {
        display: grid;
        gap: 10px;
        width: 100%;
        min-width: 0;
    }

    .nav__dropdown-grid {
        grid-template-columns: 1fr;
    }

    .nav__dropdown-grid::before {
        content: "Main Categories";
        display: block;
        padding: 8px 4px 10px;
        color: var(--gold-strong);
        font-size: 11px;
        font-weight: 800;
        letter-spacing: 0.12em;
        text-transform: uppercase;
        border-bottom: 1px solid rgba(188, 125, 43, 0.18);
    }

    .nav__group {
        min-height: 0;
        min-width: 0;
        width: 100%;
        padding: 12px 14px;
        border-radius: 14px;
        border-color: rgba(188, 125, 43, 0.14);
        background: linear-gradient(135deg, rgba(255, 255, 255, 0.92) 0%, rgba(255, 247, 235, 0.74) 100%);
        box-shadow: 0 10px 20px rgba(82, 48, 20, 0.05), inset 0 1px 0 rgba(255, 255, 255, 0.92);
    }

    .nav__group-head {
        display: block;
        margin: 0;
    }

    .nav__group-media,
    .nav__group-copy,
    .nav__group-meta {
        display: none;
    }

    .nav__group-title {
        display: block;
        position: relative;
        margin: 0 0 10px;
        padding-left: 11px;
        color: #3d281b;
        font-size: 13px;
        letter-spacing: -0.01em;
    }

    .nav__group-title::before {
        content: "";
        position: absolute;
        top: 3px;
        left: 0;
        width: 3px;
        height: 14px;
        border-radius: 999px;
        background: linear-gradient(180deg, #e6b15e 0%, #ba7629 100%);
    }

    .nav__group-list {
        gap: 3px;
        min-width: 0;
    }

    .nav__group-list a {
        padding: 7px 8px 7px 17px;
        border-radius: 9px;
        background: rgba(255, 255, 255, 0.52);
        font-size: 12px;
        overflow-wrap: anywhere;
    }

    .nav__group-list a::before {
        left: 8px;
        top: 14px;
        background: #d39a4c;
    }

    .nav__group-meta {
        flex-wrap: wrap;
    }

    .nav__group-head {
        grid-template-columns: 72px minmax(0, 1fr);
    }

    .hero {
        padding: 0;
    }

    .stats-band {
        margin-top: -24px;
        padding-bottom: 8px;
    }

    .hero__inner {
        min-height: 0;
        aspect-ratio: auto;
        grid-template-columns: 1fr;
        align-content: center;
        padding: 18px 16px;
        background-size: cover;
        background-position: 62% center;
        box-shadow: inset 0 -20px 40px rgba(20, 12, 8, 0.08);
    }

    .hero-copy {
        padding: 12px 0 28px;
    }

    .hero-copy__kicker {
        display: inline-flex;
        width: fit-content;
        max-width: 100%;
        margin-bottom: 12px;
        padding: 7px 10px;
        border-left: 3px solid rgba(194, 123, 41, 0.72);
        border-radius: 0 9px 9px 0;
        background: linear-gradient(90deg, rgba(255, 253, 249, 0.97) 0%, rgba(255, 250, 242, 0.91) 74%, rgba(255, 248, 237, 0.8) 100%);
        box-shadow: 0 8px 20px rgba(52, 31, 18, 0.09);
        color: #a86017;
        font-size: 10px;
        letter-spacing: 0.14em;
        line-height: 1.35;
        white-space: nowrap;
        text-shadow: 0 1px 0 rgba(255, 255, 255, 0.9);
        backdrop-filter: blur(5px);
        -webkit-backdrop-filter: blur(5px);
    }

    .hero-copy h1 {
        font-size: clamp(38px, 10vw, 52px);
    }

    .hero-copy > p:not(.section-kicker) {
        max-width: min(34rem, calc(100% - 4px));
        padding: 10px 12px;
        border-left: 3px solid rgba(194, 123, 41, 0.72);
        border-radius: 0 12px 12px 0;
        background: linear-gradient(90deg, rgba(255, 253, 249, 0.96) 0%, rgba(255, 250, 242, 0.9) 72%, rgba(255, 248, 237, 0.78) 100%);
        box-shadow: 0 10px 24px rgba(52, 31, 18, 0.1);
        color: #30251f;
        font-weight: 600;
        text-shadow: 0 1px 0 rgba(255, 255, 255, 0.86);
        backdrop-filter: blur(5px);
        -webkit-backdrop-filter: blur(5px);
    }

    .hero-copy__trust {
        align-items: flex-start;
        flex-direction: column;
        gap: 8px;
    }

    .hero-copy__trust strong {
        flex: 0 1 auto;
        width: min(240px, calc(100% - 70px));
        max-width: none;
        padding: 8px 10px;
        border-left: 3px solid rgba(194, 123, 41, 0.72);
        border-radius: 0 10px 10px 0;
        background: linear-gradient(90deg, rgba(255, 253, 249, 0.96) 0%, rgba(255, 250, 242, 0.9) 72%, rgba(255, 248, 237, 0.78) 100%);
        box-shadow: 0 8px 20px rgba(52, 31, 18, 0.1);
        color: #30251f;
        text-shadow: 0 1px 0 rgba(255, 255, 255, 0.86);
        backdrop-filter: blur(5px);
        -webkit-backdrop-filter: blur(5px);
    }

    .stats-band__stats,
    .products__grid,
    .why__grid,
    .industries__grid,
    .stats-band__certs {
        grid-template-columns: 1fr;
    }

    .stats-band__certs {
        grid-template-columns: repeat(4, minmax(0, 1fr));
    }

    .stats-band__quality {
        text-align: center;
    }

    .stat,
    .certification {
        justify-content: center;
    }

    .about,
    .products,
    .industries,
    .why {
        padding: 42px 0;
    }

    .difference__copy {
        min-height: 0;
        padding-right: 0;
    }

    .difference__leaf-wrap {
        display: none;
    }

    .footer__legal {
        flex-wrap: wrap;
        justify-content: center;
    }

    .footer__brand {
        justify-items: center;
        text-align: center;
    }

    .footer__brand img {
        width: 172px;
        margin-inline: auto;
    }

    .cta-strip__inner {
        gap: 18px;
        padding: 26px 0;
    }

    .cta-strip__inner p {
        max-width: 40rem;
    }

    .cta-strip__actions {
        width: 100%;
        gap: 12px;
    }

    .cta-strip .gold-button,
    .cta-strip .dark-outline-button {
        flex: 1 1 220px;
        justify-content: center;
    }

    .floating-cta {
        right: 12px;
        bottom: 12px;
        gap: 10px;
    }

    .floating-cta__item {
        width: 52px;
        height: 52px;
    }
}

@media (max-width: 420px) {
    .header__inner {
        gap: 8px;
    }

    .logo img,
    .header--scrolled .logo img {
        width: 120px;
    }

}

@media (max-width: 640px) {
    body::before,
    body::after,
    .hero__inner::before,
    .hero__inner::after,
    .hero-copy::before,
    .hero-copy__title::before {
        animation: none;
    }

    .cta-strip__title h2,
    .footer-trust__copy h2 {
        line-height: 1.15;
    }

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

    .footer__newsletter {
        grid-template-columns: 1fr;
    }

    .footer__newsletter button {
        width: 100%;
        min-height: 46px;
    }

    .floating-cta__item {
        width: 48px;
        height: 48px;
    }

    .floating-cta__icon {
        width: 38px;
        height: 38px;
    }
}

/* Contact page */
.contact-hero {
    position: relative;
    overflow: hidden;
    display: grid;
    min-height: clamp(300px, 25vw, 330px);
    place-items: center;
    isolation: isolate;
    color: #fffaf3;
    background: #1d110b;
}

.contact-hero__media {
    position: absolute;
    z-index: -3;
    inset: -3%;
    background: var(--contact-banner-image, url('../images/contact-banner.jpg')) center center / cover no-repeat;
    animation: contactHeroZoom 16s ease-in-out infinite alternate;
}

.contact-hero::before {
    content: "";
    position: absolute;
    z-index: -2;
    inset: 0;
    background:
        linear-gradient(90deg, rgba(25, 13, 6, .78) 0%, rgba(54, 31, 16, .55) 38%, rgba(33, 18, 9, .12) 72%, rgba(33, 18, 9, .3) 100%),
        linear-gradient(180deg, rgba(15, 8, 4, .15), rgba(15, 8, 4, .52));
    pointer-events: none;
}

.contact-hero::after {
    content: "";
    position: absolute;
    z-index: -1;
    inset: 0;
    background: linear-gradient(112deg, transparent 28%, rgba(255,255,255,.2) 44%, transparent 60%);
    transform: translateX(-125%);
    animation: contactHeroShine 7s ease-in-out infinite;
    pointer-events: none;
}

.contact-hero__title { position: relative; z-index: 2; text-align: center; }
.contact-hero__title p {
    margin: 0;
    color: #fff;
    font-family: var(--font-heading);
    font-size: clamp(44px, 5.25vw, 72px);
    font-weight: 700;
    line-height: 1.05;
    letter-spacing: -.02em;
    word-spacing: .14em;
    text-shadow: 0 8px 34px rgba(20, 10, 4, .45);
    animation: contactTitleIn .9s cubic-bezier(.2,.8,.2,1) both;
}

.contact-hero__title p::after {
    content: "";
    display: block;
    width: 76px;
    height: 4px;
    margin: 18px auto 0;
    border-radius: 99px;
    background: linear-gradient(90deg, #d78e34, #f3ca83);
    box-shadow: 0 8px 22px rgba(216, 145, 52, .38);
}

.contact-hero__effects span { position: absolute; z-index: 1; border: 1px solid rgba(255, 227, 186, .36); border-radius: 50%; pointer-events: none; }
.contact-hero__effects span:nth-child(1) { width: 290px; height: 290px; right: 7%; top: -120px; animation: contactFloat 8s ease-in-out infinite; }
.contact-hero__effects span:nth-child(2) { width: 150px; height: 150px; left: 8%; bottom: -62px; animation: contactFloat 6s ease-in-out -2s infinite reverse; }
.contact-hero__effects span:nth-child(3) { width: 12px; height: 12px; right: 24%; bottom: 22%; border: 0; background: #edb760; box-shadow: 0 0 0 9px rgba(237,183,96,.16), 0 0 28px rgba(237,183,96,.7); animation: contactPulse 3s ease-in-out infinite; }

.contact-hero__signal {
    position: absolute;
    z-index: 2;
    right: clamp(42px, 10vw, 150px);
    top: 50%;
    width: 176px;
    height: 176px;
    transform: translateY(-50%);
    pointer-events: none;
}

.contact-hero__signal-ring {
    position: absolute;
    inset: 0;
    border: 1px solid rgba(245, 205, 140, .36);
    border-radius: 50%;
    animation: contactSignal 3.6s ease-out infinite;
}
.contact-hero__signal-ring:nth-child(2) { animation-delay: -1.2s; }
.contact-hero__signal-ring:nth-child(3) { animation-delay: -2.4s; }
.contact-hero__signal svg {
    position: absolute;
    left: 50%;
    top: 50%;
    width: 54px;
    height: 54px;
    padding: 13px;
    border-radius: 18px;
    fill: none;
    stroke: #f0b65e;
    stroke-width: 1.8;
    transform: translate(-50%, -50%) rotate(-8deg);
    filter: drop-shadow(0 8px 18px rgba(236, 172, 75, .48));
    animation: contactPhoneFloat 3s ease-in-out infinite;
}
.contact-hero__signal i { position: absolute; width: 18px; height: 18px; border: 1px solid rgba(242,196,122,.5); background: rgba(224,156,65,.2); transform: rotate(45deg); animation: contactShapeFloat 5s ease-in-out infinite; }
.contact-hero__signal i:nth-of-type(1) { left: -26px; top: 28px; }
.contact-hero__signal i:nth-of-type(2) { right: -15px; bottom: 27px; width: 11px; height: 11px; animation-delay: -1.5s; }
.contact-hero__signal i:nth-of-type(3) { left: 12px; bottom: -24px; width: 13px; height: 13px; animation-delay: -3s; }

.contact-intro {
    position: relative;
    overflow: hidden;
    padding: 72px 0 106px;
    color: #3b2518;
    background:
        radial-gradient(circle at 92% 6%, rgba(222,164,82,.16), transparent 25%),
        linear-gradient(180deg, #fffdf9 0%, #f9f0e5 100%);
}

.contact-intro::before { content: ""; position: absolute; left: 0; top: 0; width: 34%; height: 1px; background: linear-gradient(90deg, #d8943e, transparent); }
.contact-intro::after { content: ""; position: absolute; right: -130px; top: 58px; width: 320px; height: 320px; border: 1px solid rgba(188,119,45,.11); border-radius: 50%; box-shadow: 0 0 0 38px rgba(188,119,45,.025), 0 0 0 76px rgba(188,119,45,.018); pointer-events: none; animation: contactIntroOrbit 12s linear infinite; }

.contact-hero__inner {
    position: relative;
    z-index: 1;
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: 28px;
    align-items: end;
}

.contact-hero__content {
    position: relative;
    z-index: 1;
    max-width: 1060px;
    margin: 0 auto;
    text-align: center;
}

.contact-intro .section-kicker { color: #b66e24; }
.contact-intro h1 {
    max-width: 840px;
    margin: 12px auto 16px;
    font-size: clamp(38px, 5vw, 62px);
    line-height: 1;
}
.contact-intro p:not(.section-kicker) { max-width: 720px; margin: 0 auto; color: #5f4737; font-size: 16px; line-height: 1.72; }
.contact-hero__actions { display: flex; flex-wrap: wrap; justify-content: center; gap: 14px; margin-top: 24px; }
.contact-hero__meta { display: flex; flex-wrap: wrap; justify-content: center; gap: 10px; margin-top: 24px; }
.contact-hero__meta span { padding: 9px 13px; border: 1px solid rgba(151,95,39,.17); border-radius: 999px; color: #68442b; background: rgba(255,255,255,.72); font-size: 12px; font-weight: 700; }
.contact-hero__stats { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; margin-top: 30px; }
.contact-stat { position: relative; overflow: hidden; padding: 18px 18px 20px; border: 1px solid rgba(151,95,39,.16); border-radius: 20px; background: rgba(255,255,255,.86); box-shadow: 0 14px 32px rgba(85,51,24,.07); backdrop-filter: blur(14px); transition: transform .35s ease, box-shadow .35s ease, border-color .35s ease; }
.contact-stat::before { content: ""; position: absolute; left: 0; top: 0; width: 100%; height: 3px; background: linear-gradient(90deg, transparent, #d99a4c, transparent); transform: scaleX(0); transition: transform .35s ease; }
.contact-stat:hover { transform: translateY(-7px); border-color: rgba(183,113,39,.34); box-shadow: 0 24px 45px rgba(85,51,24,.14); }
.contact-stat:hover::before { transform: scaleX(1); }
.contact-stat strong, .contact-stat span { display: block; }
.contact-stat__icon { display: grid !important; width: 48px; height: 48px; place-items: center; margin: 0 auto 14px; border: 1px solid rgba(183,112,37,.14); border-radius: 15px; color: #a75f1d; background: linear-gradient(145deg, #fff9ef, #f1d6ad); box-shadow: 0 10px 24px rgba(162,94,29,.12); transition: transform .4s cubic-bezier(.2,.8,.2,1), color .3s ease, box-shadow .3s ease; }
.contact-stat__icon svg { width: 25px; height: 25px; fill: none; stroke: currentColor; stroke-width: 1.55; stroke-linecap: round; stroke-linejoin: round; }
.contact-stat:hover .contact-stat__icon { color: #fff; background: linear-gradient(135deg, #dfa04b, #ad6220); box-shadow: 0 13px 28px rgba(176,99,27,.28); transform: translateY(-3px) rotate(-5deg) scale(1.08); }
.contact-stat strong { color: #3a2114; font-size: 18px; letter-spacing: -.03em; }
.contact-stat span { margin-top: 7px; color: #624b3b; font-size: 13px; line-height: 1.6; }

.contact-hero__card {
    position: relative;
    overflow: hidden;
    align-self: stretch;
    padding: 26px;
    border: 1px solid rgba(241, 201, 137, 0.14);
    border-radius: 28px;
    color: #fff9f2;
    background:
        linear-gradient(180deg, rgba(255,255,255,.11), rgba(255,255,255,.04)),
        linear-gradient(145deg, rgba(68,39,23,.9), rgba(28,16,10,.96));
    box-shadow: 0 28px 50px rgba(19, 11, 6, .24);
    backdrop-filter: blur(16px);
}

.contact-hero__card::before {
    content: "";
    position: absolute;
    right: -60px;
    top: -70px;
    width: 180px;
    height: 180px;
    border-radius: 50%;
    background: radial-gradient(circle, rgba(232, 173, 90, .25), transparent 68%);
    pointer-events: none;
}

.contact-hero__card > * {
    position: relative;
    z-index: 1;
}

.contact-hero__card-label {
    margin: 0;
    color: #e8ad5a;
    font-size: 11px;
    font-weight: 800;
    letter-spacing: .16em;
    text-transform: uppercase;
}

.contact-hero__card h2 {
    margin: 14px 0 12px;
    font-size: clamp(24px, 3vw, 34px);
    line-height: 1.08;
}

.contact-hero__card p:not(.contact-hero__card-label) {
    margin: 0;
    color: rgba(255,247,237,.74);
    font-size: 14px;
    line-height: 1.7;
}

.contact-hero__card-list {
    display: grid;
    gap: 12px;
    margin-top: 22px;
}

.contact-hero__card-item {
    display: grid;
    grid-template-columns: 42px minmax(0, 1fr);
    gap: 12px;
    align-items: center;
    padding: 14px;
    border: 1px solid rgba(255,255,255,.1);
    border-radius: 18px;
    background: rgba(255,255,255,.05);
    transition: transform .24s ease, background .24s ease, border-color .24s ease;
}

.contact-hero__card-item:hover {
    transform: translateY(-2px);
    background: rgba(255,255,255,.08);
    border-color: rgba(241, 201, 137, .22);
}

.contact-hero__card-index {
    display: grid;
    place-items: center;
    width: 42px;
    height: 42px;
    border-radius: 14px;
    color: #2e1a0d;
    background: linear-gradient(135deg, #f1c273, #d89137);
    font-size: 11px;
    font-weight: 800;
}

.contact-hero__card-item small,
.contact-hero__card-item strong {
    display: block;
}

.contact-hero__card-item small {
    margin-bottom: 4px;
    color: rgba(255,247,237,.58);
    font-size: 11px;
    text-transform: uppercase;
    letter-spacing: .1em;
}

.contact-hero__card-item strong {
    color: #fffaf4;
    font-size: 13px;
    line-height: 1.5;
}

.contact-premium { position: relative; z-index: 2; margin-top: -44px; padding-bottom: 80px; }

@keyframes contactHeroZoom { from { transform: scale(1); } to { transform: scale(1.075) translate3d(-.6%, -.5%, 0); } }
@keyframes contactHeroShine { 0%, 58% { transform: translateX(-125%); opacity: 0; } 68% { opacity: .8; } 84%, 100% { transform: translateX(125%); opacity: 0; } }
@keyframes contactTitleIn { from { opacity: 0; transform: translateY(18px); letter-spacing: .02em; } to { opacity: 1; transform: translateY(0); letter-spacing: -.02em; } }
@keyframes contactFloat { 0%, 100% { transform: translate3d(0,0,0); } 50% { transform: translate3d(0,18px,0); } }
@keyframes contactPulse { 0%, 100% { transform: scale(.9); opacity: .72; } 50% { transform: scale(1.18); opacity: 1; } }
@keyframes contactSignal { 0% { transform: scale(.35); opacity: 0; } 24% { opacity: .68; } 100% { transform: scale(1); opacity: 0; } }
@keyframes contactPhoneFloat { 0%, 100% { transform: translate(-50%, -50%) rotate(-8deg) translateY(-3px); } 50% { transform: translate(-50%, -50%) rotate(-3deg) translateY(5px); } }
@keyframes contactShapeFloat { 0%, 100% { transform: rotate(45deg) translateY(0); } 50% { transform: rotate(60deg) translateY(12px); } }
.contact-premium__stage {
    position: relative;
    padding: 26px;
    border-radius: 38px;
    background:
        radial-gradient(circle at 8% 10%, rgba(217, 158, 79, .18), transparent 28%),
        radial-gradient(circle at 92% 88%, rgba(110, 69, 34, .08), transparent 30%),
        linear-gradient(180deg, rgba(255,255,255,.62), rgba(252,246,238,.9));
    box-shadow: 0 26px 60px rgba(47, 29, 16, .08);
    overflow: hidden;
}

.contact-premium__stage::before {
    content: "";
    position: absolute;
    inset: 20px;
    border: 1px solid rgba(184, 129, 63, .08);
    border-radius: 30px;
    pointer-events: none;
}

.contact-premium__grid { position: relative; z-index: 1; display: grid; grid-template-columns: minmax(0, .88fr) minmax(420px, 1.12fr); gap: 0; align-items: stretch; }
.contact-premium__details { position: relative; overflow: hidden; padding: 48px 44px; border: 0; border-radius: 32px 0 0 32px; color: #fffaf4; background: linear-gradient(160deg, #3a2114 0%, #26140d 60%, #1e100a 100%); box-shadow: none; }
.contact-premium__details::after { content: ""; position: absolute; right: -90px; bottom: -110px; width: 270px; height: 270px; border: 1px solid rgba(239, 188, 103, .16); border-radius: 50%; box-shadow: 0 0 0 34px rgba(239, 188, 103, .035), 0 0 0 68px rgba(239, 188, 103, .02); pointer-events: none; }
.contact-premium__details > * { position: relative; z-index: 1; }
.contact-premium__details .section-kicker { color: #e8ad5a; }
.contact-premium__details h2, .contact-form-card h2 { margin: 12px 0 14px; font-size: clamp(28px, 3vw, 40px); line-height: 1.12; }
.contact-premium__details > p:not(.section-kicker) { margin: 0; color: rgba(255,247,237,.84); line-height: 1.72; }
.contact-premium__promise { display: grid; grid-template-columns: 46px minmax(0, 1fr); gap: 12px; align-items: center; margin-top: 24px; padding: 14px; border: 1px solid rgba(242, 196, 122, .18); border-radius: 17px; background: linear-gradient(110deg, rgba(238, 179, 91, .12), rgba(255,255,255,.04)); }
.contact-premium__promise-mark { display: grid; place-items: center; width: 46px; height: 46px; border-radius: 15px; color: #2e1a0d; background: linear-gradient(135deg, #f1c273, #d89137); font-size: 11px; font-weight: 800; letter-spacing: .04em; }
.contact-premium__promise p { display: grid; gap: 3px; margin: 0; }
.contact-premium__promise strong { color: #fffaf4; font-size: 12px; }
.contact-premium__promise span:not(.contact-premium__promise-mark) { color: rgba(255,247,237,.78); font-size: 11px; line-height: 1.5; }
.contact-detail-list { display: grid; gap: 12px; margin-top: 32px; }
.contact-detail-card { display: grid; grid-template-columns: 42px minmax(0, 1fr); gap: 12px; align-items: center; padding: 14px 10px; border-bottom: 1px solid rgba(255,255,255,.13); border-radius: 14px; background: transparent; transition: transform .3s ease, background .3s ease, color .3s ease; }
.contact-detail-card:last-child { border-bottom: 0; padding-bottom: 0; }
.contact-detail-card:hover { transform: translateX(7px); background: rgba(255,255,255,.065); }
.contact-detail-card__icon { display: grid; place-items: center; width: 42px; height: 42px; border-radius: 13px; color: #2e1a0d; background: linear-gradient(135deg, #f5ce8a, #d99139); box-shadow: 0 8px 20px rgba(217,145,57,.18); font-size: 11px; font-weight: 800; transition: transform .35s ease, box-shadow .35s ease; }
.contact-detail-card:hover .contact-detail-card__icon { transform: rotate(-8deg) scale(1.08); box-shadow: 0 10px 26px rgba(229,165,77,.34); }
.contact-detail-card small, .contact-detail-card strong { display: block; }
.contact-detail-card small { margin-bottom: 3px; color: rgba(255,247,237,.72); font-size: 11px; text-transform: uppercase; letter-spacing: .1em; }
.contact-detail-card strong { color: #fffaf4; font-size: 13px; line-height: 1.5; }
.contact-premium__panel { margin-top: 30px; padding: 18px 0 0; border-top: 1px solid rgba(242, 196, 122, .14); border-radius: 0; background: transparent; }
.contact-premium__panel-label { margin: 0 0 14px; color: rgba(255,247,237,.74); font-size: 11px; font-weight: 700; letter-spacing: .16em; text-transform: uppercase; }
.contact-premium__tags { display: flex; flex-wrap: wrap; gap: 10px; }
.contact-premium__tags span { padding: 9px 0; border: 0; border-bottom: 1px solid rgba(255,255,255,.18); border-radius: 0; color: #fff8ee; background: transparent; font-size: 12px; font-weight: 600; margin-right: 18px; transition: color .25s ease, border-color .25s ease, transform .25s ease; }
.contact-premium__tags span:hover { color: #f3c77e; border-color: #e7ad58; transform: translateY(-2px); }

.contact-form-card { position: relative; overflow: hidden; margin: 18px 0 18px -34px; padding: 48px 48px 46px; border: 0; border-radius: 34px; background:
    radial-gradient(circle at top right, rgba(232, 173, 90, .12), transparent 24%),
    linear-gradient(145deg, rgba(255,255,255,.99), rgba(254,247,238,.97)); box-shadow: 0 34px 70px rgba(53,31,15,.12); }
.contact-form-card::before { content: ""; position: absolute; top: 26px; left: 0; width: 4px; height: 120px; border-radius: 0 12px 12px 0; background: linear-gradient(180deg, #f0be74, #be792c); }
.contact-form-card::after { content: ""; position: absolute; inset: 18px; border: 1px solid rgba(178,119,53,.08); border-radius: 24px; pointer-events: none; }
.contact-form-card > * { position: relative; z-index: 1; }
.contact-form-card .section-kicker { color: var(--gold-strong); }
.contact-form-card h2 { color: var(--brown-deep); }
.contact-form { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; margin-top: 28px; }
.contact-form label { display: grid; gap: 7px; color: #5b4030; font-size: 12px; font-weight: 700; }
.contact-form label:nth-of-type(3), .contact-form label:nth-of-type(4) { grid-column: 1 / -1; }
.contact-form label em { margin-left: 4px; color: #9a8270; font-style: normal; font-weight: 500; }
.contact-form input, .contact-form textarea { width: 100%; border: 1px solid rgba(178,119,53,.16); border-radius: 13px; outline: 0; background: #fffdf9; color: #2d1d14; font: inherit; transition: border-color .2s ease, box-shadow .2s ease; }
.contact-form input { min-height: 48px; padding: 0 14px; }
.contact-form textarea { padding: 13px 14px; resize: vertical; }
.contact-form input:focus, .contact-form textarea:focus { border-color: rgba(190,125,43,.62); box-shadow: 0 0 0 4px rgba(209,149,69,.12); }
.contact-form .gold-button { grid-column: 1 / -1; justify-self: start; margin-top: 4px; }
.contact-form__error { grid-column: 1 / -1; margin: -6px 0 0; color: #ad3e26; font-size: 12px; }
.contact-form-card__note { margin: 18px 0 0; color: #665043; font-size: 12px; line-height: 1.6; }
.contact-form-card__success { margin: 18px 0 -4px; padding: 12px 14px; border-radius: 12px; color: #31583c; background: #e8f2e9; font-size: 13px; font-weight: 700; }

.contact-location { padding: 0 0 88px; }
.contact-location__shell { display: grid; grid-template-columns: minmax(300px, .72fr) minmax(0, 1.28fr); min-height: 430px; overflow: hidden; border: 1px solid rgba(169,108,45,.14); border-radius: 34px; background: #fffdf9; box-shadow: 0 26px 60px rgba(48,29,16,.1); }
.contact-location__info { position: relative; overflow: hidden; display: flex; flex-direction: column; align-items: flex-start; justify-content: center; padding: 48px 44px; background: radial-gradient(circle at 12% 8%, rgba(236,185,106,.2), transparent 28%), linear-gradient(150deg, #fffaf2, #f7ead9); }
.contact-location__info::after { content: ""; position: absolute; right: -92px; bottom: -102px; width: 230px; height: 230px; border: 1px solid rgba(182,113,42,.14); border-radius: 50%; box-shadow: 0 0 0 28px rgba(207,142,64,.04), 0 0 0 56px rgba(207,142,64,.025); pointer-events: none; }
.contact-location__icon { position: relative; z-index: 1; display: grid; width: 58px; height: 58px; place-items: center; margin-bottom: 24px; border-radius: 18px; color: #fff; background: linear-gradient(135deg, #e1a551, #b56c25); box-shadow: 0 14px 28px rgba(174,100,28,.24); animation: contactLocationIcon 3.2s ease-in-out infinite; }
.contact-location__icon::after { content: ""; position: absolute; inset: -8px; border: 1px solid rgba(191,119,41,.26); border-radius: 23px; animation: contactLocationPulse 2.4s ease-out infinite; }
.contact-location__icon svg { width: 28px; height: 28px; fill: none; stroke: currentColor; stroke-width: 1.7; }
.contact-location__info > * { position: relative; z-index: 1; }
.contact-location__info h2 { margin: 10px 0 14px; color: #301b10; font-size: clamp(30px, 3vw, 42px); line-height: 1.1; }
.contact-location__info > p:not(.section-kicker) { margin: 0; color: #5d4535; line-height: 1.75; }
.contact-location__info .gold-button { margin-top: 26px; }
.contact-location__map { position: relative; min-height: 430px; background: #eadfce; transition: filter .35s ease; }
.contact-location__map::after { content: ""; position: absolute; inset: 0; border: 8px solid rgba(255,255,255,.36); pointer-events: none; }
.contact-location__map iframe { display: block; width: 100%; height: 100%; min-height: 430px; border: 0; filter: sepia(.08) saturate(.88) contrast(.96); transition: filter .4s ease, transform .5s ease; }
.contact-location__map:hover iframe { filter: none; transform: scale(1.012); }

@keyframes contactLocationIcon { 0%, 100% { transform: translateY(0) rotate(-3deg); } 50% { transform: translateY(-7px) rotate(3deg); } }
@keyframes contactLocationPulse { from { transform: scale(.8); opacity: .7; } to { transform: scale(1.35); opacity: 0; } }
@keyframes contactIntroOrbit { to { transform: rotate(360deg); } }

.contact-experience { padding: 0 0 88px; }
.contact-experience__stage {
    position: relative;
    padding: 38px 42px;
    border-radius: 38px;
    background:
        linear-gradient(130deg, rgba(255,255,255,.76) 0%, rgba(251,243,232,.9) 100%);
    box-shadow: 0 26px 60px rgba(48, 29, 16, .08);
    overflow: hidden;
}

.contact-experience__stage::before {
    content: "";
    position: absolute;
    left: 50%;
    top: 34px;
    bottom: 34px;
    width: 1px;
    background: linear-gradient(180deg, rgba(182, 125, 54, .05), rgba(182, 125, 54, .22), rgba(182, 125, 54, .05));
}

.contact-experience__stage::after {
    content: "";
    position: absolute;
    right: -120px;
    bottom: -140px;
    width: 280px;
    height: 280px;
    border-radius: 50%;
    background: radial-gradient(circle, rgba(224, 177, 103, .2), transparent 68%);
    pointer-events: none;
}

.contact-experience__grid { position: relative; z-index: 1; display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(0, .9fr); gap: 44px; align-items: start; }
.contact-showcase, .contact-journey { padding: 10px 0; border: 0; border-radius: 0; background: transparent; box-shadow: none; }
.contact-showcase h2, .contact-journey h2 { margin: 12px 0 14px; color: var(--brown-deep); font-size: clamp(28px, 3vw, 42px); line-height: 1.12; }
.contact-showcase > p:not(.section-kicker), .contact-journey > p:not(.section-kicker) { margin: 0; color: #6f5848; line-height: 1.8; }
.contact-showcase__list { display: grid; gap: 0; margin-top: 28px; }
.contact-showcase__list div { position: relative; padding: 20px 16px; border-bottom: 1px solid rgba(191, 130, 61, .14); border-radius: 14px; background: transparent; transition: transform .3s ease, background .3s ease, box-shadow .3s ease; }
.contact-showcase__list div:hover { transform: translateX(8px); background: rgba(255,255,255,.7); box-shadow: 0 12px 28px rgba(75,43,20,.07); }
.contact-showcase__list div:first-child { padding-top: 0; }
.contact-showcase__list div:last-child { border-bottom: 0; padding-bottom: 0; }
.contact-showcase__list strong, .contact-showcase__list span { display: block; }
.contact-showcase__list strong { color: #2f1d13; font-size: 17px; }
.contact-showcase__list span { margin-top: 6px; color: #60493a; line-height: 1.7; }

.contact-journey__steps { display: grid; gap: 18px; margin-top: 26px; }
.contact-journey__step { position: relative; display: grid; grid-template-columns: 50px minmax(0, 1fr); gap: 16px; align-items: start; padding: 14px; border-top: 1px solid rgba(104, 67, 41, .1); border-radius: 16px; transition: transform .3s ease, background .3s ease, box-shadow .3s ease; }
.contact-journey__step:hover { transform: translateY(-4px); background: rgba(255,255,255,.74); box-shadow: 0 16px 32px rgba(75,43,20,.08); }
.contact-journey__step:first-child { padding-top: 0; border-top: 0; }
.contact-journey__step > span { display: grid; place-items: center; width: 50px; height: 50px; border-radius: 16px; color: #40220f; background: linear-gradient(135deg, #f5d39a, #dfa154); box-shadow: 0 8px 18px rgba(205,136,51,.18); font-size: 13px; font-weight: 800; transition: transform .35s ease; }
.contact-journey__step:hover > span { transform: rotate(6deg) scale(1.07); }
.contact-journey__step strong { display: block; color: #2d1d14; font-size: 16px; }
.contact-journey__step p { margin: 6px 0 0; color: #60493a; line-height: 1.7; }

.contact-cta-band { padding: 0 0 92px; }
.contact-cta-band__inner { display: flex; align-items: center; justify-content: space-between; gap: 22px; padding: 34px 36px; border-radius: 28px; color: #fffaf3; background:
    radial-gradient(circle at top left, rgba(235, 173, 83, .24), transparent 28%),
    linear-gradient(120deg, #1f120b 0%, #3c2416 55%, #1b100a 100%);
    box-shadow: 0 26px 58px rgba(33, 20, 10, .18); }
.contact-cta-band__inner h2 { margin: 10px 0 0; font-size: clamp(28px, 3vw, 42px); line-height: 1.08; }
.contact-cta-band__inner .section-kicker { color: #e8ad5a; }

.contact-reveal { opacity: 0; transform: translateY(28px); transition: opacity .75s ease, transform .75s cubic-bezier(.2,.7,.2,1); }
.contact-reveal.is-visible { opacity: 1; transform: translateY(0); }
.contact-form-card.contact-reveal { transition-delay: .12s; }
.contact-location__map.contact-reveal { transition-delay: .12s; }
.contact-journey.contact-reveal { transition-delay: .1s; }
.page-shell--contact .gold-button { position: relative; overflow: hidden; isolation: isolate; box-shadow: 0 12px 26px rgba(185,111,31,.18); transition: transform .3s ease, box-shadow .3s ease; }
.page-shell--contact .gold-button::before { content: ""; position: absolute; z-index: -1; inset: 0; background: linear-gradient(110deg, transparent 20%, rgba(255,255,255,.42) 46%, transparent 70%); transform: translateX(-130%); transition: transform .65s ease; }
.page-shell--contact .gold-button:hover { transform: translateY(-3px); box-shadow: 0 18px 34px rgba(185,111,31,.3); }
.page-shell--contact .gold-button:hover::before { transform: translateX(130%); }
.contact-form input:hover, .contact-form textarea:hover { border-color: rgba(190,125,43,.38); }

@media (max-width: 860px) {
    .contact-hero { min-height: 300px; }
    .contact-hero__signal { right: 20px; width: 130px; height: 130px; opacity: .8; }
    .contact-intro { padding: 64px 0 96px; }
    .contact-hero__inner,
    .contact-hero__stats,
    .contact-experience__grid { grid-template-columns: 1fr; }
    .contact-hero__card { padding: 24px; }
    .contact-premium { margin-top: -36px; }
    .contact-premium__stage,
    .contact-experience__stage { padding: 22px; border-radius: 28px; }
    .contact-premium__grid { grid-template-columns: 1fr; gap: 18px; }
    .contact-premium__details { padding: 28px; border-radius: 22px; }
    .contact-form-card { margin: 0; padding: 28px; border-radius: 22px; }
    .contact-experience__stage::before { display: none; }
    .contact-showcase, .contact-journey { padding: 6px 0; }
    .contact-location__shell { grid-template-columns: 1fr; }
    .contact-location__info { padding: 34px; }
    .contact-location__map, .contact-location__map iframe { min-height: 360px; }
    .contact-cta-band__inner { flex-direction: column; align-items: flex-start; padding: 28px; border-radius: 22px; }
}

@media (max-width: 540px) {
    .contact-hero { min-height: 240px; }
    .contact-hero__media { background-position: 31% center; }
    .contact-hero__title p { font-size: clamp(42px, 12vw, 52px); word-spacing: .1em; }
    .contact-hero__signal { right: -40px; width: 112px; height: 112px; opacity: .58; }
    .contact-hero__signal svg { width: 42px; height: 42px; padding: 10px; }
    .contact-intro { padding: 52px 0 76px; }
    .contact-intro h1 { font-size: clamp(38px, 12vw, 52px); }
    .contact-intro p:not(.section-kicker) { font-size: 15px; }
    .contact-hero__actions { flex-direction: column; align-items: stretch; }
    .contact-hero__actions .gold-button,
    .contact-hero__actions .hero-outline-button { width: 100%; }
    .contact-premium { margin-top: -24px; padding-bottom: 56px; }
    .contact-premium__stage,
    .contact-experience__stage,
    .contact-premium__details, .contact-form-card { padding: 22px; }
    .contact-premium__promise { margin-top: 20px; }
    .contact-stat, .contact-showcase, .contact-journey, .contact-cta-band__inner, .contact-hero__card { padding: 22px; }
    .contact-showcase__list div { padding: 16px; }
    .contact-journey__step { grid-template-columns: 1fr; }
    .contact-form { grid-template-columns: 1fr; gap: 14px; }
    .contact-form label:nth-of-type(3), .contact-form label:nth-of-type(4), .contact-form .gold-button { grid-column: auto; }
    .contact-form .gold-button { width: 100%; }
    .contact-cta-band { padding-bottom: 56px; }
    .contact-location { padding-bottom: 56px; }
    .contact-location__info { padding: 28px 22px; }
    .contact-location__map, .contact-location__map iframe { min-height: 300px; }
}

@media (prefers-reduced-motion: reduce) {
    .contact-hero__media,
    .contact-hero::after,
    .contact-hero__title p,
    .contact-hero__effects span { animation: none !important; }
    .contact-hero__signal-ring,
    .contact-hero__signal svg,
    .contact-hero__signal i { animation: none !important; }
    .contact-location__icon,
    .contact-location__icon::after { animation: none !important; }
    .contact-intro::after { animation: none !important; }
    .contact-reveal { opacity: 1 !important; transform: none !important; transition: none !important; }
    .contact-stat,
    .contact-detail-card,
    .contact-detail-card__icon,
    .contact-showcase__list div,
    .contact-journey__step,
    .contact-journey__step > span,
    .page-shell--contact .gold-button { transition: none !important; }
}

/* Premium About page */
.page-shell--about { overflow: hidden; background: #f8f4ec; }
.page-shell--about [data-reveal] { opacity: 1; transform: none; filter: none; transition: none; }
.about-contact-hero .contact-hero__media { background-position: center center; }
.about-contact-hero::before { background: linear-gradient(90deg, rgba(34,20,12,.38), rgba(45,25,13,.3)), linear-gradient(180deg, rgba(20,10,5,.1), rgba(20,10,5,.42)); }
.about-contact-hero .contact-hero__title p { text-shadow: 0 6px 28px rgba(15,8,4,.65); }
.about-hero { position: relative; min-height: 700px; display: flex; align-items: center; isolation: isolate; color: #fff; }
.about-hero__media { position: absolute; inset: 0; z-index: -3; background: url('../images/03_factory_building.png') center 45%/cover no-repeat; transform: scale(1.035); animation: aboutHeroDrift 14s ease-out both; }
.about-hero__veil { position: absolute; inset: 0; z-index: -2; background: linear-gradient(90deg, rgba(28,16,10,.94) 0%, rgba(43,24,13,.78) 45%, rgba(28,17,12,.3) 100%), linear-gradient(0deg, rgba(21,12,8,.75), transparent 55%); }
.about-hero::before { content:""; position:absolute; inset:0; z-index:-1; opacity:.18; background-image:linear-gradient(rgba(255,255,255,.12) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.12) 1px,transparent 1px); background-size:90px 90px; mask-image:linear-gradient(90deg,#000,transparent 80%); }
.about-hero__inner { padding-top: 95px; padding-bottom: 120px; }
.about-hero .section-kicker { color: #e5b765; letter-spacing: .22em; }
.about-hero h1 { max-width: 900px; margin: 18px 0 25px; font-size: clamp(48px, 6.2vw, 88px); line-height: .98; letter-spacing: -.035em; }
.about-hero h1 span { color: #e0ad58; font-style: italic; }
.about-hero__inner > p:not(.section-kicker) { max-width: 700px; color: rgba(255,255,255,.8); font-size: 18px; line-height: 1.85; }
.about-hero__proof { display:flex; flex-wrap:wrap; gap:0; margin-top:42px; border-top:1px solid rgba(255,255,255,.22); border-bottom:1px solid rgba(255,255,255,.22); width:max-content; max-width:100%; }
.about-hero__proof span { display:flex; align-items:center; gap:10px; padding:15px 25px; color:rgba(255,255,255,.72); font-size:12px; text-transform:uppercase; letter-spacing:.08em; border-right:1px solid rgba(255,255,255,.2); }
.about-hero__proof span:first-child { padding-left:0; }
.about-hero__proof span:last-child { border-right:0; }
.about-hero__proof strong { color:#fff; font:700 18px var(--heading-font); text-transform:none; }
.about-hero__scroll { position:absolute; right:clamp(24px,5vw,78px); bottom:38px; display:flex; align-items:center; gap:14px; color:#fff; text-transform:uppercase; letter-spacing:.15em; font-size:10px; }
.about-hero__scroll i { display:block; width:38px; height:38px; border:1px solid rgba(255,255,255,.4); border-radius:50%; position:relative; }
.about-hero__scroll i::after { content:""; position:absolute; left:50%; top:10px; width:6px; height:6px; border-right:1px solid #fff; border-bottom:1px solid #fff; transform:translateX(-50%) rotate(45deg); animation:aboutScroll 1.8s infinite; }
.about-story { padding:130px 0; background:#f8f4ec; position:relative; }
.about-story::before { content:"1873"; position:absolute; right:-18px; top:35px; color:rgba(112,75,40,.045); font:800 clamp(140px,20vw,310px)/1 var(--heading-font); }
.about-story__grid { position:relative; display:grid; grid-template-columns:minmax(0,.95fr) minmax(0,1fr); gap:clamp(55px,8vw,120px); align-items:center; }
.about-story__visual { position:relative; padding:0 0 40px 35px; }
.about-story__image { position:relative; overflow:hidden; min-height:570px; border-radius:2px; box-shadow:0 28px 65px rgba(55,34,20,.18); }
.about-story__image::after { content:""; position:absolute; inset:0; background:linear-gradient(180deg,transparent 55%,rgba(35,20,12,.45)); }
.about-story__image img { width:100%; height:100%; min-height:570px; object-fit:cover; transition:transform .8s ease; }
.about-story__visual:hover img { transform:scale(1.04); }
.about-story__stamp { position:absolute; left:0; bottom:0; width:150px; height:150px; border-radius:50%; background:#a96e2e; color:#fff; display:grid; place-content:center; text-align:center; box-shadow:0 15px 35px rgba(92,52,22,.26); }
.about-story__stamp::before { content:""; position:absolute; inset:8px; border:1px solid rgba(255,255,255,.38); border-radius:inherit; }
.about-story__stamp strong { font:700 40px/1 var(--heading-font); }
.about-story__stamp span { margin-top:6px; text-transform:uppercase; letter-spacing:.12em; font-size:9px; line-height:1.4; }
.about-story__line { position:absolute; width:100px; height:100px; right:-22px; top:-22px; border-top:1px solid #b88b54; border-right:1px solid #b88b54; }
.about-story__copy h2,.about-purpose h2,.about-section-head h2,.about-values h2,.about-cta h2 { color:#2f1c12; font-size:clamp(39px,4vw,60px); line-height:1.08; letter-spacing:-.025em; margin:14px 0 28px; }
.about-story__copy h2 span { color:#a96e2e; font-style:italic; }
.about-story__copy > p:not(.section-kicker) { color:#6f6259; line-height:1.85; margin:0 0 17px; }
.about-story__copy .about-story__lead { color:#35261d; font-size:19px; line-height:1.7; }
.about-story__signature { display:flex; align-items:center; gap:17px; margin-top:32px; }
.about-story__signature > span { width:55px; height:1px; background:#a96e2e; }
.about-story__signature p { margin:0; color:#59483c; font-size:13px; }
.about-pillars { padding:120px 0 130px; color:#fff; background:#20140e url('../images/premium-dark-section.png') center/cover no-repeat; position:relative; }
.about-pillars::after { content:""; position:absolute; inset:0; background:linear-gradient(120deg,rgba(22,12,8,.95),rgba(36,21,13,.78)); }
.about-pillars > .container { position:relative; z-index:1; }
.about-section-head { display:grid; grid-template-columns:1fr .75fr; gap:80px; align-items:end; margin-bottom:64px; }
.about-section-head h2 { color:#fff; margin-bottom:0; }
.about-section-head > p { color:rgba(255,255,255,.62); line-height:1.8; padding-bottom:7px; }
.about-pillars .section-kicker,.about-purpose .section-kicker,.about-cta .section-kicker { color:#dca958; }
.about-pillars__grid { display:grid; grid-template-columns:repeat(3,1fr); border-top:1px solid rgba(255,255,255,.13); border-bottom:1px solid rgba(255,255,255,.13); }
.about-pillar { position:relative; padding:48px 42px 44px; border-right:1px solid rgba(255,255,255,.13); transition:background .35s,transform .35s; overflow:hidden; }
.about-pillar:last-child { border-right:0; }
.about-pillar:hover { background:rgba(181,126,58,.12); transform:translateY(-7px); }
.about-pillar__number { position:absolute; right:20px; top:13px; font:700 65px/1 var(--heading-font); color:rgba(255,255,255,.045); }
.about-pillar__icon { width:58px; height:58px; color:#dda956; margin-bottom:30px; }
.about-pillar__icon svg { width:100%; height:100%; fill:none; stroke:currentColor; stroke-width:1.4; }
.about-pillar h3 { color:#fff; font-size:27px; margin:0 0 18px; }
.about-pillar p { color:rgba(255,255,255,.61); line-height:1.75; font-size:14px; min-height:98px; }
.about-pillar__rule { display:block; width:35px; height:2px; background:#c38a42; margin-top:28px; transition:width .35s; }
.about-pillar:hover .about-pillar__rule { width:80px; }
.about-purpose { position:relative; padding:125px 0; background:#a66d2d; color:#fff; overflow:hidden; }
.about-purpose__texture { position:absolute; inset:0; opacity:.16; background-image:radial-gradient(circle at 10% 10%,#fff 0 1px,transparent 1.5px); background-size:18px 18px; }
.about-purpose::before { content:""; position:absolute; width:600px; height:600px; border:1px solid rgba(255,255,255,.15); border-radius:50%; left:-240px; top:-220px; box-shadow:0 0 0 90px rgba(255,255,255,.025),0 0 0 180px rgba(255,255,255,.02); }
.about-purpose__grid { position:relative; display:grid; grid-template-columns:.8fr 1.2fr; gap:100px; align-items:center; }
.about-purpose h2 { color:#fff; }
.about-purpose__intro > p:last-child { color:rgba(255,255,255,.75); line-height:1.8; max-width:500px; }
.about-purpose__cards { display:grid; gap:18px; }
.about-purpose__cards article { background:rgba(255,255,255,.95); color:#3a2518; padding:33px 38px; border-left:4px solid #422a1a; box-shadow:0 18px 40px rgba(60,32,10,.14); transition:transform .35s; }
.about-purpose__cards article:hover { transform:translateX(-8px); }
.about-purpose__cards span { color:#a66d2d; text-transform:uppercase; letter-spacing:.15em; font-size:10px; font-weight:700; }
.about-purpose__cards h3 { font-size:25px; margin:8px 0 10px; }
.about-purpose__cards p { color:#75675e; font-size:14px; line-height:1.7; margin:0; }
.about-values { padding:120px 0; background:#fff; }
.about-values__head { text-align:center; max-width:760px; margin:0 auto 60px; }
.about-values__grid { display:grid; grid-template-columns:repeat(4,1fr); gap:18px; }
.about-values__grid article { min-height:245px; padding:30px 27px; border:1px solid #e7ded2; background:#fcfaf6; position:relative; transition:transform .35s,box-shadow .35s,border-color .35s; }
.about-values__grid article:hover { transform:translateY(-8px); box-shadow:0 20px 45px rgba(67,41,23,.1); border-color:#c69a61; }
.about-values__grid strong { color:#b47a34; font:700 12px var(--body-font); letter-spacing:.15em; }
.about-values__grid h3 { margin:52px 0 12px; font-size:24px; }
.about-values__grid p { color:#776a60; line-height:1.7; font-size:13px; }
.about-values__grid article::after { content:""; position:absolute; right:24px; top:27px; width:32px; height:32px; border-top:1px solid #c69a61; border-right:1px solid #c69a61; }
.about-cta { padding:105px 0; background:#2a1a11; color:#fff; position:relative; }
.about-cta::before { content:""; position:absolute; inset:0; background:linear-gradient(90deg,rgba(31,17,10,.98),rgba(31,17,10,.72)),url('../images/leaf-white-background.jpg') center/cover; opacity:.9; }
.about-cta__inner { position:relative; display:flex; justify-content:space-between; align-items:center; gap:60px; }
.about-cta__inner > div { max-width:800px; }
.about-cta h2 { color:#fff; margin-bottom:16px; }
.about-cta p:not(.section-kicker) { color:rgba(255,255,255,.65); line-height:1.75; }
.about-cta .gold-button { flex:0 0 auto; }
@keyframes aboutHeroDrift { from{transform:scale(1.12)} to{transform:scale(1.035)} }
@keyframes aboutScroll { 0%,100%{transform:translate(-50%,0) rotate(45deg);opacity:.35} 50%{transform:translate(-50%,10px) rotate(45deg);opacity:1} }
@media(max-width:980px){.about-story__grid,.about-purpose__grid{grid-template-columns:1fr;gap:55px}.about-story__visual{max-width:680px}.about-section-head{grid-template-columns:1fr;gap:20px}.about-pillars__grid{grid-template-columns:1fr}.about-pillar{border-right:0;border-bottom:1px solid rgba(255,255,255,.13)}.about-values__grid{grid-template-columns:repeat(2,1fr)}.about-cta__inner{align-items:flex-start;flex-direction:column}.about-purpose__cards{grid-template-columns:1fr 1fr}}
@media(max-width:680px){.about-hero{min-height:650px}.about-hero__inner{padding-top:75px}.about-hero__proof{width:100%}.about-hero__proof span{width:100%;border-right:0;border-bottom:1px solid rgba(255,255,255,.16);padding-left:0}.about-hero__scroll{display:none}.about-story,.about-pillars,.about-purpose,.about-values,.about-cta{padding:80px 0}.about-story__visual{padding-left:15px}.about-story__image,.about-story__image img{min-height:420px}.about-story__stamp{width:120px;height:120px}.about-story__stamp strong{font-size:31px}.about-purpose__cards,.about-values__grid{grid-template-columns:1fr}.about-purpose__cards article{padding:27px}.about-pillar{padding:38px 25px}.about-section-head{margin-bottom:40px}.about-values__grid article{min-height:200px}.about-values__grid h3{margin-top:35px}}

/* Refined corporate About page */
.company-hero{position:relative;min-height:285px;display:flex;align-items:center;overflow:hidden;isolation:isolate;background:#18242a;color:#fff}
.company-hero__image{position:absolute;z-index:-3;inset:0;background:var(--company-banner-image,url('../images/corporate-teamwork.jpg')) center center/cover no-repeat;animation:companyHeroFade 1.3s ease both}
.company-hero::before{content:"";position:absolute;z-index:-2;inset:0;background:linear-gradient(90deg,rgba(20,29,32,.9) 0%,rgba(27,37,40,.74) 35%,rgba(27,37,40,.08) 70%,rgba(27,37,40,.06) 100%)}
.company-hero::after{content:"";position:absolute;z-index:-1;left:-6%;top:-60%;width:52%;height:220%;background:linear-gradient(115deg,rgba(187,128,53,.2),rgba(187,128,53,.04));transform:skewX(-14deg);border-right:1px solid rgba(233,189,119,.45)}
.company-hero__mesh{position:absolute;inset:0;z-index:-1;background:linear-gradient(rgba(255,255,255,.05) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.05) 1px,transparent 1px);background-size:54px 54px;mask-image:linear-gradient(90deg,#000,transparent 64%)}
.company-hero__inner{padding-top:48px;padding-bottom:48px}
.company-hero__inner>p,.company-eyebrow{margin:0 0 9px;color:#b67b34;font-size:11px;font-weight:700;letter-spacing:.2em;text-transform:uppercase}
.company-hero__inner>p{color:#efc27c}
.company-hero h1{margin:0;color:#fff;font-size:clamp(44px,5vw,68px);line-height:1}
.company-hero__line{display:flex;align-items:center;gap:14px;margin-top:18px}.company-hero__line span{width:58px;height:2px;background:#d99b48}.company-hero__line small{color:rgba(255,255,255,.7);font-size:10px;letter-spacing:.13em;text-transform:uppercase}
.company-overview{padding:82px 0;background:#fff}
.company-overview__grid{display:grid;grid-template-columns:minmax(0,.82fr) minmax(0,1.18fr);gap:70px;align-items:center}
.company-overview__image{position:relative;height:440px;padding:0 24px 24px 0}.company-overview__image::after{content:"";position:absolute;right:0;bottom:0;width:72%;height:72%;border:1px solid #d0ad7d;z-index:0}.company-overview__image img{position:relative;z-index:1;width:100%;height:100%;object-fit:cover;box-shadow:0 20px 45px rgba(43,29,19,.16)}
.company-overview__image>span{position:absolute;z-index:2;right:-8px;bottom:42px;width:118px;height:104px;display:grid;place-content:center;text-align:center;background:#a96e2e;color:#fff;box-shadow:0 14px 30px rgba(83,45,17,.22)}.company-overview__image>span strong{font-size:10px;text-transform:uppercase;letter-spacing:.16em}.company-overview__image>span b{font:700 31px var(--heading-font)}
.company-overview__copy h2,.company-direction h2,.company-director h2,.company-heading h2,.company-values h2,.company-cta h2{margin:0 0 20px;color:#2f2119;font-size:clamp(34px,3.5vw,50px);line-height:1.12;letter-spacing:-.025em}
.company-overview__copy>p:not(.company-eyebrow){margin:0 0 14px;color:#6c6058;line-height:1.78;font-size:14px}.company-overview__copy .company-lead{color:#3d2d24;font-size:17px;font-weight:500}
.company-overview__facts{display:grid;grid-template-columns:repeat(3,1fr);gap:0;margin-top:27px;border-top:1px solid #eadfd2;border-bottom:1px solid #eadfd2}.company-overview__facts div{padding:17px 15px;border-right:1px solid #eadfd2}.company-overview__facts div:first-child{padding-left:0}.company-overview__facts div:last-child{border:0}.company-overview__facts strong,.company-overview__facts span{display:block}.company-overview__facts strong{color:#a96e2e;font:700 23px var(--heading-font)}.company-overview__facts span{margin-top:3px;color:#887b71;font-size:10px;text-transform:uppercase;letter-spacing:.08em}
.company-direction{padding:0 0 82px;background:#fff}.company-direction__grid{display:grid;grid-template-columns:1fr 1fr;box-shadow:0 18px 50px rgba(44,29,18,.09)}.company-direction article{position:relative;padding:43px 45px;background:#f7f1e8;overflow:hidden}.company-direction article+article{background:#2b1d15}.company-direction article+article h2{color:#fff}.company-direction article+article p:not(.company-eyebrow){color:rgba(255,255,255,.66)}.company-direction article::after{content:"";position:absolute;right:-35px;bottom:-45px;width:145px;height:145px;border:1px solid rgba(161,105,43,.13);border-radius:50%;box-shadow:0 0 0 28px rgba(161,105,43,.035)}
.company-direction__icon{display:grid;width:48px;height:48px;place-items:center;margin-bottom:22px;color:#a96e2e}.company-direction__icon svg{width:42px;height:42px;fill:none;stroke:currentColor;stroke-width:1.5}.company-direction h2{font-size:31px}.company-direction p:not(.company-eyebrow){margin:0;color:#6c5e54;line-height:1.75;font-size:14px}
.company-director{padding:76px 0;background:#f6f1e9}.company-director__card{display:grid;grid-template-columns:260px 1fr;max-width:1040px;padding:0;background:#fff;box-shadow:0 20px 50px rgba(48,32,21,.1)}
.company-director__mark{position:relative;display:grid;place-content:center;text-align:center;min-height:360px;padding:35px;background:#2a1c14;overflow:hidden}.company-director__mark::before{content:"";position:absolute;inset:20px;border:1px solid rgba(217,159,79,.27)}.company-director__mark img{position:relative;width:125px;height:125px;object-fit:contain;margin:auto;filter:sepia(1) saturate(.8) brightness(1.7);opacity:.75}.company-director__mark span{position:relative;margin-top:18px;color:#dca75d;font:700 15px/1.5 var(--heading-font);letter-spacing:.08em;text-transform:uppercase}
.company-director__message{padding:48px 55px}.company-director h2{font-size:33px;font-style:italic}.company-director__message>p:not(.company-eyebrow){margin:0 0 13px;color:#6e6259;font-size:14px;line-height:1.75}.company-director__sign{display:flex;align-items:center;gap:14px;margin-top:25px}.company-director__sign>span{width:48px;height:1px;background:#aa702f}.company-director__sign strong,.company-director__sign small{display:block}.company-director__sign strong{color:#34251c;font-family:var(--heading-font)}.company-director__sign small{margin-top:2px;color:#988a7e;font-size:10px;text-transform:uppercase;letter-spacing:.08em}
.company-capabilities{padding:82px 0;background:#fff}.company-heading{display:grid;grid-template-columns:1fr .7fr;gap:70px;align-items:end;margin-bottom:38px}.company-heading h2{margin-bottom:0}.company-heading>p{margin:0;color:#75695f;font-size:14px;line-height:1.7}
.company-capabilities__grid{display:grid;grid-template-columns:repeat(4,1fr);border:1px solid #e7ddd1}.company-capabilities__grid article{position:relative;padding:31px 27px;min-height:220px;border-right:1px solid #e7ddd1;transition:.3s ease}.company-capabilities__grid article:last-child{border:0}.company-capabilities__grid article:hover{background:#2d1e16;transform:translateY(-5px);box-shadow:0 18px 35px rgba(44,27,17,.15)}.company-capabilities__grid span{color:#b47b39;font-size:10px;font-weight:700;letter-spacing:.15em}.company-capabilities__grid h3{margin:43px 0 11px;color:#34251c;font-size:20px}.company-capabilities__grid p{margin:0;color:#776a61;font-size:12px;line-height:1.65}.company-capabilities__grid article:hover h3{color:#fff}.company-capabilities__grid article:hover p{color:rgba(255,255,255,.62)}
.company-values{padding:59px 0;background:#f4ede4}.company-values__inner{display:grid;grid-template-columns:.6fr 1.4fr;gap:60px;align-items:center}.company-values h2{font-size:31px;margin:0}.company-values ul{display:grid;grid-template-columns:repeat(4,1fr);margin:0;padding:0;list-style:none}.company-values li{padding:14px 20px;border-left:1px solid #d8c9b8}.company-values li strong,.company-values li span{display:block}.company-values li strong{color:#aa702f;font-size:9px;letter-spacing:.15em}.company-values li span{margin-top:7px;color:#35261d;font:700 17px var(--heading-font)}
.company-cta{padding:62px 0;background:#291b13;color:#fff}.company-cta__inner{display:flex;align-items:center;justify-content:space-between;gap:50px}.company-cta__inner>div{max-width:720px}.company-cta p{margin:0 0 7px;color:#d7a257;font-size:10px;font-weight:700;letter-spacing:.19em;text-transform:uppercase}.company-cta h2{margin:0;color:#fff;font-size:36px}.company-cta .gold-button{flex:0 0 auto}
@keyframes companyHeroReveal{from{transform:scale(1.08);filter:blur(3px)}to{transform:scale(1);filter:blur(0)}}
@media(max-width:960px){.company-overview__grid{grid-template-columns:1fr;gap:48px}.company-overview__image{max-width:680px}.company-capabilities__grid{grid-template-columns:repeat(2,1fr)}.company-capabilities__grid article:nth-child(2){border-right:0}.company-capabilities__grid article:nth-child(-n+2){border-bottom:1px solid #e7ddd1}.company-values__inner{grid-template-columns:1fr}.company-values ul{max-width:760px}.company-director__card{grid-template-columns:220px 1fr}}
@media(max-width:680px){.company-hero{min-height:235px}.company-hero__image{background-position:63% center}.company-hero::before{background:linear-gradient(90deg,rgba(20,29,32,.88),rgba(20,29,32,.45))}.company-overview,.company-capabilities{padding:64px 0}.company-overview__image{height:320px}.company-overview__facts{grid-template-columns:1fr}.company-overview__facts div,.company-overview__facts div:first-child{padding:12px 0;border-right:0;border-bottom:1px solid #eadfd2}.company-direction{padding-bottom:64px}.company-direction__grid{grid-template-columns:1fr}.company-direction article{padding:34px 27px}.company-director{padding:64px 0}.company-director__card{grid-template-columns:1fr}.company-director__mark{min-height:210px}.company-director__mark img{width:90px;height:90px}.company-director__message{padding:35px 27px}.company-director h2{font-size:27px}.company-heading{grid-template-columns:1fr;gap:12px}.company-capabilities__grid{grid-template-columns:1fr}.company-capabilities__grid article{min-height:auto;border-right:0;border-bottom:1px solid #e7ddd1!important}.company-capabilities__grid article:last-child{border-bottom:0!important}.company-capabilities__grid h3{margin-top:23px}.company-values ul{grid-template-columns:1fr 1fr}.company-values li:nth-child(3){border-top:1px solid #d8c9b8}.company-values li:nth-child(4){border-top:1px solid #d8c9b8}.company-cta__inner{align-items:flex-start;flex-direction:column;gap:25px}.company-cta h2{font-size:29px}}

/* About page interaction and motion */
.company-hero__image{transform:translate3d(var(--company-x,0),var(--company-y,0),0) scale(1.025);transition:transform .7s cubic-bezier(.2,.8,.2,1);will-change:transform}
.company-hero__mesh{animation:companyMeshMove 14s linear infinite}
.company-hero__inner::after{content:"";position:absolute;left:-25%;top:0;width:18%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.16),transparent);transform:skewX(-18deg);animation:companyHeroSweep 6.5s ease-in-out infinite;pointer-events:none}
.company-hero__inner{position:relative}
.company-reveal{opacity:0;filter:blur(5px);transform:translate3d(0,28px,0);transition:opacity .75s cubic-bezier(.2,.75,.2,1),transform .75s cubic-bezier(.2,.75,.2,1),filter .75s ease;transition-delay:var(--company-delay,0ms);will-change:opacity,transform}
.company-reveal--left{transform:translate3d(-35px,12px,0)}.company-reveal--right{transform:translate3d(35px,12px,0)}
.company-reveal.is-visible{opacity:1;filter:none;transform:translate3d(0,0,0)}
.company-overview__image{transition:transform .5s cubic-bezier(.2,.8,.2,1)}.company-overview__image:hover{transform:translateY(-7px)}.company-overview__image img{transition:transform .65s ease,filter .5s ease}.company-overview__image:hover img{transform:scale(1.025);filter:saturate(1.08)}
.company-overview__image>span{transition:transform .4s ease,background .35s ease}.company-overview__image:hover>span{transform:translate(-7px,-7px);background:#8f5723}
.company-direction article{transition:transform .4s ease,box-shadow .4s ease}.company-direction article:hover{z-index:2;transform:translateY(-7px);box-shadow:0 22px 45px rgba(44,28,18,.17)}.company-direction__icon{transition:transform .55s cubic-bezier(.2,.8,.2,1),color .3s ease}.company-direction article:hover .company-direction__icon{transform:rotate(-7deg) scale(1.13);color:#dc9d4a}
.company-director__mark img{transition:transform .7s cubic-bezier(.2,.8,.2,1),opacity .4s ease}.company-director__card:hover .company-director__mark img{transform:translateY(-7px) rotate(-3deg) scale(1.08);opacity:1}.company-director__card{transition:transform .45s ease,box-shadow .45s ease}.company-director__card:hover{transform:translateY(-6px);box-shadow:0 30px 65px rgba(48,32,21,.16)}
.company-capability__top{display:flex;align-items:center;justify-content:space-between}.company-capability__top i{display:grid;width:42px;height:42px;place-items:center;border:1px solid #decbb4;border-radius:50%;color:#a96e2e;background:#fffaf3;transition:transform .45s cubic-bezier(.2,.8,.2,1),background .3s,color .3s,border-color .3s}.company-capability__top svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}.company-capabilities__grid article:hover .company-capability__top i{transform:rotate(-8deg) scale(1.12);color:#fff;background:#a96e2e;border-color:#a96e2e}.company-capabilities__grid article:hover .company-capability__top span{color:#e2af6b}
.company-capabilities__grid h3{margin-top:35px}
.company-values li{position:relative;overflow:hidden;transition:transform .35s ease,background .35s ease}.company-values li::after{content:"";position:absolute;left:0;bottom:0;width:100%;height:2px;background:#b67832;transform:scaleX(0);transform-origin:left;transition:transform .35s ease}.company-values li:hover{background:rgba(255,255,255,.58);transform:translateY(-4px)}.company-values li:hover::after{transform:scaleX(1)}
@keyframes companyMeshMove{from{background-position:0 0,0 0}to{background-position:54px 54px,54px 54px}}
@keyframes companyHeroFade{from{opacity:.35;filter:blur(4px)}to{opacity:1;filter:none}}
@keyframes companyHeroSweep{0%,58%{left:-25%;opacity:0}66%{opacity:1}88%,100%{left:115%;opacity:0}}
@media(prefers-reduced-motion:reduce){.company-hero__image,.company-hero__mesh,.company-hero__inner::after{animation:none!important;transition:none!important}.company-reveal{opacity:1!important;filter:none!important;transform:none!important;transition:none!important}.company-overview__image,.company-direction article,.company-director__card,.company-capabilities__grid article,.company-values li{transition:none!important}}

/* About page premium art direction */
.page-shell--about{--about-ink:#2b1b12;--about-walnut:#321d12;--about-walnut-deep:#21120c;--about-gold:#bc7b32;--about-gold-light:#e2b46f;--about-ivory:#fbf8f2;--about-sand:#f1e8dc;background:var(--about-ivory)}
.company-hero{background:var(--about-walnut-deep);box-shadow:inset 0 -1px rgba(255,255,255,.08)}
.company-hero__image{filter:sepia(.12) saturate(.84) contrast(1.03);transform:translate3d(var(--company-x,0),var(--company-y,0),0) scale(1.035)}
.company-hero::before{background:linear-gradient(90deg,rgba(35,19,11,.96) 0%,rgba(49,27,15,.86) 34%,rgba(54,31,18,.36) 62%,rgba(40,22,13,.14) 100%),radial-gradient(circle at 75% 42%,rgba(198,132,55,.22),transparent 33%)}
.company-hero::after{background:linear-gradient(115deg,rgba(202,143,69,.26),rgba(202,143,69,.025));border-right:1px solid rgba(236,190,119,.52);box-shadow:32px 0 70px rgba(31,16,9,.13)}
.company-hero__mesh{opacity:.56;background-image:linear-gradient(rgba(240,195,125,.09) 1px,transparent 1px),linear-gradient(90deg,rgba(240,195,125,.09) 1px,transparent 1px)}
.company-hero h1{text-shadow:0 9px 35px rgba(20,9,4,.48)}
.company-hero__line span{box-shadow:0 0 18px rgba(221,159,78,.48)}
.company-overview{position:relative;overflow:hidden;padding:88px 0;background:radial-gradient(circle at 8% 18%,rgba(197,139,70,.1),transparent 23%),linear-gradient(135deg,#fff 0%,#fbf7f0 58%,#f5ede2 100%)}
.company-overview::before{content:"";position:absolute;right:-95px;top:-105px;width:330px;height:330px;border:1px solid rgba(163,102,42,.1);border-radius:50%;box-shadow:0 0 0 44px rgba(163,102,42,.025),0 0 0 88px rgba(163,102,42,.018);transform:translateY(var(--about-scroll-soft,0px));pointer-events:none}
.company-overview__image::before{content:"";position:absolute;z-index:2;left:-10px;top:30px;width:4px;height:86px;background:linear-gradient(#e0ae65,#8d5523);box-shadow:0 12px 28px rgba(133,78,31,.28)}
.company-overview__image img{box-shadow:0 28px 62px rgba(49,29,17,.22)}
.company-overview__image img{
    border-radius:8px;
    box-shadow:rgba(0,0,0,.25) 0 54px 55px,
        rgba(0,0,0,.12) 0 -12px 30px,
        rgba(0,0,0,.12) 0 4px 6px,
        rgba(0,0,0,.17) 0 12px 13px,
        rgba(0,0,0,.09) 0 -3px 5px;
    transform-origin:center;
    will-change:transform,filter;
}
.company-overview__image:hover img{
    transform:translateY(-6px) scale(1.025);
    filter:saturate(1.08) contrast(1.02);
}
.company-overview__facts{background:rgba(255,255,255,.62);box-shadow:inset 0 1px rgba(255,255,255,.9)}
.company-direction{position:relative;padding:0 0 88px;background:linear-gradient(180deg,#f5ede2 0%,#f9f5ef 72%,#f4ebdf 100%)}
.company-direction::before{content:"";position:absolute;left:0;right:0;top:-1px;height:80px;background:linear-gradient(180deg,rgba(255,255,255,.72),transparent);pointer-events:none}
.company-direction__grid{position:relative;border:1px solid rgba(132,79,34,.13);box-shadow:0 25px 65px rgba(55,31,16,.13)}
.company-direction article{background:linear-gradient(145deg,#fffdf8,#efe1cf)}
.company-direction article+article{background:radial-gradient(circle at 92% 12%,rgba(206,145,69,.18),transparent 30%),linear-gradient(145deg,#3b2417,#24140d)}
.company-direction article::before{content:"";position:absolute;left:0;top:0;width:100%;height:3px;background:linear-gradient(90deg,var(--about-gold),transparent 74%);transform:scaleX(.28);transform-origin:left;transition:transform .45s ease}
.company-direction article:hover::before{transform:scaleX(1)}
.company-direction__icon{border:1px solid rgba(177,111,43,.2);border-radius:50%;background:rgba(255,255,255,.58);box-shadow:0 10px 24px rgba(109,63,25,.1)}
.company-direction article+article .company-direction__icon{background:rgba(214,154,77,.1);border-color:rgba(231,183,112,.22)}
.company-director{position:relative;overflow:hidden;padding:88px 0;background:linear-gradient(125deg,#ece0d0 0%,#f8f3eb 48%,#e9dccb 100%)}
.company-director::before{content:"“";position:absolute;right:3%;top:-105px;color:rgba(121,70,30,.055);font:700 370px/1 var(--heading-font);transform:translateY(var(--about-scroll-reverse,0px));pointer-events:none}
.company-director::after{content:"";position:absolute;left:-180px;bottom:-240px;width:430px;height:430px;border:1px solid rgba(146,88,36,.1);border-radius:50%;box-shadow:0 0 0 42px rgba(146,88,36,.022),0 0 0 84px rgba(146,88,36,.017)}
.company-director__card{position:relative;z-index:1;border:1px solid rgba(119,70,31,.13);box-shadow:0 28px 70px rgba(55,32,18,.16)}
.company-director__mark{background:radial-gradient(circle at 50% 30%,rgba(196,132,57,.18),transparent 32%),linear-gradient(145deg,#3b2417,#21120c)}
.company-director__mark::after{content:"";position:absolute;inset:0;opacity:.12;background-image:radial-gradient(#efc989 1px,transparent 1px);background-size:13px 13px;mask-image:linear-gradient(#000,transparent 82%)}
.company-director__message{position:relative;background:linear-gradient(135deg,rgba(255,255,255,.99),rgba(252,247,239,.96))}
.company-director__message::after{content:"";position:absolute;right:0;top:0;width:86px;height:86px;border-top:2px solid rgba(183,118,48,.35);border-right:2px solid rgba(183,118,48,.35)}
.company-capabilities{position:relative;overflow:hidden;padding:88px 0;background:radial-gradient(circle at 88% 12%,rgba(193,130,57,.1),transparent 23%),linear-gradient(180deg,#fffdfa,#f3eadd)}
.company-capabilities::before{content:"CAPABILITIES";position:absolute;left:-10px;top:22px;color:rgba(93,52,24,.035);font:800 clamp(75px,12vw,175px)/1 var(--heading-font);letter-spacing:.03em;white-space:nowrap;pointer-events:none}
.company-capabilities>.container{position:relative}
.company-capabilities__grid{gap:14px;border:0}
.company-capabilities__grid article{min-height:235px;border:1px solid rgba(133,79,34,.13)!important;border-radius:3px;background:linear-gradient(145deg,rgba(255,255,255,.98),rgba(250,244,235,.96));box-shadow:0 14px 34px rgba(60,35,19,.075)}
.company-capabilities__grid article::before{content:"";position:absolute;inset:0;background:linear-gradient(135deg,transparent 55%,rgba(190,126,52,.08));opacity:0;transition:opacity .35s}
.company-capabilities__grid article:hover{background:radial-gradient(circle at 85% 12%,rgba(208,149,74,.2),transparent 27%),linear-gradient(145deg,#3b2417,#21120c);box-shadow:0 25px 48px rgba(45,25,14,.22)}
.company-capabilities__grid article:hover::before{opacity:1}
.company-values{position:relative;padding:66px 0;color:#fff;background:radial-gradient(circle at 85% 20%,rgba(205,143,67,.17),transparent 25%),linear-gradient(110deg,#382216,#21120c)}
.company-values::before{content:"";position:absolute;inset:0;opacity:.13;background-image:linear-gradient(90deg,transparent 49.8%,rgba(238,197,132,.18) 50%,transparent 50.2%);background-size:85px 100%}
.company-values__inner{position:relative}.company-values .company-eyebrow{color:#dcaa63}.company-values h2{color:#fff}.company-values li{border-left-color:rgba(255,255,255,.14)}.company-values li strong{color:#d99e50}.company-values li span{color:#fff}.company-values li:hover{background:rgba(255,255,255,.065)}
@media(max-width:960px){.company-capabilities__grid{gap:12px}.company-capabilities__grid article:nth-child(-n+2){border-bottom:1px solid rgba(133,79,34,.13)!important}}
@media(max-width:680px){.company-overview,.company-director,.company-capabilities{padding-top:68px;padding-bottom:68px}.company-direction{padding-bottom:68px}.company-capabilities__grid article{min-height:auto}.company-values{padding:56px 0}.company-values li{border-color:rgba(255,255,255,.13)!important}.company-hero::before{background:linear-gradient(90deg,rgba(35,19,11,.93),rgba(47,27,16,.48)),radial-gradient(circle at 78% 38%,rgba(196,132,57,.2),transparent 35%)}}

/* Distinct editorial Values section */
.company-values{position:relative;overflow:hidden;padding:82px 0 92px;color:var(--about-ink);background:radial-gradient(circle at 7% 12%,rgba(197,135,61,.13),transparent 23%),linear-gradient(135deg,#f7efe4 0%,#fffdf9 52%,#eee1d1 100%)}
.company-values::before{content:"VALUES";position:absolute;right:-12px;top:-28px;color:rgba(104,58,25,.045);font:800 clamp(95px,15vw,210px)/1 var(--heading-font);letter-spacing:.04em;background:none;opacity:1;pointer-events:none}
.company-values::after{content:"";position:absolute;left:0;top:0;width:100%;height:4px;background:linear-gradient(90deg,transparent 3%,#b97931 24%,#e1b16b 50%,#b97931 76%,transparent 97%)}
.company-values__inner{position:relative;display:block}
.company-values__inner>div{display:flex;align-items:end;justify-content:space-between;gap:35px;margin-bottom:36px;padding-bottom:22px;border-bottom:1px solid rgba(132,78,34,.16)}
.company-values .company-eyebrow{color:#a76529}.company-values h2{max-width:670px;margin:0;color:#2f2017;font-size:clamp(34px,3.6vw,50px)}
.company-values ul{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;max-width:none}
.company-values li{position:relative;min-height:205px;padding:26px 24px;border:1px solid rgba(137,82,35,.15)!important;border-radius:4px;background:rgba(255,255,255,.78);box-shadow:0 12px 30px rgba(65,37,20,.07);backdrop-filter:blur(8px);transition:transform .4s cubic-bezier(.2,.8,.2,1),box-shadow .4s ease,border-color .3s ease,background .3s ease}
.company-values li:nth-child(even){transform:translateY(13px)}
.company-values li::before{content:"";position:absolute;right:0;top:0;width:42px;height:42px;border-top:1px solid rgba(185,120,48,.42);border-right:1px solid rgba(185,120,48,.42)}
.company-values li::after{height:3px;background:linear-gradient(90deg,#9e6027,#dfa85c)}
.company-values li>strong{position:absolute;right:17px;bottom:13px;color:rgba(116,65,27,.12);font:700 38px/1 var(--heading-font);letter-spacing:0}
.company-values li>i{display:grid;width:44px;height:44px;place-items:center;margin-bottom:25px;border-radius:50%;color:#a8672c;background:linear-gradient(145deg,#fff9ef,#ecd5b5);box-shadow:0 8px 18px rgba(119,70,31,.11);transition:transform .45s cubic-bezier(.2,.8,.2,1),background .3s,color .3s}
.company-values li>i svg{width:23px;height:23px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.company-values li>span{margin:0 0 9px;color:#34241a;font:700 21px var(--heading-font)}
.company-values li>small{display:block;max-width:190px;color:#7b6d62;font-size:11px;line-height:1.65}
.company-values li:hover,.company-values li:nth-child(even):hover{z-index:2;transform:translateY(-8px);border-color:rgba(172,105,42,.34)!important;background:#fff;box-shadow:0 24px 48px rgba(65,37,20,.14)}
.company-values li:hover>i{transform:rotate(-7deg) scale(1.12);color:#fff;background:linear-gradient(145deg,#bd7b33,#8e5422)}
@media(max-width:960px){.company-values ul{grid-template-columns:repeat(2,1fr);gap:14px}.company-values li:nth-child(even){transform:none}}
@media(max-width:680px){.company-values{padding:65px 0 70px}.company-values__inner>div{display:block}.company-values ul{grid-template-columns:1fr}.company-values li{min-height:180px}.company-values li>small{max-width:260px}.company-values::before{top:15px;font-size:90px}}

/* Homepage-style animated heading underline: About + Contact */
.page-shell--about :is(.company-overview__copy h2,.company-direction h2,.company-director h2,.company-heading h2,.company-values h2),
.page-shell--contact :is(.contact-intro h1,.contact-hero__card h2,.contact-premium__details h2,.contact-form-card h2,.contact-location__info h2,.contact-showcase h2,.contact-journey h2,.contact-cta-band__inner h2){position:relative;padding-bottom:19px}
.page-shell--about :is(.company-overview__copy h2,.company-direction h2,.company-director h2,.company-heading h2,.company-values h2)::after,
.page-shell--contact :is(.contact-intro h1,.contact-hero__card h2,.contact-premium__details h2,.contact-form-card h2,.contact-location__info h2,.contact-showcase h2,.contact-journey h2,.contact-cta-band__inner h2)::after{content:"";position:absolute;left:0;bottom:0;width:118px;height:13px;border-radius:999px;background:linear-gradient(90deg,rgba(255,255,255,0) 0%,#efc686 16%,#d19545 48%,#f6d9a9 78%,rgba(255,255,255,0) 100%);background-size:240% 100%;mask:linear-gradient(#000 0 0) center/100% 3px no-repeat;-webkit-mask:linear-gradient(#000 0 0) center/100% 3px no-repeat;filter:drop-shadow(0 7px 9px rgba(182,112,40,.2));animation:titleAccentFlow 6s linear infinite;transform-origin:left;transition:width .4s cubic-bezier(.2,.8,.2,1),filter .4s ease;pointer-events:none}
.page-shell--about :is(.company-overview__copy,.company-direction article,.company-director__message,.company-heading>div,.company-values__inner>div):hover h2::after,
.page-shell--contact :is(.contact-hero__content,.contact-hero__card,.contact-premium__details,.contact-form-card,.contact-location__info,.contact-showcase,.contact-journey,.contact-cta-band__inner):hover :is(h1,h2)::after{width:178px;filter:drop-shadow(0 8px 13px rgba(182,112,40,.34))}
.page-shell--contact .contact-intro h1::after{left:50%;transform:translateX(-50%);transform-origin:center}
.page-shell--contact .contact-intro h1{padding-bottom:22px}
@media(prefers-reduced-motion:reduce){.page-shell--about h2::after,.page-shell--contact :is(h1,h2)::after{animation:none!important}}

/* About page card depth and hover polish */
.page-shell--about .company-overview__facts,
.page-shell--about .company-direction article,
.page-shell--about .company-director__card,
.page-shell--about .company-capabilities__grid article,
.page-shell--about .company-values li {
    box-shadow:
        0 18px 38px rgba(55, 31, 16, .10),
        0 5px 12px rgba(55, 31, 16, .07),
        inset 0 1px 0 rgba(255, 255, 255, .72);
    transition:
        transform .42s cubic-bezier(.2, .8, .2, 1),
        box-shadow .42s ease,
        border-color .32s ease,
        background .32s ease;
}

.page-shell--about .company-overview__facts:hover,
.page-shell--about .company-direction article:hover,
.page-shell--about .company-director__card:hover,
.page-shell--about .company-capabilities__grid article:hover,
.page-shell--about .company-values li:hover {
    z-index: 3;
    transform: translateY(-8px);
    box-shadow:
        0 30px 58px rgba(55, 31, 16, .18),
        0 10px 20px rgba(55, 31, 16, .10),
        0 0 0 1px rgba(183, 118, 48, .12);
}

.page-shell--about .company-overview__facts {
    border-radius: 5px;
}

@media (max-width: 680px) {
    .page-shell--about .company-overview__facts,
    .page-shell--about .company-direction article,
    .page-shell--about .company-director__card,
    .page-shell--about .company-capabilities__grid article,
    .page-shell--about .company-values li {
        box-shadow: 0 14px 28px rgba(55, 31, 16, .10);
    }
}

@media (prefers-reduced-motion: reduce) {
    .page-shell--about :is(.company-overview__facts,.company-direction article,.company-director__card,.company-capabilities__grid article,.company-values li) {
        transition: none !important;
    }
}
