.vanguard-site {
    --bg: #f5f4ef;
    --ink: #15273a;
    --muted: #465867;
    --line: #ccd3d7;
    --blue: #174c70;
}
.vanguard-site .top { background: #0c1c2c; border-top: 4px solid #b5a277; }
.vanguard-site .top .vanguard-masthead {
    display: flex;
    flex-wrap: nowrap;
    min-height: 82px;
    gap: 22px;
}
.vanguard-masthead-label {
    border-inline-start: 1px solid #586878;
    padding-inline-start: 20px;
    margin-inline-end: auto;
    color: #d6dfe7;
    font-size: 13px;
    letter-spacing: .04em;
}
.vanguard-nav-row { background: #f5f4ef; border-bottom: 1px solid #ccd3d7; }
.vanguard-nav-row .primary { display: flex; flex-wrap: wrap; gap: 0; }
.vanguard-nav-row .primary a {
    color: #14283c;
    font-size: 14px;
    font-weight: 700;
    padding: 12px 22px;
    border-inline-start: 1px solid #ccd3d7;
}
.vanguard-nav-row .primary a:last-child { border-inline-end: 1px solid #ccd3d7; }
.vanguard-site .vanguard-nav-row .primary a:is(:hover, :focus-visible) { color: #174c70; background: #e5ebee; }
.vanguard-site .hero {
    background: #eeeee8;
    color: #15273a;
    --ink: #15273a;
    --blue: #174c70;
    --muted: #465867;
    color-scheme: light;
}
.vanguard-site .hero .intro { color: #465867; }
.vanguard-site .hero .button { background: #16344e; color: white; border-color: #16344e; }
.vanguard-site .hero .button.ghost { color: #16344e; background: transparent; }
.vanguard-site .hero .button:hover { background: #dbe5ec; color: #15273a; }
.vanguard-site :is(.hero h1, .home-slider h2, .section h2) {
    font-family: Georgia, "Times New Roman", serif;
    font-weight: 600;
    letter-spacing: -.035em;
}
[dir="rtl"] .vanguard-site :is(.hero h1, .home-slider h2, .section h2) { font-family: inherit; letter-spacing: normal; }
.vanguard-home .home-slider .hero-grid {
    grid-template-columns: minmax(0, 4fr) minmax(0, 6fr);
    gap: clamp(22px, 4vw, 64px);
    align-items: center;
    min-height: 0;
    padding-block: clamp(32px, 5vw, 72px);
}
.vanguard-home .home-slide:has(.hero-grid:not(.hero-grid-image))::after { display: none; }
.vanguard-home .home-slide .vanguard-hero-media {
    position: static;
    z-index: auto;
    border: 1px solid #aab8c1;
    padding: 6px;
    background: #fff;
}
.vanguard-home .home-slide .vanguard-hero-media img { display: block; width: 100%; height: auto; aspect-ratio: 4/3; }
.vanguard-home .home-slider .hero-grid-image { grid-template-columns: 1fr; }
.vanguard-home .hero-grid-image .vanguard-hero-media img { aspect-ratio: 5/2; }
.vanguard-home .home-slider :is(h1,h2) { font-size: clamp(37px, 4.5vw, 68px); line-height: 1.05; }
.vanguard-home .home-slider :is(h1,h2) em { color: #174c70; }
.vanguard-home .home-slider .eyebrow { border-color: #857349; }
.vanguard-home .home-slider-controls:not([hidden]) {
    position: static;
    color: #15273a;
    padding-block: 0 16px;
}
.vanguard-home .home-slider-controls button { background: #fff; color: #15273a; border-color: #a0afb9; }
.home-service-dock { background: #fff; border-color: #ccd3d7; }
.home-service-dock a { color: #15273a; border-color: #ccd3d7; }
.home-service-dock a:last-child { border-color: #ccd3d7; }
.home-service-dock a span { color: #174c70; }
.home-service-dock a:is(:hover,:focus-visible) { background: #e8eef2; }
.vanguard-home .home-guide-grid article { background: #fff; color: #15273a; border: 1px solid #ccd3d7; border-block-start: 3px solid #174c70; }
.vanguard-home .home-guide-grid :is(.eyebrow,dt,a) { color: #174c70; }
.vanguard-home .home-guide-grid dd { color: #465867; }
.vanguard-inner .hero .vanguard-hero-media { box-shadow: none; border: 1px solid #aab8c1; padding: 6px; background: #fff; }
.vanguard-inner .service-jump { background: #fff; }
.vanguard-inner .service-jump a { color: #174c70; }
@media (max-width: 850px) {
    .vanguard-masthead-label { display: none; }
    .vanguard-masthead .brand { margin-inline-end: auto; }
}
@media (max-width: 700px) {
    .vanguard-home .home-slider .hero-grid { grid-template-columns: 1fr; }
    .vanguard-home .home-slide .vanguard-hero-media img { aspect-ratio: 16/9; }
    .vanguard-nav-row .primary a { padding: 9px 12px; font-size: 12px; }
    .vanguard-site .top .vanguard-masthead { min-height: 64px; gap: 10px; }
}

/* Vanguard opening and gallery */
.vanguard-home .vanguard-opening {
    background: radial-gradient(ellipse at 80% 0%, #203748, transparent 58%), #0b1825;
    color: #f8fafb;
    border-block-end: 1px solid #405363;
}
.vanguard-opening-grid {
    display: grid;
    grid-template-columns: minmax(0, 10fr) minmax(0, 12fr);
    gap: clamp(26px, 5vw, 72px);
    align-items: center;
    padding-block: clamp(38px, 6vw, 78px);
}
.vanguard-opening-grid.opening-text-only { grid-template-columns: minmax(0, 42rem); }
.opening-message .eyebrow { color: #d9c392; margin-block-end: 22px; }
.opening-message h1 {
    max-width: 15ch;
    font-size: clamp(39px, 5vw, 76px);
    line-height: 1.01;
    letter-spacing: -.055em;
}
[dir="rtl"] .opening-message h1 { letter-spacing: normal; line-height: 1.17; }
.opening-description { color: #c6d3de; max-width: 46ch; margin-block: 22px 26px; font-size: clamp(16px, 1.5vw, 19px); }
.opening-message .button { background: #e1cca1; color: #132133; border: 1px solid #e1cca1; }
.opening-message .button.ghost { background: transparent; color: #f8fafb; border-color: #72889a; }
.opening-message .button:hover { background: #f3e5c9; color: #132133; }
.opening-gallery { min-width: 0; background: #111f2d; border: 1px solid #4c6172; }
.opening-gallery .home-slide { margin: 0; display: grid; grid-template-rows: auto 1fr; }
.opening-gallery img { width: 100%; display: block; aspect-ratio: 16/10; object-fit: cover; }
.opening-gallery figcaption { padding: 15px 18px; border-block-start: 1px solid #4c6172; overflow-wrap: anywhere; }
.opening-gallery figcaption strong { display: block; font-size: 16px; color: #f8fafb; }
.opening-gallery figcaption span { display: block; margin-block-start: 5px; color: #c6d3de; font-size: 14px; }
.vanguard-home .opening-gallery .home-slider-controls:not([hidden]) {
    justify-content: start;
    padding: 10px 16px;
    color: #e4edf4;
    border-block-start: 1px solid #4c6172;
}
.vanguard-home .opening-gallery .home-slider-controls button { background: #182c3d; color: #f8fafb; border-color: #60798c; }
.vanguard-home .opening-gallery .home-slider-controls button:hover { background: #29465c; }
[dir="rtl"] .opening-gallery [data-prev] span, [dir="rtl"] .opening-gallery [data-next] span { display: inline-block; transform: scaleX(-1); }
@media (max-width: 780px) {
    .vanguard-opening-grid { grid-template-columns: 1fr; }
    .opening-message h1 { max-width: 19ch; }
}
/* Full-width opening gallery */
.vanguard-opening .vanguard-opening-grid {
    display: flex;
    flex-direction: column;
    align-items: stretch;
    width: 100%;
    max-width: none;
    gap: 0;
    padding: 0;
}
.opening-gallery {
    position: relative;
    border: 0;
}
.opening-gallery img {
    aspect-ratio: auto;
    height: clamp(420px, 50vw, 740px);
    object-position: center 43%;
}
.opening-gallery figcaption {
    position: absolute;
    inset: auto 0 0;
    padding: 90px max(24px, calc((100% - 1240px) / 2)) 76px;
    border: 0;
    background: linear-gradient(0deg, #081420f5, #08142000);
}
.opening-gallery figcaption strong { font-size: clamp(26px, 4vw, 58px); line-height: 1.08; max-width: 22ch; }
.opening-gallery figcaption span { font-size: clamp(14px, 1.5vw, 19px); max-width: 52ch; }
.vanguard-home .opening-gallery .home-slider-controls:not([hidden]) {
    position: absolute;
    inset: auto max(24px, calc((100% - 1240px) / 2)) 15px;
    padding: 0;
    border: 0;
    width: fit-content;
    border-radius: 5px;
    background: #081420e8;
}
.vanguard-home .opening-gallery [data-slide-count] { padding-inline: 5px; }
.opening-message {
    width: min(calc(100% - 48px), 1240px);
    margin-inline: auto;
    padding-block: clamp(30px, 4vw, 56px);
}
.opening-message h1 { max-width: 26ch; font-size: clamp(30px, 4vw, 58px); }
@media (max-width: 600px) {
    .opening-gallery img { height: clamp(300px, 95vw, 440px); }
    .opening-gallery figcaption { padding-inline: 20px; }
}
/* Public site layout inspired by the supplied demo */
.vanguard-site { --bg: var(--theme-surface, #f7f8fa); --ink: var(--theme-ink, #23313e); --muted: #4e5e6c; --blue: #9e123b; }
.vanguard-site .demo-header { background: var(--theme-header, #273542); border: 0; position: relative; z-index: 15; }
.demo-utility { background: var(--theme-accent, #a60736); color: #fff; font-size: 13px; }
.demo-utility .wrap { display: flex; justify-content: space-between; align-items: center; gap: 10px; min-height: 37px; }
.demo-utility a { text-decoration: underline; text-underline-offset: 3px; }
.vanguard-site .demo-header .vanguard-masthead { min-height: 86px; }
.demo-nav { display: flex; align-items: center; gap: clamp(12px, 2vw, 30px); margin-inline-start: auto; font-size: 14px; font-weight: 700; }
.demo-menu { position: relative; }
.demo-menu summary { cursor: pointer; list-style: none; white-space: nowrap; }
.demo-menu summary::-webkit-details-marker { display: none; }
.demo-menu[open] summary { color: #ffd7e2; }
.demo-menu-panel {
    position: absolute;
    inset-block-start: calc(100% + 14px);
    inset-inline-start: 0;
    display: grid;
    width: min(380px, 85vw);
    padding: 10px;
    color: #23313e;
    background: #fff;
    border-block-start: 3px solid var(--theme-accent, #a60736);
    box-shadow: 0 12px 32px #0a18263a;
    z-index: 12;
}
.demo-menu-services { inset-inline-start: auto; inset-inline-end: 0; width: min(650px, 85vw); grid-template-columns: repeat(2, minmax(0, 1fr)); }
.demo-menu-panel a { display: block; padding: 11px 12px; }
.demo-menu-panel small { display: block; color: #4e5e6c; font-weight: 400; line-height: 1.4; margin-block-start: 4px; }
.demo-menu-panel a:is(:hover,:focus-visible) { background: #f5eaf0; color: #8b0e34; }
.vanguard-home .vanguard-opening { position: relative; }
.vanguard-home .vanguard-opening-grid:not(.opening-text-only) .opening-message {
    position: absolute;
    z-index: 2;
    inset: clamp(34px, 6vw, 90px) 0 auto;
    pointer-events: none;
    padding: 0;
}
.opening-message .actions { pointer-events: auto; }
.opening-message h1 { font-size: clamp(36px, 5.1vw, 76px); max-width: 15ch; }
.opening-message .eyebrow { color: #f3dce3; }
.opening-message .button { background: var(--theme-accent, #a60736); border-color: var(--theme-accent, #a60736); color: #fff; }
.opening-message .button:hover { background: #7f092e; color: #fff; }
.opening-message .button.ghost { background: #23313eb8; }
.opening-gallery img { height: clamp(570px, 49vw, 760px); }
.opening-gallery .home-slide::after {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(90deg, #142230f0, #142230a0 47%, #1422301a 82%);
    pointer-events: none;
}
[dir="rtl"] .opening-gallery .home-slide::after { background: linear-gradient(270deg, #142230f0, #142230a0 47%, #1422301a 82%); }
.opening-gallery figcaption {
    z-index: 1;
    inset: auto max(24px, calc((100% - 1240px) / 2)) 100px;
    padding: 0;
    width: fit-content;
    max-width: min(52ch, 70vw);
    background: none;
}
.opening-gallery figcaption strong { font-size: 15px; }
.opening-gallery figcaption span { font-size: 13px; }
.vanguard-home .opening-gallery .home-slider-controls:not([hidden]) {
    inset: 18% max(20px, calc((100% - 1350px) / 2)) auto auto;
    display: grid;
    justify-items: center;
    gap: 8px;
    padding: 8px;
    background: #192837a8;
}
[dir="rtl"] .vanguard-home .opening-gallery .home-slider-controls:not([hidden]) { inset-inline: auto max(20px, calc((100% - 1350px) / 2)); left: max(20px, calc((100% - 1350px) / 2)); right: auto; }
.vanguard-home .opening-gallery .home-slider-controls button { padding: 5px 9px; }
.home-service-dock-grid { gap: 10px; }
.home-service-dock .home-service-dock-grid a {
    background: #1d2b38;
    border: 1px solid #455765;
    border-radius: 7px;
    color: #fff;
    padding: 13px;
    min-height: 106px;
    box-shadow: 0 6px 20px #14223026;
}
.home-service-dock .home-service-dock-grid a:is(:hover,:focus-visible) { background: #314455; }
.home-service-dock a span { color: #f5bdce; }
.home-service-dock small { display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; color: #d0dce6; font-size: 12px; line-height: 1.45; margin-block-start: 4px; }
.vanguard-home .home-operations figure { order: 2; }
.vanguard-home .home-operations { grid-template-columns: minmax(0, 5fr) minmax(0, 4fr); }
.vanguard-home .home-operations img { border-radius: 8px; }
.vanguard-home .home-guide-grid article { border-block-start-color: var(--theme-accent, #a60736); border-radius: 6px; }
@media (max-width: 950px) {
    .vanguard-site .demo-header .vanguard-masthead { flex-wrap: wrap; padding-block: 12px; gap: 12px; }
    .demo-nav { position: relative; width: 100%; order: 3; margin: 0; flex-wrap: wrap; }
    .demo-menu { position: static; }
    .demo-menu-panel { inset-inline: 0 auto; }
    .demo-menu-panel { inset-block-start: calc(100% + 8px); }
}
@media (max-width: 600px) {
    .demo-nav { font-size: 12px; gap: 10px 14px; }
    .demo-menu-services { width: min(300px, 72vw); grid-template-columns: 1fr; max-height: 60vh; overflow: auto; }
    .vanguard-home .vanguard-opening-grid:not(.opening-text-only) .opening-message { inset-block-start: 35px; width: calc(100% - 36px); }
    .opening-message h1 { font-size: clamp(33px, 9vw, 49px); }
    .opening-description { max-width: 34ch; }
    .opening-gallery img { height: 610px; }
    .opening-gallery figcaption { inset-block-end: 64px; }
    .vanguard-home .opening-gallery .home-slider-controls:not([hidden]),
    [dir="rtl"] .vanguard-home .opening-gallery .home-slider-controls:not([hidden]) { inset: auto auto 12px; inset-inline-end: 16px; display: flex; }
    .vanguard-home .home-operations { grid-template-columns: 1fr; }
    .home-service-dock .home-service-dock-grid a { min-height: 92px; }
}
/* Demo layout below the opening */
.vanguard-home main .section { padding-block: clamp(48px, 7vw, 94px); }
.vanguard-site :is(.section h2, .hero h1) { font-family: inherit; font-weight: 760; }
.vanguard-home :is(.profile,.team-band,.demo-process,#ana-ekip) { background: #fff; }
.vanguard-home .home-operations { grid-template-columns: minmax(0, 6fr) minmax(0, 4fr); }
.vanguard-home .home-operations img { aspect-ratio: 1; }
.demo-services-band { background: #f0f4f6; }
.vanguard-home #hizmetler > :is(h2,.eyebrow,.muted) { text-align: center; }
.vanguard-home #hizmetler > .eyebrow { justify-content: center; }
.vanguard-home #hizmetler .featured-grid { gap: 22px; }
.vanguard-home #hizmetler .feature:nth-child(n) { display: flex; min-height: 0; background: var(--theme-header, #273542); border: 0; }
.vanguard-home #hizmetler .feature:after { display: none; }
.vanguard-home #hizmetler .feature img { position: static; z-index: auto; height: auto; aspect-ratio: 2/1; }
.vanguard-home #hizmetler .feature:hover img { transform: none; }
.vanguard-home #hizmetler .feature div { padding: 17px 19px; justify-content: start; }
.vanguard-home #hizmetler .feature h3 { font-size: 20px; }
.vanguard-home #hizmetler .feature p { color: #dce4ea; }
.vanguard-home #hizmetler .feature span { color: #f9c0d1; }
.vanguard-home .scenario-band, .vanguard-home .visit-band {
    background: var(--theme-header, #273542);
    --ink: #fff;
    --muted: #d0dae2;
    --blue: #f0b1c3;
    --line: #4a5864;
    color: var(--ink);
}
.vanguard-home .scenario-band :is(h2,.eyebrow) { justify-content: center; text-align: center; }
.vanguard-home .scenario-grid article { background: #303f4c; border-block-start: 3px solid #b64c6d; }
.vanguard-home .scenario-grid img { height: 148px; }
.vanguard-home .process-layout { grid-template-columns: minmax(0, 1fr) minmax(0, 2fr); gap: clamp(20px, 5vw, 64px); }
.vanguard-home .process-layout .steps { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 15px 28px; }
.vanguard-home .process-layout .steps li { border: 0; border-block-end: 1px solid #cfd8df; padding: 12px 0 20px; }
.demo-topic-strip { background: var(--theme-accent, #a60736); color: white; }
.demo-topic-strip .wrap { display: flex; flex-wrap: wrap; gap: 12px 25px; justify-content: center; padding-block: 18px; }
.demo-topic-strip a { font-weight: 700; }
.demo-topic-strip a:hover { text-decoration: underline; }
.vanguard-home .visit-band .visit-links a,
.vanguard-home .visit-band .visit-faq summary { background: #303f4c; color: #fff; }
.vanguard-home .visit-band .home-brief > div { background: #303f4c; }
.vanguard-home .visit-band .home-brief aside { background: #21303d; }
.demo-faq-action { margin-block-start: 20px; padding: 18px; background: var(--theme-accent, #a60736); display: flex; flex-wrap: wrap; align-items: center; gap: 12px; justify-content: space-between; border-radius: 5px; }
.demo-faq-action strong { color: white; }
.demo-faq-action .button { background: white; color: var(--theme-header, #273542); }
.vanguard-home #ana-ekip > :is(h2,.eyebrow) { text-align: center; justify-content: center; }
.vanguard-site .demo-footer { background: var(--theme-footer, #2b3944); color: #fff; --line: #45535e; --muted: #c6d0d8; }
.demo-footer-grid { display: grid; grid-template-columns: minmax(0, 36%) minmax(0, 1fr); }
.demo-footer-brand { border-inline-end: 1px solid var(--line); padding: 86px clamp(24px, 5vw, 65px) 48px 0; }
[dir="rtl"] .demo-footer-brand { padding-inline: 0 clamp(24px, 5vw, 65px); }
.demo-footer-brand .brand img { display: block; width: min(100%, 250px); }
.demo-footer-brand p { color: var(--muted); margin-block: 24px; max-width: 34ch; }
.demo-footer-direct { display: inline-flex; align-items: center; gap: 12px; color: #fff; }
.demo-footer-direct small { display: block; color: var(--muted); }
.demo-footer-icon { display: grid; place-items: center; width: 38px; height: 38px; flex: 0 0 38px; border: 1px solid var(--line); border-radius: 50%; }
.demo-footer-right { min-width: 0; padding-block: 86px 48px; padding-inline-start: clamp(24px, 5vw, 60px); }
.demo-footer-links { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 28px; }
.demo-footer-links h3 { position: relative; margin: 0 0 18px; padding-block-end: 16px; color: #fff; font-size: 19px; font-weight: 600; }
.demo-footer-links h3::before, .demo-footer-links h3::after { content: ""; position: absolute; inset-inline-start: 0; bottom: 0; }
.demo-footer-links h3::before { width: min(100%, 148px); height: 1px; background: var(--line); }
.demo-footer-links h3::after { width: 52px; height: 2px; background: #fff; }
.demo-footer-links ul { display: grid; gap: 11px; margin: 0; padding: 0; list-style: none; }
.demo-footer-links a { display: inline-block; color: var(--muted); line-height: 1.45; }
.demo-footer-links a:hover, .demo-footer-direct:hover { color: #fff; text-decoration: underline; }
.demo-footer-contact { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 16px; margin-block-start: 48px; padding: 18px 24px; border-radius: 6px; background: #344552; }
.demo-footer-contact > div { flex: 1 1 230px; }
.demo-footer-contact h3 { color: #fff; font-size: 18px; margin: 0; }
.demo-footer-contact p { color: var(--muted); font-size: 14px; margin: 4px 0 0; }
.demo-footer-contact .button { background: var(--theme-accent, #a60736); color: #fff; }
.demo-footer-contact .button:hover { background: #85052b; }
.vanguard-site .demo-footer .footer { color: var(--muted); padding-block: 18px 26px; }
@media (max-width: 900px) {
    .demo-footer-grid { grid-template-columns: minmax(0, 1fr); }
    .demo-footer-brand, [dir="rtl"] .demo-footer-brand { border: 0; padding: 48px 0 30px; }
    .demo-footer-right { padding: 0 0 36px; }
    .demo-footer-contact { margin-block-start: 32px; }
}
@media (max-width: 760px) {
    .vanguard-home .home-operations, .vanguard-home .process-layout { grid-template-columns: 1fr; }
    .vanguard-home .home-operations img { aspect-ratio: 16/9; }
}
@media (max-width: 540px) {
    .demo-footer-links { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 440px) {
    .vanguard-home .process-layout .steps { grid-template-columns: 1fr; }
}
/* Rounded gallery controls and crossfade */
.opening-gallery .home-slide-track { display: grid; }
.opening-gallery .home-slide {
    grid-area: 1 / 1;
    opacity: 1;
    transition: opacity 650ms ease;
}
.opening-gallery .home-slide[inert] { opacity: 0; pointer-events: none; }
.vanguard-home .opening-gallery .home-slider-controls:not([hidden]) {
    inset: 14% auto auto;
    inset-inline-end: clamp(16px, 3.5vw, 60px);
    padding: 0;
    background: transparent;
}
.vanguard-home .opening-gallery .home-slider-controls button {
    background: transparent;
    border: 0;
    border-radius: 999px;
    color: #fff;
}
.vanguard-home .opening-gallery .home-slider-controls button:is(:hover, :focus-visible) { background: #122030; }
.slider-control-pill {
    display: grid;
    justify-items: center;
    gap: 8px;
    padding: 8px 12px;
    border: 1px solid #ffffffa0;
    border-radius: 999px;
    background: #1422309c;
}
.slider-control-pill [data-slide-count] { font-size: 29px; line-height: 1; font-variant-numeric: tabular-nums; }
.slider-control-pill button { width: 36px; height: 36px; font-size: 20px; }
.slider-page-list { display: grid; gap: 4px; max-height: 180px; overflow-y: auto; scrollbar-width: none; }
.slider-page-list button { font-size: 17px; opacity: .82; }
.slider-page-list button[aria-current] { opacity: 1; text-decoration: underline; text-underline-offset: 4px; }
.vanguard-home .opening-gallery .home-slider-controls [data-pause] { background: #142230c9; font-size: 12px; }
[dir="rtl"] .opening-gallery :is([data-prev], [data-next]) span { transform: none; }
@media (max-width: 600px) {
    .vanguard-home .opening-gallery .home-slider-controls:not([hidden]) { inset: auto auto 12px; inset-inline-end: 16px; display: flex; }
    .slider-control-pill { display: flex; padding: 3px; gap: 3px; }
    .slider-control-pill [data-slide-count] { font-size: 19px; }
    .slider-page-list { display: flex; max-width: 30vw; overflow: auto; }
    .slider-page-list button { font-size: 13px; }
}
@media (prefers-reduced-motion: reduce) { .opening-gallery .home-slide { transition: none; } }
/* Three-card service carousel aligned to the end of the hero */
.vanguard-home .home-service-dock {
    display: flex;
    align-items: center;
    gap: 12px;
    width: min(66%, 980px);
    margin-inline: auto 0;
    padding: 12px clamp(14px, 2vw, 28px) 12px 14px;
    background: #142230d9;
    border-radius: 10px 0 0 0;
}
.service-dock-controls:not([hidden]) { display: grid; gap: 8px; flex: 0 0 auto; }
.service-dock-controls button {
    width: 36px;
    height: 36px;
    border: 1px solid #536576;
    border-radius: 6px;
    background: #273a4a;
    color: #fff;
    cursor: pointer;
    font-size: 22px;
}
.service-dock-controls button:disabled { opacity: .48; cursor: default; }
[dir="rtl"] .service-dock-controls button { transform: scaleX(-1); }
.vanguard-home .home-service-dock-grid {
    display: flex;
    min-width: 0;
    flex: 1;
    overflow-x: auto;
    scrollbar-width: none;
    scroll-snap-type: x mandatory;
    gap: 10px;
}
.vanguard-home .home-service-dock .home-service-dock-grid a {
    flex: 0 0 calc((100% - 20px) / 3);
    min-width: 0;
    min-height: 96px;
    scroll-snap-align: start;
    box-shadow: none;
}
@media (min-width: 951px) { .vanguard-home .opening-gallery figcaption { inset-block-end: 24px; max-width: 24vw; } }
@media (max-width: 950px) {
    .vanguard-home .home-service-dock { width: 100%; border-radius: 0; }
    .vanguard-home .opening-gallery figcaption { inset-block-end: 72px; }
}
@media (max-width: 680px) {
    .vanguard-home .home-service-dock .home-service-dock-grid a { flex-basis: calc((100% - 10px) / 2); }
}
@media (max-width: 450px) {
    .vanguard-home .home-service-dock .home-service-dock-grid a { flex-basis: 100%; }
}

/* The gallery fills the first viewport below the masthead, including the service dock. */
.vanguard-home .vanguard-opening:has(.opening-gallery) {
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    isolation: isolate;
    min-height: calc(100vh - var(--opening-header-height, 123px));
    min-height: calc(100dvh - var(--opening-header-height, 123px));
}
.vanguard-opening .opening-gallery {
    position: absolute;
    inset: 0;
}
.opening-gallery :is(.home-slide-window, .home-slide-track, .home-slide) { height: 100%; }
.opening-gallery .home-slide img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.opening-gallery .home-slide-track { grid-template-rows: minmax(0, 1fr); }
.vanguard-home .vanguard-opening-grid:not(.opening-text-only) .opening-message {
    position: relative;
    inset: auto;
    padding-block: clamp(25px, 6dvh, 74px) 44px;
}
.vanguard-home .vanguard-opening > .home-service-dock { position: relative; z-index: 3; }
@media (min-width: 951px) and (max-height: 820px) {
    .vanguard-home .opening-message h1 { font-size: clamp(36px, 7dvh, 63px); }
}
@media (max-width: 950px) {
    .vanguard-home .opening-gallery figcaption { inset-block-end: calc(var(--opening-dock-height, 132px) + 14px); }
    .vanguard-home .vanguard-opening-grid:not(.opening-text-only) .opening-message { padding-block-end: 155px; }
}
@media (max-width: 600px) {
    .vanguard-site .demo-header .vanguard-masthead { padding-block: 8px; gap: 8px; }
    .vanguard-site .demo-header .brand img { width: 142px; }
    .vanguard-home .vanguard-opening-grid:not(.opening-text-only) .opening-message {
        padding-block: 22px 152px;
    }
    .opening-message .eyebrow { margin-block-end: 12px; }
    .opening-message h1 { max-width: 20ch; font-size: clamp(28px, 7.5vw, 42px); overflow-wrap: anywhere; }
    .opening-description { margin-block: 12px 16px; font-size: 15px; }
    .opening-message .actions { gap: 8px; margin-block-start: 0; }
    .opening-message .button { min-height: 44px; padding-inline: 12px; }
    .vanguard-home .home-service-dock { padding-block: 8px; }
    .vanguard-home .home-service-dock .home-service-dock-grid a { min-height: 90px; padding: 10px; }
    .vanguard-home .opening-gallery figcaption {
        inset-inline: 18px;
        inset-block-end: calc(var(--opening-dock-height, 106px) + 58px);
        max-width: none;
    }
    .opening-gallery figcaption :is(strong, span) {
        display: -webkit-box;
        -webkit-box-orient: vertical;
        -webkit-line-clamp: 2;
        overflow: hidden;
    }
    .vanguard-home .opening-gallery .home-slider-controls:not([hidden]),
    [dir="rtl"] .vanguard-home .opening-gallery .home-slider-controls:not([hidden]) { inset-block-end: calc(var(--opening-dock-height, 106px) + 8px); }
}

.vanguard-contact-rail, .vanguard-back-top {
    position: fixed;
    z-index: 10;
}
.vanguard-contact-rail {
    left: 0;
    top: 45%;
    display: grid;
    overflow: hidden;
    border-radius: 0 8px 8px 0;
    box-shadow: 0 5px 24px #08152242;
}
.vanguard-contact-rail > *, .vanguard-back-top {
    display: grid;
    place-items: center;
    width: 46px;
    height: 46px;
    background: #253745;
    color: #fff;
}
.vanguard-contact-rail > * + * { border-block-start: 1px solid #ffffff29; }
.vanguard-contact-rail .contact-telegram { background: #17658b; }
.vanguard-contact-rail .contact-whatsapp { background: #176843; }
.vanguard-contact-rail .contact-instagram { background: #8d2c61; }
.vanguard-contact-rail [aria-disabled] { color: #ffffffb0; cursor: default; }
.vanguard-contact-rail a:hover, .vanguard-back-top:hover { filter: brightness(1.25); }
.vanguard-contact-rail a:focus-visible { outline-offset: -4px; outline-color: #fff; }
.vanguard-contact-rail svg, .vanguard-back-top svg { width: 22px; height: 22px; }
.vanguard-back-top {
    right: 16px;
    bottom: max(16px, env(safe-area-inset-bottom));
    border: 1px solid #ffffff42;
    border-radius: 50%;
    background: var(--theme-accent, #a60736);
    box-shadow: 0 5px 24px #08152242;
}
@media (max-width: 600px), (max-height: 500px) {
    .vanguard-contact-rail {
        top: auto;
        bottom: max(12px, env(safe-area-inset-bottom));
        left: 12px;
        display: flex;
        border-radius: 8px;
    }
    .vanguard-contact-rail > * { width: 40px; height: 44px; }
    .vanguard-contact-rail > * + * { border-block-start: 0; border-inline-start: 1px solid #ffffff29; }
    .vanguard-back-top { right: 12px; bottom: max(12px, env(safe-area-inset-bottom)); }
}
@media (prefers-reduced-motion: no-preference) {
    html:has(.vanguard-back-top) { scroll-behavior: smooth; }
}

body.vanguard-site[style*="--theme-body-font:"] { font-family: var(--theme-body-font); }
body.vanguard-site[style*="--theme-heading-font:"] :is(h1, h2, h3, h4, h5, h6, .section h2) { font-family: var(--theme-heading-font); }
.demo-footer-grid.footer-without-brand { grid-template-columns: minmax(0, 1fr); }
.footer-without-brand .demo-footer-right { padding-inline-start: 0; }
.vanguard-site .demo-header .brand img { object-fit: contain; }

.vanguard-footer-details { display: grid; gap: 5px; margin-block: 0 18px; color: var(--muted); font-style: normal; }
.vanguard-slide-watermark {
    --watermark-offset: 18px;
    position: absolute;
    inset: var(--watermark-offset) auto auto var(--watermark-offset);
    width: min(var(--watermark-desktop, 90px), 40%);
    aspect-ratio: 2 / 1;
    background: center / contain no-repeat;
    opacity: var(--watermark-opacity, 55%);
    z-index: 1;
    pointer-events: none;
}
.vanguard-slide-watermark[data-position="top-right"] { inset: var(--watermark-offset) var(--watermark-offset) auto auto; }
.vanguard-slide-watermark[data-position="bottom-left"] { inset: auto auto var(--watermark-offset) var(--watermark-offset); }
.vanguard-slide-watermark[data-position="bottom-right"] { inset: auto var(--watermark-offset) var(--watermark-offset) auto; }
@media (max-width: 860px) {
    .vanguard-slide-watermark { --watermark-offset: 12px; width: min(var(--watermark-mobile, 90px), 40%); }
}
.vanguard-site .demo-nav { flex-wrap: wrap; }
@media (min-width: 1250px) {
    .vanguard-site .demo-header .bar .demo-nav { gap: 10px clamp(12px, 1.15vw, 19px); }
}

@media (min-width: 951px) {
    .demo-menu-custom:not(:first-child) .demo-menu-panel { inset-inline: auto 0; }
}

.vanguard-site .demo-header .brand img {
    width: var(--header-logo-desktop, clamp(136px, 17vw, 224px));
    max-width: 100%;
    height: auto;
}
.vanguard-site .demo-footer-brand .brand img {
    width: min(100%, var(--footer-logo-desktop, 250px));
    height: auto;
}
@media (max-width: 860px) {
    .vanguard-site .demo-header .brand img { width: var(--header-logo-mobile, var(--header-logo-desktop, 142px)); }
    .vanguard-site .demo-footer-brand .brand img { width: min(100%, var(--footer-logo-mobile, var(--footer-logo-desktop, 250px))); }
}
.demo-menu-toggle { display: none; }
@media (max-width: 950px) {
    .vanguard-site .demo-header .vanguard-masthead { column-gap: 8px; }
    .vanguard-site .demo-header .vanguard-masthead.mobile-menu-ready {
        display: grid;
        grid-template-columns: 42px minmax(0, 1fr) 42px;
        align-items: center;
    }
    .vanguard-masthead.mobile-menu-ready > .brand { grid-column: 2; grid-row: 1; justify-self: center; margin: 0; transform: translateX(-4px); }
    .mobile-menu-ready .demo-menu-toggle { grid-column: 3; grid-row: 1; width: 42px; }
    .mobile-menu-ready .demo-nav { grid-column: 1 / -1; grid-row: 2; }
    .vanguard-home .demo-utility { display: none; }
    .mobile-menu-ready .demo-nav .language-menu summary { padding: 12px 14px; border: 0; }
    .mobile-menu-ready .demo-nav .language-options { position: static; margin: 0 8px 8px; box-shadow: none; }
    .vanguard-masthead .brand { margin-inline-end: auto; min-width: 0; }
    .vanguard-masthead .language-menu { margin-inline-start: 0; flex-shrink: 0; }
    .vanguard-masthead .language-menu summary { padding: 10px; }
    .vanguard-masthead .language-menu summary span { margin-inline-start: 2px; }
    .mobile-menu-ready .demo-menu-toggle {
        display: grid;
        flex: 0 0 42px;
        height: 42px;
        place-items: center;
        color: #f0f5fb;
        background: transparent;
        border: 1px solid #536477;
        border-radius: 5px;
        cursor: pointer;
    }
    .demo-menu-toggle[aria-expanded="false"] .demo-toggle-close,
    .demo-menu-toggle[aria-expanded="true"] .demo-toggle-open { display: none; }
    .vanguard-site .demo-header .bar .demo-nav {
        display: grid;
        flex: 0 0 100%;
        gap: 0;
        padding-block: 4px;
        background: #192735;
        border: 1px solid #43566a;
        border-radius: 6px;
        font-size: 14px;
    }
    .vanguard-site .demo-header .bar.mobile-menu-ready:not(.mobile-menu-open) .demo-nav { display: none; }
    .demo-nav > a, .demo-nav > details > summary { display: block; padding: 12px 14px; }
    .demo-nav > :not(:last-child) { border-bottom: 1px solid #43566a; }
    .demo-nav .demo-menu > summary { display: flex; justify-content: space-between; gap: 12px; white-space: normal; }
    .demo-nav .demo-menu > summary::after { content: "+"; }
    .demo-nav .demo-menu[open] > summary::after { content: "−"; }
    .demo-nav .demo-menu-panel {
        position: static;
        width: auto;
        max-height: none;
        grid-template-columns: 1fr;
        margin: 0 8px 8px;
        box-shadow: none;
    }
}
@media (max-width: 600px), (max-width: 950px) and (max-height: 500px) {
    html:has(body.vanguard-home .vanguard-contact-rail) {
        --mobile-contact-height: calc(64px + env(safe-area-inset-bottom, 0px));
        overflow: hidden;
        background: #172532;
    }
    body.vanguard-home:has(.vanguard-contact-rail) {
        height: calc(100vh - var(--mobile-contact-height));
        height: calc(100dvh - var(--mobile-contact-height));
        overflow-y: auto;
        overscroll-behavior-y: contain;
    }
    body.vanguard-home:has(.vanguard-contact-rail)::after {
        content: "";
        position: fixed;
        inset: auto 0 0;
        height: var(--mobile-contact-height);
        background: #172532;
        border-top: 1px solid #536477;
        z-index: 9;
    }
    .vanguard-home .vanguard-opening:has(.opening-gallery) {
        min-height: calc(100vh - var(--opening-header-height, 123px) - var(--mobile-contact-height));
        min-height: calc(100dvh - var(--opening-header-height, 123px) - var(--mobile-contact-height));
    }
    .vanguard-home .vanguard-contact-rail, .vanguard-home .vanguard-back-top {
        bottom: calc(9px + env(safe-area-inset-bottom, 0px));
    }
}
@media (max-width: 600px) {
    .vanguard-home .opening-gallery .home-slider-controls:not([hidden]),
    [dir="rtl"] .vanguard-home .opening-gallery .home-slider-controls:not([hidden]) {
        inset-inline: 0;
        width: max-content;
        max-width: calc(100% - 28px);
        margin-inline: auto;
        gap: 4px;
        padding-inline: 4px;
        background: #142230e8;
        border: 1px solid #ffffff55;
        border-radius: 999px;
    }
    .vanguard-home .home-slider-controls .slider-control-pill { display: none; }
    .vanguard-home .home-slider-controls .slider-page-list {
        display: flex;
        min-width: 0;
        max-width: none;
        overflow-x: auto;
        gap: 0;
    }
    .vanguard-home .opening-gallery .slider-page-list button,
    .vanguard-home .opening-gallery .home-slider-controls [data-pause] {
        position: relative;
        height: 42px;
        font-size: 0;
        padding: 0;
    }
    .vanguard-home .opening-gallery .slider-page-list button { flex: 0 0 36px; }
    .vanguard-home .slider-page-list button::after,
    .vanguard-home .home-slider-controls [data-pause]::after {
        content: "";
        position: absolute;
        top: 50%;
        left: 50%;
        transform: translate(-50%, -50%);
    }
    .vanguard-home .slider-page-list button::after {
        width: 8px;
        height: 8px;
        border-radius: 50%;
        background: #a6b5c4;
    }
    .vanguard-home .slider-page-list button[aria-current]::after {
        background: #fff;
        outline: 1px solid #fff;
        outline-offset: 3px;
    }
    .vanguard-home .opening-gallery .home-slider-controls [data-pause] {
        flex: 0 0 42px;
        background: transparent;
        border-inline-start: 1px solid #ffffff55;
        border-radius: 0;
    }
    .vanguard-home .home-slider-controls [data-pause]::after {
        width: 10px;
        height: 12px;
        border-inline: 3px solid currentColor;
    }
    .vanguard-home .home-slider-controls [data-pause][data-playing="false"]::after {
        width: 0;
        height: 0;
        border: 6px solid transparent;
        border-left: 9px solid currentColor;
        border-right: 0;
    }
}
@media (max-width: 600px) and (prefers-reduced-motion: no-preference),
       (max-width: 950px) and (max-height: 500px) and (prefers-reduced-motion: no-preference) {
    body.vanguard-home:has(.vanguard-contact-rail) { scroll-behavior: smooth; }
}
@media (max-width: 600px) {
    .vanguard-home .home-service-dock .service-dock-controls { display: none; }
    .vanguard-home .home-service-dock .home-service-dock-grid a { flex-basis: 100%; }
}
.opening-message[hidden] { display: none; }
