*,*::before,*::after{box-sizing:border-box}html{scroll-behavior:smooth}body,h1,h2,h3,p,figure,blockquote{margin:0}img,video{display:block;max-width:100%;height:auto}a{color:inherit;text-decoration:none}button,input,textarea{font:inherit}:root{--ink:#17201e;--paper:#ece9df;--surface:#f8f5eb;--muted:#62706a;--accent:var(--public-accent,#df5b35);--second:var(--brand-accent,#d6b76c);--line:rgb(23 32 30/.18);--gutter:clamp(1.2rem,4vw,4.5rem);--display:"Arial Narrow",Impact,sans-serif}body{background:var(--paper);color:var(--ink);font-family:Arial,sans-serif;line-height:1.55;min-width:320px}.skip{position:fixed;top:-5rem;inset-inline-start:1rem;background:var(--ink);color:white;padding:.7rem;z-index:20}.skip:focus{top:1rem}.shell{width:min(100%,92rem);margin:auto;padding-inline:var(--gutter)}h1,h2,h3{font-family:var(--display);font-weight:800;letter-spacing:-.045em;line-height:.94;text-transform:uppercase}h1{font-size:clamp(3.6rem,9vw,9rem)}h2{font-size:clamp(2.5rem,6vw,6rem)}h3{font-size:clamp(1.35rem,2.3vw,2.3rem)}p{color:var(--muted)}.topline{display:flex;justify-content:space-between;padding:.5rem var(--gutter);background:var(--ink);color:white;font-size:.65rem;letter-spacing:.14em}.topline p{color:#ccd4cf}.site-header{display:grid;grid-template-columns:1fr auto auto;align-items:center;gap:2rem;padding:0 var(--gutter);min-height:5.4rem;border-bottom:1px solid var(--line);position:sticky;top:0;background:rgb(236 233 223/.94);backdrop-filter:blur(14px);z-index:10}.brand{display:flex;gap:.7rem;align-items:center;font-family:var(--display);font-size:1.2rem;font-weight:800}.brand b{background:var(--accent);color:white;padding:.65rem}.desktop-nav{display:flex;gap:1.5rem}.desktop-nav a{font-size:.67rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.desktop-nav a[aria-current=page]{color:var(--accent)}.header-cta,.button{background:var(--accent);color:white;padding:.9rem 1.25rem;font-size:.72rem;font-weight:800;text-transform:uppercase}.menu{display:none}.section,.hero-component{padding-block:clamp(4.5rem,9vw,9rem)}.eyebrow{color:var(--accent);font-size:.68rem;font-weight:900;letter-spacing:.16em;text-transform:uppercase;margin-bottom:1rem}.hero-component-grid,.image-text-grid,.product-hero-grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:clamp(2rem,7vw,8rem);align-items:center}.hero-component figure,.image-text figure,.product-hero figure{overflow:hidden;clip-path:polygon(0 0,100% 0,100% 92%,8% 100%)}.hero-component figure img,.image-text figure img{width:100%;height:min(68vh,46rem);object-fit:cover}.hero-summary{font-size:clamp(1rem,1.6vw,1.3rem);max-width:39rem;margin-top:1.5rem}.button-row{display:flex;gap:1.2rem;align-items:center;margin-top:2rem}.text-link{font-size:.72rem;font-weight:800;text-transform:uppercase}.section-heading{display:grid;grid-template-columns:1.2fr .8fr;gap:3rem;align-items:end;margin-bottom:3rem}.service-list{border-top:3px solid var(--ink)}.service-list article{display:grid;grid-template-columns:5rem 1fr auto;gap:2rem;padding:1.6rem 0;border-bottom:1px solid var(--line)}.service-list article>span{color:var(--accent);font-weight:900}.stats-section{padding-block:5rem;background:var(--ink);color:white}.stats-section p{color:#aebbb5}.stats-grid,.testimonial-grid,.native-card-grid,.feature-grid,.credentials-grid,.team-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem}.stats-grid article{border-inline-start:1px solid #ffffff35;padding:1.2rem}.stats-grid strong{display:block;font-family:var(--display);font-size:3rem}.image-text-copy h2{margin-bottom:1.5rem}.project-grid,.editorial-gallery,.gallery-grid{display:grid;grid-template-columns:repeat(12,1fr);gap:1rem}.project-grid>a,.editorial-gallery>figure,.gallery-grid>figure{grid-column:span 4}.project-grid img,.editorial-gallery img,.gallery-grid img,.native-card img{width:100%;aspect-ratio:4/3;object-fit:cover}.project-grid h3,.native-card h3{margin:.7rem 0}.native-card>div,.project-grid>a>div{padding:1rem 0}.testimonial-grid blockquote,.credentials-grid article{background:var(--surface);padding:2rem;min-height:14rem}.testimonial-grid footer{margin-top:2rem}.lead-form-layout,.contact-layout,.faq-layout,.hours-layout,.contact-actions,.location-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:clamp(2rem,7vw,7rem)}.lead-form{display:grid;gap:1rem;background:var(--surface);padding:2rem}.lead-form label{display:grid;gap:.4rem;font-size:.7rem;text-transform:uppercase}.lead-form input,.lead-form textarea,.catalog-toolbar input{border:0;border-bottom:1px solid var(--line);background:transparent;padding:.8rem 0}.honeypot{position:absolute;left:-9999px}.faq-list details,.hours-layout dl div{border-bottom:1px solid var(--line);padding:1rem 0}.contact-actions-section,.cta-section{background:var(--accent);color:white;padding-block:4rem}.contact-actions-section p,.cta-section p{color:#fffbd9}.site-footer{padding:clamp(4rem,9vw,8rem) var(--gutter) 2rem;background:var(--ink);color:white;display:grid;grid-template-columns:1.5fr .5fr;gap:4rem}.site-footer p,.site-footer small{color:#a9b5af}.site-footer h2{max-width:12ch;margin-top:1rem}.site-footer>div:nth-child(2){display:flex;flex-direction:column;gap:.5rem}.site-footer small{grid-column:1/-1;border-top:1px solid #ffffff30;padding-top:1rem}@media(max-width:850px){.desktop-nav,.header-cta{display:none}.menu{display:block;position:relative}.menu summary{cursor:pointer}.menu nav{position:absolute;inset-inline-end:0;top:2rem;background:var(--ink);color:white;padding:1.5rem;display:grid;gap:1rem;min-width:14rem}.hero-component-grid,.image-text-grid,.product-hero-grid,.section-heading,.lead-form-layout,.contact-layout,.faq-layout,.hours-layout,.contact-actions,.location-grid,.site-footer{grid-template-columns:1fr}.stats-grid,.testimonial-grid,.native-card-grid,.feature-grid,.credentials-grid,.team-grid{grid-template-columns:1fr}.project-grid>a,.editorial-gallery>figure,.gallery-grid>figure{grid-column:1/-1}.site-header{grid-template-columns:1fr auto}.site-footer small{grid-column:auto}.topline span{display:none}}

.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}}

/* Immersive keeps the workshop photograph behind the full hero. */
.hero-component.hero-immersive.has-image { position:relative; isolation:isolate; overflow:hidden; padding:0; min-height:clamp(26rem,62svh,42rem); background:#17201e; color:#fff; }
.hero-component.hero-immersive.has-image .hero-component-grid { display:flex; position:static; min-height:inherit; align-items:center; padding-block:clamp(3rem,6vw,5rem); }
.hero-component.hero-immersive.has-image .hero-copy { position:relative; z-index:1; min-width:0; width:100%; max-width:62rem; }
.hero-component.hero-immersive.has-image figure { position:absolute; inset:0; z-index:-2; display:block; width:100%; height:100%; margin:0; clip-path:none; overflow:hidden; }
.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(16 27 23 / .9),rgb(16 27 23 / .78) 60%,rgb(16 27 23 / .66)); }
.hero-component.hero-immersive.has-image :is(h1,.eyebrow,.hero-summary,.text-link) { color:#fff; }
.hero-component.hero-immersive.has-image h1 { max-width:20ch; overflow-wrap:anywhere; }
.hero-component.hero-immersive.has-image .button-row { flex-wrap:wrap; }
.hero-component.hero-immersive.has-image .button { background:#d6b76c; color:#17201e; }
.hero-component.hero-immersive.has-image :is(.button,.text-link):focus-visible { outline:3px solid #fff; outline-offset:5px; }
/* eyivo:faq presentation */
.theme-build .faq-section{background:color-mix(in srgb,var(--ink) 6%,var(--paper))}
.theme-build .faq-layout{display:grid;gap:1.25rem;grid-template-columns:1fr}
.theme-build .faq-layout>div:first-child{border-bottom:4px solid var(--ink);padding-bottom:.8rem}
.theme-build .faq-layout h2{text-transform:uppercase}
.theme-build .faq-list{border:0;counter-reset:build-faq;display:grid;gap:.7rem}
.theme-build .faq-list details{background:var(--surface);border:3px solid var(--ink);border-radius:0;padding:0}
.theme-build .faq-list summary{align-items:center;cursor:pointer;display:flex;font-weight:800;gap:.8rem;list-style:none;padding:.9rem 1rem;text-transform:uppercase}
.theme-build .faq-list summary::-webkit-details-marker{display:none}
.theme-build .faq-list summary::before{border:2px solid var(--ink);content:counter(build-faq,decimal-leading-zero);counter-increment:build-faq;font-size:.75rem;padding:.15rem .4rem}
.theme-build .faq-list summary span{background:var(--accent);color:var(--ink);margin-inline-start:auto;padding:0 .45rem}
.theme-build .faq-list details[open]{background:var(--accent)}
.theme-build .faq-list details[open] summary span{transform:rotate(45deg)}
.theme-build .faq-list details p{margin:0;padding:0 1rem 1rem 1rem}
@media(max-width:720px){.theme-build .faq-layout{grid-template-columns:1fr}}

:root .theme-build .desktop-nav .eyivo-navigation-item.eyivo-navigation-parent {
    align-self: center;
    gap: .15rem;
    border: 0;
    border-radius: 0;
    background: transparent;
    color: inherit;
}
:root .theme-build .desktop-nav .eyivo-navigation-parent:is(:hover, :focus-within, :has(> details[open]), :has(> a[aria-current])) {
    background: transparent;
    border-color: transparent;
    color: var(--accent);
}
:root .theme-build .desktop-nav .eyivo-navigation-parent > a,
:root .theme-build .desktop-nav .eyivo-navigation-parent > a:hover,
:root .theme-build .desktop-nav .eyivo-navigation-parent > a[aria-current="page"] {
    background: transparent;
    color: inherit;
    padding: 0;
    font-size: .67rem;
    font-weight: 800;
    letter-spacing: .08em;
    text-transform: uppercase;
}
:root .theme-build .desktop-nav .eyivo-navigation-dropdown > summary { border-radius: 0; background: transparent; color: inherit; min-height: 0; width: 1.4rem; min-width: 1.4rem; padding: 0; }
:root .theme-build .desktop-nav .eyivo-navigation-dropdown > summary:hover { background: transparent; }
:root .theme-build .desktop-nav .eyivo-navigation-item .eyivo-navigation-submenu {
    top: calc(100% + .7rem);
    padding: .4rem;
    border: 1px solid var(--line);
    border-radius: 1rem;
    background: var(--paper);
    color: var(--ink);
    box-shadow: 0 16px 36px rgb(23 32 30 / .12);
}
:root .theme-build .desktop-nav .eyivo-navigation-item .eyivo-navigation-submenu > a {
    border-radius: .7rem;
    color: var(--ink);
    font-size: .67rem;
    font-weight: 800;
    letter-spacing: .08em;
    text-transform: uppercase;
}
:root .theme-build .desktop-nav .eyivo-navigation-item .eyivo-navigation-submenu > a:hover,
:root .theme-build .desktop-nav .eyivo-navigation-item .eyivo-navigation-submenu > a[aria-current="page"] {
    background: color-mix(in srgb, var(--accent) 14%, var(--paper));
    color: var(--accent);
}
.theme-build h1 { font-size: clamp(2.35rem, 3vw, 3.8rem); line-height: 1.05; overflow-wrap: anywhere; }
.theme-build .hero-component.hero-immersive.has-image h1 { font-size: clamp(2.7rem, 4.5vw, 5.1rem); }
.theme-build h2,
.theme-build [data-filter-grid] .native-card h2,
.theme-build .faq-layout h2 { font-size: clamp(1.55rem, 1.15rem + .9vw, 2.65rem); line-height: 1.1; overflow-wrap: anywhere; }
.theme-build .site-footer h2 { font-size: clamp(1.7rem, 2.6vw, 2.6rem); max-width: 16ch; }
.theme-build h3,
.theme-build .event-section .event-card h3 { font-size: clamp(1.08rem, 1rem + .25vw, 1.4rem); line-height: 1.2; overflow-wrap: anywhere; }
.theme-build .page-hero.inner-hero { position: relative; overflow: hidden; min-height: 0; }
.theme-build .page-hero .hero-backdrop { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.theme-build .page-hero .hero-shade { display: none; }
.theme-build .page-hero.has-image .hero-shade {
    display: block;
    position: absolute;
    inset: 0;
    background: linear-gradient(90deg, rgb(23 32 30 / .84), rgb(23 32 30 / .58) 55%, rgb(23 32 30 / .28));
}
.theme-build .page-hero .hero-content { position: relative; z-index: 1; display: flex; flex-direction: column; justify-content: flex-end; gap: .75rem; min-height: 0; padding-block: clamp(2.25rem, 5vw, 3.5rem); }
.theme-build .page-hero .breadcrumbs { margin: 0; padding: 0; }
.theme-build .page-hero.has-image .hero-content,
.theme-build .page-hero.has-image .hero-content :is(h1, .eyebrow, .breadcrumbs, .breadcrumbs a, .breadcrumbs span) { color: #fff; }
.theme-build .cta-section .shell { display: grid; justify-items: start; gap: .9rem; }
.theme-build .cta-section .shell > div { display: grid; gap: .75rem; }
.theme-build .cta-section .button { display: inline-flex; align-items: center; background: var(--ink); color: #fff; }
