*,*::before,*::after{box-sizing:border-box}body,h1,h2,h3,p,figure,blockquote{margin:0}img{display:block;max-width:100%}a{color:inherit;text-decoration:none}:root{--ink:#0c0c0d;--paper:#f7f5f0;--surface:#fff;--muted:#686868;--accent:var(--public-accent,#e64f87);--second:var(--brand-accent,#d9ff43);--line:#0c0c0d2b;--gutter:clamp(1rem,3vw,3rem);--display:Helvetica,Arial,sans-serif}body{background:var(--paper);color:var(--ink);font-family:Arial,sans-serif;line-height:1.5;min-width:320px}.skip{position:absolute;left:-9999px}.shell{width:min(100%,105rem);margin:auto;padding-inline:var(--gutter)}h1,h2,h3{font-family:var(--display);font-weight:900;letter-spacing:-.07em;line-height:.85;text-transform:uppercase}h1{font-size:clamp(4rem,12vw,13rem)}h2{font-size:clamp(3rem,8vw,8rem)}h3{font-size:1.5rem}p{color:var(--muted)}.ticker{display:flex;justify-content:space-between;background:var(--second);padding:.55rem var(--gutter);font-size:.62rem;font-weight:900;letter-spacing:.12em}.site-header{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;padding:1rem var(--gutter);border-bottom:1px solid var(--line);position:sticky;top:0;background:rgb(247 245 240/.93);backdrop-filter:blur(16px);z-index:10}.brand{font-size:1.5rem;font-weight:950;letter-spacing:-.06em;text-transform:uppercase}.desktop-nav{display:flex;gap:1.5rem}.desktop-nav a,.bag{font-size:.65rem;font-weight:900;text-transform:uppercase}.desktop-nav a[aria-current=page]{color:var(--accent)}.bag{text-align:end}.menu{display:none}.section,.hero-component{padding-block:clamp(4rem,8vw,8rem)}.eyebrow{display:inline-block;background:var(--second);color:var(--ink);padding:.35rem .55rem;font-size:.62rem;font-weight:900;letter-spacing:.12em;text-transform:uppercase;margin-bottom:1.2rem}.hero-component{padding-top:0}.hero-component-grid{max-width:none;width:100%;padding:0;display:grid;grid-template-columns:.8fr 1.2fr}.hero-copy{padding:clamp(3rem,7vw,8rem) var(--gutter);display:flex;flex-direction:column;justify-content:center}.hero-component figure{height:calc(100vh - 7rem)}.hero-component figure img{width:100%;height:100%;object-fit:cover}.hero-component figcaption{display:none}.hero-summary{font-size:1.05rem;max-width:34rem;margin-top:1.5rem}.button-row{display:flex;align-items:center;gap:1.2rem;margin-top:2rem}.button{background:var(--ink);color:white;padding:1rem 1.4rem;font-size:.65rem;font-weight:900;text-transform:uppercase}.text-link{font-size:.65rem;font-weight:900;text-transform:uppercase}.section-heading{display:grid;grid-template-columns:1fr 1fr;gap:2rem;align-items:end;margin-bottom:3rem}.image-text-grid,.product-hero-grid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(2rem,6vw,7rem);align-items:center}.image-text figure img{width:100%;aspect-ratio:3/4;object-fit:cover}.service-list article{display:grid;grid-template-columns:4rem 1fr auto;padding:1rem 0;border-top:2px solid var(--ink)}.stats-section{background:var(--second);padding:4rem 0}.stats-grid,.native-card-grid,.testimonial-grid,.team-grid,.credentials-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:.7rem}.stats-grid strong{font-size:4rem;font-weight:950;display:block}.native-card{background:var(--surface)}.native-card img,.editorial-gallery img,.gallery-grid img,.project-grid img{width:100%;aspect-ratio:3/4;object-fit:cover}.native-card>div{padding:1rem}.native-card h3{margin:.4rem 0}.editorial-gallery,.gallery-grid,.project-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:.7rem}.testimonial-grid blockquote,.credentials-grid article{border:2px solid var(--ink);padding:2rem}.lead-form-layout,.contact-layout,.faq-layout,.hours-layout,.contact-actions,.location-grid{display:grid;grid-template-columns:1fr 1fr;gap:4rem}.lead-form{display:grid;gap:1rem;border:2px solid var(--ink);padding:2rem}.lead-form label{display:grid;font-size:.65rem;font-weight:900;text-transform:uppercase}.lead-form input,.lead-form textarea,.catalog-toolbar input{border:0;border-bottom:2px solid var(--ink);background:transparent;padding:.8rem 0}.honeypot{position:absolute;left:-9999px}.faq-list details,.hours-layout dl div{border-bottom:2px solid var(--ink);padding:1rem 0}.cta-section,.contact-actions-section{background:var(--accent);color:white;padding:5rem 0}.cta-section p,.contact-actions-section p{color:#ffe9f2}.site-footer{background:var(--ink);color:white;padding:5rem var(--gutter) 2rem}.site-footer h2{font-size:clamp(4rem,15vw,14rem);overflow:hidden;white-space:nowrap}.site-footer>div{display:grid;grid-template-columns:1fr 1fr 1fr;gap:2rem;border-top:1px solid #ffffff44;padding-top:1.5rem}.site-footer p{color:white}.site-footer nav{display:flex;flex-wrap:wrap;gap:1rem;font-size:.65rem;text-transform:uppercase}@media(max-width:800px){.ticker span:nth-child(n+2),.desktop-nav,.bag{display:none}.site-header{grid-template-columns:1fr auto}.menu{display:block}.menu nav{position:absolute;inset-inline-end:1rem;background:var(--ink);color:white;padding:1.2rem;display:grid;gap:.8rem}.hero-component-grid,.image-text-grid,.product-hero-grid,.section-heading,.lead-form-layout,.contact-layout,.faq-layout,.hours-layout,.contact-actions,.location-grid{grid-template-columns:1fr}.hero-component figure{height:55vh;order:-1}.stats-grid,.native-card-grid,.testimonial-grid,.team-grid,.credentials-grid,.editorial-gallery,.gallery-grid,.project-grid{grid-template-columns:1fr}.site-footer>div{grid-template-columns:1fr}.site-footer h2{white-space:normal}.hero-copy h1{font-size:3.5rem}}

.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)}}
/* Keep uploaded editorial images within their card and gallery frames. */
.native-card-grid{align-items:start}
.native-card img,.project-grid img,.editorial-gallery img,.gallery-grid img{display:block;width:100%;height:clamp(14rem,28vw,30rem);object-fit:cover}
@media(max-width:800px){.native-card img,.project-grid img,.editorial-gallery img,.gallery-grid img{height:clamp(15rem,70vw,26rem)}}

/* 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}}

/* The immersive campaign fills the hero instead of a second grid column. */
.hero-component.hero-immersive.has-image { position:relative; isolation:isolate; overflow:hidden; padding:0; min-height:clamp(36rem,86svh,64rem); background:#0c0c0d; color:#fff; }
.hero-component.hero-immersive.has-image .hero-component-grid { display:flex; position:static; min-height:inherit; align-items:flex-end; }
.hero-component.hero-immersive.has-image .hero-copy { position:relative; z-index:1; min-width:0; width:100%; max-width:78rem; padding-block:clamp(4rem,7vw,8rem); }
.hero-component.hero-immersive.has-image figure { position:absolute; inset:0; z-index:-2; display:block; order:0; width:100%; height:100%; margin:0; }
.hero-component.hero-immersive.has-image figure img { width:100%; height:100%; object-fit:cover; }
.hero-component.hero-immersive.has-image figcaption { display:none; }
.hero-component.hero-immersive.has-image::after { content:""; position:absolute; inset:0; z-index:-1; pointer-events:none; background:linear-gradient(90deg,rgb(12 12 13 / .86),rgb(12 12 13 / .76) 65%,rgb(12 12 13 / .64)); }
.hero-component.hero-immersive.has-image :is(h1,.eyebrow,.hero-summary,.text-link) { color:#fff; }
.hero-component.hero-immersive.has-image h1 { max-width:13ch; overflow-wrap:anywhere; }
.hero-component.hero-immersive.has-image .button-row { flex-wrap:wrap; }
.hero-component.hero-immersive.has-image .button { background:#d9ff43; color:#0c0c0d; }
.hero-component.hero-immersive.has-image :is(.button,.text-link):focus-visible { outline:3px solid #d9ff43; outline-offset:5px; }
/* eyivo:faq presentation */
.theme-fashion .faq-layout{display:grid;gap:2rem;grid-template-columns:minmax(10rem,.4fr) minmax(0,1.6fr)}
.theme-fashion .faq-layout h2{font-weight:400;letter-spacing:.18em;text-transform:uppercase}
.theme-fashion .faq-list{border-top:1px solid var(--ink)}
.theme-fashion .faq-list details{border-bottom:1px solid var(--ink);padding:1.4rem 0}
.theme-fashion .faq-list summary{cursor:pointer;display:flex;font-size:clamp(1.1rem,2vw,1.45rem);font-weight:400;letter-spacing:.16em;list-style:none;text-transform:uppercase}
.theme-fashion .faq-list summary::-webkit-details-marker{display:none}
.theme-fashion .faq-list summary span{border:1px solid var(--ink);font-size:.7rem;height:1.6rem;line-height:1.5rem;margin-inline-start:auto;text-align:center;width:1.6rem}
.theme-fashion .faq-list details[open] summary span{background:var(--ink);color:var(--paper);transform:rotate(45deg)}
.theme-fashion .faq-list details p{letter-spacing:.02em;margin:0;max-width:36rem;padding-top:.9rem;text-transform:none}
@media(max-width:720px){.theme-fashion .faq-layout{grid-template-columns:1fr}}

.theme-fashion .section { padding-block: clamp(1.75rem, 3vw, 3rem); }
.theme-fashion h1 { font-size: clamp(2.35rem, 3vw, 3.8rem); line-height: 1.15; overflow-wrap: anywhere; }
.theme-fashion .hero-component.hero-immersive.has-image h1 { font-size: clamp(2.7rem, 4.5vw, 5.1rem); max-width: 16ch; }
.theme-fashion h2,
.theme-fashion [data-filter-grid] .native-card h2,
.theme-fashion .faq-layout h2 { font-size: clamp(1.55rem, 1.15rem + .9vw, 2.65rem); line-height: 1.15; overflow-wrap: anywhere; }
.theme-fashion .site-footer h2 { font-size: clamp(1.75rem, 2.4vw, 2.6rem); line-height: 1.1; max-width: 18ch; white-space: normal; }
.theme-fashion h3,
.theme-fashion .event-section .event-card h3 { font-size: clamp(1.08rem, 1rem + .25vw, 1.4rem); line-height: 1.25; overflow-wrap: anywhere; }
.theme-fashion p { line-height: 1.7; }
.theme-fashion .page-hero.inner-hero { position: relative; overflow: hidden; min-height: 0; }
.theme-fashion .page-hero .hero-backdrop { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.theme-fashion .page-hero .hero-shade { display: none; }
.theme-fashion .page-hero.has-image .hero-shade { display: block; position: absolute; inset: 0; background: linear-gradient(90deg, rgb(12 12 13 / .84), rgb(12 12 13 / .58) 55%, rgb(12 12 13 / .28)); }
.theme-fashion .page-hero .hero-content { position: relative; z-index: 1; display: flex; flex-direction: column; align-items: flex-start; justify-content: flex-end; gap: .75rem; min-height: 0; padding-block: clamp(2.25rem, 5vw, 3.5rem); }
.theme-fashion .page-hero .breadcrumbs { margin: 0; padding: 0; }
.theme-fashion .page-hero.has-image .hero-content,
.theme-fashion .page-hero.has-image .hero-content :is(h1, .breadcrumbs, .breadcrumbs a, .breadcrumbs span) { color: #fff; }
:root .theme-fashion .desktop-nav .eyivo-navigation-item.eyivo-navigation-parent > a { padding-inline-start: .9rem; }
.theme-fashion .image-text figure { width: 100%; overflow: hidden; }
.theme-fashion .image-text figure img {
    width: 100%;
    height: clamp(16rem, 42vw, 28rem);
    max-height: 28rem;
    aspect-ratio: auto;
    object-fit: cover;
    object-position: center;
}
.theme-fashion .hero-component.hero-immersive.has-image .hero-copy { align-items: flex-start; }
.theme-fashion .hero-component.hero-immersive.has-image .eyebrow { color: var(--ink); align-self: flex-start; }
.theme-fashion .cta-section .shell { display: grid; justify-items: start; gap: 1rem; }
.theme-fashion .cta-section .shell > div { display: grid; gap: .85rem; }
.theme-fashion .cta-section .eyebrow { color: var(--ink); }
.theme-fashion .cta-section h2,
.theme-fashion .cta-section p { color: #fff; }
.theme-fashion .cta-section .button { display: inline-flex; align-items: center; background: var(--ink); color: #fff; }
.theme-fashion .feature-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1.25rem; }
.theme-fashion .feature-grid article { display: grid; align-content: start; gap: .75rem; min-width: 0; padding: 1.15rem 1.15rem 1.4rem; border-top: 2px solid var(--ink); background: var(--surface); }
.theme-fashion .feature-grid .card-number { color: var(--muted); font-size: .68rem; font-weight: 900; letter-spacing: .14em; line-height: 1; }
.theme-fashion .feature-grid .feature-icon { justify-self: start; width: max-content; max-width: 100%; background: var(--second); color: var(--ink); padding: .32rem .5rem; font-size: .62rem; font-weight: 900; letter-spacing: .12em; line-height: 1.2; text-transform: uppercase; }
.theme-fashion .feature-grid h3 { margin: .2rem 0 0; }
.theme-fashion .feature-grid p { margin: 0; }
.theme-fashion .feature-grid .text-link { margin-top: .25rem; }
@media (max-width: 800px) { .theme-fashion .feature-grid { grid-template-columns: 1fr; } }
.theme-fashion .prose-layout { display: grid; grid-template-columns: minmax(9rem, .32fr) minmax(0, 1fr); gap: clamp(1.25rem, 3vw, 3.5rem); align-items: start; padding-top: 1.15rem; border-top: 2px solid var(--ink); }
.theme-fashion .prose-index { display: grid; justify-items: start; align-content: start; gap: .75rem; color: var(--ink); font-size: .62rem; font-weight: 900; letter-spacing: .14em; line-height: 1.2; text-transform: uppercase; }
.theme-fashion .prose-index span { background: var(--second); color: var(--ink); padding: .35rem .5rem; }
.theme-fashion .prose-index i { display: block; width: 2.75rem; height: 2px; background: var(--ink); }
.theme-fashion .prose { display: grid; gap: .9rem; max-width: 44rem; min-width: 0; }
.theme-fashion .prose h2 { margin: 0; }
.theme-fashion .prose p { margin: 0; color: var(--ink); font-size: 1.05rem; white-space: pre-line; }
@media (max-width: 800px) { .theme-fashion .prose-layout { grid-template-columns: 1fr; } }
.theme-fashion .product-hero { padding-block: clamp(1.5rem, 3vw, 2.75rem); }
.theme-fashion .product-hero-grid { align-items: center; grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr); }
.theme-fashion .product-hero figure { width: 100%; margin: 0; overflow: hidden; }
.theme-fashion .product-hero figure img { width: 100%; height: clamp(18rem, 48vw, 34rem); max-height: 34rem; object-fit: cover; object-position: center; }
.theme-fashion .product-hero .breadcrumbs { margin: 0 0 .8rem; }
.theme-fashion .product-hero h1 { margin: .35rem 0 .8rem; }
.theme-fashion .product-hero .button { display: inline-flex; align-items: center; margin-top: 1rem; }
@media (max-width: 800px) {
    .theme-fashion .product-hero-grid { grid-template-columns: 1fr; }
    .theme-fashion .product-hero figure { order: -1; }
}
