*,*::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:#342a22;--paper:#eee7da;--surface:#f8f2e7;--muted:#776d63;--accent:var(--public-accent,#765c3d);--second:var(--brand-accent,#c8a96b);--line:#342a2228;--gutter:clamp(1.2rem,5vw,5rem);--display:Didot,"Times New Roman",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%,94rem);margin:auto;padding-inline:var(--gutter)}h1,h2,h3{font:400 1rem var(--display);letter-spacing:-.045em;line-height:.98}h1{font-size:clamp(4rem,10vw,10rem);font-style:italic}h2{font-size:clamp(2.8rem,6vw,6rem)}h3{font-size:1.8rem}p{color:var(--muted)}.site-header{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;padding:1.3rem var(--gutter);border-bottom:1px solid var(--line);position:relative}.place{font-size:.58rem;letter-spacing:.14em}.brand{font:400 2rem var(--display)}.header-cta{justify-self:end;border-bottom:1px solid;font-size:.65rem;text-transform:uppercase}.desktop-nav{grid-column:1/-1;display:flex;justify-content:center;gap:2rem;padding-top:1.2rem;padding-bottom:1.2rem;margin-top:1.2rem;border-top:1px solid var(--line)}.desktop-nav a{font-size:.66rem;text-transform:uppercase;letter-spacing:.1em}.menu{display:none}.section,.hero-component{padding-block:clamp(5rem,10vw,10rem)}.eyebrow{color:var(--accent);font-size:.63rem;letter-spacing:.18em;text-transform:uppercase;margin-bottom:1rem}.hero-component{padding:0;position:relative}.hero-component-grid{min-height:82vh;max-width:none;width:100%;padding:0;display:flex;align-items:flex-end}.hero-copy{position:relative;z-index:2;padding:clamp(3rem,8vw,8rem) var(--gutter);color:white;max-width:70rem}.hero-summary{color:#ffffffc9;font-size:1.2rem;max-width:37rem;margin-top:1.5rem}.hero-component figure{position:absolute;inset:0}.hero-component figure::after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,#21170fd9,transparent 70%)}.hero-component figure img{width:100%;height:100%;object-fit:cover}.button-row{display:flex;gap:1.4rem;margin-top:2rem;align-items:center}.button{background:var(--second);color:var(--ink);padding:1rem 1.4rem;font-size:.68rem;text-transform:uppercase}.text-link{font-size:.68rem;text-transform:uppercase}.section-heading{display:flex;align-items:end;justify-content:space-between;gap:3rem;margin-bottom:3.5rem}.section-heading>p{max-width:28rem}.image-text-grid,.product-hero-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:clamp(3rem,9vw,9rem);align-items:center}.image-text figure img{width:100%;aspect-ratio:4/5;object-fit:cover}.service-list article{display:grid;grid-template-columns:4rem 1fr auto;border-top:1px solid var(--line);padding:1.4rem 0}.stats-section{padding:5rem 0;background:var(--accent);color:white}.stats-grid,.native-card-grid,.testimonial-grid,.team-grid,.credentials-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem}.stats-grid strong{display:block;font:400 3.5rem var(--display)}.native-card img,.editorial-gallery img,.gallery-grid img,.project-grid img{width:100%;aspect-ratio:4/5;object-fit:cover}.native-card>div{padding-top:1rem}.editorial-gallery,.gallery-grid,.project-grid{display:grid;grid-template-columns:repeat(12,1fr);gap:1rem}.editorial-gallery>figure,.gallery-grid>figure,.project-grid>a{grid-column:span 4}.editorial-gallery>figure:nth-child(3n+1),.gallery-grid>figure:nth-child(3n+1){grid-column:span 7}.testimonial-grid blockquote,.credentials-grid article{background:var(--surface);padding:2rem}.lead-form-layout,.contact-layout,.faq-layout,.hours-layout,.contact-actions,.location-grid{display:grid;grid-template-columns:.75fr 1.25fr;gap:clamp(3rem,8vw,8rem)}.lead-form{display:grid;gap:1rem;background:var(--surface);padding:2rem}.lead-form label{display:grid;font-size:.65rem;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{background:var(--accent);color:white;padding:5rem 0}.cta-section p,.contact-actions-section p{color:#eadfce}.site-footer{text-align:center;background:#342a22;color:#f2e9da;padding:7rem var(--gutter) 2rem}.site-footer>p{font-size:.6rem;letter-spacing:.18em;color:var(--second)}.site-footer h2{margin:2rem auto 5rem;max-width:15ch;font-style:italic}.site-footer>div{display:flex;justify-content:center;gap:2rem;color:#c7bcad;font-size:.75rem}@media(max-width:800px){.place,.desktop-nav,.header-cta{display:none}.site-header{grid-template-columns:1fr auto}.brand{justify-self:start}.menu{display:block}.menu nav{position:absolute;inset-inline-end:1rem;background:#342a22;color:white;padding:1rem;display:grid}.hero-component-grid{min-height:72vh}.hero-copy h1{font-size:3.8rem}.image-text-grid,.product-hero-grid,.lead-form-layout,.contact-layout,.faq-layout,.hours-layout,.contact-actions,.location-grid{grid-template-columns:1fr}.stats-grid,.native-card-grid,.testimonial-grid,.team-grid,.credentials-grid{grid-template-columns:1fr}.editorial-gallery>figure,.gallery-grid>figure,.project-grid>a,.editorial-gallery>figure:nth-child(n),.gallery-grid>figure:nth-child(n){grid-column:1/-1}.section-heading,.site-footer>div{align-items:center;flex-direction:column}}

.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)}}
/* Give a three-image gallery a balanced editorial sequence. */
.gallery-grid>figure:nth-child(3n+2){grid-column:span 5}
.gallery-grid>figure:nth-child(3n){grid-column:1/-1}
@media(max-width:800px){.gallery-grid>figure:nth-child(n){grid-column:1/-1}}

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

.hero-component.hero-immersive.has-image figcaption { display:none; }
/* eyivo:faq presentation */
.theme-hotel .faq-section{background:transparent}
.theme-hotel .faq-layout{display:grid;gap:clamp(2rem,6vw,5rem);grid-template-columns:minmax(12rem,.6fr) minmax(0,1.4fr)}
.theme-hotel .faq-layout h2{font-style:italic}
.theme-hotel .faq-list{border:0}
.theme-hotel .faq-list details{border:0;border-bottom:1px solid var(--line);padding:1.6rem 0}
.theme-hotel .faq-list summary{cursor:pointer;display:flex;font-family:var(--display);font-size:clamp(1.6rem,3vw,2.4rem);font-style:italic;font-weight:400;gap:2rem;letter-spacing:-.03em;line-height:1;list-style:none}
.theme-hotel .faq-list summary::-webkit-details-marker{display:none}
.theme-hotel .faq-list summary span{color:var(--second,var(--accent));font-size:1.4rem;font-style:normal;margin-inline-start:auto}
.theme-hotel .faq-list details[open] summary span{transform:rotate(45deg)}
.theme-hotel .faq-list details p{font-size:1.02rem;margin:0;max-width:42rem;padding:1rem 4rem 0 0}
@media(max-width:720px){.theme-hotel .faq-layout{grid-template-columns:1fr}.theme-hotel .faq-list details p{padding-inline-end:0}}
:root .theme-hotel .desktop-nav .eyivo-navigation-item.eyivo-navigation-parent > a { padding-inline-start: .9rem; }
.theme-hotel h1 { font-size: clamp(2.35rem, 3vw, 3.8rem); line-height: 1.12; overflow-wrap: anywhere; }
.theme-hotel .hero-copy h1 { font-size: clamp(2.7rem, 4.5vw, 5.1rem); max-width: 16ch; }
.theme-hotel h2,
.theme-hotel [data-filter-grid] .native-card h2,
.theme-hotel .faq-layout h2 { font-size: clamp(1.55rem, 1.15rem + .9vw, 2.65rem); line-height: 1.15; overflow-wrap: anywhere; }
.theme-hotel .site-footer h2 { font-size: clamp(1.7rem, 3vw, 2.6rem); line-height: 1.15; margin: 1.25rem auto 1.5rem; }
.theme-hotel h3,
.theme-hotel .event-section .event-card h3 { font-size: clamp(1.08rem, 1rem + .25vw, 1.4rem); line-height: 1.25; overflow-wrap: anywhere; }
.theme-hotel .hero-component-grid { min-height: clamp(22rem, 48svh, 32rem); }
.theme-hotel .hero-copy { padding-block: clamp(2.5rem, 6vw, 4.5rem); }
.theme-hotel .image-text figure { margin: 0; overflow: hidden; }
.theme-hotel .image-text figure img { width: 100%; height: clamp(14rem, 32vw, 22rem); max-height: 22rem; aspect-ratio: auto; object-fit: cover; object-position: center; }
.theme-hotel .cta-section .shell { display: grid; justify-items: start; gap: 1rem; }
.theme-hotel .cta-section .shell > div { display: grid; gap: .75rem; }
.theme-hotel .cta-section :is(h2, p) { margin: 0; line-height: 1.25; }
.theme-hotel .cta-section .button { display: inline-flex; align-items: center; }
.theme-hotel .page-hero.inner-hero { position: relative; overflow: hidden; min-height: 0; }
.theme-hotel .page-hero .hero-backdrop { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: center; }
.theme-hotel .page-hero .hero-shade { display: none; }
.theme-hotel .page-hero.has-image .hero-shade { display: block; position: absolute; inset: 0; background: linear-gradient(180deg, rgb(33 23 15 / .28), rgb(33 23 15 / .72)); }
.theme-hotel .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-hotel .page-hero .breadcrumbs { margin: 0; }
.theme-hotel .page-hero .hero-summary { color: var(--muted); }
.theme-hotel .page-hero.has-image .hero-content,
.theme-hotel .page-hero.has-image .hero-content :is(h1, .eyebrow, .hero-summary, .breadcrumbs, .breadcrumbs a, .breadcrumbs span) { color: #fff; }
.theme-hotel .page-hero.has-image .hero-summary { color: #ffffffd0; }
.theme-hotel .product-hero { padding-block: clamp(2.5rem, 6vw, 5rem); }
.theme-hotel .product-hero-grid > div { display: flex; flex-direction: column; align-items: flex-start; gap: .75rem; }
.theme-hotel .product-hero :is(h1, p, .breadcrumbs) { margin: 0; }
.theme-hotel .product-hero .hero-summary { color: var(--muted); }
.theme-hotel .product-hero .button { display: inline-flex; align-items: center; }
.theme-hotel .product-hero figure { margin: 0; overflow: hidden; }
.theme-hotel .product-hero figure img { width: 100%; height: clamp(16rem, 36vw, 28rem); max-height: 28rem; aspect-ratio: auto; object-fit: cover; object-position: center; }
.theme-hotel .location-grid > div { display: flex; flex-direction: column; align-items: flex-start; gap: .75rem; }
.theme-hotel .location-section :is(h2, p) { margin: 0; line-height: 1.25; }
.theme-hotel .location-section .button { display: inline-flex; align-items: center; }
.theme-hotel .location-section .map-visual { display: block; overflow: hidden; }
.theme-hotel .location-section .map-visual img { width: 100%; height: clamp(14rem, 32vw, 22rem); max-height: 22rem; object-fit: cover; object-position: center; }
