:root {
    --aji-charcoal: #171a17;
    --aji-charcoal-soft: #20241f;
    --aji-forest: #273029;
    --aji-forest-deep: #1d251f;
    --aji-sage: #84927e;
    --aji-sage-soft: #a7b09f;
    --aji-walnut: #8b674b;
    --aji-stone: #c2b9aa;
    --aji-stone-soft: #d9d2c6;
    --aji-ivory: #f0ece3;
    --aji-ivory-deep: #e8e1d4;
    --aji-champagne: #c4aa78;
    --aji-white: #f8f5ef;
    --aji-ink: #20231f;
    --aji-muted-dark: #646b62;
    --aji-muted-light: rgba(240, 236, 227, .62);
    --aji-border-light: rgba(240, 236, 227, .12);
    --aji-border-dark: rgba(32, 35, 31, .14);
    --aji-ease: cubic-bezier(.22, 1, .36, 1);
    --aji-section-space: clamp(6rem, 10vw, 10rem);
    --aji-header-height: 82px;
    --aji-nav-bottom: 90px;
    --aji-experience-progress: 0;
}

*, *::before, *::after {
    box-sizing: border-box;
}
html {
    scroll-behavior: smooth;
    background: var(--aji-charcoal);
}
body {
    margin: 0;
    overflow-x: hidden;
    background: var(--aji-charcoal);
    color: var(--aji-ivory);
    font-family: "Manrope", Arial, sans-serif;
    -webkit-font-smoothing: antialiased;
    text-rendering: optimizeLegibility;
}
body.aji-lock {
    overflow: hidden;
}
img {
    display: block;
    max-width: 100%;
}
a {
    color: inherit;
}
button, a {
    font: inherit;
}
::selection {
    background: var(--aji-sage);
    color: var(--aji-white);
}
a:focus-visible, button:focus-visible {
    outline: 2px solid var(--aji-champagne);
    outline-offset: 4px;
}

.aji-skip-link {
    position: fixed;
    z-index: 10000;
    top: .75rem;
    left: .75rem;
}

/* ========================= Shared ========================= */
.aji-section {
    position: relative;
    padding: var(--aji-section-space) 0;
    overflow: hidden;
}
.aji-section--ivory {
    background: var(--aji-ivory);
    color: var(--aji-ink);
}
.aji-section--stone {
    background: var(--aji-stone-soft);
    color: var(--aji-ink);
}
.aji-section--forest {
    background: var(--aji-forest);
    color: var(--aji-ivory);
}
.aji-section--charcoal {
    background: var(--aji-charcoal);
    color: var(--aji-ivory);
}

.aji-kicker {
    margin: 0 0 1.1rem;
    color: var(--aji-sage-soft);
    font-size: .72rem;
    font-weight: 600;
    letter-spacing: .18em;
    text-transform: uppercase;
}
.aji-kicker--dark {
    color: var(--aji-walnut);
}

.aji-display {
    margin: 0;
    max-width: 12ch;
    font-family: "Manrope", Arial, sans-serif;
    font-size: clamp(3.35rem, 6.2vw, 7rem);
    font-weight: 300;
    letter-spacing: -.062em;
    line-height: .92;
}
.aji-display em {
    color: var(--aji-champagne);
    font-weight: 300;
    font-style: normal;
}
.aji-display--dark {
    color: var(--aji-ink);
}
.aji-display--dark em {
    color: var(--aji-walnut);
    font-style: normal;
}

.aji-lead, .aji-section-copy {
    margin: 0;
    color: var(--aji-muted-light);
    font-size: clamp(1rem, 1.3vw, 1.15rem);
    line-height: 1.8;
}
.aji-lead--dark, .aji-section-copy--dark {
    color: var(--aji-muted-dark);
}

.aji-section-index {
    display: grid;
    grid-template-columns: auto minmax(4rem, 10rem) auto;
    align-items: center;
    width: max-content;
    gap: 1rem;
    margin-bottom: clamp(3rem, 6vw, 5.5rem);
    color: rgba(32, 35, 31, .48);
    font-size: .65rem;
    letter-spacing: .16em;
    text-transform: uppercase;
}
.aji-section-index i {
    height: 2px;
    background: rgba(32, 35, 31, .18);
}
.aji-section-index--light {
    color: rgba(240, 236, 227, .48);
}
.aji-section-index--light i {
    background: rgba(240, 236, 227, .16);
}

.aji-btn {
    min-height: 3.25rem;
    padding: .95rem 1.35rem;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: .8rem;
    border: 1px solid transparent;
    border-radius: 2px;
    font-size: .72rem;
    font-weight: 700;
    letter-spacing: .12em;
    line-height: 1;
    text-decoration: none;
    text-transform: uppercase;
    transition: transform .28s ease, background-color .28s ease, color .28s ease, border-color .28s ease;
}
.aji-btn i {
    transition: transform .28s ease;
}
.aji-btn:hover {
    transform: translateY(-2px);
}
.aji-btn:hover i {
    transform: translate(3px, -3px);
}
.aji-btn--compact {
    min-height: 2.85rem;
    padding: .78rem 1.05rem;
    background: var(--aji-ivory);
    color: var(--aji-charcoal);
}
.aji-btn--light {
    background: var(--aji-ivory);
    color: var(--aji-charcoal);
    border-color: var(--aji-ivory);
}
.aji-btn--ghost {
    background: rgba(240,236,227,.04);
    color: var(--aji-ivory);
    border-color: rgba(240,236,227,.22);
    backdrop-filter: blur(14px);
}

.aji-text-link {
    display: inline-flex;
    align-items: center;
    gap: .8rem;
    color: var(--aji-ink);
    font-size: .72rem;
    font-weight: 700;
    letter-spacing: .12em;
    text-decoration: none;
    text-transform: uppercase;
}
.aji-text-link--light {
    color: var(--aji-ivory);
}
.aji-text-link i {
    transition: transform .28s ease;
}
.aji-text-link:hover i {
    transform: translateY(4px);
}

.aji-reveal {
    opacity: 0;
    transform: translateY(24px);
    filter: blur(5px);
    transition: opacity .8s ease, transform .95s var(--aji-ease), filter .8s ease;
}
.aji-reveal.is-visible {
    opacity: 1;
    transform: none;
    filter: none;
}

/* ========================= Intro ========================= */
.aji-intro {
    position: fixed;
    z-index: 9999;
    inset: 0;
    overflow: hidden;
    pointer-events: none;
}
.aji-intro__panel {
    position: absolute;
    top: 0;
    width: 50%;
    height: 100%;
    background: var(--aji-charcoal);
    will-change: transform;
}
.aji-intro__panel--left {
    left: 0;
}
.aji-intro__panel--right {
    right: 0;
}
.aji-intro__slats {
    position: absolute;
    inset: 0;
    display: grid;
    grid-template-columns: repeat(7, 1fr);
    opacity: 0;
}
.aji-intro__slats i {
    border-right: 1px solid rgba(196,170,120,.14);
    transform: scaleY(.2);
    transform-origin: center;
}
.aji-intro__mark {
    position: absolute;
    top: 50%;
    left: 50%;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: .65rem;
    color: var(--aji-ivory);
    opacity: 0;
    transform: translate(-50%, -46%);
}
.aji-intro__logo {
    width: clamp(6.5rem, 11vw, 10rem);
    height: auto;
    filter: drop-shadow(0 10px 30px rgba(0,0,0,.18));
}
.aji-intro__caption {
    color: rgba(240,236,227,.52);
    font-size: .62rem;
    font-weight: 600;
    letter-spacing: .24em;
    text-transform: uppercase;
    white-space: nowrap;
}
body.aji-intro-start .aji-intro__slats {
    animation: ajiIntroSlats .8s ease forwards;
}
body.aji-intro-start .aji-intro__slats i {
    animation: ajiIntroSlat .9s var(--aji-ease) forwards;
}
body.aji-intro-start .aji-intro__mark {
    animation: ajiIntroMark .75s var(--aji-ease) .18s forwards;
}
body.aji-intro-open .aji-intro__panel--left {
    animation: ajiIntroLeft .95s cubic-bezier(.76,0,.24,1) forwards;
}
body.aji-intro-open .aji-intro__panel--right {
    animation: ajiIntroRight .95s cubic-bezier(.76,0,.24,1) forwards;
}
body.aji-intro-open .aji-intro__mark, body.aji-intro-open .aji-intro__slats {
    animation: ajiIntroFade .22s ease forwards;
}
@keyframes ajiIntroSlats { to { opacity: 1; } }
@keyframes ajiIntroSlat { to { transform: scaleY(1); } }
@keyframes ajiIntroMark { to { opacity: 1; transform: translate(-50%, -50%); } }
@keyframes ajiIntroLeft { to { transform: translateX(-100%); } }
@keyframes ajiIntroRight { to { transform: translateX(100%); } }
@keyframes ajiIntroFade { to { opacity: 0; } }

/* ========================= Header ========================= */
.aji-header {
    position: fixed;
    z-index: 1000;
    inset: 0 0 auto;
    transition: background-color .4s ease, border-color .4s ease, backdrop-filter .4s ease;
}
.aji-header.is-scrolled {
    background: rgba(23,26,23,.68);
    border-bottom: 1px solid rgba(240,236,227,.09);
    backdrop-filter: blur(20px);
    -webkit-backdrop-filter: blur(20px);
}
.aji-header__inner {
    min-height: var(--aji-header-height);
    display: flex;
    align-items: center;
    gap: 2rem;
    padding-inline: clamp(1rem, 3vw, 2rem);
}
.aji-brand {
    display: inline-flex;
    align-items: center;
    gap: .8rem;
    text-decoration: none;
}
.aji-brand__logo {
    width: 3.05rem;
    height: 3.05rem;
    object-fit: contain;
    flex: 0 0 auto;
    filter: drop-shadow(0 5px 16px rgba(0,0,0,.18));
}
.aji-brand__text {
    display: flex;
    flex-direction: column;
}
.aji-brand__text strong {
    font-family: "Manrope", Arial, sans-serif;
    font-size: 1.02rem;
    font-weight: 600;
    line-height: 1;
    letter-spacing: .01em;
    text-transform: uppercase;
}
.aji-brand__text small {
    margin-top: .25rem;
    color: rgba(240,236,227,.48);
    font-size: .54rem;
    letter-spacing: .18em;
    text-transform: uppercase;
}
.aji-nav {
    margin-left: auto;
    align-items: center;
    gap: clamp(1.2rem, 2.3vw, 2.6rem);
}
.aji-nav a {
    position: relative;
    color: rgba(240,236,227,.72);
    font-size: .66rem;
    font-weight: 600;
    letter-spacing: .11em;
    text-decoration: none;
    text-transform: uppercase;
}
.aji-nav a::after {
    position: absolute;
    content: "";
    left: 0;
    right: 100%;
    bottom: -.55rem;
    height: 1px;
    background: var(--aji-sage);
    transition: right .35s var(--aji-ease);
}
.aji-nav a:hover::after {
    right: 0;
}
.aji-header__actions {
    display: flex;
    align-items: center;
    gap: .8rem;
}
.aji-menu-toggle {
    position: relative;
    width: 3rem;
    height: 3rem;
    border: 1px solid rgba(240,236,227,.18);
    border-radius: 2px;
    background: rgba(23,26,23,.2);
    color: var(--aji-ivory);
}
.aji-menu-toggle span {
    position: absolute;
    left: 50%;
    width: 1.35rem;
    height: 1px;
    background: currentColor;
    transform-origin: center;
    transition: transform .35s var(--aji-ease), opacity .2s ease;
}
.aji-menu-toggle span:nth-child(1) {
    transform: translate(-50%,-6px);
}
.aji-menu-toggle span:nth-child(2) {
    transform: translate(-50%,0);
}
.aji-menu-toggle span:nth-child(3) {
    transform: translate(-50%,6px);
}
.aji-menu-toggle.is-open span:nth-child(1) {
    transform: translate(-50%,0) rotate(45deg);
}
.aji-menu-toggle.is-open span:nth-child(2) {
    opacity: 0;
}
.aji-menu-toggle.is-open span:nth-child(3) {
    transform: translate(-50%,0) rotate(-45deg);
}

.aji-mobile-menu {
    position: fixed;
    z-index: 999;
    inset: 0;
    visibility: hidden;
    opacity: 0;
    overflow-x: hidden;
    overflow-y: auto;
    overscroll-behavior: contain;
    -webkit-overflow-scrolling: touch;
    scrollbar-gutter: stable;
    scrollbar-width: thin;
    scrollbar-color: rgba(240,236,227,.30) transparent;
    pointer-events: none;
    background: linear-gradient(145deg,var(--aji-charcoal),var(--aji-forest-deep));
    transition: opacity .4s ease, visibility 0s linear .4s;
}
.aji-mobile-menu.is-open {
    visibility: visible;
    opacity: 1;
    pointer-events: auto;
    transition-delay: 0s;
}
.aji-mobile-menu::-webkit-scrollbar {
    width: 8px;
}
.aji-mobile-menu::-webkit-scrollbar-track {
    background: transparent;
}
.aji-mobile-menu::-webkit-scrollbar-thumb {
    border: 2px solid transparent;
    border-radius: 999px;
    background: rgba(240,236,227,.30);
    background-clip: padding-box;
}
.aji-mobile-menu__grain {
    position: absolute;
    inset: 0;
    opacity: .16;
    background-image:
        radial-gradient(circle at 25% 20%, rgba(132,146,126,.2), transparent 25rem),
        linear-gradient(rgba(240,236,227,.025) 1px,transparent 1px),
        linear-gradient(90deg,rgba(240,236,227,.025) 1px,transparent 1px);
    background-size: auto, 48px 48px, 48px 48px;
}
.aji-mobile-menu__inner {
    position: relative;
    min-height: 100svh;
    height: auto;
    padding-top: clamp(6.15rem, 12vh, 7.15rem);
    padding-bottom: max(2rem, env(safe-area-inset-bottom));
    display: flex;
    flex-direction: column;
}
.aji-mobile-menu__nav {
    display: flex;
    flex-direction: column;
}
.aji-mobile-menu__nav a {
    position: relative;
    display: grid;
    grid-template-columns: 2.5rem 1fr;
    align-items: baseline;
    padding: .62rem 0;
    border-bottom: 1px solid rgba(240,236,227,.1);
    opacity: 0;
    transform: translate3d(0, 1.15rem, 0);
    text-decoration: none;
    transition:
        opacity .46s var(--aji-ease),
        transform .58s var(--aji-ease),
        background-color .28s ease,
        border-color .28s ease;
    will-change: opacity, transform;
}
.aji-mobile-menu.is-open .aji-mobile-menu__nav a {
    opacity: 1;
    transform: translate3d(0, 0, 0);
}
.aji-mobile-menu.is-open .aji-mobile-menu__nav a:nth-child(1) {
    transition-delay: .10s, .10s, 0s, 0s;
}
.aji-mobile-menu.is-open .aji-mobile-menu__nav a:nth-child(2) {
    transition-delay: .16s, .16s, 0s, 0s;
}
.aji-mobile-menu.is-open .aji-mobile-menu__nav a:nth-child(3) {
    transition-delay: .22s, .22s, 0s, 0s;
}
.aji-mobile-menu.is-open .aji-mobile-menu__nav a:nth-child(4) {
    transition-delay: .28s, .28s, 0s, 0s;
}
.aji-mobile-menu.is-open .aji-mobile-menu__nav a:nth-child(5) {
    transition-delay: .34s, .34s, 0s, 0s;
}
.aji-mobile-menu.is-open .aji-mobile-menu__nav a:nth-child(6) {
    transition-delay: .40s, .40s, 0s, 0s;
}
.aji-mobile-menu__nav small {
    color: var(--aji-sage-soft);
    font-size: .6rem;
}
.aji-mobile-menu__nav span {
    font-family: "Manrope", Arial, sans-serif;
    font-size: clamp(1.9rem, 8vw, 2.65rem);
    font-weight: 300;
    letter-spacing: -.045em;
    line-height: 1.02;
}
.aji-mobile-menu__footer {
    margin-top: auto;
    padding-top: clamp(1.35rem, 3vh, 2rem);
    display: grid;
    gap: 1.5rem;
}
.aji-mobile-menu__footer p {
    margin: 0;
    color: rgba(240,236,227,.5);
    font-size: .78rem;
    line-height: 1.7;
}

.aji-mobile-menu__phone {
    width: fit-content;
    display: inline-flex;
    align-items: center;
    gap: .65rem;
    color: rgba(240,236,227,.78);
    font-size: .82rem;
    font-weight: 500;
    letter-spacing: .035em;
    text-decoration: none;
}

.aji-mobile-menu__phone i {
    color: var(--aji-champagne);
    font-size: .9rem;
}

/* Pointer devices: restrained editorial hover. */
@media (hover: hover) and (pointer: fine) and (min-width: 768px) {
    .aji-mobile-menu__nav a {
        overflow: hidden;
    }
    .aji-mobile-menu__nav a::before {
        position: absolute;
        content: "";
        inset: 0;
        z-index: -1;
        background: linear-gradient(90deg, rgba(132,146,126,.10), rgba(196,170,120,.045) 62%, transparent);
        opacity: 0;
        transform: translateX(-1.25rem);
        transition: opacity .32s ease, transform .42s var(--aji-ease);
    }
    .aji-mobile-menu__nav a small,
    .aji-mobile-menu__nav a span {
        transition: color .28s ease, transform .42s var(--aji-ease);
    }
    .aji-mobile-menu__nav a:hover {
        border-bottom-color: rgba(240,236,227,.24);
    }
    .aji-mobile-menu__nav a:hover::before {
        opacity: 1;
        transform: translateX(0);
    }
    .aji-mobile-menu__nav a:hover small {
        color: var(--aji-champagne);
        transform: translateX(.18rem);
    }
    .aji-mobile-menu__nav a:hover span {
        color: #fffaf0;
        transform: translateX(.5rem);
    }
}

/* Tablet / compact desktop: one deliberate type step, no height-based font changes. */
@media (min-width: 768px) and (max-width: 991.98px) {
    .aji-mobile-menu__nav span {
        font-size: clamp(2.25rem, 4.7vw, 3.05rem);
    }
}

/* Short viewports compact spacing only; typography remains width-driven. */
@media (max-height: 820px) and (max-width: 991.98px) {
    .aji-mobile-menu__inner {
        padding-top: 5.6rem;
        padding-bottom: 1.5rem;
    }
    .aji-mobile-menu__nav a {
        padding: .46rem 0;
    }
    .aji-mobile-menu__footer {
        padding-top: 1.1rem;
        gap: 1rem;
    }
}

@media (max-width: 575.98px) {
    .aji-footer__brand {
        align-items: flex-start;
    }

    .aji-footer__reserve {
        width: 100%;
        min-width: 0;
        max-width: 20rem;
    }

    .aji-footer__bottom {
        grid-template-columns: 1fr;
        gap: .8rem;
    }

    .aji-footer__address,
    .aji-footer__phone,
    .aji-footer__bottom a,
    .aji-footer__top-link {
        grid-column: auto;
        grid-row: auto;
        justify-self: start;
    }

    .aji-footer__meta {
        gap: .55rem .7rem;
    }

    .aji-tariff-card strong {
        font-size: clamp(2rem, 9vw, 2.6rem);
    }

    .aji-tariff-card--children .aji-tariff-card__age strong {
        font-size: clamp(1.7rem, 7.8vw, 2.15rem);
    }
}


@media (max-width: 575.98px) {
    .aji-tarifs__decor > span {
        left: -8vw;
        bottom: 1.5rem;
        font-size: clamp(6.5rem,30vw,9rem);
        color: rgba(240,236,227,.014);
    }

    .aji-tarifs__ring--outer {
        right: -10rem;
        top: 8rem;
    }
}

@media (prefers-reduced-motion: reduce) {
    .aji-mobile-menu__nav a,
    .aji-mobile-menu__nav a::before,
    .aji-mobile-menu__nav a small,
    .aji-mobile-menu__nav a span {
        transition: none !important;
        animation: none !important;
    }
    .aji-mobile-menu__nav a {
        opacity: 1;
        transform: none;
    }
}

/* ========================= Hero ========================= */
.aji-hero {
    --aji-hero-media-y: 0px;
    position: relative;
    min-height: 100vh;
    min-height: 100svh;
    overflow: hidden;
    isolation: isolate;
    background: var(--aji-charcoal);
}
.aji-hero__media, .aji-hero__veil {
    position: absolute;
    inset: 0;
    pointer-events: none;
}
.aji-hero__media {
    z-index: -3;
    overflow: hidden;
    transform: translate3d(0,var(--aji-hero-media-y),0);
}
.aji-hero__ambient {
    position: absolute;
    inset: 0;
    background: radial-gradient(circle at 70% 35%, rgba(132,146,126,.24), transparent 30rem), linear-gradient(135deg,#2c312b 0%,#171a17 52%,#111411 100%);
}
.aji-hero__poster,
.aji-hero__canvas {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    transform: scale(1.045);
    filter: saturate(1.02) contrast(1.04) brightness(.60);
    transition:
        opacity .7s ease,
        transform 1.2s var(--aji-ease),
        filter 1.2s ease;
}

.aji-hero__poster {
    object-fit: cover;
    object-position: center;
}

.aji-hero__canvas {
    opacity: 0;
}

.aji-hero.is-video-ready .aji-hero__canvas {
    opacity: 1;
}

.aji-hero__video-source {
    position: fixed;
    z-index: -100;
    top: 0;
    left: -10000px;
    width: 320px;
    height: 180px;
    opacity: .001;
    pointer-events: none;
}

.aji-hero.is-ready .aji-hero__poster,
.aji-hero.is-ready .aji-hero__canvas {
    transform: scale(1.012);
    filter: saturate(1.10) contrast(1.055) brightness(.72);
}
.aji-hero__veil {
    z-index: -1;
    background:
        linear-gradient(90deg, rgba(12,15,12,.92) 0%, rgba(15,18,15,.76) 28%, rgba(17,20,17,.40) 49%, rgba(17,20,17,.12) 72%, rgba(17,20,17,.36) 100%),
        linear-gradient(180deg, rgba(12,15,12,.62) 0%, rgba(12,15,12,.10) 30%, rgba(12,15,12,.08) 62%, rgba(12,15,12,.88) 100%),
        radial-gradient(ellipse at 75% 42%, transparent 0 26%, rgba(12,15,12,.08) 52%, rgba(12,15,12,.30) 100%);
}

/* Architectural signature: fewer lines, stronger structure, intentionally localized. */
.aji-hero__architecture {
    position: absolute;
    z-index: 1;
    top: 7%;
    right: 2.5%;
    bottom: 6%;
    width: min(44vw, 760px);
    pointer-events: none;
    opacity: .88;
    mask-image: linear-gradient(180deg, transparent 0, #000 10%, #000 78%, transparent 100%);
    -webkit-mask-image: linear-gradient(180deg, transparent 0, #000 10%, #000 78%, transparent 100%);
}
.aji-hero__architecture::before {
    position: absolute;
    inset: 20% 5% 12% 12%;
    content: "";
    background: repeating-linear-gradient(90deg, transparent 0 28px, rgba(196,170,120,.20) 28px 29px);
    mask-image: linear-gradient(90deg, transparent, #000 18%, #000 72%, transparent);
    -webkit-mask-image: linear-gradient(90deg, transparent, #000 18%, #000 72%, transparent);
}
.aji-hero__beam, .aji-hero__roof, .aji-hero__crossbar {
    position: absolute;
    display: block;
    background: linear-gradient(180deg, rgba(240,236,227,.34), rgba(196,170,120,.74) 28%, rgba(196,170,120,.44) 78%, rgba(240,236,227,.10));
    box-shadow: 0 0 0 1px rgba(14,17,14,.16), 0 0 20px rgba(196,170,120,.10);
}
.aji-hero__beam {
    top: 24%;
    bottom: 9%;
    width: 1px;
}
.aji-hero__beam--one {
    left: 12%;
}
.aji-hero__beam--two {
    left: 34%;
}
.aji-hero__beam--three {
    left: 58%;
}
.aji-hero__beam--four {
    left: 84%;
}
.aji-hero__roof {
    top: 16%;
    width: 45%;
    height: 1px;
    background: linear-gradient(90deg, rgba(240,236,227,.18), rgba(196,170,120,.82));
}
.aji-hero__roof--left {
    right: 50%;
    transform-origin: right center;
    transform: rotate(-27deg);
}
.aji-hero__roof--right {
    left: 50%;
    transform-origin: left center;
    transform: rotate(27deg);
}
.aji-hero__crossbar {
    top: 44%;
    left: 12%;
    right: 7%;
    height: 1px;
    background: linear-gradient(90deg, rgba(196,170,120,.16), rgba(240,236,227,.30), rgba(196,170,120,.08));
}

.aji-hero__inner {
    position: relative;
    z-index: 2;
    min-height: 100vh;
    min-height: 100svh;
    padding: calc(var(--aji-header-height) + 4.5rem) clamp(1rem,3vw,2rem) 4.5rem;
    display: flex;
    align-items: center;
}
.aji-hero__copy {
    width: min(700px, 68vw);
    padding-top: 3rem;
    text-shadow: 0 2px 24px rgba(0,0,0,.16);
}
.aji-hero__logo {
    width: clamp(5.2rem, 6.5vw, 7.4rem);
    height: auto;
    margin-bottom: 1.35rem;
    filter: drop-shadow(0 10px 28px rgba(0,0,0,.18));
}
.aji-hero__title {
    margin: 0;
    display: grid;
    color: var(--aji-ivory);
    font-family: "Manrope", Arial, sans-serif;
    font-size: clamp(3.7rem, 6.35vw, 7rem);
    font-weight: 300;
    letter-spacing: -.06em;
    line-height: .93;
}
.aji-hero__title span {
    display: block;
}
.aji-hero__title-accent {
    color: #d2ba8b;
    font-weight: 300;
}
.aji-hero__lead {
    max-width: 590px;
    margin: 1.65rem 0 0;
    color: rgba(240,236,227,.76);
    font-size: clamp(.98rem,1.18vw,1.12rem);
    line-height: 1.75;
}
.aji-hero__actions {
    margin-top: 2rem;
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 1.2rem 1.6rem;
}
.aji-hero__actions .aji-text-link {
    color: rgba(240,236,227,.82);
}
.aji-hero__meta {
    position: absolute;
    right: clamp(1rem,3vw,2rem);
    bottom: 4.2rem;
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    gap: .4rem;
    color: rgba(240,236,227,.44);
    font-size: .58rem;
    font-weight: 600;
    letter-spacing: .14em;
    text-transform: uppercase;
}
[data-aji-hero-reveal] {
    opacity: 0;
    transform: translateY(22px);
}
.aji-hero.is-ready [data-aji-hero-reveal] {
    animation: ajiHeroIn .9s var(--aji-ease) forwards;
}
.aji-hero.is-ready [data-aji-hero-reveal]:nth-child(2) {
    animation-delay: .06s;
}
.aji-hero.is-ready [data-aji-hero-reveal]:nth-child(3) {
    animation-delay: .12s;
}
.aji-hero.is-ready [data-aji-hero-reveal]:nth-child(4) {
    animation-delay: .18s;
}
.aji-hero.is-ready [data-aji-hero-reveal]:nth-child(5) {
    animation-delay: .24s;
}
@keyframes ajiHeroIn { to { opacity: 1; transform: none; } }

.aji-flow {
    position: absolute;
    z-index: 3;
    pointer-events: none;
}
.aji-flow span {
    position: absolute;
    content: "";
    display: block;
    background: linear-gradient(90deg,transparent,var(--aji-champagne),var(--aji-sage),transparent);
}
.aji-flow--hero {
    left: 0;
    right: 0;
    bottom: 0;
    height: 1px;
    background: rgba(240,236,227,.08);
}
.aji-flow--hero span {
    top: 0;
    left: -20%;
    width: 20%;
    height: 1px;
    animation: ajiFlow 5s ease-in-out infinite;
}
.aji-flow--section {
    right: 6%;
    bottom: 0;
    width: min(42vw,620px);
    height: 1px;
    background: rgba(32,35,31,.12);
}
.aji-flow--section span {
    inset: 0 auto 0 -20%;
    width: 20%;
}
@keyframes ajiFlow { 0% { transform: translateX(0); opacity: 0; } 15% { opacity: 1; } 100% { transform: translateX(600%); opacity: 0; } }

/* ========================= Hero — Luminous atmosphere ========================= */
.aji-hero--luminous {
    background: #cfc8bc;
}

.aji-hero--luminous .aji-hero__ambient {
    background:
        radial-gradient(circle at 76% 30%, rgba(240,236,227,.22), transparent 31rem),
        radial-gradient(circle at 84% 72%, rgba(132,146,126,.18), transparent 26rem),
        linear-gradient(135deg, #9da494 0%, #d9d2c6 45%, #b78967 100%);
}

.aji-hero--luminous .aji-hero__poster,
.aji-hero--luminous .aji-hero__canvas {
    filter: saturate(1.08) contrast(1.015) brightness(.86);
}

.aji-hero--luminous.is-ready .aji-hero__poster,
.aji-hero--luminous.is-ready .aji-hero__canvas {
    filter: saturate(1.13) contrast(1.025) brightness(.94);
}

.aji-hero--luminous .aji-hero__veil {
    background:
        linear-gradient(
            90deg,
            rgba(17,21,17,.78) 0%,
            rgba(18,22,18,.64) 22%,
            rgba(19,23,19,.39) 40%,
            rgba(20,24,20,.17) 56%,
            rgba(20,24,20,.05) 71%,
            rgba(20,24,20,0) 86%
        ),
        linear-gradient(
            180deg,
            rgba(17,20,17,.34) 0%,
            rgba(17,20,17,.10) 18%,
            rgba(17,20,17,0) 40%,
            rgba(17,20,17,0) 73%,
            rgba(17,20,17,.22) 100%
        ),
        radial-gradient(
            ellipse at 7% 51%,
            rgba(14,18,14,.18) 0%,
            rgba(14,18,14,.08) 31%,
            transparent 56%
        );
}

.aji-header:not(.is-scrolled) {
    background: linear-gradient(180deg, rgba(17,20,17,.30) 0%, rgba(17,20,17,.08) 72%, transparent 100%);
}

.aji-header:not(.is-scrolled) .aji-brand,
.aji-header:not(.is-scrolled) .aji-nav,
.aji-header:not(.is-scrolled) .aji-header__actions {
    text-shadow: 0 2px 18px rgba(0,0,0,.28);
}

.aji-header:not(.is-scrolled) .aji-nav a {
    color: rgba(248,245,239,.88);
}

.aji-header:not(.is-scrolled) .aji-brand__text small {
    color: rgba(248,245,239,.66);
}

.aji-hero--luminous .aji-hero__copy {
    text-shadow:
        0 1px 2px rgba(0,0,0,.16),
        0 12px 38px rgba(0,0,0,.24);
}

.aji-hero--luminous .aji-hero__copy .aji-kicker {
    color: rgba(248,245,239,.84);
}
.aji-hero--luminous .aji-hero__title {
    color: #f7f3eb;
}
.aji-hero--luminous .aji-hero__title-accent {
    color: #dec79b;
}
.aji-hero--luminous .aji-hero__lead {
    color: rgba(248,245,239,.88);
}
.aji-hero--luminous .aji-hero__actions .aji-text-link {
    color: rgba(248,245,239,.94);
}
.aji-hero--luminous .aji-hero__meta {
    color: rgba(248,245,239,.72);
    text-shadow: 0 2px 16px rgba(0,0,0,.48);
}
.aji-hero--luminous .aji-flow--hero {
    background: rgba(248,245,239,.16);
}
.aji-hero--luminous .aji-flow--hero span {
    background: linear-gradient(90deg, transparent, rgba(196,170,120,.95), rgba(132,146,126,.92), transparent);
}

/* Constant brand atmosphere above the video: soft CSS haze + animated canvas dust. */
.aji-hero__air {
    position: absolute;
    z-index: 0;
    inset: 0;
    overflow: hidden;
    pointer-events: none;
    contain: paint;
}

.aji-hero__air::before {
    position: absolute;
    content: "";
    inset: -18%;
    background:
        radial-gradient(ellipse at 82% 16%, rgba(255,241,212,.10) 0%, rgba(255,236,201,.06) 22%, rgba(255,232,194,.03) 42%, rgba(255,232,194,0) 70%),
        radial-gradient(ellipse at 72% 28%, rgba(255,236,201,.05) 0%, rgba(255,230,191,.03) 26%, rgba(255,230,191,0) 68%);
    filter: blur(92px);
    opacity: .22;
    mix-blend-mode: screen;
    animation: ajiAirBreath 24s ease-in-out infinite alternate;
}

.aji-hero__air::after {
    position: absolute;
    content: "";
    right: -22vw;
    top: -26vh;
    width: 68vw;
    height: 58vh;
    background:
        radial-gradient(ellipse at 44% 60%, rgba(255,244,223,.14) 0%, rgba(255,238,210,.09) 16%, rgba(255,234,197,.05) 34%, rgba(255,234,197,0) 74%),
        radial-gradient(ellipse at 58% 54%, rgba(255,250,241,.06) 0%, rgba(255,244,223,.025) 24%, rgba(255,244,223,0) 72%);
    filter: blur(78px);
    opacity: .34;
    mix-blend-mode: screen;
    animation: ajiSourceHaze 22s ease-in-out infinite alternate;
}

.aji-hero__volumetric,
.aji-hero__particles {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    pointer-events: none;
}

.aji-hero__volumetric {
    overflow: hidden;
    opacity: .92;
}

.aji-hero__beam-group {
    transform-box: fill-box;
    transform-origin: center;
    animation-name: ajiHeroBeamPulse;
    animation-timing-function: ease-in-out;
    animation-iteration-count: infinite;
    animation-direction: alternate;
}

.aji-hero__beam-group--one {
    --beam-min: .21;
    --beam-max: 1;
    animation-duration: 1.963s;
    animation-delay: -.109s;
}

.aji-hero__beam-group--two {
    --beam-min: .12;
    --beam-max: 1;
    animation-duration: 2.662s;
    animation-delay: -.826s;
}

.aji-hero__beam-group--three {
    --beam-min: .27;
    --beam-max: 1;
    animation-duration: 3.415s;
    animation-delay: -2.228s;
}

.aji-hero__beam-group--four {
    --beam-min: .16;
    --beam-max: 1;
    animation-duration: 4.363s;
    animation-delay: -3.854s;
}

.aji-hero__beam-layer {
    transform-box: fill-box;
    transform-origin: center;
}

.aji-hero__beam-group--one .aji-hero__beam-layer--outer {
    filter: blur(28px);
    opacity: .26;
}
.aji-hero__beam-group--one .aji-hero__beam-layer--core {
    filter: blur(20px);
    opacity: 1;
}
.aji-hero__beam-group--one .aji-hero__beam-layer--inner {
    filter: blur(16px);
    opacity: .72;
}

.aji-hero__beam-group--two .aji-hero__beam-layer--outer {
    filter: blur(24px);
    opacity: .26;
}
.aji-hero__beam-group--two .aji-hero__beam-layer--core {
    filter: blur(14px);
    opacity: 1;
}
.aji-hero__beam-group--two .aji-hero__beam-layer--inner {
    filter: blur(10px);
    opacity: .72;
}

.aji-hero__beam-group--three .aji-hero__beam-layer--outer {
    filter: blur(21px);
    opacity: .26;
}
.aji-hero__beam-group--three .aji-hero__beam-layer--core {
    filter: blur(11px);
    opacity: 1;
}
.aji-hero__beam-group--three .aji-hero__beam-layer--inner {
    filter: blur(7px);
    opacity: .72;
}

.aji-hero__beam-group--four .aji-hero__beam-layer--outer {
    filter: blur(19px);
    opacity: .26;
}
.aji-hero__beam-group--four .aji-hero__beam-layer--core {
    filter: blur(9px);
    opacity: 1;
}
.aji-hero__beam-group--four .aji-hero__beam-layer--inner {
    filter: blur(5px);
    opacity: .72;
}

.aji-hero__particles {
    overflow: hidden;
    mix-blend-mode: screen;
}

.aji-hero__particle {
    /* Static defaults keep CSS tooling happy.
       JavaScript overrides these per particle via inline custom properties. */
    --particle-x: 50%;
    --particle-y: 50%;
    --particle-size: 1.5px;
    --particle-alpha: .24;
    --particle-halo: 6px;
    --particle-blur: .1px;
    --particle-drift-x: 0px;
    --particle-move-duration: 72s;
    --particle-move-delay: 0s;
    --particle-twinkle-duration: 4s;
    --particle-twinkle-delay: 0s;

    position: absolute;
    left: var(--particle-x);
    top: var(--particle-y);
    width: var(--particle-size);
    height: var(--particle-size);
    animation:
        ajiHeroParticleDrift var(--particle-move-duration) linear var(--particle-move-delay) infinite;
    will-change: transform;
}

.aji-hero__particle::before {
    position: absolute;
    inset: 0;
    content: "";
    border-radius: 50%;
    background: rgba(255, 243, 216, var(--particle-alpha));
    box-shadow:
        0 0 var(--particle-halo) rgba(255, 235, 194, calc(var(--particle-alpha) * .52));
    filter: blur(var(--particle-blur));
    animation:
        ajiHeroParticleTwinkle var(--particle-twinkle-duration) ease-in-out var(--particle-twinkle-delay) infinite alternate;
    will-change: opacity, transform;
}

@keyframes ajiHeroBeamPulse {
    from {
        opacity: var(--beam-min);
    }
    to {
        opacity: var(--beam-max);
    }
}

@keyframes ajiHeroParticleDrift {
    from {
        transform: translate3d(0, 5vh, 0);
    }
    to {
        transform: translate3d(var(--particle-drift-x), -112vh, 0);
    }
}

@keyframes ajiHeroParticleTwinkle {
    0% {
        opacity: .12;
        transform: scale(.66);
    }
    38% {
        opacity: .88;
        transform: scale(1.03);
    }
    67% {
        opacity: .30;
        transform: scale(.82);
    }
    100% {
        opacity: 1;
        transform: scale(1.18);
    }
}

/* Architectural signature: one active implementation, layered over the luminous Hero. */
.aji-hero--atmosphere .aji-hero__architecture {
    right: .8%;
    width: min(48vw,830px);
    opacity: .76;
    filter: drop-shadow(0 2px 12px rgba(18,22,18,.10));
    mask-image: linear-gradient(180deg, transparent 0, #000 6%, #000 86%, transparent 100%);
    -webkit-mask-image: linear-gradient(180deg, transparent 0, #000 6%, #000 86%, transparent 100%);
}

.aji-hero--atmosphere .aji-hero__architecture::before {
    display: none;
}

.aji-hero--atmosphere .aji-hero__beam,
.aji-hero--atmosphere .aji-hero__roof,
.aji-hero--atmosphere .aji-hero__crossbar {
    overflow: visible;
    box-shadow:
        0 0 0 1px rgba(248,245,239,.08),
        0 5px 20px rgba(18,22,18,.09);
}

.aji-hero--atmosphere .aji-hero__beam {
    width: 2px;
    background: linear-gradient(
        180deg,
        rgba(32,38,32,.38),
        rgba(139,103,75,.70) 27%,
        rgba(196,170,120,.56) 68%,
        rgba(32,38,32,.24)
    );
}

.aji-hero--atmosphere .aji-hero__roof {
    height: 2px;
    background: linear-gradient(90deg, rgba(38,44,37,.32), rgba(139,103,75,.72), rgba(196,170,120,.58));
}

.aji-hero--atmosphere .aji-hero__crossbar {
    height: 1px;
    background: linear-gradient(90deg, rgba(38,44,37,.18), rgba(139,103,75,.62), rgba(196,170,120,.44), rgba(38,44,37,.12));
}

.aji-hero--atmosphere .aji-hero__beam::before,
.aji-hero--atmosphere .aji-hero__roof::before,
.aji-hero--atmosphere .aji-hero__crossbar::before,
.aji-hero--atmosphere .aji-hero__beam::after,
.aji-hero--atmosphere .aji-hero__roof::after,
.aji-hero--atmosphere .aji-hero__crossbar::after {
    position: absolute;
    content: "";
    pointer-events: none;
    mix-blend-mode: screen;
}

.aji-hero--atmosphere .aji-hero__beam::before {
    inset: 0 -1px 0 auto;
    width: 1px;
    background: linear-gradient(180deg, rgba(255,241,210,0) 0%, rgba(255,238,201,.14) 12%, rgba(244,205,142,.72) 26%, rgba(255,231,181,.18) 42%, rgba(255,241,211,0) 50%, rgba(245,202,136,.18) 61%, rgba(231,179,106,.82) 75%, rgba(255,232,185,.22) 88%, rgba(255,244,219,0) 100%);
    filter: drop-shadow(0 0 2px rgba(255,229,178,.96)) drop-shadow(0 0 7px rgba(238,190,112,.62)) drop-shadow(0 0 15px rgba(216,153,72,.28));
    opacity: 1;
    animation: ajiTimberEdgePulse 10s ease-in-out infinite alternate;
}

.aji-hero--atmosphere .aji-hero__roof::before,
.aji-hero--atmosphere .aji-hero__crossbar::before {
    inset: auto 0 -1px 0;
    height: 1px;
    background: linear-gradient(90deg, rgba(255,242,215,0) 0%, rgba(248,218,166,.16) 12%, rgba(232,184,112,.82) 28%, rgba(255,229,178,.20) 44%, rgba(255,242,214,0) 53%, rgba(241,199,133,.18) 63%, rgba(227,174,99,.78) 78%, rgba(255,230,180,.18) 91%, rgba(255,243,218,0) 100%);
    filter: drop-shadow(0 0 2px rgba(255,229,178,.94)) drop-shadow(0 0 7px rgba(238,190,112,.58)) drop-shadow(0 0 14px rgba(216,153,72,.25));
    opacity: .98;
    animation: ajiTimberEdgePulse 12s ease-in-out infinite alternate;
}

.aji-hero--atmosphere .aji-hero__beam::after,
.aji-hero--atmosphere .aji-hero__roof::after,
.aji-hero--atmosphere .aji-hero__crossbar::after {
    opacity: .94;
}

.aji-hero--atmosphere .aji-hero__beam::after {
    inset: 0 -1px 0 auto;
    width: 1px;
    background: linear-gradient(180deg, transparent 0%, transparent 31%, rgba(255,244,218,.12) 38%, rgba(255,240,202,.92) 45%, rgba(255,223,161,1) 49%, rgba(255,244,218,.25) 54%, transparent 62%, transparent 100%);
    background-size: 100% 260%;
    filter: drop-shadow(0 0 3px rgba(255,232,188,.98)) drop-shadow(0 0 8px rgba(241,193,115,.72)) drop-shadow(0 0 18px rgba(219,156,73,.32));
    animation: ajiTimberGlintVertical 8.5s linear infinite;
}

.aji-hero--atmosphere .aji-hero__roof::after,
.aji-hero--atmosphere .aji-hero__crossbar::after {
    inset: auto 0 -1px 0;
    height: 1px;
    background: linear-gradient(90deg, transparent 0%, transparent 31%, rgba(255,244,218,.12) 38%, rgba(255,240,202,.92) 45%, rgba(255,223,161,1) 49%, rgba(255,244,218,.25) 54%, transparent 62%, transparent 100%);
    background-size: 260% 100%;
    filter: drop-shadow(0 0 3px rgba(255,232,188,.98)) drop-shadow(0 0 8px rgba(241,193,115,.70)) drop-shadow(0 0 17px rgba(219,156,73,.30));
    animation: ajiTimberGlintHorizontal 10s linear infinite;
}

.aji-hero--atmosphere .aji-hero__beam--two::before {
    animation-delay: -3s;
}
.aji-hero--atmosphere .aji-hero__beam--three::before {
    animation-delay: -7s;
}
.aji-hero--atmosphere .aji-hero__beam--four::before {
    animation-delay: -5s;
}
.aji-hero--atmosphere .aji-hero__roof--right::before {
    animation-delay: -6s;
}
.aji-hero--atmosphere .aji-hero__crossbar::before {
    animation-delay: -9s;
}
.aji-hero--atmosphere .aji-hero__beam--one::after {
    animation-delay: -1.4s;
}
.aji-hero--atmosphere .aji-hero__beam--two::after {
    animation-delay: -5.8s;
}
.aji-hero--atmosphere .aji-hero__beam--three::after {
    animation-delay: -3.2s;
}
.aji-hero--atmosphere .aji-hero__beam--four::after {
    animation-delay: -7.1s;
}
.aji-hero--atmosphere .aji-hero__roof--left::after {
    animation-delay: -2.4s;
}
.aji-hero--atmosphere .aji-hero__roof--right::after {
    animation-delay: -6.5s;
}
.aji-hero--atmosphere .aji-hero__crossbar::after {
    animation-delay: -4.1s;
}

@keyframes ajiAirBreath {
    0% {
        opacity: .24;
        transform: translate3d(1%, -1%, 0) scale(1.01);
    }
    55% {
        opacity: .44;
        transform: translate3d(-1%, 1%, 0) scale(1.05);
    }
    100% {
        opacity: .30;
        transform: translate3d(-2%, 2%, 0) scale(1.03);
    }
}

@keyframes ajiSourceHaze {
    0% {
        opacity: .44;
        transform: translate3d(0,0,0) scale(.98);
    }
    50% {
        opacity: .60;
        transform: translate3d(-1.2%,1.2%,0) scale(1.03);
    }
    100% {
        opacity: .48;
        transform: translate3d(-2.2%,2.1%,0) scale(1.06);
    }
}

@keyframes ajiTimberGlintVertical {
    0% {
        background-position: 0 -120%;
        opacity: .22;
    }
    10% {
        opacity: .92;
    }
    44% {
        opacity: 1;
    }
    64% {
        opacity: .82;
    }
    100% {
        background-position: 0 135%;
        opacity: .18;
    }
}

@keyframes ajiTimberGlintHorizontal {
    0% {
        background-position: -120% 0;
        opacity: .18;
    }
    12% {
        opacity: .90;
    }
    50% {
        opacity: 1;
    }
    72% {
        opacity: .78;
    }
    100% {
        background-position: 135% 0;
        opacity: .16;
    }
}

@keyframes ajiTimberEdgePulse {
    0% {
        opacity: .70;
        filter: drop-shadow(0 0 2px rgba(255,224,173,.62)) drop-shadow(0 0 7px rgba(227,170,91,.28));
    }
    48% {
        opacity: 1;
        filter: drop-shadow(0 0 3px rgba(255,232,188,.98)) drop-shadow(0 0 10px rgba(238,188,110,.66)) drop-shadow(0 0 18px rgba(216,153,72,.28));
    }
    100% {
        opacity: .78;
        filter: drop-shadow(0 0 2px rgba(255,226,177,.74)) drop-shadow(0 0 8px rgba(231,177,96,.38));
    }
}

@media (max-width: 991.98px) {
    .aji-hero--atmosphere .aji-hero__architecture {
        opacity: .62;
    }
}

@media (max-width: 575.98px) {
    /* Keep Hero media brightness and veil identical across the 576px breakpoint.
       Only the atmospheric haze geometry is adapted for the narrower viewport. */
    .aji-hero__air::before {
        opacity: .12;
        filter: blur(60px);
    }

    .aji-hero__air::after {
        opacity: .24;
        filter: blur(52px);
        right: -30vw;
        width: 86vw;
    }
}

@media (prefers-reduced-motion: reduce) {
    .aji-hero__air::before,
    .aji-hero__air::after,
    .aji-hero__beam-group,
    .aji-hero__particle,
    .aji-hero__particle::before,
    .aji-hero--atmosphere .aji-hero__beam::before,
    .aji-hero--atmosphere .aji-hero__roof::before,
    .aji-hero--atmosphere .aji-hero__crossbar::before,
    .aji-hero--atmosphere .aji-hero__beam::after,
    .aji-hero--atmosphere .aji-hero__roof::after,
    .aji-hero--atmosphere .aji-hero__crossbar::after {
        animation: none !important;
    }
    .aji-hero__particles {
        display: none !important;
    }
}

/* ========================= Concept ========================= */
.aji-concept {
    isolation: isolate;
    overflow: hidden;
    padding-top: clamp(4.25rem, 6vw, 6.25rem);
    padding-bottom: clamp(5.5rem, 8vw, 8rem);
}
.aji-concept > .container-xxl {
    position: relative;
    z-index: 2;
}
.aji-concept .aji-section-index {
    margin-bottom: clamp(2.4rem, 4vw, 3.8rem);
}

.aji-concept__decor {
    position: absolute;
    z-index: 0;
    inset: 0;
    overflow: hidden;
    pointer-events: none;
}

.aji-concept__decor::before {
    position: absolute;
    content: "";
    right: 0;
    top: 0;
    width: 56%;
    height: 72%;
    opacity: .26;
    background-image:
        linear-gradient(rgba(32,35,31,.035) 1px, transparent 1px),
        linear-gradient(90deg, rgba(32,35,31,.035) 1px, transparent 1px);
    background-size: 4.75rem 4.75rem;
    -webkit-mask-image: linear-gradient(90deg, transparent, #000 32%, #000 100%);
    mask-image: linear-gradient(90deg, transparent, #000 32%, #000 100%);
}

.aji-concept__decor > span {
    position: absolute;
    right: -2vw;
    top: 12%;
    color: rgba(32,35,31,.040);
    font-family: "Manrope", Arial, sans-serif;
    font-size: clamp(9rem,18vw,21rem);
    font-weight: 300;
    letter-spacing: -.08em;
    line-height: .85;
}

.aji-concept__ring {
    position: absolute;
    border: 1px solid rgba(139,103,75,.155);
    border-radius: 50%;
}

.aji-concept__ring--outer {
    left: -8rem;
    bottom: -10rem;
    width: min(34vw,31rem);
    aspect-ratio: 1;
    box-shadow:
        0 0 0 3.4rem rgba(139,103,75,.026),
        0 0 0 6.8rem rgba(139,103,75,.016);
}

.aji-concept__ring--inner {
    right: 5%;
    top: 7%;
    width: min(28vw,25rem);
    aspect-ratio: 1;
    border-color: rgba(132,146,126,.155);
    box-shadow:
        0 0 0 2.6rem rgba(132,146,126,.024),
        0 0 0 5.2rem rgba(132,146,126,.014);
}

.aji-concept__decor > small {
    position: absolute;
    right: 1.05rem;
    top: 43%;
    color: rgba(32,35,31,.28);
    font-size: .52rem;
    font-weight: 600;
    letter-spacing: .16em;
    text-transform: uppercase;
    writing-mode: vertical-rl;
    transform: rotate(180deg);
}

.aji-concept::before {
    position: absolute;
    z-index: 0;
    content: "";
    left: -8rem;
    bottom: -13rem;
    width: 34rem;
    aspect-ratio: 1;
    border-radius: 50%;
    background: radial-gradient(circle, rgba(196,170,120,.12), transparent 70%);
    filter: blur(10px);
}
.aji-concept::after {
    position: absolute;
    z-index: 0;
    content: "";
    right: -10rem;
    top: -10rem;
    width: 42rem;
    aspect-ratio: 1;
    border-radius: 50%;
    background: radial-gradient(circle, rgba(132,146,126,.13), transparent 68%);
}

/* Atmospheric sashimi layer: transparent PNG, scaled as part of the composition. */
.aji-concept__backdrop {
    position: absolute;
    z-index: 1;
    top: clamp(-2rem, 1vw, 1rem);
    left: 24%;
    width: clamp(860px, 82vw, 1220px);
    pointer-events: none;
    opacity: .18;
}
.aji-concept__backdrop img {
    display: block;
    width: 100%;
    height: auto;
    object-fit: contain;
    filter: saturate(.50) brightness(1.06) contrast(.91);
}

.aji-concept__layout {
    display: grid;
    grid-template-columns: minmax(330px, .88fr) minmax(0, 1.12fr);
    gap: clamp(3rem, 7vw, 7.5rem);
    align-items: start;
}
.aji-concept__copy,
.aji-concept__body {
    position: relative;
    min-width: 0;
}
.aji-concept__body {
    padding-top: clamp(.4rem, 1.2vw, 1rem);
}

/* Natural wrapping: the browser may use one, two or three lines as space requires.
   Only “à table.” stays together as one phrase. */
.aji-concept__copy .aji-display {
    position: relative;
    z-index: 2;
    max-width: 11.2ch;
    font-size: clamp(3.02rem, 4.45vw, 5.05rem);
    line-height: .93;
    text-wrap: balance;
}
.aji-concept__copy .aji-display em {
    white-space: nowrap;
}

/* Foreground tartare: transparent product image, deliberately overlapping the title zone. */
.aji-concept__visual {
    position: relative;
    z-index: 1;
    width: min(100%, 525px);
    margin: clamp(-5.8rem, -4.8vw, -3rem) 0 0 clamp(.2rem, .8vw, .9rem);
}
.aji-concept__visual::before {
    position: absolute;
    z-index: 0;
    content: "";
    left: 6%;
    top: 17%;
    width: 80%;
    aspect-ratio: 1;
    border: 1px solid rgba(139,103,75,.12);
    border-radius: 50%;
    transform: translate(-8%, 4%);
}
.aji-concept__visual::after {
    position: absolute;
    z-index: 0;
    content: "";
    left: 14%;
    right: 3%;
    bottom: 3%;
    height: 15%;
    background: radial-gradient(ellipse, rgba(66,48,31,.15), transparent 68%);
    filter: blur(18px);
}
.aji-concept__visual-image {
    position: relative;
    z-index: 1;
    display: block;
    width: 100%;
    height: auto;
    filter: drop-shadow(0 22px 28px rgba(43,33,24,.15));
}

.aji-concept__intro {
    max-width: 720px;
    position: relative;
}
.aji-concept__intro::after {
    position: absolute;
    content: "";
    right: clamp(-1.6rem, -1vw, -.4rem);
    top: clamp(1.2rem, 5vw, 4.2rem);
    width: clamp(3rem, 8vw, 6rem);
    height: 1px;
    background: linear-gradient(90deg, rgba(139,103,75,.24), rgba(139,103,75,0));
    opacity: .55;
}
.aji-concept__eyebrow {
    display: flex;
    align-items: center;
    gap: .72rem;
    margin-bottom: 1.45rem;
    color: var(--aji-walnut);
    font-size: .68rem;
    font-weight: 700;
    letter-spacing: .17em;
    text-transform: uppercase;
}
.aji-concept__eyebrow b {
    flex: 0 0 auto;
    width: .48rem;
    height: .48rem;
    border: 1px solid rgba(139,103,75,.68);
    transform: rotate(45deg);
}
.aji-concept__notes {
    display: flex;
    flex-wrap: wrap;
    gap: .7rem;
    margin-top: 1.45rem;
}
.aji-concept__notes span {
    display: inline-flex;
    align-items: center;
    min-height: 2.25rem;
    padding: .5rem .82rem;
    border: 1px solid rgba(32,35,31,.12);
    background: rgba(255,255,255,.34);
    color: var(--aji-muted-dark);
    font-size: .65rem;
    font-weight: 600;
    letter-spacing: .13em;
    text-transform: uppercase;
    backdrop-filter: blur(4px);
}
.aji-concept__subcopy {
    max-width: 650px;
    margin: 1.25rem 0 0;
    color: rgba(76,81,76,.88);
    font-size: .94rem;
    line-height: 1.8;
}

.aji-concept__pillars {
    margin-top: clamp(2.2rem, 4vw, 3.4rem);
    border-top: 1px solid rgba(32,35,31,.16);
}
.aji-concept__pillars article {
    position: relative;
    display: grid;
    grid-template-columns: 2.8rem minmax(150px, .62fr) minmax(0, 1fr);
    gap: 1rem;
    align-items: baseline;
    padding: 1.25rem 0;
    border-bottom: 1px solid rgba(32,35,31,.13);
    background-color: rgba(139,103,75,0);
    box-shadow: inset 0 0 0 rgba(139,103,75,0);
    animation: ajiConceptPillarSurface 8.4s ease-in-out infinite;
}
.aji-concept__pillars article::before {
    position: absolute;
    left: 0;
    bottom: -1px;
    width: 0;
    height: 1px;
    content: "";
    background: linear-gradient(
        90deg,
        rgba(139,103,75,0),
        rgba(139,103,75,.72) 14%,
        var(--aji-walnut) 52%,
        rgba(139,103,75,.72) 86%,
        rgba(139,103,75,0)
    );
    box-shadow: 0 0 12px rgba(139,103,75,.10);
    opacity: 0;
    pointer-events: none;
    animation: ajiConceptPillarLine 8.4s var(--aji-ease) infinite;
}
.aji-concept__pillars article > span {
    color: var(--aji-walnut);
    font-size: .62rem;
    letter-spacing: .14em;
    opacity: .62;
    animation: ajiConceptPillarIndex 8.4s ease-in-out infinite;
}
.aji-concept__pillars strong {
    font-family: "Manrope", Arial, sans-serif;
    font-size: 1.35rem;
    font-weight: 500;
    letter-spacing: -.025em;
    animation: ajiConceptPillarTitle 8.4s ease-in-out infinite;
}
.aji-concept__pillars p {
    margin: 0;
    color: var(--aji-muted-dark);
    font-size: .9rem;
    line-height: 1.65;
    animation: ajiConceptPillarCopy 8.4s ease-in-out infinite;
}

.aji-concept__pillars article:nth-child(1),
.aji-concept__pillars article:nth-child(1)::before,
.aji-concept__pillars article:nth-child(1) > span,
.aji-concept__pillars article:nth-child(1) strong,
.aji-concept__pillars article:nth-child(1) p {
    animation-delay: 0s;
}

.aji-concept__pillars article:nth-child(2),
.aji-concept__pillars article:nth-child(2)::before,
.aji-concept__pillars article:nth-child(2) > span,
.aji-concept__pillars article:nth-child(2) strong,
.aji-concept__pillars article:nth-child(2) p {
    animation-delay: 2.8s;
}

.aji-concept__pillars article:nth-child(3),
.aji-concept__pillars article:nth-child(3)::before,
.aji-concept__pillars article:nth-child(3) > span,
.aji-concept__pillars article:nth-child(3) strong,
.aji-concept__pillars article:nth-child(3) p {
    animation-delay: 5.6s;
}

@keyframes ajiConceptPillarLine {
    0%,
    7% {
        width: 0;
        opacity: 0;
    }
    14% {
        width: 42%;
        opacity: .62;
    }
    22%,
    31% {
        width: 100%;
        opacity: 1;
    }
    40%,
    100% {
        width: 0;
        opacity: 0;
    }
}

@keyframes ajiConceptPillarSurface {
    0%,
    9%,
    42%,
    100% {
        background-color: rgba(139,103,75,0);
        box-shadow: inset 0 0 0 rgba(139,103,75,0);
    }
    18%,
    32% {
        background-color: rgba(139,103,75,.065);
        box-shadow: inset 3px 0 0 rgba(139,103,75,.62);
    }
}

@keyframes ajiConceptPillarTitle {
    0%,
    10%,
    42%,
    100% {
        color: var(--aji-charcoal);
    }
    18%,
    32% {
        color: #76533c;
    }
}

@keyframes ajiConceptPillarIndex {
    0%,
    10%,
    42%,
    100% {
        opacity: .62;
        transform: translateX(0);
    }
    18%,
    32% {
        opacity: 1;
        transform: translateX(.22rem);
    }
}

@keyframes ajiConceptPillarCopy {
    0%,
    10%,
    42%,
    100% {
        color: var(--aji-muted-dark);
    }
    18%,
    32% {
        color: rgba(43,47,43,.92);
    }
}

/* Compact desktop: still two columns. Keep the title visually strong while allowing
   natural wrapping inside the left column instead of shrinking it into submission. */
@media (max-width: 1199.98px) {
    .aji-concept__layout {
        gap: clamp(2.6rem, 5vw, 5rem);
    }
    .aji-concept__backdrop {
        top: .5rem;
        left: 16%;
        width: clamp(840px, 96vw, 1120px);
        opacity: .17;
    }
    .aji-concept__copy .aji-display {
        max-width: 100%;
        font-size: clamp(3.05rem, 4.45vw, 4.35rem);
        line-height: .92;
    }
    .aji-concept__visual {
        width: min(100%, 535px);
        margin-top: -3.8rem;
        margin-left: .1rem;
    }
    .aji-concept__pillars article {
        grid-template-columns: 2.5rem minmax(135px, .58fr) minmax(0, 1fr);
    }
}

/* Tablet + narrow desktop: one column. 576–992 uses one unified title scale. */
@media (max-width: 991.98px) {
    .aji-concept {
        padding-top: clamp(4rem, 8vw, 5rem);
    }
    .aji-concept__decor > span {
        right: -7vw;
        top: 7%;
        font-size: clamp(7rem,24vw,13rem);
        color: rgba(32,35,31,.034);
    }
    .aji-concept__decor::before {
        width: 100%;
        height: 34%;
        opacity: .18;
    }
    .aji-concept__ring--inner {
        right: -7rem;
        top: 6rem;
        width: min(55vw,25rem);
    }
    .aji-concept__ring--outer {
        left: -10rem;
        bottom: -7rem;
        width: min(60vw,28rem);
    }
    .aji-concept__decor > small {
        display: none;
    }
    .aji-concept__layout {
        grid-template-columns: 1fr;
        gap: 2.2rem;
    }
    .aji-concept__body {
        padding-top: 0;
    }
    .aji-concept__copy .aji-display {
        max-width: 100%;
        font-size: clamp(2.55rem, 8.2vw, 3.65rem);
        line-height: .94;
    }
    .aji-concept__backdrop {
        top: 6rem;
        left: 4%;
        width: clamp(820px, 122vw, 1140px);
        opacity: .115;
    }
    .aji-concept__visual {
        width: min(78vw, 560px);
        margin: -1.5rem auto 0;
    }
    .aji-concept__pillars {
        max-width: 760px;
    }
}

/* Phone-specific spacing and atmospheric-image placement only. */
@media (max-width: 575.98px) {
    .aji-concept {
        padding-top: 4rem;
        padding-bottom: 5rem;
    }
    .aji-concept__decor > span {
        top: 5%;
        right: -10vw;
        font-size: clamp(6.3rem,31vw,9rem);
        color: rgba(32,35,31,.032);
    }
    .aji-concept__ring--inner {
        right: -9rem;
        top: 8rem;
    }
    .aji-concept .aji-section-index {
        margin-bottom: 2.2rem;
    }
    .aji-concept__backdrop {
        display: block;
        top: clamp(46rem, 170vw, 60rem);
        left: -34%;
        width: 174vw;
        opacity: .078;
    }
    .aji-concept__visual {
        width: min(88vw, 440px);
        max-width: 100%;
        margin: -.7rem auto 0;
        transform: translateX(-1.25%);
    }
    .aji-concept__eyebrow {
        align-items: flex-start;
        font-size: .62rem;
        line-height: 1.55;
    }
    .aji-concept__notes {
        gap: .5rem;
    }
    .aji-concept__notes span {
        min-height: 2rem;
        padding: .42rem .7rem;
        font-size: .6rem;
    }
    .aji-concept__pillars article {
        grid-template-columns: 2.2rem 1fr;
    }
    .aji-concept__pillars p {
        grid-column: 2;
    }
    .aji-concept__intro::after {
        display: none;
    }
}

/* ========================= Tarifs ========================= */
.aji-tarifs {
    isolation: isolate;
}

.aji-tarifs__decor {
    position: absolute;
    z-index: -1;
    inset: 0;
    overflow: hidden;
    pointer-events: none;
}

.aji-tarifs__decor > span {
    position: absolute;
    left: -1.5vw;
    bottom: -1.5rem;
    color: rgba(240,236,227,.018);
    font-family: "Manrope", Arial, sans-serif;
    font-size: clamp(9rem,18vw,21rem);
    font-weight: 300;
    letter-spacing: -.08em;
    line-height: .82;
}

.aji-tarifs__ring {
    position: absolute;
    border: 1px solid rgba(196,170,120,.095);
    border-radius: 50%;
}

.aji-tarifs__ring--outer {
    right: -8rem;
    top: 4rem;
    width: min(34vw,32rem);
    aspect-ratio: 1;
    box-shadow:
        0 0 0 3.5rem rgba(196,170,120,.014),
        0 0 0 7rem rgba(196,170,120,.007);
}

.aji-tarifs__ring--inner {
    left: 4%;
    bottom: -7rem;
    width: min(26vw,23rem);
    aspect-ratio: 1;
    border-color: rgba(132,146,126,.085);
    box-shadow:
        0 0 0 2.8rem rgba(132,146,126,.012),
        0 0 0 5.6rem rgba(132,146,126,.006);
}

.aji-tarifs__decor > small {
    position: absolute;
    right: 1.05rem;
    top: 40%;
    color: rgba(240,236,227,.24);
    font-size: .52rem;
    font-weight: 600;
    letter-spacing: .16em;
    text-transform: uppercase;
    writing-mode: vertical-rl;
    transform: rotate(180deg);
}
.aji-tarifs::before {
    position: absolute;
    z-index: -2;
    inset: 0;
    content: "";
    opacity: .26;
    background-image: linear-gradient(rgba(240,236,227,.025) 1px,transparent 1px),linear-gradient(90deg,rgba(240,236,227,.025) 1px,transparent 1px);
    background-size: 64px 64px;
    mask-image: radial-gradient(circle at 70% 40%,#000,transparent 72%);
}
.aji-tarifs__glow {
    position: absolute;
    z-index: -1;
    right: -12%;
    top: -18%;
    width: min(58vw, 860px);
    height: min(52vw, 760px);
    pointer-events: none;
    background:
        radial-gradient(
            ellipse at 72% 28%,
            rgba(132,146,126,.16) 0%,
            rgba(132,146,126,.085) 24%,
            rgba(132,146,126,.025) 48%,
            transparent 72%
        ),
        radial-gradient(
            ellipse at 38% 62%,
            rgba(196,170,120,.085) 0%,
            rgba(196,170,120,.038) 28%,
            transparent 66%
        ),
        radial-gradient(
            ellipse at 22% 34%,
            rgba(240,236,227,.035) 0%,
            transparent 58%
        );
    filter: blur(42px);
    opacity: .64;
    transform-origin: 58% 46%;
    will-change: transform, opacity;
    animation: ajiTarifsAmbient 18s ease-in-out infinite alternate;
}

.aji-tarifs::after {
    position: absolute;
    z-index: -1;
    left: -10%;
    bottom: -24%;
    width: min(48vw, 720px);
    height: min(42vw, 620px);
    content: "";
    pointer-events: none;
    background:
        radial-gradient(
            ellipse at 44% 42%,
            rgba(132,146,126,.095) 0%,
            rgba(132,146,126,.04) 32%,
            transparent 68%
        ),
        radial-gradient(
            ellipse at 72% 64%,
            rgba(196,170,120,.055) 0%,
            transparent 62%
        );
    filter: blur(54px);
    opacity: .48;
    will-change: transform, opacity;
    animation: ajiTarifsAmbientSecondary 22s ease-in-out infinite alternate;
}

@keyframes ajiTarifsAmbient {
    0% {
        transform: translate3d(0, 0, 0) scale(1);
        opacity: .66;
    }
    48% {
        transform: translate3d(-3%, 2.5%, 0) scale(1.035);
        opacity: .78;
    }
    100% {
        transform: translate3d(-6%, -2%, 0) scale(1.065);
        opacity: .69;
    }
}

@keyframes ajiTarifsAmbientSecondary {
    0% {
        transform: translate3d(0, 0, 0) scale(1);
        opacity: .46;
    }
    52% {
        transform: translate3d(5%, -3%, 0) scale(1.06);
        opacity: .62;
    }
    100% {
        transform: translate3d(9%, 2%, 0) scale(1.09);
        opacity: .52;
    }
}
.aji-tarifs__heading {
    display: grid;
    grid-template-columns: minmax(0,1.2fr) minmax(260px,.55fr);
    gap: 3rem;
    align-items: end;
}
.aji-tarifs__heading .aji-display {
    max-width: none;
    font-size: clamp(3.9rem, 5vw, 5.4rem);
    text-wrap: balance;
}
.aji-tarifs__heading .aji-section-copy {
    max-width: 520px;
    justify-self: end;
}
.aji-tarifs__grid {
    margin-top: clamp(3rem,6vw,5rem);
    display: grid;
    grid-template-columns: repeat(3,minmax(0,1fr));
    border-top: 1px solid var(--aji-border-light);
    border-bottom: 1px solid var(--aji-border-light);
}
.aji-tariff-card {
    position: relative;
    min-height: 290px;
    padding: 2rem;
    display: grid;
    grid-template-columns: 1fr 1fr;
    align-content: space-between;
    gap: 1rem;
    border-right: 1px solid var(--aji-border-light);
}

.aji-tariff-card::after {
    position: absolute;
    left: 0;
    bottom: -1px;
    width: 42%;
    height: 1px;
    content: "";
    background: linear-gradient(
        90deg,
        rgba(196,170,120,0),
        rgba(196,170,120,.34) 20%,
        rgba(240,236,227,.88) 52%,
        rgba(196,170,120,.34) 80%,
        rgba(196,170,120,0)
    );
    box-shadow:
        0 0 10px rgba(196,170,120,.18),
        0 0 20px rgba(196,170,120,.07);
    opacity: 0;
    pointer-events: none;
    transform: translateX(-135%);
    will-change: transform, opacity;
    animation: ajiTariffSweep 8.4s cubic-bezier(.55,0,.22,1) infinite;
}

.aji-tarifs__grid .aji-tariff-card:nth-child(1)::after {
    animation-delay: 0s;
}

.aji-tarifs__grid .aji-tariff-card:nth-child(2)::after {
    animation-delay: 2.8s;
}

.aji-tarifs__grid .aji-tariff-card:nth-child(3)::after {
    animation-delay: 5.6s;
}

@keyframes ajiTariffSweep {
    0%,
    8% {
        transform: translateX(-135%);
        opacity: 0;
    }
    14% {
        opacity: .18;
    }
    22% {
        opacity: .95;
    }
    36% {
        transform: translateX(238%);
        opacity: .72;
    }
    43%,
    100% {
        transform: translateX(238%);
        opacity: 0;
    }
}
.aji-tariff-card:last-child {
    border-right: 0;
}
.aji-tariff-card--featured::before {
    position: absolute;
    inset: 0;
    content: "";
    background: linear-gradient(145deg,rgba(196,170,120,.08),rgba(132,146,126,.08));
    pointer-events: none;
}
.aji-tariff-card__day {
    grid-column: 1 / -1;
    color: rgba(240,236,227,.6);
    font-size: .7rem;
    font-weight: 600;
    letter-spacing: .14em;
    text-transform: uppercase;
    transition: color .32s ease;
}
.aji-tariff-card div {
    position: relative;
    display: flex;
    flex-direction: column;
    gap: .35rem;
}
.aji-tariff-card small {
    color: rgba(240,236,227,.4);
    font-size: .68rem;
    letter-spacing: .12em;
    text-transform: uppercase;
    transition: color .32s ease;
}
.aji-tariff-card strong {
    font-family: "Manrope", Arial, sans-serif;
    font-size: clamp(2.35rem, 3.1vw, 3.35rem);
    font-weight: 300;
    letter-spacing: -.055em;
    color: var(--aji-ivory);
    white-space: nowrap;
    transition:
        color .32s ease,
        text-shadow .32s ease;
}
.aji-tariff-card--children {
    grid-template-rows: auto 1fr 1fr auto;
}
.aji-tariff-card--children .aji-tariff-card__age strong {
    font-size: clamp(1.9rem, 2.4vw, 2.75rem);
}
.aji-tariff-card__free {
    grid-column: 1 / -1;
    margin: .4rem 0 0;
    padding-top: 1rem;
    border-top: 1px solid var(--aji-border-light);
    color: rgba(240,236,227,.58);
    font-size: .72rem;
    letter-spacing: .09em;
    text-transform: uppercase;
}
.aji-tariff-card__free b {
    color: var(--aji-ivory);
    font-weight: 600;
}
.aji-tarifs__footer {
    padding-top: 1.2rem;
    display: grid;
    grid-template-columns: auto auto minmax(3rem,1fr) auto auto;
    gap: 1rem;
    align-items: center;
    color: rgba(240,236,227,.55);
    font-size: .68rem;
    letter-spacing: .1em;
    text-transform: uppercase;
}
.aji-tarifs__footer strong {
    color: var(--aji-ivory);
    font-weight: 500;
}
.aji-tarifs__footer i {
    height: 1px;
    background: var(--aji-border-light);
}

@media (hover: hover) and (pointer: fine) {
    .aji-tariff-card:hover strong {
        color: #fffaf0;
        text-shadow: 0 0 24px rgba(196,170,120,.13);
    }

    .aji-tariff-card:hover small,
    .aji-tariff-card:hover .aji-tariff-card__day {
        color: rgba(240,236,227,.62);
    }
}

/* ========================= Experience ========================= */
.aji-experience {
    position: relative;
    background: var(--aji-charcoal);
}
.aji-experience__stage {
    position: relative;
    height: 245vh;
}
.aji-experience__sticky {
    position: sticky;
    top: 0;
    height: 100vh;
    height: 100svh;
    overflow: hidden;
    isolation: isolate;
    background: linear-gradient(145deg,#171a17 0%,#1c241e 55%,#121612 100%);
}
.aji-experience__ambient {
    position: absolute;
    z-index: -2;
    inset: 0;
    background: radial-gradient(circle at 75% 28%,rgba(132,146,126,.12),transparent 30rem),radial-gradient(circle at 30% 72%,rgba(196,170,120,.07),transparent 26rem);
}
.aji-experience__architecture {
    position: absolute;
    z-index: -1;
    inset: 0;
    display: flex;
    justify-content: flex-end;
    gap: clamp(3rem,7vw,7rem);
    padding-right: 8%;
    opacity: .18;
}
.aji-experience__architecture i {
    width: 1px;
    height: 100%;
    background: linear-gradient(180deg,transparent,var(--aji-champagne),transparent);
}

.aji-experience__media {
    position: absolute;
    z-index: 0;
    inset: 0;
    overflow: hidden;
    pointer-events: none;
}

.aji-experience__media::before {
    position: absolute;
    content: "";
    right: -8%;
    top: 8%;
    width: min(54vw, 980px);
    height: 84%;
    border-radius: 50%;
    background:
        radial-gradient(
            ellipse at 58% 48%,
            rgba(132,146,126,.095) 0%,
            rgba(132,146,126,.035) 38%,
            transparent 72%
        );
    filter: blur(48px);
    opacity: .7;
}

.aji-experience__media-layer {
    position: absolute;
    inset: 0;
    margin: 0;
    opacity: 0;
    transform: translate3d(3.5%, 1.5%, 0) scale(.965);
    transition:
        opacity .8s ease,
        transform 1.05s var(--aji-ease);
    will-change: opacity, transform;
}

.aji-experience__media-layer.is-active {
    opacity: 1;
    transform: translate3d(0, 0, 0) scale(1);
}

.aji-experience__media-layer img {
    position: absolute;
    display: block;
    width: auto;
    height: auto;
    max-width: none;
    object-fit: contain;
    filter:
        saturate(.84)
        contrast(.98)
        brightness(.98)
        drop-shadow(0 22px 34px rgba(0,0,0,.16));
}

.aji-experience__media-layer--tablet img {
    top: 12%;
    right: 12%;
    width: min(42vw, 760px);
    opacity: .24;
    transform: rotate(-2deg);
}

.aji-experience__media-layer--sashimi img {
    top: 17%;
    right: 13%;
    width: min(39vw, 690px);
    opacity: .25;
    transform: rotate(1deg);
}

.aji-experience__media-layer--robot img {
    top: 25%;
    right: 17%;
    width: min(31vw, 520px);
    opacity: .28;
}

.aji-experience__media-layer--feast img {
    top: 16%;
    right: 14%;
    width: min(38vw, 690px);
    opacity: .27;
    transform: rotate(-1.5deg);
}

/* Fade the image field before it reaches the story copy. */
@supports ((-webkit-mask-image: linear-gradient(#000, transparent)) or (mask-image: linear-gradient(#000, transparent))) {
    .aji-experience__media-layer {
        -webkit-mask-image: linear-gradient(
            90deg,
            transparent 0%,
            rgba(0,0,0,.14) 42%,
            #000 62%,
            #000 100%
        );
        mask-image: linear-gradient(
            90deg,
            transparent 0%,
            rgba(0,0,0,.14) 42%,
            #000 62%,
            #000 100%
        );
    }
}
.aji-experience__inner {
    position: relative;
    z-index: 2;
    height: 100%;
    padding-top: clamp(6rem,10svh,8rem);
    padding-bottom: 3rem;
    display: grid;
    grid-template-columns: minmax(250px,.65fr) minmax(0,1.35fr);
    grid-template-rows: auto 1fr;
    column-gap: clamp(3rem,7vw,8rem);
}
.aji-experience .aji-section-index {
    grid-column: 1 / -1;
    margin-bottom: 1.5rem;
}
.aji-experience__heading {
    align-self: start;
    padding-top: 1rem;
}
.aji-experience__heading .aji-display {
    /* Keep the scale seen around 1400px, then stop growing on ultrawide screens. */
    font-size: clamp(3.2rem, 5.5vw, 4.85rem);
}

.aji-experience__anchor {
    position: relative;
    width: min(100%, 17rem);
    margin-top: clamp(3.75rem, 9vh, 6.5rem);
    padding-top: 1.15rem;
    color: rgba(240,236,227,.72);
}

.aji-experience__anchor::before {
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 1px;
    content: "";
    background: linear-gradient(
        90deg,
        rgba(196,170,120,.72),
        rgba(196,170,120,.22) 58%,
        rgba(196,170,120,0)
    );
}

.aji-experience__anchor-copy small {
    display: block;
    color: var(--aji-champagne);
    font-size: .58rem;
    font-weight: 600;
    letter-spacing: .17em;
    text-transform: uppercase;
}

.aji-experience__anchor-copy p {
    max-width: 13rem;
    margin: .7rem 0 0;
    color: rgba(240,236,227,.58);
    font-size: .78rem;
    line-height: 1.65;
}

.aji-experience__anchor-count {
    display: flex;
    align-items: baseline;
    gap: .5rem;
    margin-top: 1.35rem;
}

.aji-experience__anchor-count strong {
    min-width: 2.5ch;
    color: var(--aji-ivory);
    font-family: "Manrope", Arial, sans-serif;
    font-size: clamp(2rem, 2.45vw, 2.65rem);
    font-weight: 300;
    letter-spacing: -.05em;
    line-height: 1;
    transition:
        color .35s ease,
        opacity .35s ease;
}

.aji-experience__anchor-count span {
    color: rgba(240,236,227,.34);
    font-size: .62rem;
    font-weight: 600;
    letter-spacing: .14em;
}
.aji-experience__story {
    position: relative;
    z-index: 2;
    align-self: center;
    display: grid;
    gap: .5rem;
}

.aji-experience__story::before {
    position: absolute;
    z-index: -1;
    content: "";
    inset: -2rem -2rem -2rem -3rem;
    background: radial-gradient(
        ellipse at 42% 50%,
        rgba(23,26,23,.62) 0%,
        rgba(23,26,23,.30) 48%,
        transparent 78%
    );
    filter: blur(20px);
    pointer-events: none;
}
.aji-experience__rail {
    position: absolute;
    left: 4.15rem;
    top: 2.2rem;
    bottom: 2.2rem;
    width: 1px;
    background: rgba(240,236,227,.1);
}
.aji-experience__rail span {
    position: absolute;
    inset: 0 0 auto;
    height: calc(var(--aji-experience-progress) * 100%);
    background: linear-gradient(180deg,var(--aji-champagne),var(--aji-sage));
}
.aji-experience__rail b {
    position: absolute;
    left: 50%;
    top: calc(var(--aji-experience-progress) * 100%);
    width: .55rem;
    aspect-ratio: 1;
    border-radius: 50%;
    background: var(--aji-ivory);
    box-shadow: 0 0 0 6px rgba(240,236,227,.06);
    transform: translate(-50%,-50%);
}
.aji-experience__step {
    display: grid;
    grid-template-columns: 3rem 3rem minmax(0,1fr);
    gap: 1rem;
    align-items: center;
    padding: 1rem 0;
    color: rgba(240,236,227,.35);
    transition: color .45s ease, transform .55s var(--aji-ease), opacity .45s ease;
    opacity: .55;
}
.aji-experience__step.is-active {
    color: var(--aji-ivory);
    transform: translateX(8px);
    opacity: 1;
}
.aji-experience__number {
    font-size: .58rem;
    letter-spacing: .14em;
    transition:
        color .42s ease,
        opacity .42s ease,
        transform .5s var(--aji-ease);
}
.aji-experience__icon {
    display: grid;
    place-items: center;
    width: 3rem;
    aspect-ratio: 1;
    border: 1px solid rgba(240,236,227,.15);
    color: var(--aji-champagne);
    font-size: 1rem;
    background: rgba(240,236,227,.02);
    transition:
        color .42s ease,
        background-color .42s ease,
        border-color .42s ease,
        box-shadow .5s ease,
        transform .5s var(--aji-ease);
}

.aji-experience__icon i {
    transition:
        transform .5s var(--aji-ease),
        filter .42s ease;
}
.aji-experience__step small {
    color: var(--aji-sage-soft);
    font-size: .6rem;
    letter-spacing: .14em;
    text-transform: uppercase;
    transition:
        color .42s ease,
        opacity .42s ease;
}
.aji-experience__step h3 {
    margin: .2rem 0 .25rem;
    font-family: "Manrope", Arial, sans-serif;
    font-size: clamp(1.7rem,2.5vw,2.6rem);
    font-weight: 500;
    transition:
        color .42s ease,
        text-shadow .42s ease,
        transform .5s var(--aji-ease);
}
.aji-experience__step p {
    margin: 0;
    max-width: 560px;
    color: currentColor;
    font-size: .85rem;
    line-height: 1.6;
    opacity: .76;
    transition:
        color .42s ease,
        opacity .42s ease;
}


@media (min-width: 992px) {
    .aji-experience__step {
        position: relative;
        isolation: isolate;
    }

    .aji-experience__step::before {
        position: absolute;
        z-index: -1;
        content: "";
        inset: .2rem -1.25rem;
        border-left: 2px solid rgba(196,170,120,0);
        background: linear-gradient(
            90deg,
            rgba(196,170,120,.075) 0%,
            rgba(132,146,126,.030) 46%,
            rgba(23,26,23,0) 88%
        );
        opacity: 0;
        transform: translateX(-.6rem) scaleX(.94);
        transform-origin: left center;
        transition:
            opacity .42s ease,
            transform .55s var(--aji-ease),
            border-color .42s ease;
        pointer-events: none;
    }

    .aji-experience__step.is-active::before {
        opacity: 1;
        transform: translateX(0) scaleX(1);
        border-left-color: rgba(196,170,120,.62);
    }

    .aji-experience__step.is-active .aji-experience__number {
        color: var(--aji-champagne);
        opacity: 1;
        transform: translateX(.18rem);
    }

    .aji-experience__step.is-active .aji-experience__icon {
        color: #f7e4bd;
        background: rgba(196,170,120,.11);
        border-color: rgba(196,170,120,.68);
        box-shadow:
            0 0 0 5px rgba(196,170,120,.045),
            0 0 24px rgba(196,170,120,.12);
        transform: scale(1.075);
    }

    .aji-experience__step.is-active .aji-experience__icon i {
        transform: scale(1.08);
        filter: drop-shadow(0 0 7px rgba(196,170,120,.28));
    }

    .aji-experience__step.is-active small {
        color: var(--aji-champagne);
        opacity: 1;
    }

    .aji-experience__step.is-active h3 {
        color: #fffaf0;
        text-shadow: 0 0 22px rgba(196,170,120,.11);
        transform: translateX(.12rem);
    }

    .aji-experience__step.is-active p {
        color: rgba(240,236,227,.88);
        opacity: 1;
    }
}

/* ========================= Lieu ========================= */
.aji-lieu {
    isolation: isolate;
    background:
        radial-gradient(
            ellipse at 84% 5%,
            rgba(240,236,227,.40) 0%,
            rgba(240,236,227,.15) 28%,
            transparent 60%
        ),
        radial-gradient(
            ellipse at 6% 92%,
            rgba(139,103,75,.085) 0%,
            transparent 48%
        ),
        var(--aji-stone-soft);
}

.aji-lieu > .container-xxl {
    position: relative;
    z-index: 2;
}

.aji-lieu::before {
    position: absolute;
    z-index: 0;
    content: "";
    right: -8rem;
    top: 3rem;
    width: min(34vw, 34rem);
    aspect-ratio: 1;
    border: 1px solid rgba(139,103,75,.10);
    border-radius: 50%;
    box-shadow:
        0 0 0 3.5rem rgba(139,103,75,.018),
        0 0 0 7rem rgba(139,103,75,.012);
    pointer-events: none;
}

.aji-lieu::after {
    position: absolute;
    z-index: 0;
    content: "ESPACE";
    right: -1.5vw;
    top: 15%;
    color: rgba(32,35,31,.025);
    font-family: "Manrope", Arial, sans-serif;
    font-size: clamp(10rem, 21vw, 23rem);
    font-weight: 300;
    letter-spacing: -.08em;
    line-height: 1;
    pointer-events: none;
}

.aji-lieu__grid {
    position: absolute;
    z-index: 0;
    inset: 0 0 auto auto;
    width: 58%;
    height: 62%;
    opacity: .42;
    background-image:
        linear-gradient(rgba(32,35,31,.040) 1px, transparent 1px),
        linear-gradient(90deg, rgba(32,35,31,.040) 1px, transparent 1px);
    background-size: 4.5rem 4.5rem;
    -webkit-mask-image: linear-gradient(90deg, transparent, #000 28%, #000 100%);
    mask-image: linear-gradient(90deg, transparent, #000 28%, #000 100%);
    pointer-events: none;
}

.aji-lieu__side-note {
    position: absolute;
    z-index: 3;
    right: 1.1rem;
    top: 42%;
    display: flex;
    align-items: center;
    gap: .7rem;
    color: rgba(32,35,31,.33);
    font-size: .52rem;
    font-weight: 600;
    letter-spacing: .16em;
    text-transform: uppercase;
    writing-mode: vertical-rl;
    transform: rotate(180deg);
    pointer-events: none;
}

.aji-lieu__side-note i {
    width: 1px;
    height: 3.5rem;
    background: linear-gradient(
        180deg,
        transparent,
        rgba(139,103,75,.48),
        transparent
    );
}

.aji-lieu__heading {
    max-width: none;
    margin-bottom: clamp(3.5rem, 6vw, 5.75rem);
}

.aji-lieu__heading .aji-display {
    width: fit-content;
    max-width: 100%;
    font-size: clamp(3.45rem, 5.2vw, 5.45rem);
    line-height: .92;
    text-wrap: balance;
}

.aji-lieu__heading .aji-display em {
    white-space: nowrap;
}

.aji-lieu__title-green {
    color: #6f8a61;
}

.aji-lieu__manifesto {
    position: relative;
    display: grid;
    grid-template-columns: minmax(0, .95fr) minmax(360px, 1.05fr);
    gap: clamp(3rem, 7vw, 7rem);
    align-items: end;
    margin-top: clamp(2.75rem, 5vw, 4.5rem);
    padding: 1.4rem 0 0;
    border-top: 1px solid rgba(32,35,31,.15);
}

.aji-lieu__manifesto::before {
    position: absolute;
    left: 0;
    top: -1px;
    width: min(12rem, 28%);
    height: 2px;
    content: "";
    background: linear-gradient(
        90deg,
        var(--aji-walnut),
        rgba(139,103,75,.18)
    );
}

.aji-lieu__manifesto-copy {
    max-width: 650px;
}

.aji-lieu__eyebrow {
    display: flex;
    align-items: center;
    gap: .72rem;
    margin-bottom: .85rem;
    color: var(--aji-walnut);
    font-size: .62rem;
    font-weight: 700;
    letter-spacing: .16em;
    text-transform: uppercase;
}

.aji-lieu__eyebrow b {
    width: .46rem;
    height: .46rem;
    border: 1px solid rgba(139,103,75,.70);
    transform: rotate(45deg);
}

.aji-lieu__manifesto-copy p {
    max-width: 41rem;
    margin: 0;
    color: rgba(76,81,76,.92);
    font-size: clamp(.96rem, 1.2vw, 1.08rem);
    line-height: 1.8;
}

.aji-lieu__materials {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    border-top: 1px solid rgba(32,35,31,.12);
    border-bottom: 1px solid rgba(32,35,31,.12);
}

.aji-lieu__materials > div {
    min-width: 0;
    display: grid;
    grid-template-columns: 1.65rem minmax(0, 1fr);
    gap: .8rem;
    align-items: center;
    padding: 1rem .85rem;
    border-right: 1px solid rgba(32,35,31,.12);
}

.aji-lieu__materials > div:last-child {
    border-right: 0;
}

.aji-lieu__swatch {
    width: 1.1rem;
    height: 1.1rem;
    border: 1px solid rgba(32,35,31,.12);
    box-shadow: inset 0 0 0 3px rgba(255,255,255,.18);
}

.aji-lieu__swatch--wood {
    background: var(--aji-walnut);
}

.aji-lieu__swatch--green {
    background: var(--aji-sage);
}

.aji-lieu__swatch--light {
    background: var(--aji-champagne);
}

.aji-lieu__materials span {
    min-width: 0;
    display: grid;
    gap: .18rem;
}

.aji-lieu__materials strong {
    color: var(--aji-ink);
    font-size: .68rem;
    font-weight: 650;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.aji-lieu__materials small {
    color: rgba(76,81,76,.62);
    font-size: .58rem;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.aji-lieu__gallery-wrap {
    position: relative;
}

.aji-lieu__gallery-wrap::before {
    position: absolute;
    z-index: -1;
    content: "";
    left: -2.5rem;
    right: -2.5rem;
    top: 3.1rem;
    bottom: -2.5rem;
    border: 1px solid rgba(32,35,31,.065);
    pointer-events: none;
}

.aji-lieu__gallery-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 2rem;
    margin-bottom: 1.05rem;
    padding-bottom: .9rem;
    border-bottom: 1px solid rgba(32,35,31,.14);
}

.aji-lieu__gallery-head span {
    color: var(--aji-ink);
    font-size: .72rem;
    font-weight: 600;
    letter-spacing: .12em;
    text-transform: uppercase;
}

.aji-lieu__gallery-head small {
    color: rgba(76,81,76,.58);
    font-size: .58rem;
    letter-spacing: .13em;
    text-transform: uppercase;
}

.aji-lieu__gallery {
    position: relative;
    display: grid;
    grid-template-columns: 1.35fr .65fr;
    grid-template-rows: 1fr 1fr;
    gap: clamp(.8rem,1.6vw,1.5rem);
}

.aji-lieu__gallery::before {
    position: absolute;
    z-index: 2;
    content: "";
    left: calc(67.5% - .5px);
    top: -1.05rem;
    width: 1px;
    height: .75rem;
    background: var(--aji-walnut);
    opacity: .48;
    pointer-events: none;
}

.aji-lieu__image {
    position: relative;
    min-height: 330px;
    overflow: hidden;
    margin: 0;
    background: #b9b0a3;
    box-shadow: 0 18px 42px rgba(57,47,37,.08);
}

.aji-lieu__image--large {
    grid-row: 1 / span 2;
    min-height: 700px;
}

.aji-lieu__image--roof {
    clip-path: polygon(0 13%,50% 0,100% 13%,100% 100%,0 100%);
}

.aji-lieu__image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition:
        transform .9s var(--aji-ease),
        filter .9s ease;
}

.aji-lieu__image::before {
    position: absolute;
    z-index: 2;
    content: "";
    inset: .65rem;
    border: 1px solid rgba(240,236,227,.18);
    opacity: .72;
    pointer-events: none;
}

.aji-lieu__image::after {
    position: absolute;
    z-index: 1;
    inset: 0;
    content: "";
    background:
        linear-gradient(
            180deg,
            rgba(17,20,17,.02) 38%,
            rgba(17,20,17,.18) 66%,
            rgba(17,20,17,.72) 100%
        );
    pointer-events: none;
}

.aji-lieu__image figcaption {
    position: absolute;
    z-index: 3;
    left: 1.2rem;
    right: 1.2rem;
    bottom: 1.1rem;
    display: grid;
    grid-template-columns: auto minmax(0,1fr);
    gap: 1rem;
    align-items: end;
    color: var(--aji-ivory);
}

.aji-lieu__caption-meta {
    display: grid;
    gap: .28rem;
    min-width: 3.5rem;
    padding-right: .9rem;
    border-right: 1px solid rgba(240,236,227,.24);
}

.aji-lieu__caption-meta b {
    color: var(--aji-champagne);
    font-size: .62rem;
    font-weight: 600;
    letter-spacing: .12em;
}

.aji-lieu__caption-meta small {
    color: rgba(240,236,227,.58);
    font-size: .52rem;
    letter-spacing: .12em;
    text-transform: uppercase;
}

.aji-lieu__image figcaption p {
    margin: 0;
    max-width: 31rem;
    font-family: "Manrope", Arial, sans-serif;
    font-size: clamp(.98rem, 1.15vw, 1.25rem);
    line-height: 1.2;
}

@media (hover:hover) and (pointer:fine) {
    .aji-lieu__image:hover img {
        transform: scale(1.025);
        filter: saturate(1.035) contrast(1.015);
    }

    .aji-lieu__image:hover::before {
        border-color: rgba(196,170,120,.34);
    }
}

/* ========================= Cuisine ========================= */
.aji-cuisine {
    isolation: isolate;
    overflow: hidden;
}

.aji-cuisine::before {
    position: absolute;
    z-index: -1;
    content: "";
    right: -10%;
    top: 4%;
    width: min(52vw, 58rem);
    height: 82%;
    background:
        radial-gradient(
            ellipse at 58% 44%,
            rgba(196,170,120,.10) 0%,
            rgba(132,146,126,.055) 32%,
            transparent 70%
        );
    filter: blur(54px);
    pointer-events: none;
}

.aji-cuisine::after {
    position: absolute;
    z-index: -1;
    content: "SAVEURS";
    left: -2vw;
    bottom: -2.5rem;
    color: rgba(240,236,227,.018);
    font-family: "Manrope", Arial, sans-serif;
    font-size: clamp(10rem, 19vw, 22rem);
    font-weight: 300;
    letter-spacing: -.08em;
    line-height: .8;
    pointer-events: none;
}

.aji-cuisine__grid {
    position: absolute;
    z-index: -1;
    top: 0;
    right: 0;
    width: 58%;
    height: 100%;
    opacity: .36;
    background-image:
        linear-gradient(rgba(240,236,227,.033) 1px, transparent 1px),
        linear-gradient(90deg, rgba(240,236,227,.033) 1px, transparent 1px);
    background-size: 4.75rem 4.75rem;
    -webkit-mask-image: linear-gradient(90deg, transparent, #000 34%, #000 100%);
    mask-image: linear-gradient(90deg, transparent, #000 34%, #000 100%);
    pointer-events: none;
}

.aji-cuisine__layout {
    display: grid;
    grid-template-columns: minmax(360px,.72fr) minmax(0,1.28fr);
    gap: clamp(3.5rem,7vw,8rem);
    align-items: center;
}

.aji-cuisine__copy {
    position: relative;
    z-index: 2;
}

.aji-cuisine__copy .aji-display {
    width: auto;
    max-width: none;
    font-size: clamp(3.35rem,4.6vw,5.15rem);
    text-wrap: pretty;
}

.aji-cuisine__copy .aji-section-copy {
    max-width: 540px;
    margin-top: 1.8rem;
    color: rgba(240,236,227,.66);
}

.aji-cuisine__principles {
    position: relative;
    max-width: 570px;
    margin-top: clamp(2.4rem,4vw,3.35rem);
    border-top: 1px solid rgba(240,236,227,.14);
    overflow: hidden;
}

.aji-cuisine__principles::before {
    position: absolute;
    z-index: 2;
    left: -22%;
    top: -1px;
    width: 20%;
    height: 2px;
    content: "";
    background: linear-gradient(
        90deg,
        rgba(196,170,120,0),
        rgba(196,170,120,.36) 22%,
        rgba(255,242,214,.95) 52%,
        rgba(196,170,120,.38) 80%,
        rgba(196,170,120,0)
    );
    box-shadow:
        0 0 10px rgba(196,170,120,.20),
        0 0 20px rgba(196,170,120,.08);
    animation: ajiCuisineRailSweep 8.6s ease-in-out infinite;
    pointer-events: none;
}

.aji-cuisine__principles article {
    position: relative;
    display: grid;
    grid-template-columns: 2.6rem minmax(105px,.54fr) minmax(0,1fr);
    gap: .9rem;
    align-items: baseline;
    padding: 1.05rem 0;
    border-bottom: 1px solid rgba(240,236,227,.11);
}

.aji-cuisine__principles article::after {
    position: absolute;
    left: 0;
    bottom: -1px;
    width: 30%;
    height: 1px;
    content: "";
    opacity: 0;
    transform: translateX(-125%);
    background: linear-gradient(
        90deg,
        rgba(196,170,120,0),
        rgba(196,170,120,.88) 52%,
        rgba(196,170,120,0)
    );
    box-shadow: 0 0 10px rgba(196,170,120,.12);
    animation: ajiCuisinePrincipleSweep 9s var(--aji-ease) infinite;
}

.aji-cuisine__principles article:nth-child(2)::after {
    animation-delay: 3s;
}

.aji-cuisine__principles article:nth-child(3)::after {
    animation-delay: 6s;
}

.aji-cuisine__principles article > span {
    color: rgba(196,170,120,.68);
    font-size: .58rem;
    letter-spacing: .14em;
}

.aji-cuisine__principles strong {
    color: var(--aji-ivory);
    font-family: "Manrope", Arial, sans-serif;
    font-size: .92rem;
    font-weight: 550;
    letter-spacing: .01em;
}

.aji-cuisine__principles small {
    color: rgba(240,236,227,.48);
    font-size: .68rem;
    line-height: 1.55;
}

.aji-cuisine__copy .aji-text-link {
    margin-top: 2.25rem;
}

.aji-cuisine__visual {
    position: relative;
    min-height: clamp(760px,54vw,880px);
}

.aji-cuisine__visual::before {
    position: absolute;
    z-index: 0;
    content: "";
    right: 2%;
    top: 3%;
    width: 56%;
    aspect-ratio: 1;
    border: 1px solid rgba(196,170,120,.11);
    border-radius: 50%;
    box-shadow:
        0 0 0 3.5rem rgba(196,170,120,.014),
        0 0 0 7rem rgba(196,170,120,.008);
    pointer-events: none;
}

.aji-cuisine__visual::after {
    position: absolute;
    z-index: 0;
    content: "";
    left: 8%;
    right: 7%;
    bottom: 1.8rem;
    height: 1px;
    background: linear-gradient(
        90deg,
        rgba(196,170,120,0),
        rgba(196,170,120,.34),
        rgba(196,170,120,0)
    );
    pointer-events: none;
}

.aji-cuisine__visual-mark {
    position: absolute;
    z-index: 3;
    top: 2.1rem;
    right: 0;
    display: flex;
    align-items: center;
    gap: .8rem;
    color: rgba(240,236,227,.36);
    font-size: .52rem;
    font-weight: 600;
    letter-spacing: .15em;
    text-transform: uppercase;
    writing-mode: vertical-rl;
    transform: rotate(180deg);
    pointer-events: none;
}

.aji-cuisine__visual-mark i {
    width: 1px;
    height: 4.5rem;
    background: linear-gradient(
        180deg,
        transparent,
        rgba(196,170,120,.60),
        transparent
    );
}

.aji-cuisine__frame {
    position: absolute;
    overflow: hidden;
    margin: 0;
    background: #0f120f;
    box-shadow: 0 26px 62px rgba(0,0,0,.20);
}

.aji-cuisine__frame::before {
    position: absolute;
    z-index: 2;
    content: "";
    inset: .65rem;
    border: 1px solid rgba(240,236,227,.16);
    pointer-events: none;
}

.aji-cuisine__frame::after {
    position: absolute;
    z-index: 1;
    inset: 0;
    content: "";
    background: linear-gradient(
        180deg,
        transparent 50%,
        rgba(15,18,15,.06) 66%,
        rgba(15,18,15,.48) 100%
    );
    pointer-events: none;
}

.aji-cuisine__frame img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition:
        transform .9s var(--aji-ease),
        filter .9s ease;
}

.aji-cuisine__frame--main {
    z-index: 1;
    top: 0;
    left: 0;
    bottom: 0;
    width: 79%;
}

.aji-cuisine__frame--main img {
    object-position: center center;
}

.aji-cuisine__frame--small {
    z-index: 3;
    right: 0;
    bottom: 5%;
    width: 39%;
    aspect-ratio: 3/4;
    border: 8px solid var(--aji-charcoal);
}

.aji-cuisine__frame figcaption {
    position: absolute;
    z-index: 3;
    left: 1.15rem;
    bottom: 1rem;
    display: flex;
    align-items: center;
    gap: .7rem;
    color: var(--aji-ivory);
}

.aji-cuisine__frame figcaption span {
    color: var(--aji-champagne);
    font-size: .56rem;
    font-weight: 600;
    letter-spacing: .14em;
}

.aji-cuisine__frame figcaption small {
    padding-left: .7rem;
    border-left: 1px solid rgba(240,236,227,.25);
    color: rgba(240,236,227,.68);
    font-size: .55rem;
    letter-spacing: .12em;
    text-transform: uppercase;
}

@media (hover:hover) and (pointer:fine) {
    .aji-cuisine__frame:hover img {
        transform: scale(1.022);
        filter: saturate(1.035) contrast(1.015);
    }

    .aji-cuisine__frame:hover::before {
        border-color: rgba(196,170,120,.34);
    }
}

@keyframes ajiCuisineRailSweep {
    0%,
    8% {
        left: -22%;
        opacity: 0;
    }
    15% {
        opacity: .9;
    }
    55% {
        opacity: .9;
    }
    68%,
    100% {
        left: 102%;
        opacity: 0;
    }
}

@keyframes ajiCuisinePrincipleSweep {
    0%,
    9% {
        transform: translateX(-125%);
        opacity: 0;
    }
    18% {
        opacity: .28;
    }
    28% {
        transform: translateX(112%);
        opacity: .95;
    }
    38%,
    100% {
        transform: translateX(112%);
        opacity: 0;
    }
}

/* ========================= Menu ========================= */
.aji-menu {
    isolation: isolate;
    overflow: visible;
}

.aji-menu > .container-xxl {
    position: relative;
    z-index: 2;
}

.aji-menu__decor {
    position: absolute;
    z-index: 0;
    top: 0;
    left: 0;
    right: 0;
    bottom: auto;
    height: clamp(58rem,72vw,72rem);
    overflow: hidden;
    pointer-events: none;
}

.aji-menu__decor::before {
    position: absolute;
    content: "";
    right: 0;
    top: 0;
    width: 61%;
    height: clamp(24rem,34vw,34rem);
    opacity: .27;
    background-image:
        linear-gradient(rgba(32,35,31,.038) 1px,transparent 1px),
        linear-gradient(90deg,rgba(32,35,31,.038) 1px,transparent 1px);
    background-size: 4.75rem 4.75rem;
    -webkit-mask-image: linear-gradient(90deg,transparent,#000 28%,#000 100%);
    mask-image: linear-gradient(90deg,transparent,#000 28%,#000 100%);
}

.aji-menu__decor::after {
    position: absolute;
    content: "";
    inset: 0;
    background:
        radial-gradient(circle at 88% 18rem,rgba(196,170,120,.075),transparent 18rem),
        radial-gradient(circle at 8% 50rem,rgba(132,146,126,.065),transparent 20rem);
}

.aji-menu__decor > span {
    position: absolute;
    right: -1.5vw;
    top: 5.5rem;
    color: rgba(32,35,31,.034);
    font-family: "Manrope",Arial,sans-serif;
    font-size: clamp(9rem,18vw,21rem);
    font-weight: 300;
    letter-spacing: -.08em;
    line-height: .84;
}

.aji-menu__ring {
    position: absolute;
    border: 1px solid rgba(139,103,75,.145);
    border-radius: 50%;
}

.aji-menu__ring--outer {
    left: -9rem;
    top: 35.5rem;
    bottom: auto;
    width: min(32vw,28.5rem);
    aspect-ratio: 1;
    box-shadow:
        0 0 0 3.4rem rgba(139,103,75,.024),
        0 0 0 6.8rem rgba(139,103,75,.014);
}

.aji-menu__ring--inner {
    right: 5%;
    top: 24rem;
    width: min(25vw,22rem);
    aspect-ratio: 1;
    border-color: rgba(132,146,126,.15);
    box-shadow:
        0 0 0 2.7rem rgba(132,146,126,.021),
        0 0 0 5.4rem rgba(132,146,126,.012);
}

.aji-menu__gable {
    position: absolute;
    left: 4.8%;
    top: 46rem;
    width: clamp(11rem,20vw,16rem);
    height: clamp(7.3rem,12.4vw,10rem);
    border-left: 1px solid rgba(139,103,75,.16);
    border-right: 1px solid rgba(139,103,75,.16);
    border-bottom: 1px solid rgba(139,103,75,.16);
    opacity: .92;
}

.aji-menu__gable::before,
.aji-menu__gable::after {
    position: absolute;
    content: "";
    top: -.06rem;
    width: 56%;
    height: 1px;
    background: rgba(139,103,75,.16);
    transform-origin: center;
}

.aji-menu__gable::before {
    left: -.06rem;
    transform: rotate(-32deg);
}

.aji-menu__gable::after {
    right: -.06rem;
    transform: rotate(32deg);
}

.aji-menu__gable--offset {
    left: 10.4%;
    top: 49rem;
    width: clamp(8rem,14vw,11.75rem);
    height: clamp(5.45rem,9vw,7.4rem);
    opacity: .45;
    border-color: rgba(132,146,126,.14);
}

.aji-menu__gable--offset::before,
.aji-menu__gable--offset::after {
    background: rgba(132,146,126,.14);
}

.aji-menu__decor > small {
    position: absolute;
    right: 1.05rem;
    top: 31rem;
    color: rgba(32,35,31,.29);
    font-size: .52rem;
    font-weight: 600;
    letter-spacing: .16em;
    text-transform: uppercase;
    writing-mode: vertical-rl;
    transform: rotate(180deg);
}

.aji-menu__heading {
    display: grid;
    grid-template-columns: minmax(0,1.15fr) minmax(260px,.55fr);
    gap: 3rem;
    align-items: end;
}
.aji-menu__heading > div {
    min-width: 0;
}

.aji-menu__heading .aji-display {
    width: auto;
    max-width: none;
    font-size: clamp(3.7rem,4.8vw,5.45rem);
    line-height: .93;
    text-wrap: pretty;
}

.aji-menu__heading .aji-display em {
    white-space: normal;
}

.aji-menu__heading .aji-section-copy {
    justify-self: end;
    max-width: 520px;
}
.aji-menu__tabs-sentinel {
    height: 1px;
    pointer-events: none;
}

.aji-menu__tabs-wrap {
    position: sticky;
    top: var(--aji-nav-bottom);
    z-index: 60;
    margin: clamp(2.5rem,5vw,4rem) 0 1.5rem;
    padding: .5rem;
    display: grid;
    grid-template-columns: auto minmax(0,1fr) auto;
    align-items: center;
    gap: .75rem;
    border: 1px solid transparent;
    background: rgba(240,236,227,0);
    transition:
        background-color .25s ease,
        border-color .25s ease,
        box-shadow .25s ease,
        backdrop-filter .25s ease;
}

.aji-menu__tabs-wrap.is-stuck {
    border-color: rgba(32,35,31,.13);
    background: rgba(240,236,227,.94);
    box-shadow: 0 18px 46px rgba(23,26,23,.13);
    backdrop-filter: blur(18px);
    -webkit-backdrop-filter: blur(18px);
}
.aji-menu__tabs {
    min-width: 0;
    display: flex;
    gap: .45rem;
    overflow-x: auto;
    scrollbar-width: none;
    scroll-behavior: smooth;
    overscroll-behavior-inline: contain;
}

@media (hover:hover) and (pointer:fine) {
    .aji-menu__tabs {
        cursor: grab;
    }

    .aji-menu__tabs.is-dragging {
        cursor: grabbing;
        scroll-behavior: auto;
        user-select: none;
    }

    .aji-menu__tabs.is-dragging .aji-menu__tab {
        pointer-events: none;
        user-select: none;
    }
}
.aji-menu__tabs::-webkit-scrollbar {
    display: none;
}
.aji-menu__tab, .aji-menu__arrow {
    min-height: 2.8rem;
    border: 1px solid rgba(32,35,31,.13);
    border-radius: 2px;
    background: transparent;
    color: var(--aji-muted-dark);
    transition: background-color .25s ease,color .25s ease,border-color .25s ease;
}
.aji-menu__tab {
    flex: 0 0 auto;
    padding: .7rem 1rem;
    font-size: .68rem;
    font-weight: 600;
    letter-spacing: .1em;
    text-transform: uppercase;
}
.aji-menu__tab.is-active {
    background: var(--aji-charcoal);
    border-color: var(--aji-charcoal);
    color: var(--aji-ivory);
}
.aji-menu__arrow {
    width: 2.8rem;
}
.aji-menu__stage {
    position: relative;
    display: grid;
    grid-template-columns: minmax(0,1fr) minmax(0,1fr);
    align-items: start;
    min-height: 620px;
    border-top: 1px solid var(--aji-border-dark);
    border-bottom: 1px solid var(--aji-border-dark);
}

.aji-menu__stage::before {
    position: absolute;
    z-index: 3;
    content: "";
    top: -1px;
    left: 0;
    width: clamp(5rem,11vw,10rem);
    height: 1px;
    background: var(--aji-walnut);
    opacity: .72;
    pointer-events: none;
}
.aji-menu__gallery, .aji-menu__panel {
    min-width: 0;
}
.aji-menu__gallery {
    align-self: start;
    padding: 1.25rem 1.25rem 1.25rem 0;
    border-right: 1px solid var(--aji-border-dark);
}
.aji-menu__gallery-frame {
    position: relative;
    height: 590px;
    min-height: 0;
    overflow: hidden;
    background: linear-gradient(135deg,#d8d0c4,#c8c0b5);
}
.aji-menu__gallery-placeholder {
    position: absolute;
    inset: 0;
    display: grid;
    place-items: center;
    align-content: center;
    gap: .5rem;
    color: rgba(32,35,31,.28);
}
.aji-menu__gallery-placeholder img {
    width: min(9rem, 28%);
    height: auto;
    opacity: .44;
}
.aji-menu__gallery-placeholder small {
    font-size: .6rem;
    letter-spacing: .14em;
    text-transform: uppercase;
}
.aji-menu__gallery-image {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    opacity: 0;
    transition: opacity .45s ease;
}
.aji-menu__gallery-image.is-on {
    opacity: 1;
}
.aji-menu__gallery-nav {
    position: absolute;
    z-index: 4;
    left: 1rem;
    right: 1rem;
    bottom: 1rem;
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: .5rem;
}
.aji-menu__gallery-nav button {
    width: 2.6rem;
    height: 2.6rem;
    border: 1px solid rgba(240,236,227,.28);
    background: rgba(23,26,23,.48);
    color: var(--aji-ivory);
    backdrop-filter: blur(10px);
}
.aji-menu__gallery-nav span {
    min-width: 4rem;
    text-align: center;
    color: rgba(240,236,227,.72);
    font-size: .65rem;
}
.aji-menu__panel {
    padding: clamp(2rem,4vw,4rem);
}
.aji-menu__panel-head {
    display: flex;
    justify-content: space-between;
    gap: 1rem;
    padding-bottom: 1.5rem;
    border-bottom: 1px solid var(--aji-border-dark);
}
.aji-menu__panel-head small {
    color: var(--aji-walnut);
    font-size: .62rem;
    letter-spacing: .12em;
    text-transform: uppercase;
}
.aji-menu__panel-head h3 {
    margin: .4rem 0 0;
    font-family: "Manrope", Arial, sans-serif;
    font-size: clamp(1.9rem,2.8vw,3rem);
    font-weight: 400;
    letter-spacing: -.035em;
}
.aji-menu__panel-head > span {
    color: var(--aji-muted-dark);
    font-size: .72rem;
}
.aji-menu__content {
    padding-top: 1rem;
    overflow-anchor: none;
}
.aji-menu__empty {
    padding: 1rem 0;
    color: var(--aji-muted-dark);
    font-size: .9rem;
    line-height: 1.7;
}

/* injected menu compatibility: HIRO / SOLA listRendering */
.aji-menu__loading {
    min-height: 320px;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: .85rem;
    color: var(--aji-muted-dark);
    font-size: .68rem;
    font-weight: 600;
    letter-spacing: .12em;
    text-transform: uppercase;
}

.aji-menu__loading span {
    width: 17px;
    height: 17px;
    border: 1px solid rgba(32,35,31,.18);
    border-top-color: var(--aji-walnut);
    border-radius: 50%;
    animation: ajiMenuSpin .75s linear infinite;
}

@keyframes ajiMenuSpin {
    to { transform: rotate(1turn); }
}

.aji-menu__content :is(.aji-menu-acc,.hiro-menu-acc,.sola-menu-acc) {
    border-bottom: 1px solid var(--aji-border-dark);
}

.aji-menu__content :is(.aji-menu-acc-btn,.hiro-menu-acc-btn,.sola-menu-acc-btn) {
    width: 100%;
    min-height: 70px;
    padding: .85rem .2rem;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: .9rem;
    border: 0;
    background: transparent;
    color: rgba(32,35,31,.72);
    text-align: left;
    cursor: pointer;
    font: inherit;
    transition: color .2s ease, background-color .2s ease, padding .2s ease;
}

@media (hover:hover) and (pointer:fine) {
    .aji-menu__content :is(.aji-menu-acc-btn,.hiro-menu-acc-btn,.sola-menu-acc-btn):hover {
        padding-inline: .65rem;
        background: rgba(139,103,75,.055);
        color: var(--aji-charcoal);
    }
}

.aji-menu__content :is(.aji-menu-acc-title,.hiro-menu-acc-title,.sola-menu-acc-title) {
    display: inline-flex;
    align-items: center;
    gap: .72rem;
    font-size: .75rem;
    font-weight: 650;
    letter-spacing: .105em;
    text-transform: uppercase;
}

.aji-menu__content :is(.aji-menu-acc-dot,.hiro-menu-acc-dot,.sola-menu-acc-dot) {
    flex: 0 0 auto;
    width: .58rem;
    height: .58rem;
    border: 1px solid rgba(139,103,75,.52);
    transform: rotate(45deg);
    transition: background-color .2s ease, border-color .2s ease, box-shadow .2s ease;
}

.aji-menu__content :is(.aji-menu-acc,.hiro-menu-acc,.sola-menu-acc).is-open :is(.aji-menu-acc-dot,.hiro-menu-acc-dot,.sola-menu-acc-dot) {
    border-color: var(--aji-walnut);
    background: var(--aji-walnut);
    box-shadow: 0 0 15px rgba(139,103,75,.18);
}

.aji-menu__content :is(.aji-menu-acc-chev,.hiro-menu-acc-chev,.sola-menu-acc-chev) {
    color: rgba(32,35,31,.36);
    transition: transform .22s ease;
}

.aji-menu__content :is(.aji-menu-acc,.hiro-menu-acc,.sola-menu-acc).is-open :is(.aji-menu-acc-chev,.hiro-menu-acc-chev,.sola-menu-acc-chev) {
    transform: rotate(180deg);
}

.aji-menu__content :is(.aji-menu-acc-panel,.hiro-menu-acc-panel,.sola-menu-acc-panel) {
    overflow: hidden;
    max-height: 0;
    overflow-anchor: none;
    transition: max-height .28s var(--aji-ease);
}

.aji-menu__content :is(.aji-menu-acc-inner,.hiro-menu-acc-inner,.sola-menu-acc-inner) {
    padding: 0 .2rem .9rem;
}

.aji-menu__content :is(.aji-menu-item,.hiro-menu-item,.sola-menu-item) {
    padding: .62rem 0;
    display: flex;
    justify-content: space-between;
    align-items: baseline;
    gap: 1rem;
    border-bottom: 1px dashed rgba(32,35,31,.11);
}

.aji-menu__content :is(.aji-menu-item,.hiro-menu-item,.sola-menu-item):last-child {
    border-bottom: 0;
}

.aji-menu__content :is(.aji-menu-item-name,.hiro-menu-item-name,.sola-menu-item-name) {
    flex: 1 1 auto;
    color: rgba(32,35,31,.84);
    font-size: .9rem;
    line-height: 1.45;
}

.aji-menu__content :is(.aji-menu-item-price,.hiro-menu-item-price,.sola-menu-item-price) {
    flex: 0 0 auto;
    color: var(--aji-walnut);
    font-size: .84rem;
    font-variant-numeric: tabular-nums;
    white-space: nowrap;
}

.aji-menu__content :is(.aji-menu-empty,.hiro-menu-empty,.sola-menu-empty) {
    padding: 1.15rem .2rem;
    color: var(--aji-muted-dark);
    font-size: .88rem;
    line-height: 1.65;
}

/* ========================= Infos ========================= */
.aji-infos {
    isolation: isolate;
}

.aji-infos > .container-xxl {
    position: relative;
    z-index: 2;
}

.aji-infos__decor {
    position: absolute;
    z-index: 0;
    inset: 0;
    overflow: hidden;
    pointer-events: none;
}

.aji-infos__decor::before {
    position: absolute;
    content: "";
    right: 0;
    top: 0;
    width: 58%;
    height: 26rem;
    opacity: .19;
    background-image:
        linear-gradient(rgba(240,236,227,.038) 1px,transparent 1px),
        linear-gradient(90deg,rgba(240,236,227,.038) 1px,transparent 1px);
    background-size: 4.75rem 4.75rem;
    -webkit-mask-image: linear-gradient(90deg,transparent,#000 28%,#000 100%);
    mask-image: linear-gradient(90deg,transparent,#000 28%,#000 100%);
}

.aji-infos__decor::after {
    position: absolute;
    content: "";
    right: 8%;
    top: 17rem;
    width: min(32vw,30rem);
    height: 1px;
    background: linear-gradient(90deg,transparent,rgba(196,170,120,.18),transparent);
    transform: rotate(-18deg);
    transform-origin: right center;
}

.aji-infos__decor > span {
    position: absolute;
    right: -2vw;
    top: 4.5rem;
    color: rgba(240,236,227,.026);
    font-family: "Manrope",Arial,sans-serif;
    font-size: clamp(8rem,16vw,18rem);
    font-weight: 300;
    letter-spacing: -.075em;
    line-height: .84;
}

.aji-infos__cross {
    position: absolute;
    right: 12%;
    top: 16.5rem;
    width: 4.5rem;
    height: 4.5rem;
    opacity: .42;
}

.aji-infos__cross::before,
.aji-infos__cross::after {
    position: absolute;
    content: "";
    background: rgba(196,170,120,.22);
}

.aji-infos__cross::before {
    left: 50%;
    top: 0;
    width: 1px;
    height: 100%;
}

.aji-infos__cross::after {
    left: 0;
    top: 50%;
    width: 100%;
    height: 1px;
}

.aji-infos__decor > small {
    position: absolute;
    right: 1.05rem;
    top: 47%;
    color: rgba(240,236,227,.27);
    font-size: .52rem;
    font-weight: 600;
    letter-spacing: .16em;
    text-transform: uppercase;
    writing-mode: vertical-rl;
    transform: rotate(180deg);
}

.aji-infos::after {
    position: absolute;
    z-index: -1;
    content: "";
    right: -12%;
    bottom: -35%;
    width: 48vw;
    aspect-ratio: 1;
    border-radius: 50%;
    border: 1px solid rgba(196,170,120,.13);
    box-shadow: 0 0 0 5vw rgba(196,170,120,.015),0 0 0 10vw rgba(132,146,126,.012);
}
.aji-infos__layout {
    display: grid;
    grid-template-columns: minmax(0,1fr) minmax(320px,.75fr);
    gap: clamp(4rem,9vw,11rem);
    align-items: end;
}

.aji-infos__copy {
    min-width: 0;
}

.aji-infos__copy .aji-display {
    width: auto;
    max-width: none;
    font-size: clamp(3.45rem,4.4vw,5rem);
    line-height: .93;
    text-wrap: pretty;
}

.aji-infos__copy .aji-display em {
    white-space: normal;
}

.aji-infos__copy .aji-section-copy {
    margin-top: 1.8rem;
}

.aji-infos__phone {
    width: fit-content;
    margin-top: 1.05rem;
    display: inline-flex;
    align-items: center;
    gap: .65rem;
    color: rgba(240,236,227,.82);
    font-size: .92rem;
    font-weight: 500;
    letter-spacing: .025em;
    text-decoration: none;
    transition: color .22s ease;
}

.aji-infos__phone i {
    color: var(--aji-champagne);
    font-size: .92rem;
}

.aji-infos__phone:hover {
    color: var(--aji-ivory);
}

.aji-infos__actions {
    margin-top: 2rem;
    display: flex;
    flex-wrap: wrap;
    gap: .8rem;
}
.aji-infos__facts {
    position: relative;
    counter-reset: aji-info-fact;
    border-top: 1px solid var(--aji-border-light);
}

.aji-infos__facts::before {
    position: absolute;
    content: "";
    top: -1px;
    left: 0;
    width: clamp(4rem,7vw,7rem);
    height: 1px;
    background: rgba(196,170,120,.68);
}

.aji-infos__facts article {
    position: relative;
    counter-increment: aji-info-fact;
    display: grid;
    grid-template-columns: .65fr 1fr;
    gap: 1rem;
    padding: 1.1rem 0 1.1rem 2.1rem;
    border-bottom: 1px solid var(--aji-border-light);
}

.aji-infos__facts article::before {
    position: absolute;
    left: 0;
    top: 1.28rem;
    content: "0" counter(aji-info-fact);
    color: rgba(196,170,120,.42);
    font-size: .52rem;
    font-weight: 600;
    letter-spacing: .08em;
}
.aji-infos__facts small {
    color: rgba(240,236,227,.42);
    font-size: .65rem;
    letter-spacing: .12em;
    text-transform: uppercase;
}
.aji-infos__facts strong {
    font-family: "Manrope", Arial, sans-serif;
    font-size: 1.15rem;
    font-weight: 500;
    line-height: 1.45;
}

/* ========================= Social ========================= */
.aji-social {
    isolation: isolate;
    overflow: hidden;
}

.aji-social > .container-xxl {
    position: relative;
    z-index: 2;
}

.aji-social__decor {
    position: absolute;
    z-index: 0;
    inset: 0;
    overflow: hidden;
    pointer-events: none;
}

.aji-social__decor::before {
    position: absolute;
    content: "";
    left: 0;
    top: 0;
    width: 52%;
    height: 25rem;
    opacity: .26;
    background-image:
        linear-gradient(rgba(32,35,31,.035) 1px,transparent 1px),
        linear-gradient(90deg,rgba(32,35,31,.035) 1px,transparent 1px);
    background-size: 4.75rem 4.75rem;
    -webkit-mask-image: linear-gradient(90deg,#000 0,#000 62%,transparent);
    mask-image: linear-gradient(90deg,#000 0,#000 62%,transparent);
}

.aji-social__decor::after {
    position: absolute;
    content: "@";
    left: 6%;
    bottom: 4.5rem;
    color: rgba(139,103,75,.055);
    font-family: "Manrope",Arial,sans-serif;
    font-size: clamp(8rem,15vw,16rem);
    font-weight: 300;
    line-height: 1;
}

.aji-social__decor > span {
    position: absolute;
    right: -1.5vw;
    top: 5rem;
    color: rgba(32,35,31,.03);
    font-family: "Manrope",Arial,sans-serif;
    font-size: clamp(8.5rem,17vw,19rem);
    font-weight: 300;
    letter-spacing: -.075em;
    line-height: .84;
}

.aji-social__ring {
    position: absolute;
    border: 1px solid rgba(139,103,75,.135);
    border-radius: 50%;
}

.aji-social__ring--outer {
    right: -8rem;
    bottom: -7rem;
    width: min(31vw,28rem);
    aspect-ratio: 1;
    box-shadow:
        0 0 0 3.1rem rgba(139,103,75,.018),
        0 0 0 6.2rem rgba(139,103,75,.010);
}

.aji-social__ring--inner {
    left: 9%;
    top: 9rem;
    width: min(20vw,17rem);
    aspect-ratio: 1;
    border-color: rgba(132,146,126,.14);
    box-shadow:
        0 0 0 2.25rem rgba(132,146,126,.016),
        0 0 0 4.5rem rgba(132,146,126,.009);
}

.aji-social__feed {
    position: absolute;
    left: 5%;
    top: 9.5rem;
    width: clamp(7.5rem,10vw,10rem);
    aspect-ratio: .72;
    border: 1px solid rgba(32,35,31,.11);
    border-radius: 1.2rem;
    transform: rotate(-6deg);
    opacity: .72;
}

.aji-social__feed::before {
    position: absolute;
    content: "";
    left: 1rem;
    top: 1rem;
    width: .6rem;
    aspect-ratio: 1;
    border: 1px solid rgba(139,103,75,.22);
    border-radius: 50%;
    box-shadow:
        1.15rem 0 0 -.18rem rgba(32,35,31,.10),
        2.05rem 0 0 -.18rem rgba(32,35,31,.07);
}

.aji-social__feed::after {
    position: absolute;
    content: "";
    left: 1rem;
    right: 1rem;
    top: 3.1rem;
    height: 48%;
    border: 1px solid rgba(32,35,31,.085);
    background:
        linear-gradient(145deg,rgba(132,146,126,.045),transparent 55%),
        linear-gradient(35deg,transparent 42%,rgba(139,103,75,.05));
}

.aji-social__feed > i {
    position: absolute;
    left: 1rem;
    height: 1px;
    background: rgba(32,35,31,.095);
}

.aji-social__feed > i:nth-child(1) {
    right: 2.2rem;
    bottom: 2.2rem;
}

.aji-social__feed > i:nth-child(2) {
    right: 3.25rem;
    bottom: 1.55rem;
}

.aji-social__feed > i:nth-child(3) {
    width: .75rem;
    height: .75rem;
    left: auto;
    right: 1rem;
    bottom: 1.25rem;
    border: 1px solid rgba(139,103,75,.16);
    border-radius: 50%;
    background: transparent;
}

.aji-social__decor > small {
    position: absolute;
    right: 1.05rem;
    top: 46%;
    color: rgba(32,35,31,.28);
    font-size: .52rem;
    font-weight: 600;
    letter-spacing: .16em;
    text-transform: uppercase;
    writing-mode: vertical-rl;
    transform: rotate(180deg);
}

.aji-social__top {
    display: flex;
    align-items: end;
    justify-content: space-between;
    gap: 2rem;
    margin-bottom: 3rem;
}

.aji-social__top .aji-display {
    width: auto;
    max-width: none;
    font-size: clamp(3.45rem,4.5vw,5.1rem);
    line-height: .93;
    text-wrap: pretty;
}

.aji-social__top .aji-display em {
    white-space: normal;
}
.aji-social__links {
    border-top: 1px solid var(--aji-border-dark);
}

.aji-social__link {
    position: relative;
    display: grid;
    grid-template-columns: 3rem 1fr auto;
    gap: 1rem;
    align-items: center;
    min-height: 7rem;
    padding: 1.2rem 0;
    overflow: hidden;
    border-bottom: 1px solid var(--aji-border-dark);
    text-decoration: none;
    transition: padding .28s var(--aji-ease);
}

.aji-social__link::before {
    position: absolute;
    content: "";
    inset: 0;
    z-index: -1;
    background:
        linear-gradient(90deg,rgba(139,103,75,.075),rgba(132,146,126,.035) 52%,transparent 84%);
    opacity: 0;
    transform: translateX(-4%);
    transition: opacity .28s ease, transform .35s var(--aji-ease);
}

.aji-social__link:hover::before {
    opacity: 1;
    transform: translateX(0);
}

.aji-social__link > span {
    color: var(--aji-walnut);
    font-size: .62rem;
}

.aji-social__identity {
    min-width: 0;
    display: grid;
    grid-template-columns: 3.25rem minmax(0,1fr);
    gap: clamp(1rem,2vw,1.6rem);
    align-items: center;
}

.aji-social__identity > i {
    width: 3.25rem;
    aspect-ratio: 1;
    display: grid;
    place-items: center;
    border: 1px solid rgba(32,35,31,.16);
    border-radius: 50%;
    color: var(--aji-walnut);
    font-size: 1.2rem;
    transition:
        color .28s ease,
        border-color .28s ease,
        background-color .28s ease,
        transform .28s var(--aji-ease);
}

.aji-social__identity > div {
    min-width: 0;
}

.aji-social__link strong {
    display: block;
    font-family: "Manrope", Arial, sans-serif;
    font-size: clamp(1.9rem,3.5vw,3.45rem);
    font-weight: 300;
    letter-spacing: -.05em;
    line-height: 1;
}

.aji-social__identity small {
    display: block;
    margin-top: .45rem;
    color: rgba(32,35,31,.47);
    font-size: .62rem;
    font-weight: 600;
    letter-spacing: .11em;
    line-height: 1.5;
    text-transform: uppercase;
}

.aji-social__arrow {
    margin-right: .8rem;
    font-size: 1.2rem;
    transition: transform .28s ease;
}

.aji-social__link:hover .aji-social__identity > i {
    border-color: rgba(139,103,75,.34);
    background: rgba(139,103,75,.08);
    transform: scale(1.05);
}

.aji-social__link:hover .aji-social__arrow {
    transform: translate(3px,-4px);
}

/* ========================= Footer ========================= */
.aji-footer {
    position: relative;
    overflow: hidden;
    padding: clamp(4rem,6vw,6rem) 0 2rem;
    background:
        radial-gradient(circle at 79% 14%,rgba(132,146,126,.045),transparent 28%),
        #111411;
    color: var(--aji-ivory);
}
.aji-footer__main {
    position: relative;
    z-index: 2;
    display: grid;
    grid-template-columns: 1fr minmax(320px,.8fr);
    gap: clamp(3rem,8vw,8rem);
    align-items: end;
    padding-bottom: clamp(3rem,5vw,4.5rem);
    border-bottom: 1px solid rgba(240,236,227,.1);
}

.aji-footer__main::before {
    position: absolute;
    content: "";
    left: 0;
    bottom: -1px;
    width: clamp(5rem,9vw,9rem);
    height: 1px;
    background: rgba(196,170,120,.55);
}
.aji-footer__brand-wrap {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 1.8rem;
}

.aji-footer__brand {
    display: flex;
    align-items: center;
    gap: 1rem;
}

.aji-footer__reserve {
    min-width: 13.5rem;
    justify-content: space-between;
    padding-inline: 1.25rem;
}
.aji-footer__brand > img {
    width: clamp(4.8rem,6vw,6.2rem);
    height: clamp(4.8rem,6vw,6.2rem);
    object-fit: contain;
    flex: 0 0 auto;
}
.aji-footer__brand strong {
    display: block;
    font-family: "Manrope", Arial, sans-serif;
    font-size: clamp(1.55rem,2.1vw,2rem);
    font-weight: 500;
    letter-spacing: -.035em;
}
.aji-footer__brand small {
    color: rgba(240,236,227,.4);
    font-size: .62rem;
    letter-spacing: .14em;
    text-transform: uppercase;
}
.aji-footer__statement {
    max-width: 600px;
    justify-self: end;
}

.aji-footer__statement > small {
    display: block;
    margin-bottom: .85rem;
    color: rgba(196,170,120,.72);
    font-size: .58rem;
    font-weight: 600;
    letter-spacing: .16em;
    text-transform: uppercase;
}

.aji-footer__statement > p {
    margin: 0;
    color: rgba(240,236,227,.56);
    font-size: clamp(1rem,1.35vw,1.2rem);
    line-height: 1.75;
}

.aji-footer__meta {
    margin-top: 1.3rem;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: .6rem .85rem;
    color: rgba(240,236,227,.34);
    font-size: .58rem;
    font-weight: 600;
    letter-spacing: .12em;
    text-transform: uppercase;
}

.aji-footer__meta i {
    width: 1.4rem;
    height: 1px;
    background: rgba(196,170,120,.32);
}
.aji-footer__bottom {
    position: relative;
    z-index: 2;
    padding-top: 1.5rem;
    display: grid;
    grid-template-columns: auto 1fr auto auto auto;
    align-items: center;
    gap: 1rem 2rem;
    color: rgba(240,236,227,.36);
    font-size: .68rem;
}

.aji-footer__address {
    justify-self: start;
}

.aji-footer__phone {
    display: inline-flex;
    align-items: center;
    gap: .45rem;
    white-space: nowrap;
}

.aji-footer__phone i {
    color: rgba(196,170,120,.58);
    font-size: .72rem;
}

.aji-footer__bottom a {
    text-decoration: none;
    transition: color .22s ease;
}

.aji-footer__bottom a:hover {
    color: rgba(240,236,227,.72);
}

.aji-footer__top-link {
    display: inline-flex;
    align-items: center;
    gap: .45rem;
}

.aji-footer__top-link i {
    font-size: .72rem;
    transition: transform .22s ease;
}

.aji-footer__top-link:hover i {
    transform: translateY(-3px);
}
.aji-footer__wordmark {
    position: absolute;
    right: -1vw;
    bottom: -3vw;
    color: transparent;
    font-family: "Manrope", Arial, sans-serif;
    font-size: clamp(10rem,24vw,28rem);
    font-weight: 300;
    letter-spacing: -.08em;
    line-height: .72;
    -webkit-text-stroke: 1px rgba(240,236,227,.034);
    pointer-events: none;
}

/* ========================= Responsive ========================= */
@media (max-width: 991.98px) {
    :root {
        --aji-header-height: 72px;
    }
    .aji-header__inner {
        gap: 1rem;
    }
    .aji-header__actions {
        margin-left: auto;
        flex: 0 0 auto;
    }
    .aji-hero__inner {
        align-items: center;
    }
    .aji-hero__meta {
        display: none;
    }
    .aji-tarifs__decor > span {
        left: -6vw;
        bottom: 1rem;
        font-size: clamp(7rem,24vw,13rem);
        color: rgba(240,236,227,.016);
    }
    .aji-tarifs__ring--outer {
        right: -8rem;
        top: 7rem;
        width: min(58vw,28rem);
    }
    .aji-tarifs__ring--inner {
        left: -9rem;
        bottom: -5rem;
        width: min(52vw,24rem);
    }
    .aji-tarifs__decor > small {
        display: none;
    }

    .aji-tarifs__heading, .aji-cuisine__layout, .aji-menu__heading, .aji-infos__layout {
        grid-template-columns: 1fr;
    }

    .aji-infos__copy .aji-display {
        max-width: none;
        font-size: clamp(3rem,7.2vw,4.25rem);
        text-wrap: pretty;
    }

    .aji-social__top .aji-display {
        max-width: none;
        font-size: clamp(3rem,7.1vw,4.25rem);
        text-wrap: pretty;
    }

    .aji-social__decor > span {
        right: -8vw;
        top: 4rem;
        font-size: clamp(7rem,24vw,12.5rem);
        color: rgba(32,35,31,.025);
    }

    .aji-social__ring--inner {
        left: -6rem;
        top: 10rem;
        width: min(45vw,20rem);
    }

    .aji-social__feed {
        left: 3%;
        top: 10.5rem;
        opacity: .5;
    }

    .aji-social__decor > small {
        display: none;
    }

    .aji-infos__decor::before {
        width: 100%;
        height: 22rem;
        opacity: .14;
    }

    .aji-infos__decor > span {
        right: -8vw;
        top: 3.75rem;
        font-size: clamp(7rem,24vw,12.5rem);
        color: rgba(240,236,227,.022);
    }

    .aji-infos__cross {
        right: 8%;
        top: 15rem;
    }

    .aji-infos__decor > small {
        display: none;
    }

    .aji-menu__heading .aji-display {
        max-width: none;
        font-size: clamp(3.05rem,7.3vw,4.4rem);
        text-wrap: pretty;
    }

    .aji-menu__decor {
        height: 66rem;
    }

    .aji-menu__decor::before {
        width: 100%;
        height: 24rem;
        opacity: .19;
    }

    .aji-menu__decor > span {
        right: -7vw;
        top: 4rem;
        color: rgba(32,35,31,.028);
        font-size: clamp(7rem,24vw,13rem);
    }

    .aji-menu__ring--outer {
        left: -10rem;
        top: 37rem;
        bottom: auto;
        width: min(56vw,26rem);
    }

    .aji-menu__ring--inner {
        right: -8rem;
        top: 25rem;
        width: min(52vw,24rem);
    }

    .aji-menu__gable {
        left: 3.5%;
        top: 45.5rem;
        width: min(30vw,14rem);
        height: min(18vw,8.75rem);
    }

    .aji-menu__gable--offset {
        left: 12.5%;
        top: 48.25rem;
        width: min(22vw,10rem);
        height: min(14vw,6.6rem);
    }

    .aji-menu__decor > small {
        display: none;
    }

    .aji-tarifs__heading .aji-section-copy, .aji-menu__heading .aji-section-copy {
        justify-self: start;
    }
    .aji-tarifs__grid {
        grid-template-columns: 1fr;
    }
    .aji-tariff-card {
        min-height: 230px;
        border-right: 0;
        border-bottom: 1px solid var(--aji-border-light);
    }
    .aji-tariff-card:last-child {
        border-bottom: 0;
    }
    .aji-tarifs__footer {
        grid-template-columns: 1fr 1fr;
    }
    .aji-tarifs__footer i {
        display: none;
    }
    .aji-experience__stage {
        height: auto;
    }
    .aji-experience__sticky {
        position: relative;
        height: auto;
        min-height: 0;
        overflow: hidden;
        padding: var(--aji-section-space) 0;
    }
    .aji-experience__media {
        z-index: 0;
    }
    .aji-experience__media::before {
        display: none;
    }
    .aji-experience__media-layer {
        opacity: 0 !important;
        transform: none !important;
        transition: none;
        -webkit-mask-image: none;
        mask-image: none;
    }
    .aji-experience__media-layer--tablet,
    .aji-experience__media-layer--feast {
        opacity: 1 !important;
    }
    .aji-experience__media-layer--tablet img {
        top: 2.5rem;
        right: -9%;
        width: min(58vw, 520px);
        opacity: .14;
        transform: rotate(-5deg);
    }
    .aji-experience__media-layer--feast img {
        top: auto;
        right: auto;
        left: -14%;
        bottom: 1rem;
        width: min(62vw, 560px);
        opacity: .12;
        transform: rotate(7deg);
    }
    .aji-experience__media-layer--sashimi,
    .aji-experience__media-layer--robot {
        display: none;
    }
    .aji-experience__inner {
        height: auto;
        padding-top: 0;
        padding-bottom: 0;
        display: block;
    }
    .aji-experience .aji-section-index {
        margin-bottom: 3rem;
    }
    .aji-experience__heading {
        max-width: 760px;
        margin-bottom: 3rem;
    }
    .aji-experience__anchor {
        display: none;
    }
    .aji-experience__story {
        gap: 0;
    }
    .aji-experience__story::before {
        inset: -1.5rem;
        background: radial-gradient(
            ellipse at 50% 50%,
            rgba(23,26,23,.70) 0%,
            rgba(23,26,23,.34) 58%,
            transparent 88%
        );
    }
    .aji-experience__step {
        opacity: 1;
        color: var(--aji-ivory);
        transform: none !important;
    }
    .aji-experience__rail {
        display: none;
    }
    .aji-lieu__side-note {
        display: none;
    }
    .aji-lieu__heading .aji-display {
        width: auto;
        font-size: clamp(3.05rem, 8vw, 4.5rem);
    }
    .aji-lieu__manifesto {
        grid-template-columns: 1fr;
        gap: 2rem;
        margin-top: 2.5rem;
    }
    .aji-lieu__materials {
        max-width: 760px;
    }
    .aji-lieu__gallery-wrap::before {
        left: -1rem;
        right: -1rem;
        bottom: -1rem;
    }
    .aji-lieu__gallery {
        grid-template-columns: 1fr 1fr;
        grid-template-rows: auto auto;
    }
    .aji-lieu__image--large {
        grid-column: 1 / -1;
        grid-row: auto;
        min-height: 560px;
    }
    .aji-cuisine__copy .aji-display {
        font-size: clamp(3rem,7.2vw,4.35rem);
    }

    .aji-cuisine__principles {
        max-width: 760px;
    }

    .aji-cuisine__visual {
        min-height: 680px;
        margin-top: 2.5rem;
    }

    .aji-cuisine__frame--main {
        width: 80%;
    }

    .aji-cuisine__frame--small {
        width: 38%;
    }
    .aji-menu__stage {
        grid-template-columns: 1fr;
    }
    .aji-menu__gallery {
        padding: 1.25rem 0;
        border-right: 0;
        border-bottom: 1px solid var(--aji-border-dark);
    }
    .aji-menu__gallery-frame {
        height: min(64vw, 560px);
        min-height: 440px;
    }
}

@media (min-width: 576px) and (max-width: 991.98px) {
    .aji-tarifs__heading .aji-display {
        font-size: clamp(2.7rem, 7.2vw, 3.9rem);
    }
}

@media (max-width: 767.98px) {
    :root {
        --aji-section-space: 5rem;
    }
    .container-xxl, .container {
        padding-inline: 1.15rem;
    }
    .aji-brand__text small {
        display: none;
    }
    .aji-hero__inner {
        padding-top: calc(var(--aji-header-height) + 3rem);
        padding-bottom: 4.5rem;
    }
    .aji-hero__copy {
        width: 100%;
    }
    .aji-hero__title {
        font-size: clamp(3.55rem,16.5vw,5.7rem);
        line-height: .94;
    }
    .aji-hero__lead {
        font-size: .98rem;
    }
    .aji-hero__architecture {
        width: 72vw;
        right: -18vw;
        opacity: .50;
    }
    .aji-hero__beam--one, .aji-hero__beam--four {
        display: none;
    }
    .aji-hero__logo {
        width: 4.9rem;
    }
    .aji-hero__copy {
        padding-top: 1rem;
    }
    .aji-section-index {
        margin-bottom: 2.4rem;
        grid-template-columns: auto 4rem auto;
    }
    .aji-display {
        font-size: clamp(2.95rem,14vw,4.7rem);
    }
    .aji-experience__step {
        grid-template-columns: 2.2rem 2.8rem 1fr;
        gap: .75rem;
    }
    .aji-lieu::after {
        display: block;
        right: -7vw;
        top: 9%;
        color: rgba(32,35,31,.022);
        font-size: clamp(7rem, 29vw, 12rem);
        letter-spacing: -.075em;
    }
    .aji-lieu__grid {
        width: 100%;
        height: 28%;
        opacity: .22;
    }
    .aji-lieu__heading {
        margin-bottom: 3.25rem;
    }
    .aji-lieu__heading .aji-display {
        font-size: clamp(2.95rem, 13vw, 4.15rem);
        text-wrap: balance;
    }
    .aji-lieu__manifesto {
        margin-top: 2rem;
        padding-top: 1.1rem;
    }
    .aji-lieu__materials {
        grid-template-columns: 1fr;
    }
    .aji-lieu__materials > div {
        border-right: 0;
        border-bottom: 1px solid rgba(32,35,31,.12);
    }
    .aji-lieu__materials > div:last-child {
        border-bottom: 0;
    }
    .aji-lieu__gallery-head {
        align-items: flex-start;
        flex-direction: column;
        gap: .45rem;
    }
    .aji-lieu__gallery-wrap::before {
        display: none;
    }
    .aji-lieu__gallery {
        grid-template-columns: 1fr;
    }
    .aji-lieu__image, .aji-lieu__image--large {
        min-height: 420px;
        grid-column: auto;
    }
    .aji-cuisine::after {
        font-size: clamp(7rem,28vw,11rem);
        bottom: 0;
    }

    .aji-cuisine__grid {
        width: 100%;
        opacity: .22;
    }

    .aji-cuisine__copy .aji-display {
        font-size: clamp(2.85rem,12vw,3.95rem);
    }

    .aji-cuisine__principles article {
        grid-template-columns: 2.2rem minmax(90px,.55fr) minmax(0,1fr);
        gap: .7rem;
    }

    .aji-cuisine__visual {
        min-height: 560px;
        margin-top: 2.25rem;
    }

    .aji-cuisine__visual-mark {
        display: none;
    }

    .aji-cuisine__frame--main {
        top: 0;
        left: 0;
        bottom: 0;
        width: 82%;
    }

    .aji-cuisine__frame--small {
        right: 0;
        bottom: 5%;
        width: 42%;
        border-width: 6px;
    }
    .aji-menu__heading .aji-display {
        max-width: none;
        font-size: clamp(2.85rem,12vw,3.95rem);
        line-height: .94;
    }

    .aji-infos__copy .aji-display {
        max-width: none;
        font-size: clamp(2.8rem,11.5vw,3.8rem);
        line-height: .94;
    }

    .aji-infos__decor > span {
        right: -12vw;
        top: 3rem;
        font-size: clamp(6rem,29vw,8.5rem);
    }

    .aji-infos__cross {
        right: 5%;
        top: 14rem;
        width: 3.5rem;
        height: 3.5rem;
        opacity: .3;
    }

    .aji-menu__decor {
        height: 58rem;
    }

    .aji-menu__decor > span {
        right: -10vw;
        top: 3.5rem;
        color: rgba(32,35,31,.025);
        font-size: clamp(6.3rem,31vw,9rem);
    }

    .aji-menu__ring--inner {
        right: -10rem;
        top: 23rem;
    }

    .aji-menu__ring--outer {
        left: -11rem;
        top: 39rem;
        bottom: auto;
    }

    .aji-menu__gable {
        left: -1.25rem;
        top: 42rem;
        width: 10rem;
        height: 6.8rem;
        opacity: .75;
    }

    .aji-menu__gable--offset {
        left: 3.9rem;
        top: 44.55rem;
        width: 7.2rem;
        height: 5.1rem;
        opacity: .35;
    }

    .aji-menu__tabs-wrap {
        grid-template-columns: 1fr;
    }
    .aji-menu__arrow {
        display: none;
    }
    .aji-menu__gallery-frame {
        height: clamp(370px,108vw,460px);
        min-height: 0;
    }
    .aji-menu__panel {
        padding: 1.5rem 0;
    }
    .aji-menu__panel-head {
        flex-direction: column;
    }
    .aji-social__top {
        display: block;
    }

    .aji-social__top .aji-display {
        max-width: none;
        font-size: clamp(2.8rem,11.5vw,3.8rem);
        line-height: .94;
    }

    .aji-social__decor > span {
        right: -12vw;
        top: 3.2rem;
        font-size: clamp(6rem,29vw,8.5rem);
    }

    .aji-social__feed {
        display: none;
    }

    .aji-social__ring--inner {
        left: -8rem;
        top: 12rem;
    }

    .aji-social__link {
        grid-template-columns: 2rem 1fr auto;
        min-height: 6.4rem;
    }

    .aji-social__identity {
        grid-template-columns: 2.75rem minmax(0,1fr);
        gap: .9rem;
    }

    .aji-social__identity > i {
        width: 2.75rem;
        font-size: 1rem;
    }

    .aji-social__identity small {
        font-size: .56rem;
        letter-spacing: .08em;
    }

    .aji-social__arrow {
        margin-right: .25rem;
    }
    .aji-footer__main {
        grid-template-columns: 1fr;
    }

    .aji-footer__statement {
        justify-self: start;
        max-width: 620px;
    }

    .aji-footer__brand-wrap {
        gap: 1.5rem;
    }

    .aji-footer__bottom {
        grid-template-columns: 1fr auto;
    }

    .aji-footer__address {
        grid-column: 1 / -1;
        grid-row: 2;
    }

    .aji-footer__phone {
        justify-self: start;
    }
}

@media (max-width: 575.98px) {
    .aji-tariff-card strong {
        font-size: clamp(2rem, 8.8vw, 2.35rem);
    }
    .aji-tariff-card--children .aji-tariff-card__age strong {
        font-size: clamp(1.7rem, 7.4vw, 1.95rem);
    }
}

@media (prefers-reduced-motion: reduce) {
    html {
        scroll-behavior: auto;
    }
    *, *::before, *::after {
        animation-duration: .001ms !important;
        animation-iteration-count: 1 !important;
        scroll-behavior: auto !important;
        transition-duration: .001ms !important;
    }
    .aji-intro {
        display: none !important;
    }
    .aji-reveal, [data-aji-hero-reveal] {
        opacity: 1 !important;
        transform: none !important;
        filter: none !important;
    }
    .aji-hero__canvas {
        display: none !important;
    }
    .aji-hero__poster {
        opacity: 1 !important;
    }
}
