.theme-services-01 { --ink:#2d2540; --paper:#f8f5fb; --surface:#fff; --surface-2:#eee7f5; --accent:var(--public-accent,#7056a6); --accent-2:var(--brand-accent,#eea971); --on-accent:#fff; --radius:1.6rem; --display:ui-rounded,"Trebuchet MS",sans-serif; --max:86rem; }
.theme-services-01 .site-header{background:transparent;padding-top:1rem}.theme-services-01 .floating-header-card{align-items:center;background:rgb(255 255 255/.88);border:1px solid var(--line);border-radius:999px;box-shadow:0 18px 50px rgb(65 45 92/.08);display:grid;gap:1.4rem;grid-template-columns:auto auto 1fr auto;padding:.55rem .65rem .55rem 1.4rem}.theme-services-01 .header-sector{color:var(--muted);font-size:.62rem}.theme-services-01 .desktop-nav{justify-content:center}.theme-services-01 .desktop-nav a{padding-block:1rem}
.theme-services-01 .service-promise{align-items:center;display:flex;justify-content:center;gap:1.2rem;padding-block:1.2rem}.theme-services-01 .service-promise i{background:var(--accent-2);border-radius:50%;height:.35rem;width:.35rem}.theme-services-01 .hero-component{padding-top:3rem}.theme-services-01 .hero-component figure{border-radius:3rem 3rem 3rem .5rem}.theme-services-01 .feature-grid{gap:1rem}.theme-services-01 .feature-grid article{border-radius:1.5rem}.theme-services-01 .faq-list details{background:var(--surface);border:1px solid var(--line);border-radius:1rem;margin-bottom:.7rem;padding:1.2rem 1.4rem}.theme-services-01 .price-offer{box-shadow:0 25px 70px rgb(76 52 102/.1)}.theme-services-01 .native-card:nth-child(2){transform:translateY(2rem)}
.theme-services-01 .footer-welcoming{background:#2d2540;border-radius:3rem 3rem 0 0}.theme-services-01 .footer-intro{text-align:center}.theme-services-01 .footer-intro h2{margin:1rem auto 4rem;max-width:16ch}
/* Services announcement: friendly floating capsule */
.theme-services-01 .announcement-bar{background:var(--paper);color:var(--ink);padding:.55rem var(--gutter) 0}.theme-services-01 .announcement-inner{background:var(--surface-2);border:1px solid color-mix(in srgb,var(--accent) 20%,transparent);border-radius:999px;gap:.7rem;min-height:2.65rem;max-width:70rem;padding-inline:1.2rem}.theme-services-01 .announcement-inner>span::before{color:var(--accent-2);content:"●";margin-inline-end:.65rem}.theme-services-01 .announcement-inner a{background:var(--surface);border-radius:999px;color:var(--accent);padding:.35rem .7rem}

/* Theme-owned responsive shell */
.theme-footer .footer-intro{margin-bottom:clamp(3rem,7vw,7rem)}.theme-footer .footer-intro>p{color:var(--accent-2);font-size:.68rem;letter-spacing:.14em;text-transform:uppercase}.theme-footer .footer-index{color:var(--accent-2);font-size:.65rem}.theme-atmosphere{pointer-events:none}.header-sector{white-space:nowrap}
@media (max-width: 1100px){.theme-header .desktop-nav{display:none}.theme-header .menu-toggle{display:inline-flex}.theme-header .header-cta{display:none}.theme-header [class$="-main"],.theme-header [class$="-row"],.theme-header .floating-header-card,.theme-header .split-rail-main{grid-template-columns:1fr auto;min-height:4.8rem}.theme-header .header-sector,.theme-header [class^="header-side"],.theme-header .gallery-masthead>p{display:none}.theme-header .centered-header-row .header-side-end{display:flex;grid-column:2;grid-row:1}.theme-header .centered-header-row .header-side-end>span{display:none}.theme-header .header-actions{grid-column:2;grid-row:1}.theme-header .brand-mark{grid-column:1;grid-row:1;justify-self:start}.editorial-header .editorial-masthead{grid-template-columns:1fr auto}.editorial-header .editorial-masthead>span{display:none}.editorial-header .masthead-contact{display:none}.editorial-header .editorial-nav-row{min-height:0}.editorial-header .editorial-nav-row .header-actions,.hospitality-header .hospitality-nav-row .header-actions{position:absolute;inset-inline-end:var(--gutter);top:-3.8rem}.hospitality-header .hospitality-brand-row>span{display:none}.hospitality-header .hospitality-nav-row{min-height:0}.gallery-header .gallery-nav-row{display:none}.gallery-header .gallery-masthead{grid-template-columns:1fr auto}.floating-header{padding-top:.5rem}.floating-header .floating-header-card{border-radius:1rem}.native-card-grid{grid-template-columns:repeat(2,1fr)!important}}
@media (max-width: 720px){.announcement-bar .announcement-inner{display:flex;flex-flow:row wrap;gap:.55rem;justify-content:flex-start;min-height:2.8rem;padding-block:.55rem}.announcement-bar .announcement-inner a{margin-inline-start:auto}.theme-header .icon-button{display:none}.theme-header .header-actions{gap:.25rem}.dealer-strip span:not(:first-child),.utility-strip span:first-child,.academy-ribbon span:last-child{display:none}.technical-index,.production-index,.compact-index,.build-console{grid-template-columns:1fr auto!important}.technical-index span:nth-child(2),.production-index span:nth-child(2),.compact-index span:nth-child(2),.build-console span:nth-child(n+3){display:none}.home-folio span:last-child,.architectural-coordinate span:last-child{display:none}.care-ribbon,.trust-ribbon{grid-template-columns:1fr}.service-promise,.academy-credo,.hospitality-note{gap:.65rem;overflow:hidden;white-space:nowrap}.service-promise span:nth-of-type(2),.academy-credo span:nth-of-type(2),.hospitality-note span:nth-of-type(2){display:none}.creative-ticker,.inventory-marquee{justify-content:flex-start}.theme-footer .footer-intro{display:block!important}.theme-footer .footer-intro h2{margin-top:1rem}.theme-footer .footer-grid{grid-template-columns:1fr 1fr}.theme-footer .footer-lead{grid-column:1/-1}.native-card-grid{grid-template-columns:1fr!important}.native-card{margin-top:0!important}.project-grid{grid-template-columns:1fr}.project-grid a{grid-column:auto!important;margin-top:0!important}}

.locale-switcher{display:flex;align-items:center;gap:.55rem}.locale-switcher a{color:inherit;font:inherit;font-size:.72rem;font-weight:700;letter-spacing:.06em;text-decoration:none;text-transform:uppercase;opacity:.62}.locale-switcher a[aria-current="page"]{opacity:1;text-decoration:underline;text-underline-offset:.25em}


/* RTL locale safeguards */
[dir="rtl"] body { direction: rtl; text-align: start; }
[dir="rtl"] .desktop-nav,
[dir="rtl"] .header-actions,
[dir="rtl"] .locale-switcher,
[dir="rtl"] .button-row,
[dir="rtl"] .footer-grid,
[dir="rtl"] .site-header,
[dir="rtl"] .site-footer { direction: rtl; }
[dir="rtl"] input,
[dir="rtl"] textarea,
[dir="rtl"] select { text-align: start; }
[dir="rtl"] .mobile-drawer { transform: translateX(-105%); }
[dir="rtl"] .mobile-drawer.is-open { transform: translateX(0); }
[dir="rtl"] .menu nav { inset-inline-end: 0; right: auto; }
[dir="rtl"] .skip,
[dir="rtl"] .skip-link { inset-inline-start: 1rem; }
[dir="rtl"] .editorial-nav-row .header-actions,
[dir="rtl"] .hospitality-nav-row .header-actions { inset-inline-end: var(--gutter); right: auto; }

/* Core team media guard: keeps portrait uploads from stretching card grids. */
.team-grid .team-grid-image{display:block;width:100%;height:clamp(18rem,28vw,28rem);object-fit:cover}
@media(max-width:800px){.team-grid .team-grid-image{height:min(110vw,30rem)}}
/* Let catalog cards follow their own content height. */
.native-card-grid{align-items:start}
.native-card img{max-height:24rem;object-fit:cover}
@media(max-width:800px){.native-card img{max-height:20rem}}

/* Keep catalog search and card titles usable in narrow theme columns. */
.catalog-toolbar--search-only{display:flex;justify-content:flex-end;margin-bottom:2rem}
.catalog-toolbar--search-only label{display:block;width:min(100%,20rem);margin-inline-start:auto}
[data-filter-grid] .native-card{min-width:0}
[data-filter-grid] .native-card h2{font-size:clamp(1.65rem,2.25vw,2.75rem);line-height:1.12;overflow-wrap:anywhere}

.theme-footer-links { display: flex; flex-wrap: wrap; gap: .75rem 1.5rem; padding-block: 1.5rem; }
.theme-footer-links a { overflow-wrap: anywhere; }

/* Event cards follow each theme's own type, colours and spacing. */
.event-section .event-section-heading{align-items:end;gap:2rem}
.event-section .event-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(1rem,2vw,1.5rem)}
.event-section .event-card{display:flex;min-width:0;flex-direction:column;overflow:hidden;background:var(--surface,#fff);border:1px solid var(--line,#0002);border-radius:var(--radius,.35rem);box-shadow:0 16px 40px #0000000d;transition:transform .2s ease,box-shadow .2s ease}
.event-section .event-card:hover{transform:translateY(-3px);box-shadow:0 24px 50px #0000001a}
.event-section .event-card-image{aspect-ratio:16/10;overflow:hidden;background:var(--surface-2,var(--paper,#eee))}
.event-section .event-card-image img{width:100%;height:100%;object-fit:cover}
.event-section .event-card-content{display:flex;flex:1;flex-direction:column;gap:1rem;padding:clamp(1.25rem,2.5vw,2rem)}
.event-section .event-card-meta{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem}
.event-section .event-card-date,.event-section .event-card-category{display:inline-flex;align-items:center;padding:.35rem .65rem;border-radius:999px;font-size:.72rem;line-height:1.25}
.event-section .event-card-date{background:var(--ink,#111);color:#fff}
.event-section .event-card-category{background:var(--surface-2,var(--paper,#eee));color:var(--ink,#111)}
.event-section .event-card h3{font-size:clamp(1.5rem,2vw,2rem);line-height:1.12;overflow-wrap:anywhere}
.event-section .event-card-location{font-size:.85rem}
.event-section .event-card-location span{color:var(--accent);margin-inline-end:.4rem}
.event-section .event-card-link{display:inline-flex;align-items:center;justify-content:space-between;gap:1rem;margin-top:auto;padding-top:1rem;border-top:1px solid var(--line,#0002);color:var(--accent);font-weight:700}
.event-section .event-card-link:hover{text-decoration:underline}
@media(max-width:900px){.event-section .event-list{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:640px){.event-section .event-list{grid-template-columns:1fr}.event-section .event-section-heading{align-items:start}}

/* Image-backed immersive heroes cover the section without changing other variants. */
.theme-services-01 .hero-component.hero-immersive.has-image {
    background: #09111e;
    color: #fff;
    isolation: isolate;
    min-height: clamp(32rem, 75svh, 54rem);
    overflow: hidden;
    padding-block: 0;
    position: relative;
}
.theme-services-01 .hero-component.hero-immersive.has-image .hero-component-grid {
    align-items: center;
    display: flex;
    justify-content: flex-start;
    min-height: inherit;
    padding-block: clamp(4rem, 8vw, 7rem);
    position: static;
    text-align: start;
    z-index: auto;
}
.theme-services-01 .hero-component.hero-immersive.has-image .hero-copy {
    margin-inline: 0;
    max-width: 58rem;
    min-width: 0;
    position: relative;
    width: 100%;
    z-index: 1;
}
.theme-services-01 .hero-component.hero-immersive.has-image figure {
    border: 0;
    border-radius: 0;
    box-shadow: none;
    clip-path: none;
    display: block;
    height: 100%;
    inset: 0;
    margin: 0;
    max-height: none;
    min-height: 0;
    order: 0;
    padding: 0;
    position: absolute;
    transform: none;
    width: 100%;
    z-index: -2;
}
.theme-services-01 .hero-component.hero-immersive.has-image figure img {
    aspect-ratio: auto;
    display: block;
    height: 100%;
    max-height: none;
    object-fit: cover;
    width: 100%;
}
.theme-services-01 .hero-component.hero-immersive.has-image figcaption,
.theme-services-01 .hero-component.hero-immersive.has-image figure::before,
.theme-services-01 .hero-component.hero-immersive.has-image figure::after { display: none; }
.theme-services-01 .hero-component.hero-immersive.has-image::after {
    background: linear-gradient(90deg, rgb(9 17 30 / .86), rgb(9 17 30 / .76) 60%, rgb(9 17 30 / .68));
    content: "";
    inset: 0;
    pointer-events: none;
    position: absolute;
    z-index: -1;
}
.theme-services-01 .hero-component.hero-immersive.has-image .hero-copy :is(h1, .eyebrow, .hero-summary, .text-link, .text-link span) {
    color: #fff;
    -webkit-text-fill-color: currentColor;
}
.theme-services-01 .hero-component.hero-immersive.has-image .hero-copy h1 { background: none; background-clip: border-box; }
.theme-services-01 .hero-component.hero-immersive.has-image .button-row { justify-content: flex-start; }
.theme-services-01 .hero-component.hero-immersive.has-image .button { background: #fff; border-color: #fff; color: #14203a; }
.theme-services-01 .hero-component.hero-immersive.has-image .button:hover { background: #edf2fa; }
.theme-services-01 .hero-component.hero-immersive.has-image :is(.button, .text-link):focus-visible { outline: 2px solid #fff; outline-offset: 4px; }
/* eyivo:faq presentation */
.theme-services-01 .faq-section{background:color-mix(in srgb,var(--accent) 6%,var(--paper))}
.theme-services-01 .faq-layout{display:grid;gap:1.25rem;grid-template-columns:minmax(12rem,.65fr) minmax(0,1.35fr)}
.theme-services-01 .faq-list{border:0;display:grid;gap:.55rem}
.theme-services-01 .faq-list details{background:var(--surface);border-radius:1rem;padding:1rem 1.15rem}
.theme-services-01 .faq-list details:nth-child(even){background:color-mix(in srgb,var(--accent) 14%,var(--surface))}
.theme-services-01 .faq-list summary{cursor:pointer;display:flex;font-weight:700;list-style:none}
.theme-services-01 .faq-list summary::-webkit-details-marker{display:none}
.theme-services-01 .faq-list summary span{color:var(--accent);margin-inline-start:auto}
.theme-services-01 .faq-list details[open] summary span{transform:rotate(45deg)}
.theme-services-01 .faq-list details p{margin:.55rem 0 0}
@media(max-width:720px){.theme-services-01 .faq-layout{grid-template-columns:1fr}}

/* Space under the floating bar, a readable type scale, and a pill for the current item. */
.theme-services-01 .site-header { padding-bottom: 1rem; }
:root .theme-services-01 h1,
.theme-services-01 .hero-component .hero-copy h1,
body .theme-services-01 .hero-component .hero-copy h1 {
    font-size: clamp(2.15rem, 1.2rem + 2.2vw, 3.5rem);
    line-height: 1.08;
    letter-spacing: -.03em;
    overflow-wrap: anywhere;
}
.theme-services-01 .hero-component .hero-copy h1,
body .theme-services-01 .hero-component .hero-copy h1 {
    font-size: clamp(2.6rem, 4vw, 4.5rem);
}
:root .theme-services-01 h2,
:root .theme-services-01 [data-filter-grid] .native-card h2 {
    font-size: clamp(1.45rem, 1.05rem + 1vw, 2.15rem);
    line-height: 1.16;
    letter-spacing: -.02em;
    overflow-wrap: anywhere;
}
:root .theme-services-01 h3,
.theme-services-01 .event-section .event-card h3 {
    font-size: clamp(1.08rem, 1rem + .3vw, 1.3rem);
    line-height: 1.25;
    letter-spacing: -.015em;
    overflow-wrap: anywhere;
}
.theme-services-01 .page-hero.inner-hero { min-height: 0; }
.theme-services-01 .inner-hero .hero-content { min-height: 0; padding-block: clamp(2.25rem, 5vw, 3.75rem); }
.theme-services-01 .desktop-nav { gap: .2rem; }
.theme-services-01 .desktop-nav a {
    border-radius: 999px;
    padding: .5rem .75rem;
}
.theme-services-01 .desktop-nav a::after { content: none; }
.theme-services-01 .desktop-nav a:hover,
.theme-services-01 .desktop-nav a[aria-current="page"] {
    background: color-mix(in srgb, var(--accent) 14%, white);
    color: var(--ink);
}
:root .theme-services-01 .desktop-nav .eyivo-navigation-item.eyivo-navigation-parent {
    border: 0;
    border-radius: 999px;
    background: transparent;
    color: var(--muted);
    padding-inline: .1rem;
}
:root .theme-services-01 .desktop-nav .eyivo-navigation-parent:is(:hover, :focus-within, :has(> details[open]), :has(> a[aria-current])) {
    background: color-mix(in srgb, var(--accent) 14%, white);
    border-color: transparent;
    color: var(--ink);
}
:root .theme-services-01 .desktop-nav .eyivo-navigation-parent > a {
    background: transparent;
    padding-inline: .7rem .15rem;
}
:root .theme-services-01 .desktop-nav .eyivo-navigation-parent > a:hover,
:root .theme-services-01 .desktop-nav .eyivo-navigation-parent > a[aria-current="page"] { background: transparent; }
:root .theme-services-01 .desktop-nav .eyivo-navigation-dropdown > summary {
    border-radius: 999px;
    min-height: 2.15rem;
    min-width: 1.55rem;
    width: 1.55rem;
}
:root .theme-services-01 .desktop-nav .eyivo-navigation-dropdown > summary:hover { background: transparent; }
:root .theme-services-01 .desktop-nav .eyivo-navigation-item .eyivo-navigation-submenu {
    top: calc(100% + .7rem);
    min-width: 13rem;
    padding: .35rem;
    border: 1px solid color-mix(in srgb, var(--accent) 16%, white);
    border-radius: 1.15rem;
    background: #fff;
    box-shadow: 0 16px 40px rgb(65 45 92 / .12);
}
:root .theme-services-01 .desktop-nav .eyivo-navigation-item .eyivo-navigation-submenu > a {
    border-radius: 999px;
    font-weight: 650;
}
:root .theme-services-01 .desktop-nav .eyivo-navigation-item .eyivo-navigation-submenu > a:hover,
:root .theme-services-01 .desktop-nav .eyivo-navigation-item .eyivo-navigation-submenu > a[aria-current="page"] {
    background: var(--accent);
    color: #fff;
}
