/* V3: an independent editorial theme. V1 and V2 retain their own styles. */
@import url('interior.css');
body.v3-theme {
    --v3-paper: #f5f3eb;
    --v3-ink: #47473e;
    --v3-accent: #efdfaa;
    --v3-line: #d7d5c9;
    --v3-serif: 'Gilda Display', Georgia, serif;
    --v3-sans: 'Barlow', Arial, sans-serif;
    background: var(--v3-paper);
    color: var(--v3-ink) !important;
    font-family: var(--v3-sans);
    font-size: 17px;
    line-height: 1.65;
    padding: 0;
}
.v3-theme h1,.v3-theme h2,.v3-theme h3,.v3-theme h4 { font-family:var(--v3-serif); font-weight:400; }
.v3-theme p { color:inherit; }
.v3-theme .v3-hero p,.v3-theme .v3-closing p { color:inherit !important; }
.v3-theme .v3-hero .v3-eyebrow,.v3-theme .v3-closing .v3-eyebrow { color:var(--v3-accent) !important; }
.v3-theme a { color:inherit; }
.v3-theme [hidden] { display:none !important; }
.v3-theme :focus-visible { outline:2px solid #867133; outline-offset:5px; }
.v3-theme ::selection { background:var(--v3-accent); color:var(--v3-ink); }
.v3-theme .pt-cursor-dot,.v3-theme .pt-cursor-ring,.v3-theme .pt-click-ripple { display:none; }
.v3-theme .preloader-bg,.v3-theme #preloader { display:none; }
.v3-theme main { padding:0; }
.v3-theme .v3-wrap { width:min(1280px, calc(100% - 112px)); margin-inline:auto; }
.v3-theme .v3-section { padding-block:100px; }
.v3-theme .v3-heading { font-size:clamp(36px,4.2vw,62px); line-height:1.13; letter-spacing:-1.7px; color:var(--v3-ink); margin:0 0 26px; text-wrap:balance; }
.v3-theme .v3-eyebrow { font:500 12px/1.5 var(--v3-sans); font-size:12px !important; line-height:1.5 !important; letter-spacing:2.1px; text-transform:uppercase; margin:0 0 22px; }
.v3-theme .v3-button { display:inline-flex; align-items:center; justify-content:center; gap:24px; min-height:50px; padding:13px 25px; border:1px solid var(--v3-accent); border-radius:0; background:var(--v3-accent); color:var(--v3-ink); font:600 13px/1.3 var(--v3-sans); letter-spacing:.35px; transition:background .2s,color .2s; text-decoration:none; }
.v3-theme .v3-button:hover { background:#fff2c8; border-color:#fff2c8; color:#33362d; }
.v3-theme .v3-button span { font-size:20px; }
.v3-theme .v3-text-link { display:inline-flex; gap:22px; align-items:center; padding-block:10px; border-bottom:1px solid currentColor; font:500 14px/1.4 var(--v3-sans); text-decoration:none; letter-spacing:.2px; }
.v3-theme .v3-text-link:hover { color:#887338; }
.v3-theme .v3-text-link span { font-size:21px; transition:transform .2s; }
.v3-theme .v3-text-link:hover span { transform:translate(2px,-2px); }
.v3-theme .v3-actions { display:flex; gap:30px; align-items:center; justify-content:center; flex-wrap:wrap; }
.v3-theme .v3-link-light { color:#fff; }
.v3-theme .v3-link-light:hover { color:var(--v3-accent); }
.v3-site-header { position:relative; z-index:1030; background:var(--v3-paper); }
.v3-topline { display:flex; align-items:center; justify-content:space-between; gap:20px; padding:9px 48px; border-bottom:1px solid var(--v3-line); font-size:11px; line-height:1.5; letter-spacing:.75px; }
.v3-topline > span { text-transform:uppercase; }
.v3-theme-links { display:flex; align-items:center; gap:14px; }
.v3-theme-links > span { border:1px solid #b7b7a8; border-radius:20px; padding:0 9px; font-size:10px; }
.v3-topline a { text-decoration:none; }
.v3-topline a:hover { text-decoration:underline; }
.v3-nav { display:flex; align-items:center; gap:44px; min-height:100px; padding:16px 48px; }
.v3-brand { display:block; flex:0 0 124px; }
.v3-brand img { display:block; width:124px; height:60px; object-fit:contain; filter:brightness(0) saturate(100%) invert(26%) sepia(7%) saturate(526%) hue-rotate(21deg) brightness(97%) contrast(87%); }
.v3-navigation { display:flex; flex:1; align-items:center; justify-content:flex-end; gap:30px; }
.v3-nav-list { list-style:none; margin:0; padding:0; display:flex; align-items:center; gap:25px; }
.v3-nav-list > li { padding:0; margin:0; }
.v3-nav-list > li > a,.v3-dropdown > summary { font:500 15px/1.4 var(--v3-sans); text-transform:uppercase; letter-spacing:.35px; white-space:nowrap; padding:15px 0; cursor:pointer; text-decoration:none; }
.v3-nav-list a[aria-current],.v3-dropdown .is-current { border-bottom:1px solid currentColor; }
.v3-nav-list a:hover,.v3-dropdown > summary:hover { color:#897231; }
.v3-dropdown { position:relative; }
.v3-dropdown > summary { list-style:none; display:flex; align-items:center; gap:8px; }
.v3-dropdown > summary::-webkit-details-marker { display:none; }
.v3-dropdown[open] > summary span { transform:rotate(180deg); }
.v3-dropdown-panel { position:absolute; top:100%; left:-25px; width:490px; display:grid; grid-template-columns:1fr 1fr; background:var(--v3-paper); border:1px solid var(--v3-line); box-shadow:0 18px 40px #242a2017; padding:24px; gap:0 24px; }
.v3-dropdown-panel a { font-size:15px; padding:13px 0; border-bottom:1px solid var(--v3-line); line-height:1.45; text-decoration:none; }
.v3-dropdown-panel .v3-dropdown-all { grid-column:1/-1; display:flex; justify-content:space-between; font-family:var(--v3-serif); font-size:24px; margin-bottom:8px; }
.v3-theme .v3-nav-cta { min-height:43px; padding:12px 23px; font-size:14px; text-transform:uppercase; white-space:nowrap; }
.v3-menu-toggle { display:none; background:transparent; color:var(--v3-ink); border:0; padding:12px 0 12px 18px; gap:12px; align-items:center; font-size:14px; }
.v3-menu-icon { width:21px; height:12px; border-top:1px solid; border-bottom:1px solid; display:block; }
.v3-menu-toggle[aria-expanded=true] .v3-menu-icon { transform:rotate(-45deg); border-bottom:0; height:0; }
.v3-menu-toggle[aria-expanded=true] .v3-menu-icon:after { content:''; display:block; width:21px; border-top:1px solid; transform:rotate(90deg); }
/* The hero changes only on request, with all text managed by the slider editor. */
.v3-hero { position:relative; background:#34372f; color:#fff; min-height:650px; }
.v3-hero-slide { position:relative; min-height:650px; display:grid; place-items:center; }
.v3-hero-image,.v3-hero-shade { position:absolute; inset:0; width:100%; height:100%; }
.v3-hero-image { object-fit:cover; object-position:center; }
.v3-theme img.v3-hero-image { height:100%; }
.v3-hero-shade { background:linear-gradient(0deg, #15201780, #161b1961 65%, #12181340); }
.v3-hero-content { position:relative; z-index:1; width:min(900px,calc(100% - 56px)); margin:auto; padding:74px 0 110px; text-align:center; }
.v3-theme .v3-hero-content .v3-eyebrow { color:var(--v3-accent); letter-spacing:3px; margin-bottom:25px; }
.v3-theme .v3-hero-title { font:400 clamp(46px,6.2vw,86px)/1.05 var(--v3-serif); letter-spacing:-2.5px; text-transform:none; color:#fff; margin:0 auto 24px; text-wrap:balance; }
.v3-hero-title > span { display:block; color:var(--v3-accent); }
.v3-theme .v3-hero-description { font-size:18px; line-height:1.6; max-width:580px; margin:0 auto 30px; color:#fff; }
.v3-hero-bottom { position:absolute; bottom:25px; left:48px; right:48px; display:flex; justify-content:space-between; align-items:center; z-index:2; }
.v3-slide-controls { display:flex; gap:14px; }
.v3-slide-controls button { color:#fff; background:none; border:0; border-bottom:1px solid #ffffff70; min-width:44px; padding:10px 4px; font:500 13px/1.4 var(--v3-sans); }
.v3-slide-controls button[aria-pressed=true] { color:var(--v3-accent); border-bottom:2px solid var(--v3-accent); }
.v3-scroll-link { color:#fff; font-size:12px; letter-spacing:1px; display:flex; gap:35px; align-items:center; }
.v3-scroll-link span { font-size:24px; }
.v3-intro { text-align:center; scroll-margin-top:40px; }
.v3-intro .v3-heading { max-width:750px; margin-inline:auto; }
.v3-intro-copy { max-width:775px; margin:0 auto 25px; font-size:18px; line-height:1.8; }
.v3-venue-section { background:#eaeadd; scroll-margin-top:24px; }
.v3-venues-heading { max-width:800px; text-align:center; margin:0 auto 42px; }
.v3-theme .v3-venues-heading .v3-eyebrow { color:#706345 !important; }
.v3-theme .v3-venues-description { max-width:650px; margin:0 auto !important; color:var(--v3-ink) !important; }
.v3-section-top { display:flex; justify-content:space-between; gap:40px; align-items:flex-end; margin-bottom:42px; }
.v3-section-top .v3-heading { margin-bottom:0; }
.v3-section-top .v3-text-link { flex-shrink:0; }
.v3-venue-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:56px 24px; }
.v3-venue-card { min-width:0; }
.v3-theme .v3-venue-link { display:block; position:relative; aspect-ratio:8/11; overflow:hidden; background:var(--v3-ink); color:var(--v3-paper); text-decoration:none; box-shadow:0 14px 28px #36392f0d; }
.v3-theme .v3-venue-link > img { width:100%; height:100%; object-fit:cover; transition:transform .6s; }
.v3-venue-link:after { content:''; position:absolute; inset:0; background:linear-gradient(180deg,transparent 30%,rgba(27,31,25,.12) 48%,rgba(27,31,25,.9) 100%); pointer-events:none; }
.v3-venue-link:hover > img,.v3-venue-link:focus-visible > img { transform:scale(1.035); }
.v3-venue-caption { position:absolute; z-index:1; inset:auto 26px 36px; }
.v3-theme .v3-venue-caption h3 { color:var(--v3-paper); font-size:clamp(27px,2.5vw,35px); line-height:1.15; margin:0; letter-spacing:-.5px; }
.v3-venue-divider { display:block; width:60px; height:1px; background:#efdfaa80; margin:18px 0 14px; }
.v3-venue-facts { list-style:none; display:flex; justify-content:space-between; align-items:flex-start; flex-wrap:wrap; gap:10px 16px; margin:0; padding:0; }
.v3-venue-facts li { display:flex; gap:7px; font:500 13px/1.5 'Barlow Condensed',sans-serif; letter-spacing:.6px; text-transform:uppercase; }
.v3-venue-facts li > span { color:var(--v3-accent); font-size:15px; }
.v3-about-venues { background:var(--v3-paper); scroll-margin-top:24px; }
.v3-about-venues .v3-venues-heading { margin-bottom:48px; }
.v3-about-venue-grid { display:grid; grid-template-columns:repeat(6,minmax(0,1fr)); gap:24px; }
.v3-about-venue-card { min-width:0; text-align:center; }
.v3-about-venue-card > a { display:block; text-decoration:none; }
.v3-about-venue-image { width:120px; height:120px; border:3px solid var(--v3-accent); border-radius:50%; overflow:hidden; margin:0 auto 18px; background:#eaeadd; }
.v3-theme .v3-about-venue-image img { width:100%; height:100%; object-fit:cover; transition:transform .3s; }
.v3-about-venue-card a:hover img,.v3-about-venue-card a:focus-visible img { transform:scale(1.06); }
.v3-theme .v3-about-venue-card h3 { font:400 20px/1.25 var(--v3-serif); color:var(--v3-ink); margin:0 0 8px; }
.v3-about-venue-subtitle { display:block; color:#706345; font:500 12px/1.6 'Barlow Condensed',sans-serif; letter-spacing:1px; text-transform:uppercase; }
.v3-event-picture img { width:100%; height:100%; object-fit:cover; transition:transform .6s; }
.v3-theme .v3-event-picture img { height:100%; }
.v3-event-picture:hover img { transform:scale(1.035); }
.v3-service-section { display:grid; grid-template-columns: .85fr 1.15fr; gap:9%; }
.v3-service-intro > img { width:100%; aspect-ratio:1.16; object-fit:cover; margin:8px 0 24px; }
.v3-service-intro .v3-heading { max-width:430px; }
.v3-service-list article { display:grid; grid-template-columns:24px 1fr 24px; gap:17px; border-top:1px solid var(--v3-line); padding:24px 0; }
.v3-service-list article:last-child { border-bottom:1px solid var(--v3-line); }
.v3-service-number { font-size:11px; padding-top:7px; }
.v3-service-list h3 { color:var(--v3-ink); font-size:27px; line-height:1.2; margin:0 0 10px; }
.v3-service-list p { font-size:15px; line-height:1.65; margin:0; color:#646459; }
.v3-service-arrow { font-size:25px; align-self:start; }
.v3-event-section { background:#eae6df; }
.v3-event-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:28px; }
.v3-event-picture { display:block; aspect-ratio:1.15; overflow:hidden; margin-bottom:24px; }
.v3-event-grid .v3-eyebrow { font-size:10px; letter-spacing:1.5px; margin-bottom:13px; }
.v3-event-grid h3 { font-size:28px; line-height:1.3; color:var(--v3-ink); margin:0 0 15px; }
.v3-theme .pt-references-home { background:var(--v3-paper); padding:90px 0; border:0; }
.v3-theme .pt-references-home .section-title { color:var(--v3-ink) !important; font:400 clamp(36px,4vw,50px)/1.15 var(--v3-serif) !important; letter-spacing:-1.2px; }
.v3-theme .pt-references-home .section-subtitle { color:var(--v3-ink) !important; font:500 11px/1.5 var(--v3-sans) !important; letter-spacing:2px !important; }
.v3-theme .pt-references-home .pt-reference-card { border:0; padding:0; border-radius:0; background:transparent; box-shadow:none; }
.v3-theme .pt-references-home .pt-reference-card:hover { transform:none; box-shadow:none; }
.v3-theme .pt-references-home .pt-reference-logo { background:#fff; height:150px; border:1px solid var(--v3-line); border-radius:0; box-shadow:none; margin-bottom:10px; }
.v3-theme .pt-references-home .pt-reference-logo img { filter:grayscale(1); width:48% !important; height:55px !important; max-height:55px; object-fit:contain; }
.v3-theme .pt-references-home .pt-reference-card:hover img { filter:grayscale(1); transform:none; }
.v3-theme .pt-references-home .pt-reference-name { font:400 18px/1.35 var(--v3-serif); color:var(--v3-ink); white-space:normal; }
.v3-theme .pt-references-home .pt-reference-sector { font:500 10px/1.4 var(--v3-sans) !important; color:#66664f !important; letter-spacing:1px; margin-bottom:8px !important; }
.v3-theme .pt-references-home .pt-reference-caption { border:0; }
.v3-theme .pt-references-all { color:var(--v3-ink); font:500 14px/1.5 var(--v3-sans); letter-spacing:0; }
.v3-theme .pt-reference-controls button { background:transparent; color:var(--v3-ink); border-color:var(--v3-line); }
.v3-closing { padding:100px 0; background:var(--v3-ink); color:var(--v3-paper); text-align:center; }
.v3-closing .v3-heading { color:var(--v3-paper); max-width:790px; margin-inline:auto; }
.v3-closing .v3-eyebrow { color:var(--v3-accent); }
.v3-closing p:not(.v3-eyebrow) { max-width:670px; margin:0 auto 30px; font-size:17px; }
/* Shared footer, dialogs and privacy preferences remain functional. */
.v3-theme .footer { background:#deded2; color:var(--v3-ink); }
.v3-theme .footer-top { padding:75px 0 45px; }
.v3-theme .footer-top,.v3-theme .footer-bottom { background:transparent; }
.v3-theme .footer-bottom { border-top:1px solid #c7c9ba; padding:24px 0; }
.v3-theme .footer-title { color:var(--v3-ink) !important; font-size:28px; margin-bottom:22px; }
.v3-theme .footer-about-text,.v3-theme .footer-contact-text,.v3-theme .footer-contact-mail,.v3-theme .footer-explore-list a,.v3-theme .footer-bottom-copy-right,.v3-theme .footer-contact-phone,.v3-theme .footer-contact-phone a { color:var(--v3-ink) !important; }
.v3-theme .footer-explore-list a { font-family:var(--v3-sans); font-size:15px; }
.v3-theme .footer-about-social-list a { background:transparent; border:1px solid #b4b7a4; color:var(--v3-ink); }
.v3-theme .footer-language { display:none; }
.v3-theme .footer-bottom-inner > .small { color:var(--v3-ink) !important; }
.v3-theme .footer-contact-mail:before { background:var(--v3-ink); }
.v3-theme .pt-legal-links a,.v3-theme .pt-legal-links button { color:var(--v3-ink); }
.v3-theme .modal-content { border-radius:4px; background:var(--v3-paper); color:var(--v3-ink); }
.v3-theme .modal-title { font-family:var(--v3-serif); }
.v3-theme #quoteModal .modal-content { background:var(--v3-paper) !important; color:var(--v3-ink) !important; border:1px solid var(--v3-line) !important; border-radius:3px !important; box-shadow:0 25px 70px #171c2440 !important; }
.v3-theme #quoteModal .modal-header,.v3-theme #quoteModal .modal-footer { background:#eaeadd !important; border-color:var(--v3-line) !important; }
.v3-theme #quoteModal .modal-header span { color:#66664f !important; font-family:var(--v3-sans) !important; font-size:11px !important; }
.v3-theme #quoteModal .modal-title { color:var(--v3-ink) !important; font-weight:400 !important; font-size:32px !important; }
.v3-theme #quoteModal .btn-close-white { filter:none; }
.v3-theme #quoteModal .form-label,.v3-theme #quoteModal .modal-footer span,.v3-theme #quoteModal .modal-footer a { color:var(--v3-ink) !important; }
.v3-theme #quoteModal :is(.form-control,.form-select) { background-color:#fff !important; color:var(--v3-ink) !important; border:1px solid #babdae !important; border-radius:2px !important; min-height:48px; box-shadow:none !important; }
.v3-theme #quoteModal :is(.form-control,.form-select)::placeholder { color:#757767; opacity:1; }
.v3-theme #quoteModal #quoteSubmitBtn { background:var(--v3-ink) !important; color:#fff !important; border-radius:0 !important; box-shadow:none !important; font:500 14px/1.5 var(--v3-sans) !important; letter-spacing:.5px !important; }
.v3-theme #quoteModal .pt-form-privacy { background:#eaeadd; color:var(--v3-ink); border-color:var(--v3-line); }
.v3-theme #quoteModal .pt-form-privacy :is(p,a,label,small) { color:var(--v3-ink) !important; }
.v3-theme .progress-wrap { color:var(--v3-ink); background:var(--v3-paper); }
.v3-theme .progress-wrap:after { color:var(--v3-ink); }
@media(min-width:1550px) {
    .v3-hero,.v3-hero-slide { min-height:730px; }
    .v3-nav { padding-inline:70px; }
}
@media(max-width:1199px) {
    .v3-nav { gap:24px; padding:14px 28px; }
    .v3-topline { padding-inline:28px; }
    .v3-nav-list { gap:16px; }
    .v3-navigation { gap:20px; }
    .v3-nav-list > li > a,.v3-dropdown > summary { font-size:14px; }
    .v3-theme .v3-wrap { width:calc(100% - 64px); }
}
@media(max-width:1199px) {
    .v3-nav { flex-wrap:wrap; justify-content:space-between; min-height:88px; }
    .v3-brand,.v3-brand img { width:110px; flex-basis:110px; }
    .v3-menu-ready .v3-menu-toggle { display:flex; }
    .v3-navigation { flex-basis:100%; display:block; padding:8px 0 18px; }
    .v3-menu-ready .v3-navigation:not(.is-open) { display:none; }
    .v3-nav-list { align-items:stretch; flex-direction:column; gap:0; }
    .v3-nav-list > li { border-top:1px solid var(--v3-line); }
    .v3-nav-list > li > a,.v3-dropdown > summary { display:flex; padding:15px 0; font-size:18px; justify-content:space-between; }
    .v3-dropdown-panel { position:static; width:100%; border:0; box-shadow:none; padding:0 0 20px; }
    .v3-theme .v3-nav-cta { margin-top:15px; }
    .v3-hero,.v3-hero-slide { min-height:620px; }
    .v3-theme .v3-section { padding-block:75px; }
    .v3-service-section { gap:45px; }
}
@media(max-width:700px) {
    .v3-theme .v3-wrap { width:calc(100% - 40px); }
    .v3-topline { padding:8px 20px; gap:10px; }
    .v3-topline > span { display:none; }
    .v3-nav { padding:10px 20px; gap:0; min-height:78px; }
    .v3-brand img { height:56px; }
    .v3-theme .v3-heading { font-size:39px; letter-spacing:-1px; }
    .v3-theme .v3-section { padding-block:62px; }
    .v3-hero,.v3-hero-slide { min-height:610px; }
    .v3-hero-content { width:calc(100% - 36px); padding:55px 0 105px; }
    .v3-theme .v3-hero-title { font-size:52px; letter-spacing:-1.7px; line-height:1.08; }
    .v3-theme .v3-hero-description { font-size:16px; max-width:330px; }
    .v3-theme .v3-hero-content .v3-eyebrow { font-size:10px; letter-spacing:2px; margin-bottom:22px; }
    .v3-actions { gap:15px 23px; }
    .v3-hero-bottom { left:20px; right:20px; bottom:22px; }
    .v3-scroll-link { gap:15px; }
    .v3-intro-copy { font-size:16px; }
    .v3-section-top { display:block; margin-bottom:30px; }
    .v3-section-top .v3-text-link { margin-top:14px; }
    .v3-service-section,.v3-event-grid { grid-template-columns:1fr; gap:32px; }
    .v3-service-intro > img { aspect-ratio:1.35; }
    .v3-service-list h3 { font-size:27px; }
    .v3-event-picture { aspect-ratio:1.35; }
    .v3-event-grid { gap:45px; }
    .v3-closing { padding:65px 0; }
    .v3-theme .pt-references-home { padding-block:62px; }
    .v3-theme .pt-references-home .section-title { font-size:37px; }
    .v3-theme .footer-top { padding-top:50px; }
    .v3-theme .footer-title { margin-top:15px; }
    .v3-dropdown-panel { grid-template-columns:1fr; }
}
@media(max-width:991px) {
    .v3-about-venue-grid { grid-template-columns:repeat(3,minmax(0,1fr)); gap:36px 24px; }
    .v3-venue-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:32px 24px; }
    .v3-venue-caption { inset:auto 22px 28px; }
}
@media(max-width:600px) {
    .v3-about-venue-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:30px 18px; }
    .v3-about-venue-image { width:110px; height:110px; }
    .v3-theme .v3-about-venue-card h3 { font-size:19px; }
    .v3-venue-grid { grid-template-columns:1fr; gap:30px; }
    .v3-venues-heading { margin-bottom:32px; }
    .v3-theme .v3-venue-caption h3 { font-size:32px; }
}
@media(prefers-reduced-motion:reduce) {
    .v3-theme *, .v3-theme *:before,.v3-theme *:after { scroll-behavior:auto !important; transition:none !important; animation:none !important; }
}
