.hero { position: relative; min-height: 100svh; display: grid; overflow: hidden; background: #05080c; isolation: isolate; }
.hero__media { position: absolute; z-index: -2; inset: 0; overflow: hidden; }
.hero__media::before { content: ""; position: absolute; z-index: 1; inset: 0; background: linear-gradient(180deg, rgba(4, 6, 9, 0.1) 50%, rgba(5, 7, 10, 0.92) 100%), linear-gradient(90deg, rgba(4, 7, 11, 0.94) 0%, rgba(4, 7, 11, 0.58) 54%, rgba(4, 7, 11, 0.12) 100%); }
.hero__image { width: 100%; height: 100%; max-width: none; object-fit: cover; object-position: 44% center; }
.hero__inner { position: relative; z-index: 1; display: grid; min-height: 100svh; grid-template-rows: 1fr auto; gap: var(--space-5); padding-top: calc(var(--header-height) + var(--space-5)); padding-bottom: var(--space-4); }
.hero__content { align-self: center; max-width: 44rem; padding-block: var(--space-5); }
.hero h1 { max-width: 12ch; margin-bottom: var(--space-4); font-size: clamp(2.45rem, 10.2vw, 5.25rem); letter-spacing: -0.05em; line-height: 0.94; }
.hero__title-line { display: block; white-space: nowrap; }
.hero__summary { max-width: 37rem; margin-bottom: var(--space-5); color: #d1d5dc; font-size: clamp(1rem, 2vw, 1.16rem); text-shadow: 0 0.1rem 1.2rem rgba(0, 0, 0, 0.55); }
.hero__actions { display: flex; flex-wrap: wrap; align-items: center; gap: var(--space-3); }
.hero__actions .button { min-width: 10.5rem; }
.hero__trust { display: grid; gap: 0; margin: 0; padding: 0; border: 1px solid var(--color-border); border-radius: var(--radius-md); background: rgba(8, 10, 14, 0.62); box-shadow: 0 1.25rem 3rem rgba(0, 0, 0, 0.2); list-style: none; backdrop-filter: blur(0.7rem); }
.hero__trust li { display: flex; min-height: 3.55rem; align-items: center; gap: 0.9rem; padding: 0.9rem var(--space-4); border-bottom: 1px solid var(--color-border); color: #e1e4e9; font-size: 0.76rem; font-weight: 700; letter-spacing: 0.025em; line-height: 1.4; }
.hero__trust li:last-child { border-bottom: 0; }
.hero__trust-marker { display: grid; flex: 0 0 auto; align-self: center; width: 1.4rem; height: 1.4rem; border: 1px solid rgba(20, 121, 255, 0.42); border-radius: 50%; background: rgba(20, 121, 255, 0.08); color: #8fc0ff; place-items: center; }
.hero__trust-marker svg { width: 0.78rem; height: 0.78rem; fill: none; stroke: currentColor; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; }

.js-ready .hero__image { animation: hero-image-settle 1.6s cubic-bezier(0.22, 1, 0.36, 1) both; }
.js-ready .hero [data-hero-reveal] { animation: hero-reveal 700ms cubic-bezier(0.22, 1, 0.36, 1) both; }
.js-ready .hero h1[data-hero-reveal] { animation-delay: 80ms; }
.js-ready .hero .hero__summary[data-hero-reveal] { animation-delay: 150ms; }
.js-ready .hero .hero__actions[data-hero-reveal] { animation-delay: 220ms; }
.js-ready .hero .hero__trust[data-hero-reveal] { animation-delay: 300ms; }

@keyframes hero-reveal { from { opacity: 0; transform: translateY(0.75rem); } to { opacity: 1; transform: translateY(0); } }
@keyframes hero-image-settle { from { transform: scale(1.025); } to { transform: scale(1); } }

.services { background: radial-gradient(circle at 82% 18%, rgba(20, 121, 255, 0.08), transparent 30%), var(--color-bg); }
.services__grid { display: grid; grid-template-columns: 1fr; gap: var(--space-4); margin-top: var(--space-6); }
.service-card { display: flex; min-width: 0; height: 100%; flex-direction: column; overflow: hidden; border: 1px solid var(--color-border); border-radius: var(--radius-md); background: linear-gradient(145deg, rgba(21, 25, 30, 0.96), rgba(10, 12, 16, 0.98)); box-shadow: 0 1rem 2.5rem rgba(0, 0, 0, 0.14); transition: border-color 200ms ease, box-shadow 200ms ease, transform 200ms ease; }
.service-card__media { position: relative; aspect-ratio: 16 / 9; overflow: hidden; background: var(--color-surface); }
.service-card__media::after { content: ""; position: absolute; inset: auto 0 0; height: 42%; background: linear-gradient(to top, rgba(8, 9, 11, 0.52), transparent); pointer-events: none; }
.service-card__media img { width: 100%; height: 100%; max-width: none; object-fit: cover; transition: transform 300ms ease; }
.service-card__body { display: flex; flex: 1; flex-direction: column; align-items: flex-start; padding: clamp(1.25rem, 3vw, 1.75rem); }
.service-card__icon { display: grid; width: 2.75rem; height: 2.75rem; margin-bottom: var(--space-3); border: 1px solid rgba(20, 121, 255, 0.42); border-radius: 0.65rem; background: linear-gradient(145deg, rgba(20, 121, 255, 0.12), rgba(227, 34, 45, 0.055)); color: #dcebff; place-items: center; }
.service-card__icon svg { width: 1.35rem; height: 1.35rem; fill: none; stroke: currentColor; stroke-width: 1.6; stroke-linecap: round; stroke-linejoin: round; }
.service-card h3 { margin-bottom: var(--space-3); font-size: clamp(1.4rem, 3vw, 1.8rem); line-height: 1.05; }
.service-card p { margin-bottom: var(--space-4); color: var(--color-text-muted); font-size: 0.94rem; line-height: 1.65; }
.service-card__link { display: inline-flex; align-items: center; gap: var(--space-2); margin-top: auto; padding-block: 0.4rem; color: var(--color-text); font-size: 0.76rem; font-weight: 800; letter-spacing: 0.1em; text-transform: uppercase; transition: color 200ms ease; }
.service-card__link span { color: var(--color-red); font-size: 1.15rem; transition: color 200ms ease, transform 200ms ease; }
.service-card:focus-within { border-color: rgba(20, 121, 255, 0.72); }
.service-card__link:is(:hover, :focus-visible) { color: var(--color-red-hover); }
.service-card__link:is(:hover, :focus-visible) span { color: var(--color-blue); transform: translateX(0.22rem); }

@media (hover: hover) {
    .service-card:hover { border-color: rgba(20, 121, 255, 0.48); box-shadow: 0 1.4rem 3rem rgba(0, 0, 0, 0.24), 0 0 1.5rem rgba(20, 121, 255, 0.06); transform: translateY(-0.375rem); }
    .service-card:hover .service-card__media img { transform: scale(1.025); }
}

.about-ae { background: radial-gradient(circle at 8% 18%, rgba(20, 121, 255, 0.08), transparent 28%), linear-gradient(145deg, #11151a, #0b0d11 58%, #08090b); }
.about-ae__layout { display: grid; grid-template-columns: minmax(0, 1fr); gap: clamp(2.5rem, 6vw, 5rem); align-items: start; }
.about-ae__media { position: relative; min-width: 0; aspect-ratio: 6 / 5; overflow: hidden; border: 1px solid var(--color-border); border-radius: var(--radius-md); background: var(--color-surface); box-shadow: 0 1.5rem 3.5rem rgba(0, 0, 0, 0.24); }
.about-ae__media::after { content: ""; position: absolute; inset: 0; background: linear-gradient(to top, rgba(8, 9, 11, 0.4), transparent 46%); pointer-events: none; }
.about-ae__media img { width: 100%; height: 100%; max-width: none; object-fit: cover; }
.about-ae__media-accent { position: absolute; z-index: 1; right: var(--space-4); bottom: var(--space-4); width: 4.5rem; height: 0.18rem; background: linear-gradient(to right, var(--color-red), var(--color-blue)); box-shadow: 0 0.4rem 1rem rgba(0, 0, 0, 0.3); }
.about-ae__content { min-width: 0; }
.about-ae__heading { max-width: 54rem; }
.about-ae__heading h2 { max-width: 13ch; }
.about-ae__intro { display: grid; gap: 0.72rem; }
.about-ae__intro p { margin: 0; color: #d8dce2 !important; font-size: clamp(1.05rem, 2vw, 1.2rem) !important; }
.about-ae__story { margin-top: var(--space-5); }
.about-ae__story p { margin-bottom: var(--space-3); color: var(--color-text-muted); font-size: 0.96rem; line-height: 1.75; }
.about-ae__story p:last-child { margin-bottom: 0; }
.about-ae__principles { display: grid; grid-template-columns: 1fr; gap: var(--space-3); margin-top: var(--space-5); }
.about-ae-principle { padding: var(--space-4); border: 1px solid var(--color-border); border-radius: var(--radius-md); background: rgba(255, 255, 255, 0.025); box-shadow: inset 0 1px rgba(255, 255, 255, 0.025); }
.about-ae-principle h3 { margin-bottom: var(--space-2); color: var(--color-text); font-size: 1.15rem; letter-spacing: 0.04em; }
.about-ae-principle p { margin-bottom: 0; color: var(--color-text-muted); font-size: 0.9rem; line-height: 1.65; }
.about-ae__statistics { display: grid; grid-template-columns: 1fr; gap: var(--space-3); margin: var(--space-5) 0 0; padding: 0; list-style: none; }
.about-ae-stat { display: flex; min-width: 0; min-height: 7.5rem; flex-direction: column; justify-content: center; padding: var(--space-4); border: 1px solid var(--color-border); border-radius: var(--radius-md); background: linear-gradient(145deg, rgba(20, 121, 255, 0.07), rgba(8, 10, 14, 0.36)); transition: border-color 200ms ease, box-shadow 200ms ease, transform 200ms ease; }
.about-ae-stat strong, .about-ae-stat span { display: block; overflow-wrap: anywhere; }
.about-ae-stat strong { color: var(--color-text); font-family: var(--font-sans); font-size: clamp(1.25rem, 2.7vw, 1.65rem); letter-spacing: -0.01em; line-height: 1.08; text-transform: uppercase; }
.about-ae-stat span { margin-top: var(--space-2); color: var(--color-text-muted); font-size: 0.72rem; font-weight: 800; letter-spacing: 0.1em; text-transform: uppercase; }
.about-ae-stat:is(:hover, :focus-visible) { border-color: rgba(20, 121, 255, 0.52); box-shadow: 0 1rem 2rem rgba(0, 0, 0, 0.18); transform: translateY(-0.15rem); }
.about-ae__cta { margin-top: var(--space-5); }
.js-ready .about-ae__media, .js-ready .about-ae__content { animation: about-ae-reveal 600ms ease both; }
.js-ready .about-ae__content { animation-delay: 100ms; }

@keyframes about-ae-reveal { from { opacity: 0; transform: translateY(0.5rem); } to { opacity: 1; transform: translateY(0); } }

.why-ae { background: radial-gradient(circle at 12% 22%, rgba(227, 34, 45, 0.06), transparent 28%), radial-gradient(circle at 88% 72%, rgba(20, 121, 255, 0.08), transparent 32%), linear-gradient(135deg, #0c0f13, #08090b 62%); }
.why-ae__heading { max-width: 58rem; }
.why-ae__grid { display: grid; grid-template-columns: 1fr; gap: var(--space-3); margin: var(--space-6) 0 0; padding: 0; list-style: none; }
.why-ae-card { position: relative; display: grid; min-width: 0; min-height: 100%; grid-template-columns: auto minmax(0, 1fr); align-items: start; gap: var(--space-4); overflow: hidden; padding: clamp(1.25rem, 3vw, 1.75rem); border: 1px solid var(--color-border); border-radius: var(--radius-md); background: linear-gradient(145deg, rgba(24, 28, 34, 0.72), rgba(10, 12, 16, 0.88)); box-shadow: inset 0 1px rgba(255, 255, 255, 0.025), 0 1rem 2.5rem rgba(0, 0, 0, 0.12); transition: border-color 200ms ease, background 200ms ease, box-shadow 200ms ease, transform 200ms ease; }
.why-ae-card::before { content: ""; position: absolute; inset: 0 auto 0 0; width: 0.16rem; background: linear-gradient(to bottom, var(--color-red), var(--color-blue)); opacity: 0.62; transition: opacity 200ms ease; }
.why-ae-card__icon { display: grid; width: 3rem; height: 3rem; place-items: center; border: 1px solid rgba(20, 121, 255, 0.45); border-radius: 0.7rem; background: rgba(20, 121, 255, 0.07); color: var(--color-text); }
.why-ae-card__icon svg { width: 1.45rem; height: 1.45rem; fill: none; stroke: currentColor; stroke-width: 1.6; stroke-linecap: round; stroke-linejoin: round; }
.why-ae-card__content { min-width: 0; }
.why-ae-card h3 { margin-bottom: var(--space-2); font-size: clamp(1.25rem, 2.6vw, 1.55rem); line-height: 1.08; }
.why-ae-card p { margin-bottom: 0; color: var(--color-text-muted); font-size: 0.92rem; line-height: 1.65; }
.why-ae-card:focus-visible { border-color: rgba(20, 121, 255, 0.52); background: linear-gradient(145deg, rgba(25, 31, 39, 0.88), rgba(11, 14, 18, 0.96)); box-shadow: inset 0 1px rgba(255, 255, 255, 0.035), 0 1.25rem 2.75rem rgba(0, 0, 0, 0.2); }
.why-ae-card:focus-visible::before { opacity: 1; }

@media (hover: hover) {
    .why-ae-card:hover { border-color: rgba(20, 121, 255, 0.52); background: linear-gradient(145deg, rgba(25, 31, 39, 0.88), rgba(11, 14, 18, 0.96)); box-shadow: inset 0 1px rgba(255, 255, 255, 0.035), 0 1.25rem 2.75rem rgba(0, 0, 0, 0.2), 0 0 1.5rem rgba(20, 121, 255, 0.05); transform: translateY(-0.375rem); }
    .why-ae-card:hover::before { opacity: 1; }
}

.packages { background: radial-gradient(circle at 88% 18%, rgba(20, 121, 255, 0.1), transparent 30%), radial-gradient(circle at 6% 82%, rgba(227, 34, 45, 0.055), transparent 28%), linear-gradient(145deg, #11151a, #0b0d11 58%, #08090b); }
.packages__heading { max-width: 62rem; }
.packages__note { display: flex; max-width: 55rem; align-items: flex-start; gap: 0.7rem; margin: var(--space-5) 0 0; padding: 0.85rem 1rem; border: 1px solid rgba(20, 121, 255, 0.24); border-radius: var(--radius-sm); background: rgba(20, 121, 255, 0.045); color: #c6ccd5; font-size: 0.78rem; line-height: 1.55; }
.packages__note svg { flex: 0 0 auto; width: 1.05rem; height: 1.05rem; margin-top: 0.12rem; fill: none; stroke: #7db5ff; stroke-width: 1.7; stroke-linecap: round; stroke-linejoin: round; }
.packages__grid { display: grid; grid-template-columns: minmax(0, 1fr); gap: var(--space-4); margin-top: var(--space-6); }
.package-card { position: relative; display: flex; min-width: 0; height: 100%; flex-direction: column; overflow: hidden; padding: clamp(1.3rem, 3.5vw, 2rem); border: 1px solid var(--color-border); border-radius: var(--radius-md); background: linear-gradient(145deg, rgba(24, 28, 34, 0.82), rgba(8, 10, 14, 0.94)); box-shadow: inset 0 1px rgba(255, 255, 255, 0.03), 0 1.25rem 3rem rgba(0, 0, 0, 0.15); transition: border-color 200ms ease, box-shadow 200ms ease, transform 200ms ease; }
.package-card::before { content: ""; position: absolute; inset: 0 0 auto; height: 0.16rem; background: linear-gradient(to right, var(--color-red), var(--color-blue)); opacity: 0.45; }
.package-card--featured { border-color: rgba(20, 121, 255, 0.52); background: radial-gradient(circle at 100% 0, rgba(20, 121, 255, 0.14), transparent 34%), linear-gradient(145deg, rgba(25, 31, 39, 0.96), rgba(9, 12, 17, 0.98)); box-shadow: inset 0 1px rgba(255, 255, 255, 0.04), 0 1.5rem 3.4rem rgba(0, 0, 0, 0.22); }
.package-card--featured::before { height: 0.22rem; opacity: 1; }
.package-card__badge { position: absolute; top: 1rem; right: 1rem; padding: 0.42rem 0.65rem; border: 1px solid rgba(20, 121, 255, 0.55); border-radius: 999px; background: rgba(20, 121, 255, 0.12); color: #b9d7ff; font-size: 0.62rem; font-weight: 900; letter-spacing: 0.1em; line-height: 1; text-transform: uppercase; }
.package-card__icon { display: grid; width: 3rem; height: 3rem; place-items: center; margin-bottom: var(--space-4); border: 1px solid rgba(20, 121, 255, 0.42); border-radius: 0.75rem; background: linear-gradient(145deg, rgba(20, 121, 255, 0.12), rgba(227, 34, 45, 0.055)); color: #eef5ff; }
.package-card__icon svg { width: 1.45rem; height: 1.45rem; fill: none; stroke: currentColor; stroke-width: 1.6; stroke-linecap: round; stroke-linejoin: round; }
.package-card__intro h3 { max-width: 20ch; margin-bottom: var(--space-3); font-size: clamp(1.45rem, 3vw, 2rem); line-height: 1.03; }
.package-card__intro > p { margin: 0; color: var(--color-text-muted); font-size: 0.92rem; line-height: 1.65; }
.package-card__inclusions { margin-top: var(--space-5); padding-top: var(--space-4); border-top: 1px solid var(--color-border); }
.package-card__inclusions h4 { margin-bottom: var(--space-3); color: #eef1f5; font-family: var(--font-body); font-size: 0.68rem; font-weight: 900; letter-spacing: 0.11em; text-transform: uppercase; }
.package-card__inclusions ul { display: grid; gap: 0.62rem; margin: 0; padding: 0; list-style: none; }
.package-card__inclusions li { position: relative; padding-left: 1.15rem; color: #c5cad2; font-size: 0.84rem; line-height: 1.45; }
.package-card__inclusions li::before { content: ""; position: absolute; top: 0.48em; left: 0; width: 0.42rem; height: 0.42rem; border: 1px solid var(--color-blue); border-radius: 50%; box-shadow: inset 0 0 0 0.08rem rgba(20, 121, 255, 0.2); }
.package-card__best-for { margin-top: var(--space-5); padding: var(--space-3); border-left: 0.16rem solid var(--color-red); background: rgba(255, 255, 255, 0.026); }
.package-card__best-for strong { display: block; margin-bottom: 0.35rem; color: #f0f2f5; font-size: 0.65rem; font-weight: 900; letter-spacing: 0.1em; text-transform: uppercase; }
.package-card__best-for p { margin: 0; color: var(--color-text-muted); font-size: 0.82rem; line-height: 1.5; }
.package-card__footer { display: grid; gap: var(--space-3); margin-top: auto; padding-top: var(--space-5); }
.package-card__price-status { color: #8fc0ff; font-size: 0.68rem; font-weight: 900; letter-spacing: 0.11em; text-transform: uppercase; }
.package-card__cta { display: flex; min-height: 3.25rem; align-items: center; justify-content: space-between; gap: var(--space-3); padding: 0.82rem 1rem; border: 1px solid rgba(255, 255, 255, 0.24); border-radius: var(--radius-sm); background: rgba(255, 255, 255, 0.025); color: var(--color-text); font-size: 0.68rem; font-weight: 900; letter-spacing: 0.08em; line-height: 1.3; text-transform: uppercase; transition: border-color 200ms ease, background 200ms ease, color 200ms ease; }
.package-card__cta > span { color: var(--color-red); font-size: 1.1rem; transition: color 200ms ease, transform 200ms ease; }
.package-card__cta:is(:hover, :focus-visible) { border-color: rgba(20, 121, 255, 0.72); background: rgba(20, 121, 255, 0.08); color: #fff; }
.package-card__cta:is(:hover, :focus-visible) > span { color: #7db5ff; transform: translateX(0.22rem); }
.package-card__cta:focus-visible { outline: 0.18rem solid var(--color-blue); outline-offset: 0.18rem; }

@media (hover: hover) {
    .package-card:hover { border-color: rgba(20, 121, 255, 0.5); box-shadow: inset 0 1px rgba(255, 255, 255, 0.035), 0 1.5rem 3.4rem rgba(0, 0, 0, 0.24), 0 0 1.5rem rgba(20, 121, 255, 0.05); transform: translateY(-0.375rem); }
    .package-card--featured:hover { border-color: rgba(20, 121, 255, 0.76); }
}

.gallery { background: radial-gradient(circle at 86% 12%, rgba(20, 121, 255, 0.09), transparent 28%), radial-gradient(circle at 8% 78%, rgba(227, 34, 45, 0.06), transparent 30%), #080a0d; }
.gallery__heading { max-width: 62rem; }
.gallery__categories { display: flex; flex-wrap: wrap; gap: 0.55rem; margin: var(--space-5) 0 0; padding: 0; list-style: none; }
.gallery__categories li { padding: 0.48rem 0.78rem; border: 1px solid rgba(20, 121, 255, 0.28); border-radius: 999px; background: rgba(20, 121, 255, 0.045); color: #c8ced7; font-size: 0.68rem; font-weight: 800; letter-spacing: 0.07em; line-height: 1.25; text-transform: uppercase; }
.gallery__grid { display: grid; grid-template-columns: 1fr; gap: var(--space-3); margin-top: var(--space-5); }
.gallery-card { position: relative; display: block; min-width: 0; aspect-ratio: 4 / 3; overflow: hidden; padding: 0; border: 1px solid var(--color-border); border-radius: var(--radius-md); background: var(--color-surface); color: var(--color-text); box-shadow: 0 1rem 2.4rem rgba(0, 0, 0, 0.17); cursor: zoom-in; text-align: left; transition: border-color 220ms ease, box-shadow 220ms ease, transform 220ms ease; }
.gallery-card img { width: 100%; height: 100%; max-width: none; object-fit: cover; transform: scale(1.001); transition: transform 420ms cubic-bezier(0.22, 1, 0.36, 1); }
.gallery-card__overlay { position: absolute; inset: 0; display: flex; flex-direction: column; justify-content: flex-end; padding: clamp(1rem, 3vw, 1.4rem); background: linear-gradient(to top, rgba(3, 5, 8, 0.94), rgba(3, 5, 8, 0.16) 62%, rgba(3, 5, 8, 0.04)); }
.gallery-card__category { margin-bottom: 0.38rem; color: #7db5ff; font-size: 0.64rem; font-weight: 800; letter-spacing: 0.11em; text-transform: uppercase; }
.gallery-card__title { max-width: 16rem; font-family: var(--font-sans); font-size: clamp(1rem, 2vw, 1.22rem); font-weight: 800; letter-spacing: 0.01em; line-height: 1.15; text-transform: uppercase; }
.gallery-card__expand { position: absolute; top: 0.85rem; right: 0.85rem; display: grid; width: 2.4rem; height: 2.4rem; place-items: center; border: 1px solid rgba(255, 255, 255, 0.28); border-radius: 50%; background: rgba(4, 6, 9, 0.52); color: #fff; opacity: 0.84; backdrop-filter: blur(0.4rem); transition: border-color 200ms ease, background 200ms ease, opacity 200ms ease; }
.gallery-card__expand svg { width: 1rem; height: 1rem; fill: none; stroke: currentColor; stroke-width: 1.7; stroke-linecap: round; stroke-linejoin: round; }
.gallery-card:focus-visible { outline: 0.18rem solid var(--color-blue); outline-offset: 0.2rem; }

body.gallery-lightbox-open { overflow: hidden; }
.gallery-lightbox[hidden] { display: none; }
.gallery-lightbox { position: fixed; z-index: 200; inset: 0; display: grid; overflow: auto; place-items: center; padding: clamp(0.75rem, 3vw, 2rem); background: rgba(1, 3, 5, 0.93); backdrop-filter: blur(0.8rem); cursor: zoom-out; animation: gallery-lightbox-in 200ms ease both; }
.gallery-lightbox__panel { position: relative; display: grid; width: min(76rem, 100%); max-height: calc(100svh - 1.5rem); grid-template-columns: auto minmax(0, 1fr) auto; align-items: center; cursor: default; }
.gallery-lightbox__figure { min-width: 0; margin: 0; overflow: hidden; border: 1px solid rgba(255, 255, 255, 0.15); border-radius: var(--radius-md); background: #05070a; box-shadow: 0 2rem 5rem rgba(0, 0, 0, 0.5); }
.gallery-lightbox__media { display: grid; max-height: calc(100svh - 9rem); place-items: center; overflow: hidden; background: #030405; }
.gallery-lightbox__media img { display: block; width: 100%; height: auto; max-height: calc(100svh - 9rem); object-fit: contain; opacity: 1; transition: opacity 180ms ease; }
.gallery-lightbox.is-changing .gallery-lightbox__media img { opacity: 0.25; }
.gallery-lightbox__caption { position: relative; display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 0.2rem var(--space-4); padding: 1rem 1.2rem; border-top: 1px solid var(--color-border); background: #0a0d11; }
.gallery-lightbox__caption span { grid-column: 1; color: #7db5ff; font-size: 0.64rem; font-weight: 800; letter-spacing: 0.1em; text-transform: uppercase; }
.gallery-lightbox__caption strong { grid-column: 1; color: var(--color-text); font-family: var(--font-sans); font-size: clamp(0.95rem, 2vw, 1.12rem); line-height: 1.2; text-transform: uppercase; }
.gallery-lightbox__caption small { grid-column: 2; grid-row: 1 / span 2; align-self: center; color: var(--color-text-muted); font-size: 0.72rem; font-weight: 800; letter-spacing: 0.08em; }
.gallery-lightbox__close,
.gallery-lightbox__control { display: grid; width: 3rem; height: 3rem; place-items: center; border: 1px solid rgba(255, 255, 255, 0.24); border-radius: 50%; background: rgba(7, 9, 12, 0.86); color: #fff; cursor: pointer; transition: border-color 200ms ease, background 200ms ease, transform 200ms ease; }
.gallery-lightbox__close svg,
.gallery-lightbox__control svg { width: 1.35rem; height: 1.35rem; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.gallery-lightbox__close { position: absolute; z-index: 2; top: 0.8rem; right: 0.8rem; }
.gallery-lightbox__control { position: relative; z-index: 1; margin: 0 0.65rem; }
.gallery-lightbox__close:is(:hover, :focus-visible),
.gallery-lightbox__control:is(:hover, :focus-visible) { border-color: var(--color-blue); background: rgba(20, 121, 255, 0.2); outline: none; transform: scale(1.04); }

@keyframes gallery-lightbox-in { from { opacity: 0; } to { opacity: 1; } }

@media (hover: hover) {
    .gallery-card:hover { border-color: rgba(20, 121, 255, 0.58); box-shadow: 0 1.4rem 3rem rgba(0, 0, 0, 0.28), 0 0 1.4rem rgba(20, 121, 255, 0.05); transform: translateY(-0.375rem); }
    .gallery-card:hover img { transform: scale(1.045); }
    .gallery-card:hover .gallery-card__expand { border-color: rgba(227, 34, 45, 0.8); background: rgba(227, 34, 45, 0.18); opacity: 1; }
}

.branches { background: radial-gradient(circle at 14% 16%, rgba(20, 121, 255, 0.09), transparent 28%), radial-gradient(circle at 92% 74%, rgba(227, 34, 45, 0.055), transparent 30%), linear-gradient(145deg, #11151a, #0b0d11 58%, #08090b); }
.branches__intro { display: grid; gap: var(--space-5); align-items: end; }
.branches__heading { max-width: 61rem; }
.branches__count { display: inline-flex; width: fit-content; align-items: center; gap: 0.65rem; margin: 0; padding: 0.68rem 0.9rem; border: 1px solid rgba(20, 121, 255, 0.3); border-radius: 999px; background: rgba(20, 121, 255, 0.06); color: #c8d9ef; font-size: 0.7rem; font-weight: 900; letter-spacing: 0.09em; line-height: 1.25; text-transform: uppercase; }
.branches__count > span { width: 0.46rem; height: 0.46rem; border-radius: 50%; background: #58d68d; box-shadow: 0 0 0 0.22rem rgba(88, 214, 141, 0.12); }
.branches__grid { display: grid; grid-template-columns: minmax(0, 1fr); gap: var(--space-4); margin-top: var(--space-6); }
.branch-card { display: flex; min-width: 0; min-height: 39.625rem; height: 100%; flex-direction: column; overflow: hidden; border: 1px solid var(--color-border); border-radius: var(--radius-md); background: linear-gradient(145deg, rgba(24, 28, 34, 0.9), rgba(8, 10, 14, 0.97)); box-shadow: inset 0 1px rgba(255, 255, 255, 0.03), 0 1.15rem 2.8rem rgba(0, 0, 0, 0.16); transition: border-color 200ms ease, box-shadow 200ms ease, transform 200ms ease; }
.branch-card__media { position: relative; aspect-ratio: 8 / 5; overflow: hidden; background: #070a0e; }
.branch-card__media::after { content: ""; position: absolute; inset: 0; background: linear-gradient(to top, rgba(4, 6, 9, 0.64), transparent 56%); pointer-events: none; }
.branch-card__media img { width: 100%; height: 100%; max-width: none; object-fit: cover; transition: transform 360ms cubic-bezier(0.22, 1, 0.36, 1); }
.branch-card__media--placeholder img { object-fit: cover; }
.branch-card__status { position: absolute; z-index: 1; bottom: 0.85rem; left: 0.85rem; display: inline-flex; align-items: center; gap: 0.5rem; padding: 0.48rem 0.66rem; border: 1px solid rgba(255, 255, 255, 0.2); border-radius: 999px; background: rgba(4, 7, 10, 0.74); color: #eef4f8; font-size: 0.6rem; font-weight: 900; letter-spacing: 0.09em; line-height: 1; text-transform: uppercase; backdrop-filter: blur(0.45rem); }
.branch-card__status > span { width: 0.4rem; height: 0.4rem; border-radius: 50%; background: #58d68d; box-shadow: 0 0 0 0.18rem rgba(88, 214, 141, 0.13); }
.branch-card__body { display: flex; flex: 1; flex-direction: column; padding: clamp(1.25rem, 3vw, 1.7rem); }
.branch-card__identity { min-width: 0; }
.branch-card__code { display: inline-flex; margin-bottom: 0.7rem; padding: 0.35rem 0.55rem; border: 1px solid rgba(227, 34, 45, 0.38); border-radius: var(--radius-sm); background: rgba(227, 34, 45, 0.06); color: #ff9ca2; font-size: 0.64rem; font-weight: 900; letter-spacing: 0.12em; line-height: 1; text-transform: uppercase; }
.branch-card h3 { max-width: 24ch; margin-bottom: 0.45rem; font-size: clamp(1.35rem, 2.6vw, 1.72rem); line-height: 1.06; overflow-wrap: anywhere; }
.branch-card__name { margin: 0; color: #d2d7de; font-size: 0.8rem; font-weight: 800; letter-spacing: 0.04em; line-height: 1.45; text-transform: uppercase; }
.branch-card__location { display: grid; grid-template-columns: auto minmax(0, 1fr); align-items: start; gap: 0.68rem; margin: var(--space-4) 0 0; padding-top: var(--space-4); border-top: 1px solid var(--color-border); color: var(--color-text-muted); font-size: 0.84rem; line-height: 1.55; }
.branch-card__location svg { width: 1.05rem; height: 1.05rem; margin-top: 0.14rem; fill: none; stroke: #7db5ff; stroke-width: 1.7; stroke-linecap: round; stroke-linejoin: round; }
.branch-card__contact { display: grid; min-height: 4.8rem; grid-template-columns: auto minmax(0, 1fr); align-items: start; gap: 0.7rem; margin-top: var(--space-4); padding: var(--space-4) 0; border-block: 1px solid var(--color-border); }
.branch-card__contact > svg { width: 1.08rem; height: 1.08rem; margin-top: 0.18rem; fill: none; stroke: #7db5ff; stroke-width: 1.65; stroke-linecap: round; stroke-linejoin: round; }
.branch-card__contact strong,
.branch-card__contact a,
.branch-card__contact span { display: block; }
.branch-card__contact strong { margin-bottom: 0.34rem; color: #9ec8ff; font-size: 0.62rem; font-weight: 900; letter-spacing: 0.11em; text-transform: uppercase; }
.branch-card__contact a,
.branch-card__contact span { color: #d5dae1; font-size: 0.82rem; font-weight: 700; line-height: 1.45; overflow-wrap: anywhere; }
.branch-card__contact a { width: fit-content; transition: color 200ms ease; }
.branch-card__contact a:is(:hover, :focus-visible) { color: #fff; }
.branch-card__contact a:focus-visible { outline: 0.16rem solid var(--color-blue); outline-offset: 0.2rem; }
.branch-card__actions { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0.65rem; margin-top: auto; padding-top: var(--space-4); }
.branch-card__actions > :only-child { grid-column: 1 / -1; }
.branch-card__call,
.branch-card__map { display: flex; min-height: 2.85rem; align-items: center; justify-content: space-between; gap: var(--space-3); padding: 0.72rem 0.82rem; border: 1px solid rgba(227, 34, 45, 0.58); border-radius: var(--radius-sm); background: rgba(227, 34, 45, 0.08); color: var(--color-text); font-size: 0.66rem; font-weight: 900; letter-spacing: 0.08em; line-height: 1.2; text-transform: uppercase; transition: border-color 200ms ease, background 200ms ease, color 200ms ease; }
.branch-card__map { border-color: rgba(20, 121, 255, 0.42); background: rgba(20, 121, 255, 0.04); }
.branch-card__call > svg,
.branch-card__map > svg { flex: 0 0 auto; width: 1.08rem; height: 1.08rem; fill: none; stroke: var(--color-red); stroke-width: 1.7; stroke-linecap: round; stroke-linejoin: round; transition: stroke 200ms ease, transform 200ms ease; }
.branch-card__map > svg { stroke: #7db5ff; }
.branch-card__call:is(:hover, :focus-visible) { border-color: rgba(227, 34, 45, 0.82); background: rgba(227, 34, 45, 0.14); color: #fff; }
.branch-card__map:is(:hover, :focus-visible) { border-color: rgba(20, 121, 255, 0.78); background: rgba(20, 121, 255, 0.1); color: #fff; }
.branch-card__call:is(:hover, :focus-visible) > svg,
.branch-card__map:is(:hover, :focus-visible) > svg { transform: translateX(0.18rem); }
.branch-card__call:focus-visible,
.branch-card__map:focus-visible { outline: 0.18rem solid var(--color-blue); outline-offset: 0.2rem; }
.branches__fallback { display: grid; max-width: 48rem; justify-items: start; gap: var(--space-4); margin-top: var(--space-6); padding: clamp(1.4rem, 4vw, 2rem); border: 1px solid rgba(20, 121, 255, 0.28); border-radius: var(--radius-md); background: rgba(20, 121, 255, 0.045); }
.branches__fallback p { margin: 0; color: #d3d8df; line-height: 1.65; }

@media (hover: hover) {
    .branch-card:hover { border-color: rgba(20, 121, 255, 0.52); box-shadow: inset 0 1px rgba(255, 255, 255, 0.035), 0 1.45rem 3.2rem rgba(0, 0, 0, 0.24), 0 0 1.5rem rgba(20, 121, 255, 0.05); transform: translateY(-0.375rem); }
    .branch-card:hover .branch-card__media img { transform: scale(1.035); }
}

.customer-reviews { background: radial-gradient(circle at 86% 18%, rgba(20, 121, 255, 0.09), transparent 30%), radial-gradient(circle at 8% 82%, rgba(227, 34, 45, 0.055), transparent 28%), #080a0d; }
.customer-reviews__heading { max-width: 60rem; }
.customer-reviews__grid { display: grid; grid-template-columns: minmax(0, 1fr); gap: var(--space-4); margin-top: var(--space-6); }
.review-card { position: relative; display: flex; min-width: 0; min-height: 24rem; height: 100%; flex-direction: column; overflow: hidden; padding: clamp(1.3rem, 3.4vw, 1.8rem); border: 1px solid var(--color-border); border-radius: var(--radius-md); background: linear-gradient(145deg, rgba(23, 27, 33, 0.84), rgba(8, 10, 14, 0.96)); box-shadow: inset 0 1px rgba(255, 255, 255, 0.03), 0 1.2rem 2.8rem rgba(0, 0, 0, 0.15); transition: border-color 200ms ease, box-shadow 200ms ease, transform 200ms ease; }
.review-card::before { content: ""; position: absolute; inset: 0 0 auto; height: 0.16rem; background: linear-gradient(to right, var(--color-red), var(--color-blue)); opacity: 0.58; }
.review-card__rating { display: flex; align-items: center; gap: 0.28rem; }
.review-card__rating svg { width: 1rem; height: 1rem; fill: transparent; stroke: #f0b64d; stroke-width: 1.4; }
.review-card__rating svg.is-filled { fill: #f0b64d; }
.review-card__quote { flex: 1; margin: var(--space-5) 0; }
.review-card__quote p { margin: 0; color: #e0e4e9; font-size: clamp(0.96rem, 1.8vw, 1.05rem); line-height: 1.72; }
.review-card__customer { display: grid; grid-template-columns: auto minmax(0, 1fr); align-items: center; gap: 0.8rem; padding-top: var(--space-4); border-top: 1px solid var(--color-border); }
.review-card__avatar { display: grid; width: 2.85rem; height: 2.85rem; place-items: center; border: 1px solid rgba(20, 121, 255, 0.48); border-radius: 50%; background: linear-gradient(145deg, rgba(227, 34, 45, 0.14), rgba(20, 121, 255, 0.16)); color: #f4f7fb; font-size: 0.72rem; font-weight: 900; letter-spacing: 0.06em; }
.review-card__customer h3 { margin: 0 0 0.2rem; color: var(--color-text); font-family: var(--font-body); font-size: 0.92rem; font-weight: 900; letter-spacing: 0.04em; line-height: 1.25; text-transform: uppercase; }
.review-card__customer p { margin: 0; color: var(--color-text-muted); font-size: 0.78rem; line-height: 1.4; }
.review-card__meta { display: flex; flex-wrap: wrap; gap: 0.42rem 1.2rem; margin: var(--space-3) 0 0; padding: 0; color: #9ec8ff; list-style: none; }
.review-card__meta li { position: relative; font-size: 0.66rem; font-weight: 800; letter-spacing: 0.07em; line-height: 1.4; text-transform: uppercase; }
.review-card__meta li + li::before { content: ""; position: absolute; top: 0.42em; left: -0.7rem; width: 0.28rem; height: 0.28rem; border-radius: 50%; background: var(--color-red); }

@media (hover: hover) {
    .review-card:hover { border-color: rgba(20, 121, 255, 0.5); box-shadow: inset 0 1px rgba(255, 255, 255, 0.035), 0 1.45rem 3.2rem rgba(0, 0, 0, 0.23), 0 0 1.5rem rgba(20, 121, 255, 0.05); transform: translateY(-0.375rem); }
    .review-card:hover::before { opacity: 0.9; }
}

.section-placeholder::after { content: attr(id); position: absolute; top: 50%; right: -0.1em; color: rgba(255, 255, 255, 0.018); font-family: var(--font-sans); font-size: clamp(6rem, 20vw, 16rem); font-weight: 900; line-height: 1; text-transform: uppercase; transform: translateY(-50%); pointer-events: none; }

.contact-cta { position: relative; overflow: hidden; background: #07090c; isolation: isolate; }
.contact-cta::before { content: ""; position: absolute; z-index: -2; inset: 0; background: repeating-linear-gradient(118deg, transparent 0 5.5rem, rgba(255, 255, 255, 0.012) 5.5rem 5.6rem), radial-gradient(circle at 16% 78%, rgba(227, 34, 45, 0.2), transparent 32%), radial-gradient(circle at 84% 20%, rgba(20, 121, 255, 0.22), transparent 34%), linear-gradient(135deg, #10151b, #07090c 62%); }
.contact-cta::after { content: ""; position: absolute; z-index: -1; inset: 0; background: linear-gradient(180deg, rgba(4, 6, 9, 0.08), rgba(4, 6, 9, 0.42)); pointer-events: none; }
.contact-cta__panel { position: relative; overflow: hidden; padding: clamp(2rem, 7vw, 5rem); border: 1px solid rgba(255, 255, 255, 0.15); border-radius: var(--radius-md); background: linear-gradient(145deg, rgba(17, 22, 29, 0.78), rgba(7, 9, 13, 0.82)); box-shadow: inset 0 1px rgba(255, 255, 255, 0.055), 0 2rem 5rem rgba(0, 0, 0, 0.28); text-align: center; backdrop-filter: blur(0.85rem); }
.contact-cta__panel::before { content: ""; position: absolute; top: 0; left: 50%; width: min(24rem, 70%); height: 0.2rem; background: linear-gradient(to right, transparent, var(--color-red) 28%, var(--color-blue) 72%, transparent); transform: translateX(-50%); }
.contact-cta__content { max-width: 58rem; margin-inline: auto; }
.contact-cta__eyebrow { justify-content: center; }
.contact-cta h2 { max-width: 17ch; margin: 0 auto var(--space-4); font-size: clamp(2.25rem, 6vw, 4.6rem); letter-spacing: -0.045em; line-height: 0.98; }
.contact-cta__description { max-width: 48rem; margin: 0 auto; color: #cbd1d9; font-size: clamp(0.98rem, 2vw, 1.08rem); line-height: 1.72; }
.contact-cta__actions { display: flex; flex-wrap: wrap; justify-content: center; gap: var(--space-3); margin-top: var(--space-6); }
.contact-cta__button { min-width: 12.5rem; gap: 0.72rem; }
.contact-cta__button-icon { display: grid; flex: 0 0 auto; width: 1.25rem; height: 1.25rem; place-items: center; }
.contact-cta__button-icon svg { width: 1.15rem; height: 1.15rem; fill: none; stroke: currentColor; stroke-width: 1.65; stroke-linecap: round; stroke-linejoin: round; }
.contact-cta__button-copy { display: grid; justify-items: start; gap: 0.2rem; text-align: left; }
.contact-cta__button-copy strong { font: inherit; }
.contact-cta__button-copy small { color: #d3d7de; font-size: 0.64rem; font-weight: 700; letter-spacing: 0.04em; line-height: 1; text-transform: none; }

.premium-footer { position: relative; border-top: 1px solid rgba(20, 121, 255, 0.24); background: #050608; color: var(--color-text-muted); isolation: isolate; }
.premium-footer::before { content: ""; position: absolute; z-index: -1; top: 0; right: 0; left: 0; height: 10rem; background: radial-gradient(circle at 18% 0, rgba(227, 34, 45, 0.09), transparent 42%), radial-gradient(circle at 82% 0, rgba(20, 121, 255, 0.1), transparent 44%); pointer-events: none; }
.premium-footer__grid { display: grid; grid-template-columns: minmax(0, 1fr); gap: var(--space-6); padding-block: clamp(3.5rem, 7vw, 6rem); }
.premium-footer__brand, .premium-footer__column { min-width: 0; }
.premium-footer__logo-link { display: inline-flex; max-width: 100%; margin-bottom: var(--space-4); }
.premium-footer__logo { width: min(21rem, 100%); height: auto; aspect-ratio: 45 / 13; object-fit: contain; }
.premium-footer h2 { margin: 0 0 var(--space-4); color: var(--color-text); font-size: 0.82rem; letter-spacing: 0.12em; line-height: 1.2; text-transform: uppercase; }
.premium-footer__brand h2 { margin-bottom: var(--space-1); font-size: 1.05rem; }
.premium-footer__tagline { margin: 0 0 var(--space-3); color: var(--color-blue); font-family: var(--font-sans); font-size: 0.84rem; font-weight: 800; letter-spacing: 0.08em; text-transform: uppercase; }
.premium-footer__description { max-width: 34rem; margin: 0; font-size: 0.9rem; line-height: 1.75; }
.premium-footer__founded { display: inline-flex; margin: var(--space-4) 0 0; padding: 0.55rem 0.75rem; border: 1px solid rgba(255, 255, 255, 0.11); border-radius: var(--radius-sm); background: rgba(255, 255, 255, 0.025); color: #d7dce3; font-size: 0.72rem; font-weight: 700; letter-spacing: 0.04em; }
.premium-footer__links, .premium-footer__contact-list, .premium-footer__highlights { display: grid; gap: 0.8rem; margin: 0; padding: 0; list-style: none; }
.premium-footer__links a { display: inline-flex; min-height: 2rem; align-items: center; color: #c7ccd4; font-size: 0.88rem; transition: color var(--transition-fast), transform var(--transition-fast); }
.premium-footer__links a:is(:hover, :focus-visible) { color: var(--color-text); transform: translateX(0.2rem); }
.premium-footer__contact-list a { display: flex; min-height: 2.75rem; align-items: center; gap: 0.75rem; color: #c7ccd4; }
.premium-footer__contact-list a:is(:hover, :focus-visible) { color: var(--color-text); }
.premium-footer__contact-icon { display: grid; flex: 0 0 auto; width: 2.25rem; height: 2.25rem; border: 1px solid rgba(20, 121, 255, 0.28); border-radius: 50%; background: rgba(20, 121, 255, 0.07); color: var(--color-blue); place-items: center; transition: border-color var(--transition-fast), color var(--transition-fast); }
.premium-footer__contact-list a:is(:hover, :focus-visible) .premium-footer__contact-icon { border-color: rgba(227, 34, 45, 0.52); color: var(--color-red-hover); }
.premium-footer__contact-icon svg { width: 1rem; height: 1rem; fill: none; stroke: currentColor; stroke-width: 1.7; stroke-linecap: round; stroke-linejoin: round; }
.premium-footer__contact-copy { display: grid; min-width: 0; gap: 0.15rem; }
.premium-footer__contact-copy strong { color: inherit; font-size: 0.82rem; letter-spacing: 0.04em; text-transform: uppercase; }
.premium-footer__contact-copy small { overflow-wrap: anywhere; color: var(--color-text-muted); font-size: 0.74rem; line-height: 1.4; }
.premium-footer__highlights li { display: flex; align-items: flex-start; gap: 0.65rem; color: #c7ccd4; font-size: 0.84rem; line-height: 1.5; }
.premium-footer__highlights svg { flex: 0 0 auto; width: 1rem; height: 1rem; margin-top: 0.15rem; fill: none; stroke: var(--color-red-hover); stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; }
.premium-footer__bottom { border-top: 1px solid rgba(255, 255, 255, 0.09); background: rgba(0, 0, 0, 0.16); }
.premium-footer__bottom-inner { display: flex; flex-direction: column; gap: 0.45rem; padding-block: var(--space-4); font-size: 0.72rem; line-height: 1.5; text-align: center; }
.premium-footer__bottom p { margin: 0; }

@media (min-width: 40rem) {
    .hero__image { object-position: 46% center; }
    .hero__trust { grid-template-columns: repeat(3, 1fr); }
    .hero__trust li { min-height: 4.75rem; padding-inline: clamp(1.25rem, 2.5vw, 2rem); border-right: 1px solid var(--color-border); border-bottom: 0; }
    .hero__trust li:last-child { border-right: 0; }
    .premium-footer__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); column-gap: clamp(2rem, 6vw, 4rem); }
    .premium-footer__bottom-inner { flex-direction: row; justify-content: space-between; text-align: left; }
    .services__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .about-ae__principles { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .about-ae__statistics { grid-template-columns: repeat(3, minmax(0, 1fr)); }
    .why-ae__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .packages__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .gallery__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .branches__intro { grid-template-columns: minmax(0, 1fr) auto; }
    .branches__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .customer-reviews__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (min-width: 64rem) {
    .premium-footer__grid { grid-template-columns: minmax(17rem, 1.35fr) repeat(3, minmax(0, 1fr)); gap: clamp(2rem, 4vw, 4.5rem); }
    .hero, .hero__inner { min-height: max(42rem, 88svh); }
    .hero__media::before { background: linear-gradient(180deg, rgba(4, 6, 9, 0.06) 58%, rgba(5, 7, 10, 0.82) 100%), linear-gradient(90deg, rgba(4, 7, 11, 0.9) 0%, rgba(4, 7, 11, 0.3) 47%, rgba(4, 7, 11, 0.02) 78%); }
    .hero__image { object-position: center; }
    .hero__inner { padding-bottom: var(--space-5); }
    .hero__content { padding-top: calc(var(--space-6) + var(--space-3)); }
    .services__grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
    .about-ae__layout { grid-template-columns: minmax(0, 2fr) minmax(0, 3fr); }
    .about-ae__media { aspect-ratio: 6 / 7; }
    .why-ae__grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
    .gallery__grid { grid-template-columns: repeat(4, minmax(0, 1fr)); }
    .gallery-card:nth-child(5n + 1) { grid-column: span 2; aspect-ratio: 8 / 3; }
    .gallery-card:nth-child(5n + 1) .gallery-card__title { max-width: 24rem; font-size: clamp(1.25rem, 2vw, 1.65rem); }
    .branches__grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
    .customer-reviews__grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}

@media (max-width: 30rem) {
    .hero__actions { align-items: stretch; flex-direction: column; }
    .hero__actions .button { width: 100%; }
    .contact-cta__actions { align-items: stretch; flex-direction: column; }
    .contact-cta__button { width: 100%; min-width: 0; }
    .premium-footer__grid { text-align: center; }
    .premium-footer__logo-link { justify-content: center; }
    .premium-footer__description { margin-inline: auto; }
    .premium-footer__founded { justify-content: center; }
    .premium-footer__links a { justify-content: center; }
    .premium-footer__links a:is(:hover, :focus-visible) { transform: none; }
    .premium-footer__contact-list a { justify-content: center; }
    .premium-footer__contact-copy { justify-items: start; text-align: left; }
    .premium-footer__highlights li { justify-content: center; text-align: left; }
    .branch-card__actions { grid-template-columns: minmax(0, 1fr); }
    .gallery-lightbox__panel { grid-template-columns: 1fr 1fr; gap: 0.65rem; }
    .gallery-lightbox__figure { grid-column: 1 / -1; grid-row: 1; }
    .gallery-lightbox__control { position: static; width: 100%; margin: 0; border-radius: var(--radius-md); }
    .gallery-lightbox__control--previous { grid-column: 1; grid-row: 2; }
    .gallery-lightbox__control--next { grid-column: 2; grid-row: 2; }
}

@media (max-width: 24rem) {
    .hero__image { object-position: 43% center; }
}

@media (prefers-reduced-motion: reduce) {
    .js-ready .hero__image,
    .js-ready .hero [data-hero-reveal] { opacity: 1; transform: none; animation: none; }
    .js-ready .about-ae__media,
    .js-ready .about-ae__content { opacity: 1; transform: none; animation: none; }
    .about-ae-stat:is(:hover, :focus-visible),
    .service-card,
    .service-card__media img,
    .why-ae-card:is(:hover, :focus-visible),
    .package-card,
    .package-card__cta,
    .package-card__cta > span,
    .gallery-card,
    .gallery-card img,
    .gallery-lightbox,
    .gallery-lightbox__media img,
    .gallery-lightbox__close,
    .gallery-lightbox__control,
    .branch-card,
    .branch-card__media img,
    .branch-card__contact a,
    .branch-card__call,
    .branch-card__map,
    .branch-card__call > svg,
    .branch-card__map > svg,
    .review-card { transition: none; transform: none; animation: none; }
}
