*,*::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:#28221d;--paper:#f2eee6;--surface:#faf8f2;--muted:#746c63;--accent:var(--public-accent,#775844);--second:var(--brand-accent,#b8a27a);--line:#28221d28;--gutter:clamp(1.2rem,5vw,5.5rem);--display:Georgia,serif}body{background:var(--paper);color:var(--ink);font-family:Arial,sans-serif;line-height:1.65;min-width:320px}.skip{position:absolute;left:-9999px}.shell{width:min(100%,96rem);margin:auto;padding-inline:var(--gutter)}h1,h2,h3{font-family:var(--display);font-weight:400;letter-spacing:-.055em;line-height:1}h1{font-size:clamp(3.8rem,9vw,9.5rem)}h2{font-size:clamp(2.5rem,6vw,6rem)}h3{font-size:1.6rem}p{color:var(--muted)}.site-header{position:relative;border-bottom:1px solid var(--line)}.brand-row{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;padding:2rem var(--gutter)}.brand-row>span{font-size:.62rem;letter-spacing:.13em;text-transform:uppercase}.brand-row>span:last-child{text-align:end}.brand{font:400 clamp(1.7rem,3vw,2.8rem) var(--display)}.nav-row{display:flex;justify-content:center;align-items:center;min-height:3.6rem;border-top:1px solid var(--line);position:relative}.desktop-nav{display:flex;gap:2rem}.desktop-nav a{font-size:.7rem;text-transform:uppercase;letter-spacing:.1em}.desktop-nav a[aria-current=page]{border-bottom:1px solid}.header-cta{position:absolute;inset-inline-end:var(--gutter);font-size:.7rem;text-transform:uppercase}.menu{display:none}.section,.hero-component{padding-block:clamp(2.25rem,4.5vw,4rem)}.eyebrow{font-size:.63rem;letter-spacing:.18em;text-transform:uppercase;color:var(--accent);margin-bottom:1rem}.hero-component-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:clamp(3rem,9vw,10rem);align-items:center}.hero-component figure{order:-1}.hero-component figure img{height:min(74vh,54rem);width:100%;object-fit:cover}.hero-copy h1{font-style:italic}.hero-summary{font-size:1.15rem;margin-top:1.5rem;max-width:34rem}.button-row{display:flex;gap:1.5rem;margin-top:2rem;align-items:center}.button{display:inline-flex;background:var(--ink);color:var(--paper);padding:1rem 1.4rem;font-size:.68rem;text-transform:uppercase;letter-spacing:.08em}.text-link{font-size:.68rem;text-transform:uppercase}.section-heading{display:flex;justify-content:space-between;align-items:end;gap:3rem;margin-bottom:3.5rem}.section-heading>div{max-width:50rem}.section-heading>p{max-width:30rem}.image-text-grid,.product-hero-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:clamp(3rem,9vw,9rem);align-items:center}.image-text figure img{aspect-ratio:4/5;object-fit:cover;width:100%}.image-text-copy h2{margin-bottom:1.5rem}.service-list article{display:grid;grid-template-columns:4rem 1fr auto;padding:1.4rem 0;border-top:1px solid var(--line)}.stats-section{padding:5rem 0;border-block:1px solid var(--line)}.stats-grid,.native-card-grid,.testimonial-grid,.team-grid,.credentials-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.2rem}.stats-grid strong{font:400 3rem var(--display);display:block}.native-card img,.project-grid img,.editorial-gallery img,.gallery-grid img{width:100%;aspect-ratio:4/5;object-fit:cover}.native-card:nth-child(2){margin-top:5rem}.native-card>div{padding-top:1rem}.native-card h3{margin:.4rem 0}.editorial-gallery,.gallery-grid,.project-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1.5rem}.editorial-gallery figure:nth-child(3n),.gallery-grid figure:nth-child(3n),.project-grid>a:nth-child(3n){grid-column:1/-1}.testimonial-grid blockquote,.credentials-grid article{border:1px solid var(--line);padding:2rem;background:var(--surface)}.testimonial-grid footer{margin-top:2rem}.lead-form-layout,.contact-layout,.faq-layout,.hours-layout,.location-grid,.contact-actions{display:grid;grid-template-columns:.7fr 1.3fr;gap:clamp(3rem,8vw,8rem)}.lead-form{display:grid;gap:1rem;padding:2rem;background:var(--surface)}.lead-form label{display:grid;font-size:.7rem;text-transform:uppercase}.lead-form input,.lead-form textarea,.catalog-toolbar input{padding:.8rem 0;border:0;border-bottom:1px solid var(--line);background:transparent}.honeypot{position:absolute;left:-9999px}.faq-list details,.hours-layout dl div{padding:1rem 0;border-bottom:1px solid var(--line)}.cta-section,.contact-actions-section{padding:5rem 0;background:var(--accent);color:white}.cta-section p,.contact-actions-section p{color:#eee1d5}.site-footer{padding:8rem var(--gutter) 2rem;background:#28221d;color:#f2eee6}.footer-mark{font:italic 3rem var(--display);color:var(--second)}.site-footer h2{font-size:clamp(3rem,8vw,8rem);max-width:14ch;margin:2rem 0 5rem}.site-footer>div{display:flex;justify-content:space-between;border-top:1px solid #ffffff2b;padding-top:1rem;color:#c7beb4}@media(max-width:800px){.brand-row{grid-template-columns:1fr auto}.brand-row>span{display:none}.desktop-nav,.header-cta{display:none}.menu{display:block}.menu nav{position:absolute;inset-inline-end:1rem;background:var(--ink);color:white;padding:1rem;display:grid;z-index:5}.hero-component-grid,.image-text-grid,.product-hero-grid,.lead-form-layout,.contact-layout,.faq-layout,.hours-layout,.location-grid,.contact-actions{grid-template-columns:1fr}.stats-grid,.native-card-grid,.testimonial-grid,.team-grid,.credentials-grid,.editorial-gallery,.gallery-grid,.project-grid{grid-template-columns:1fr}.native-card:nth-child(2){margin-top:0}.editorial-gallery figure:nth-child(n),.gallery-grid figure:nth-child(n),.project-grid>a:nth-child(n){grid-column:auto}.section-heading,.site-footer>div{align-items:flex-start;flex-direction:column}.hero-component figure{order:0}.nav-row{justify-content:flex-end;padding:1rem var(--gutter)}}

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

/* An uninterrupted furniture photograph supports the editorial type. */
.hero-component.hero-immersive.has-image { position:relative; isolation:isolate; overflow:hidden; padding:0; min-height:clamp(26rem,62svh,42rem); background:#28221d; color:#fff; }
.hero-component.hero-immersive.has-image .hero-component-grid { display:flex; position:static; min-height:inherit; align-items:flex-end; 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:58rem; }
.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(33 25 19 / .86),rgb(33 25 19 / .76) 60%,rgb(33 25 19 / .65)); }
.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:#f2eee6; color:#28221d; }
.hero-component.hero-immersive.has-image :is(.button,.text-link):focus-visible { outline:2px solid #fff; outline-offset:5px; }
/* eyivo:faq presentation */
.theme-furniture .faq-layout{display:grid;gap:clamp(2rem,5vw,4rem);grid-template-columns:minmax(14rem,.8fr) minmax(0,1.2fr)}
.theme-furniture .faq-layout h2{font-family:var(--display);font-weight:400}
.theme-furniture .faq-list{border:0;display:grid;gap:1rem}
.theme-furniture .faq-list details{background:var(--surface);border-radius:1.75rem;box-shadow:0 18px 40px rgb(40 32 24 / .08);padding:1.25rem 1.4rem}
.theme-furniture .faq-list summary{cursor:pointer;display:flex;font-family:var(--display);font-size:1.35rem;font-weight:400;list-style:none}
.theme-furniture .faq-list summary::-webkit-details-marker{display:none}
.theme-furniture .faq-list summary span{color:var(--accent);margin-inline-start:auto}
.theme-furniture .faq-list details[open] summary span{transform:rotate(45deg)}
.theme-furniture .faq-list details p{margin:.7rem 0 0;max-width:36rem}
@media(max-width:720px){.theme-furniture .faq-layout{grid-template-columns:1fr}}

.theme-furniture h1 { font-size: clamp(2.35rem, 3vw, 3.8rem); line-height: 1.08; overflow-wrap: anywhere; }
.theme-furniture .hero-component.hero-immersive.has-image h1 { font-size: clamp(2.7rem, 4.5vw, 5.1rem); }
.theme-furniture h2,
.theme-furniture [data-filter-grid] .native-card h2,
.theme-furniture .faq-layout h2 { font-size: clamp(1.55rem, 1.15rem + .9vw, 2.65rem); line-height: 1.15; overflow-wrap: anywhere; }
.theme-furniture .site-footer h2 { font-size: clamp(2rem, 4vw, 3.6rem); max-width: 16ch; margin-bottom: 1.25rem; }
.theme-furniture h3,
.theme-furniture .event-section .event-card h3 { font-size: clamp(1.08rem, 1rem + .25vw, 1.4rem); line-height: 1.25; overflow-wrap: anywhere; }
.theme-furniture .footer-description { color: #c7beb4; max-width: 42rem; margin: 0 0 3rem; }
.theme-furniture .page-hero.inner-hero { position: relative; overflow: hidden; min-height: 0; }
.theme-furniture .page-hero .hero-backdrop { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.theme-furniture .page-hero .hero-shade { display: none; }
.theme-furniture .page-hero.has-image .hero-shade { display: block; position: absolute; inset: 0; background: linear-gradient(90deg, rgb(40 34 29 / .84), rgb(40 34 29 / .58) 55%, rgb(40 34 29 / .28)); }
.theme-furniture .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-furniture .page-hero .breadcrumbs { margin: 0; padding: 0; }
.theme-furniture .page-hero.has-image .hero-content,
.theme-furniture .page-hero.has-image .hero-content :is(h1, .eyebrow, .breadcrumbs, .breadcrumbs a, .breadcrumbs span) { color: #fff; }
:root .theme-furniture .desktop-nav .eyivo-navigation-parent > a { padding-inline-start: .7rem; }
.theme-furniture .image-text figure { width: 100%; overflow: hidden; }
.theme-furniture .image-text figure img {
    width: 100%;
    height: clamp(16rem, 42vw, 28rem);
    max-height: 28rem;
    aspect-ratio: auto;
    object-fit: cover;
    object-position: center;
}
