html{-webkit-text-size-adjust:100%}body,html{border:0;box-sizing:border-box;font-size:100%;margin:0;padding:0;vertical-align:baseline}body{line-height:1}
applet,blockquote,div,h1,h2,h3,h4,h5,h6,iframe,object,p,span{border:0;box-sizing:border-box;font-size:100%;margin:0;padding:0;vertical-align:baseline}
a{cursor:pointer}a,a:active,a:focus,a:hover,a:visited{color:inherit;text-decoration:none}
ul,li{list-style:none;margin:0;padding:0}
b,strong{font-weight:500}strong span{font-weight:500!important}
table{border-collapse:collapse;border-spacing:0}

.stile-titolo-principale{font-family:Montserrat,Arial,Helvetica,sans-serif;font-size:80px;font-weight:300;line-height:normal}
.h1-style,.stile-titolo-secondario,h1{font-family:Montserrat,Arial,Helvetica,sans-serif;font-size:48px;font-weight:300;line-height:normal}
.h2-style,.stile-titoletto-32,h2{font-family:Montserrat,Arial,Helvetica,sans-serif;font-size:32px;font-weight:300;line-height:normal}
.h3-style,.stile-titoletto-24,h3{font-size:24px}
.h3-style,.h4-style,.stile-titoletto-24,h3,h4{font-family:Montserrat,Arial,Helvetica,sans-serif;font-weight:300;line-height:normal}
.h4-style,h4{font-size:80px}
a,button,p{font-family:Montserrat,Arial,Helvetica,sans-serif;font-size:16px;font-weight:400;line-height:2}

:root{--app-height:100vh;--qc-button-border-radius:8px;--p-button-primary-background:#cc8100;--p-button-primary-border:#cc8100;--p-button-label-font-weight:600!important;--qc-global-transition:.5s ease-in-out;--qc-borders-primary-color:#c8c3bd;--mobile-spacing-x:30px;--mobile-spacing-x-medium:25px;--mobile-spacing-x-min:15px;--mobile-spacing-x-max:55px}
@property --height-header{syntax:"<length>";inherits:false;initial-value:100px}
@media screen and (max-width:991px){:root{--height-header:92px}}

body,html{color:#1e1e1e;overflow-x:hidden}
body{background:#fff;color:#1e1e1e;font-family:Montserrat,Arial,Helvetica,sans-serif;font-weight:400;min-height:100vh;position:relative;-ms-overflow-style:none;overflow-y:visible!important}
body.menu-open{overflow:hidden}

img{height:100%;max-width:100%;width:100%}

.sr-only{border:0;clip:rect(0,0,0,0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px}

.d-flex{display:flex}
.d-flex-wrapper{display:flex;flex-wrap:wrap}
.d-flex-align-center{align-items:center}
.d-flex-column{flex-direction:column}
.d-inline-flex{display:inline-flex}
.flex-column{flex-direction:column}
.justify-content-end{justify-content:flex-end}
.align-items-start{align-items:flex-start}
.position-absolute{position:absolute}
.top-0{top:0}
.start-0{left:0}
.gap-4{gap:1.5rem}
.p-4{padding:1.5rem}
.mb-3{margin-bottom:1rem}

.h-100{height:100%}
.w-100{width:100%}
.w30{width:30%}
.w70{width:70%}

.qc-container{margin-left:auto;margin-right:auto;padding-left:var(--mobile-spacing-x-medium);padding-right:var(--mobile-spacing-x-medium);width:100%}
.qc-container-ext{padding:0 67px}

/* === HEADER === */
.site-header{align-items:center;background-color:#fff;display:flex; gap:5vw; height:var(--height-header);padding:0 67px;position:fixed;top:0;width:100svw;z-index:1120;transition:background-color .4s ease, box-shadow .3s ease}
.site-header .fade-row{background-color:var(--qc-borders-primary-color);height:1.875px;left:50%;max-width:500px;opacity:.9;position:absolute;top:0;transform:translate(-50%);width:100%}
.site-header .logo_wrapper{position:relative;flex-shrink:0;z-index:2}
.site-header .logo_wrapper img{max-width:100px;height:auto;-o-object-fit:contain;object-fit:contain}
.site-header .site-header-right{display:flex;align-items:center;margin-left:40px}
.site-header .site-header-list{display:block}
.site-header .nav-wrapper{display:flex;align-items:center}
.site-header .nav-list{gap:0}
.site-header .nav-list li{color:#1e1e1e;font-family:Montserrat,Arial,Helvetica,sans-serif;font-size:16px;line-height:22.4px;padding-right:36px}
.site-header .nav-list li:last-child{padding-right:0}
.site-header .nav-list li a{transition:color .3s ease}
.site-header .nav-list li a:hover{color:#cc8100}

/* logo color switching */
.site-header .logo-light{display:none}
.site-header .logo-dark{display:block;filter:brightness(0)}
.site-header.light-header .logo-light{display:block;filter:brightness(0) invert(1)}
.site-header.light-header .logo-dark{display:none}
.site-header.scrolled .logo-light{display:none}
.site-header.scrolled .logo-dark{display:block;filter:brightness(0)}

.site-header.light-header{background:linear-gradient(180deg,#000 -8.62%,transparent);background-color:transparent}
.site-header.light-header .nav-list li,.site-header.light-header .nav-list li a{color:#fff}
.site-header.light-header .menu-icon,.site-header.light-header .menu-icon:after,.site-header.light-header .menu-icon:before{background-color:#fff}
.site-header.light-header .menu-icon:before{background-color:var(--qc-borders-primary-color)}
.site-header.light-header .fade-row{display:none}

.site-header.scrolled{background-color:#fff;box-shadow:0 1px 0 #c8c3bd}
.site-header.scrolled .nav-list li,.site-header.scrolled .nav-list li a{color:#1e1e1e}
.site-header.scrolled .menu-icon,.site-header.scrolled .menu-icon:after,.site-header.scrolled .menu-icon:before{background-color:#1e1e1e}
.site-header.scrolled .menu-icon:before{background-color:var(--qc-borders-primary-color)}

.site-header.active{border-bottom:1px solid #c8c3bd}
.site-header.active,.site-header.active.light-header{background:transparent;background-color:#fff}
.site-header.active .logo-light{display:none}
.site-header.active .logo-dark{display:block;filter:brightness(0)}

.dark-overlay-header{display:none}

/* === BLOCKS GENERIC === */
.block-wrapper{position:relative}
.block-wrapper .block-background{bottom:0;left:0;overflow:hidden;position:absolute;right:0;top:0}
.block-wrapper .block-content{position:relative;z-index:2}
.block-wrapper .block-content .action-container{display:flex;gap:20px}

.block-line{background:var(--qc-borders-primary-color);height:100px;margin:0 auto;width:2px}
.block-spacer{padding:0}

/* === HERO BANNER === */
.block-banner .block-content{height:100svh;min-height:600px}
.banner-inner{height:100%;overflow:hidden;position:relative}
.banner-inner__container{padding:0 64px}
.banner-inner__content{display:flex;flex-direction:column;justify-content:center;position:absolute;width:100%;z-index:2}
.banner-inner__content .content h1,.banner-inner__content .content h2,.banner-inner__content .content h3,.banner-inner__content .content h4,.banner-inner__content .content h5,.banner-inner__content .content h6,.banner-inner__content .content>p{color:#fff}
.banner-inner__ctas{display:flex;grid-gap:20px;flex-flow:wrap;margin-top:40px}
.banner-layout__horizontal .banner-inner__content{bottom:40px}
.banner-layout__horizontal .banner-inner__display{align-items:flex-end;display:flex;transform-origin:center bottom}
.banner-layout__horizontal .banner-inner__display .banner-inner__ctas{margin-top:0}
.banner-layout__horizontal .content{margin-left:0!important;margin-right:auto;padding-right:60px}

.comp-media{position:relative;width:100%}
.comp-media .image-container{display:flex;height:100%;justify-content:center;max-height:100%;overflow:hidden;width:100%}
.comp-media .image-container img,.comp-media .image-container picture{min-width:100%;-o-object-fit:cover;object-fit:cover;-o-object-position:center;object-position:center}
.comp-media .media-overlay.overlay-black{background:#1e1e1e;background:linear-gradient(0deg,#1e1e1e99,#1e1e1e00)}

.media-container{position:absolute;top:0;left:0;width:100%;height:100%;overflow:hidden}
.media-container .comp-media{height:100%}
.media-container .comp-media .image-container{height:100%}
.media-container .comp-media .image-container img{width:100%;height:100%;-o-object-fit:cover;object-fit:cover}
.media-overlay{position:absolute;top:0;left:0;width:100%;height:100%;z-index:1}

/* === CTA BANNERS === */
.block-cta-banner .block-content{height:60svh;min-height:400px}
.banner-inner__content--centered{top:50%;bottom:auto!important;transform:translateY(-50%);text-align:center;left:0}
.banner-inner__display--centered{display:flex;flex-direction:column;align-items:center!important}
.banner-inner__display--centered .content{text-align:center;padding-right:0!important;margin:0 auto;max-width:700px}
.banner-inner__display--centered .banner-inner__ctas{margin-top:30px}
.cta-subline{color:#fff;font-size:16px;font-weight:400;line-height:2;margin-top:16px}

/* === BUTTON === */
.comp-button{border:none!important;border-radius:var(--qc-button-border-radius)!important;color:#000;font-size:14px!important;transition:var(--qc-global-transition)!important;display:inline-flex;align-items:center;justify-content:center;text-align:center;cursor:pointer}
.comp-button:not(:disabled):hover{color:#000!important}
.comp-button.type-PRIMARY_FILLED{background-color:var(--p-button-primary-background)}
.comp-button.type-PRIMARY_FILLED:hover{background:color-mix(in srgb,var(--p-button-primary-background) 86%,#000)!important}
.comp-button.type-PRIMARY_FILLED.border-enabled{border:1px solid var(--p-button-primary-border)!important}
.comp-button:not(.dynamic-width){min-width:270px}
.comp-button:not(.dynamic-height){min-height:50px}
.comp-button.type-PRIMARY_OUTLINED{background:transparent;border:1px solid var(--p-button-primary-border)!important;color:#cc8100}
.comp-button.type-PRIMARY_OUTLINED:hover{background:rgba(204,129,0,.08)}

/* === ADVANCED CONTENT === */
.block-advanced-content .inner-container{align-items:center;display:flex;flex-direction:column;height:100%;justify-content:center;padding-bottom:40px;padding-top:40px}
.block-advanced-content .content>:not(:last-child){margin-bottom:40px}
.block-advanced-content .logo{margin-bottom:40px;}
.section-logo-dark{filter:brightness(0)}

.guide-bar{bottom:0;height:0;left:50%;position:absolute;transform:translate(-50%)}
.guide-bar .bar-body{height:100px;width:2px}
.guide-bar .inner-resizer{background-color:var(--qc-borders-primary-color);height:100%;transform-origin:bottom;width:100%}

/* === SERVICE CARDS GRID === */
.services-card-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;padding:0 67px 50px}
.card-slide{display:flex;flex-direction:column;height:auto}
.card-slide .card{border-radius:24px;height:100%;overflow:hidden;position:relative;width:100%;min-height:420px}
.card-slide .card .comp-media{height:100%;position:absolute;top:0;left:0;width:100%}
.card-slide .card .comp-media .image-container{height:100%}
.card-slide .card .comp-media .image-container img{height:100%;width:100%;-o-object-fit:cover;object-fit:cover}
.card-content{position:absolute;top:0;left:0;display:flex;flex-direction:column;justify-content:flex-end;align-items:flex-start;z-index:3}
.card-content .text-container *{color:#fff}
.card-content .action-container{justify-content:center}
.card-content .comp-button{position:relative;z-index:4}

/* === GALLERY COLLAGE === */
.collage-grid{display:grid;grid-template-columns:repeat(12,1fr);grid-template-rows:280px 280px;gap:16px;padding-bottom:80px}
.collage-item{overflow:hidden}
.collage-item .comp-media,.collage-item .comp-media .image-container{height:100%}
.collage-item img{height:100%;width:100%;-o-object-fit:cover;object-fit:cover;transition:transform .6s ease}
.collage-item:hover img{transform:scale(1.04)}
.collage-tall{grid-column:span 3;grid-row:span 2}
.collage-wide{grid-column:span 5}
.collage-square{grid-column:span 4}

/* === STAFF GRID === */
.staff-row{display:grid;grid-template-columns:repeat(5,1fr);gap:24px;padding-bottom:80px}
.staff-card{overflow:hidden}
.staff-photo{aspect-ratio:3/4;overflow:hidden}
.staff-photo .comp-media,.staff-photo .comp-media .image-container{height:100%}
.staff-photo img{height:100%;width:100%;-o-object-fit:cover;object-fit:cover;transition:transform .5s ease}
.staff-card:hover .staff-photo img{transform:scale(1.03)}
.staff-info{padding:16px 0 0}
.staff-name{font-family:Montserrat,Arial,Helvetica,sans-serif;font-size:16px;font-weight:500;line-height:1.4;color:#1e1e1e}
.staff-role{font-family:Montserrat,Arial,Helvetica,sans-serif;font-size:14px;font-weight:400;line-height:1.6;color:#776e67;margin-top:2px}
.staff-bio{font-family:Montserrat,Arial,Helvetica,sans-serif;font-size:13px;font-weight:400;line-height:1.7;color:#4f4f4f;margin-top:10px}

/* === SERVICES TABLE === */
.svc-table-wrap{padding-bottom:80px;overflow-x:auto}
.svc-table{width:100%;border-top:1px solid #c8c3bd}
.svc-table th{font-family:Montserrat,Arial,Helvetica,sans-serif;font-size:12px;font-weight:600;line-height:24px;text-transform:uppercase;color:#776e67;text-align:left;padding:20px 24px 12px 0;border-bottom:1px solid #c8c3bd;letter-spacing:.5px}
.svc-table td{font-family:Montserrat,Arial,Helvetica,sans-serif;font-size:15px;font-weight:400;line-height:30px;color:#1e1e1e;padding:18px 24px 18px 0;border-bottom:1px solid #eaeaea;vertical-align:top}
.svc-table .svc-name{font-weight:500;color:#1e1e1e;white-space:nowrap}
.svc-table td:last-child{font-weight:500;white-space:nowrap;color:#cc8100}
.svc-table tr:hover td{background:rgba(204,198,191,0.08)}

/* === FAQ === */
.faq-list{max-width:900px;margin:0 auto;padding-bottom:100px}
.faq-item{border-bottom:1px solid #c8c3bd}
.faq-trigger{background:none;border:none;cursor:pointer;display:flex;align-items:center;justify-content:space-between;padding:28px 0;width:100%;text-align:left}
.faq-q{font-family:Montserrat,Arial,Helvetica,sans-serif;font-size:18px;font-weight:400;line-height:1.5;color:#1e1e1e;padding-right:40px}
.faq-arrow{width:14px;height:14px;border-right:2px solid #1e1e1e;border-bottom:2px solid #1e1e1e;transform:rotate(45deg);transition:transform .3s ease;flex-shrink:0}
.faq-item.is-open .faq-arrow{transform:rotate(-135deg)}
.faq-answer{max-height:0;overflow:hidden;transition:max-height .4s ease,padding .3s ease}
.faq-answer p{font-family:Montserrat,Arial,Helvetica,sans-serif;font-size:16px;font-weight:400;line-height:2;color:#4f4f4f;padding-bottom:28px}
.faq-item.is-open .faq-answer{max-height:500px}

/* === FOOTER === */
.site-footer{padding:100px 0;border-top:1px solid #c8c3bd}
.site-footer .inner{gap:12.5rem;padding:0 10%}
.site-footer .inner .inner-prefooter{max-width:306px}
.site-footer .inner .inner-prefooter .logo{padding-bottom:30px}
.site-footer .inner .inner-prefooter .logo img{height:auto;-o-object-fit:contain;object-fit:contain}
.footer-logo-img{filter:brightness(0)}
.site-footer .inner .inner-prefooter .text-info{margin-top:0}
.site-footer .inner .inner-prefooter .text-info .disclaimer-small-text{font-size:12px;line-height:24px;color:#776e67}

.footer-columns{gap:60px}
.footer-col{flex:1}
.first-level-item{font-family:Montserrat,Arial,Helvetica,sans-serif;font-size:18px;font-weight:300;height:64px;line-height:normal;padding-bottom:46px;display:block}
.footer_links_children{display:flex;flex-direction:column}
.second-level{margin-bottom:4px}
.second-level .item{color:#4f4f4f;font-family:Montserrat,Arial,Helvetica,sans-serif;font-size:15px;font-weight:400;line-height:30px}
.second-level .item:hover{color:#cc8100}

.footer-contact-info{margin-top:0}
.footer-contact-info .addr-line{color:#4f4f4f;font-size:15px;font-weight:400;line-height:30px}
.footer-contact-info .phone-line,.footer-contact-info .mail-line{margin-top:8px}
.footer-contact-info .phone-line a,.footer-contact-info .mail-line a{color:#4f4f4f;font-size:15px;font-weight:400;line-height:30px}
.footer-contact-info .phone-line a:hover,.footer-contact-info .mail-line a:hover{color:#cc8100}

.footer-bottom-row{margin-top:60px;padding-top:32px;border-top:1px solid #eaeaea}
.footer-legal-links{display:flex;gap:24px;flex-wrap:wrap;margin-bottom:20px}
.footer-legal-links a{font-family:Montserrat,Arial,Helvetica,sans-serif;font-size:12px;font-weight:600;line-height:24px;color:#4f4f4f;text-decoration:underline}
.footer-legal-links a:hover{color:#cc8100}
.imprint-data .imprint-line{font-family:Montserrat,Arial,Helvetica,sans-serif;font-size:11px;font-weight:400;line-height:20px;color:#776e67}
.imprint-data .imprint-line strong{font-weight:500;color:#4f4f4f}

/* === COOKIE BAR === */
.cookie-bar{position:fixed;bottom:0;left:0;width:100%;background:#fff;border-top:1px solid #c8c3bd;z-index:9999;padding:24px 67px;box-shadow:0 -4px 20px rgba(0,0,0,.06)}
.cookie-bar-inner{display:flex;align-items:center;gap:40px;max-width:1400px;margin:0 auto}
.cookie-text{flex:1}
.cookie-text p{font-size:14px;line-height:1.7;color:#4f4f4f}
.cookie-actions{display:flex;align-items:center;gap:16px;flex-shrink:0}
.cookie-btn-accept{min-width:140px!important}
.cookie-btn-necessary{min-width:160px!important}
.cookie-link{font-family:Montserrat,Arial,Helvetica,sans-serif;font-size:13px;font-weight:500;color:#4f4f4f;text-decoration:underline}

/* === RESPONSIVE === */
@media screen and (max-width:1440px){
.stile-titolo-principale{font-size:68px}
.h1-style,.stile-titolo-secondario,h1{font-size:40px}
.h2-style,.stile-titoletto-32,h2{font-size:30px}
.h3-style,.stile-titoletto-24,h3{font-size:22px}
.h4-style,h4{font-size:68px}
}

@media screen and (max-width:991px){
:root{--height-header:92px}
.site-header{padding:0 20px;z-index:99999; display: grid;height: max-content;  gap: 0; text-align: center; justify-content: center;}
/* <!-- .site-header .logo_wrapper{margin-left:24px}
.site-header .site-header-right{margin-left:24px} --> */
.site-header .site-header-right {margin-left:0}
.site-header {padding:0}
.site-header .nav-list li{padding-right:20px;font-size:14px}
.site-footer{padding:54px 15px 100px}
.site-footer .inner{flex-direction:column-reverse;gap:0;padding:0 15px}
.d-flex-wrapper{flex-direction:column}
.w30,.w70{width:100%}
.footer-columns{gap:0;flex-direction:column}
.footer-col{width:100%;border-bottom:1px solid #eaeaea;padding-bottom:20px}
.footer-col:last-child{border-bottom:none}
.first-level-item{height:auto;padding-bottom:12px;padding-top:24px}
.site-footer .inner .inner-prefooter{max-width:100%;margin-top:36px}
.footer-bottom-row{margin-top:24px;padding-top:20px}
.footer-legal-links{gap:16px;margin-bottom:16px}
.banner-inner__content{text-align:center}
.banner-inner__ctas{margin-top:16px;grid-gap:16px}
.banner-layout__horizontal .banner-inner__display{display:block}
.banner-layout__horizontal .content{padding-right:0}
a.comp-button:not(.dynamic-width){margin:auto!important;text-align:center;width:200px;min-width:200px}
.qc-container-ext{padding:0 25px}
.services-card-grid{grid-template-columns:1fr;padding:0 25px 50px;gap:16px}
.card-slide .card{min-height:320px}
.collage-grid{grid-template-columns:1fr 1fr;grid-template-rows:auto;padding-bottom:40px;gap:10px}
.collage-tall{grid-column:span 1;grid-row:span 1}
.collage-wide{grid-column:span 1}
.collage-square{grid-column:span 2}
.collage-item{height:220px}
.staff-row{grid-template-columns:repeat(3,1fr);gap:16px;padding-bottom:40px}
.svc-table-wrap{padding-bottom:40px;-webkit-overflow-scrolling:touch}
.svc-table{min-width:0}
.svc-table thead{display:none}
.svc-table tr{display:flex;flex-direction:column;border-bottom:1px solid #eaeaea;padding:16px 0}
.svc-table td{display:block;padding:2px 0;border:none;font-size:14px;line-height:1.7}
.svc-table td.svc-name{font-size:16px;font-weight:500;margin-bottom:4px}
.svc-table td:last-child{color:#cc8100;font-size:15px;margin-top:4px}
.svc-table td:nth-child(2):before{content:"Duration: ";font-weight:500;color:#776e67}
.svc-table td:nth-child(3):before{content:"Includes: ";font-weight:500;color:#776e67}
.cookie-bar{padding:20px 25px}
.cookie-bar-inner{flex-direction:column;gap:16px;align-items:stretch}
.cookie-actions{flex-wrap:wrap;justify-content:center}
.block-line{height:60px}
}

@media screen and (max-width:575px){
.stile-titolo-principale{font-size:40px}
.h1-style,.stile-titolo-secondario,h1{font-size:30px}
.h2-style,.h3-style,.stile-titoletto-24,.stile-titoletto-32,h2,h3{font-size:24px}
.h4-style,h4{font-size:32px}
.banner-inner__container{padding:0 32px}
.services-card-grid{grid-template-columns:1fr}
.staff-row{grid-template-columns:repeat(2,1fr);gap:12px}
.collage-grid{grid-template-columns:1fr;grid-template-rows:auto}
.collage-item{height:200px}
.collage-tall,.collage-wide,.collage-square{grid-column:span 1;grid-row:span 1}
.faq-q{font-size:16px}
}

/* === INNER PAGES === */
.page-content-area{padding-top:calc(var(--height-header) + 60px);padding-bottom:100px}
.page-content-area .page-inner{max-width:820px;margin:0 auto;padding:0 67px}
.page-content-area h1{margin-bottom:40px}
.page-content-area h2{margin-top:40px;margin-bottom:16px}
.page-content-area p{color:#4f4f4f;margin-bottom:16px}
.page-content-area p:last-child{margin-bottom:0}
.page-content-area ul{margin:0 0 16px 24px;list-style:disc}
.page-content-area ul li{font-family:Montserrat,Arial,Helvetica,sans-serif;font-size:16px;font-weight:400;line-height:2;color:#4f4f4f}
.page-content-area a{color:#cc8100;text-decoration:underline}
.page-content-area .last-upd{font-size:13px;color:#776e67;margin-top:40px}
@media screen and (max-width:991px){
.page-content-area .page-inner{padding:0 25px}
.page-content-area{padding-top:calc(var(--height-header) + 40px);padding-bottom:60px}
}

/* === SERVICE PAGES === */
.svc-hero .block-content{height:50svh;min-height:380px}
.svc-page-inner{max-width:960px}

.svc-photo-row{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin:40px 0}
.svc-photo-row--two{grid-template-columns:repeat(2,1fr)}
.svc-photo{overflow:hidden;border-radius:4px;height:260px}
.svc-photo .comp-media,.svc-photo .comp-media .image-container{height:100%}
.svc-photo img{height:100%;width:100%;-o-object-fit:cover;object-fit:cover}

.svc-cta-box{margin-top:50px;padding:32px 40px;background:rgba(204,198,191,0.12);border-radius:8px}
.svc-cta-box p{color:#1e1e1e;margin-bottom:0}
.svc-cta-box .svc-book-trigger,.page-content-area .svc-book-trigger{color:#000!important;text-decoration:none!important;margin-top:20px}
.svc-book-trigger{cursor:pointer}
.card-book-btn{min-width:100px!important;min-height:42px!important;font-size:13px!important;color:#fff!important;border-color:rgba(255,255,255,.6)!important}
.card-book-btn:hover{background:rgba(255,255,255,.15)!important;color:#fff!important}

/* === CONTACT PAGE === */
.contact-page-inner{max-width:1100px}
.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:80px}
.contact-detail-block{margin-bottom:24px}
.contact-label{font-size:12px;font-weight:600;text-transform:uppercase;color:#776e67;letter-spacing:.5px;margin-bottom:2px;line-height:1.6}
.contact-detail-block p{margin-bottom:0}
.contact-detail-block a{color:#cc8100;text-decoration:underline}

.hours-table-wrap{margin:16px 0 8px}
.hours-table{width:100%}
.hours-table td{font-family:Montserrat,Arial,Helvetica,sans-serif;font-size:15px;font-weight:400;line-height:30px;color:#4f4f4f;padding:6px 16px 6px 0;border-bottom:1px solid #eaeaea}
.hours-table td:last-child{text-align:right;font-weight:500;color:#1e1e1e}
.hours-note{font-size:13px;color:#776e67;margin-top:8px}

/* form */
.form-field{margin-bottom:20px}
.form-field label{display:block;font-family:Montserrat,Arial,Helvetica,sans-serif;font-size:13px;font-weight:500;color:#4f4f4f;margin-bottom:6px}
.form-field input,.form-field textarea{width:100%;font-family:Montserrat,Arial,Helvetica,sans-serif;font-size:15px;font-weight:400;line-height:1.6;color:#1e1e1e;background:#f7f5f3;border:1px solid #eaeaea;border-radius:6px;padding:14px 16px;transition:border-color .3s ease;outline:none;box-sizing:border-box}
.form-field input:focus,.form-field textarea:focus{border-color:#cc8100}
.form-field.has-error input,.form-field.has-error textarea{border-color:#c0392b}
.field-error{display:block;font-size:12px;color:#c0392b;margin-top:4px;min-height:16px}
.form-field textarea{resize:vertical;min-height:120px}

.contact-loading{flex-direction:column;align-items:center;justify-content:center;padding:60px 0;gap:20px}
.loading-spinner{width:36px;height:36px;border:3px solid #eaeaea;border-top-color:#cc8100;border-radius:50%;animation:spin .8s linear infinite}
@keyframes spin{to{transform:rotate(360deg)}}
.contact-loading p{font-size:15px;color:#776e67}

.contact-success{flex-direction:column;align-items:center;justify-content:center;padding:50px 0;gap:12px;text-align:center}
.success-icon{width:56px;height:56px;border-radius:50%;background:#cc8100;color:#fff;font-size:28px;display:flex;align-items:center;justify-content:center;margin-bottom:8px}
.contact-success h3{font-size:24px;font-weight:300;color:#1e1e1e}
.contact-success p{color:#4f4f4f;max-width:400px}
.contact-success a{color:#cc8100;text-decoration:underline}

/* map */
.map-embed{margin:24px 0 0;overflow:hidden;border-radius:8px}
.map-embed iframe{display:block}

/* === GIFT CARD PAGE === */
.gc-intro-row{display:grid;grid-template-columns:1fr 1fr;gap:50px;align-items:start;margin-bottom:20px}
.gc-photo-col{overflow:hidden;border-radius:4px}
.gc-photo-col .comp-media .image-container{height:100%}
.gc-photo-col img{height:100%;width:100%;-o-object-fit:cover;object-fit:cover;max-height:440px}

/* === SERVICE PAGES RESPONSIVE === */
@media screen and (max-width:991px){
.svc-photo-row{grid-template-columns:1fr;gap:12px;margin:24px 0}
.svc-photo{height:200px}
.svc-cta-box{padding:24px 20px}
.contact-grid{grid-template-columns:1fr;gap:40px}
.gc-intro-row{grid-template-columns:1fr;gap:24px}
.gc-photo-col img{max-height:300px}
}
@media screen and (max-width:575px){
.svc-hero .block-content{height:40svh;min-height:280px}
.svc-photo-row--two{grid-template-columns:1fr}
}

/* === HEADER BOOK BTN === */
.header-book-btn{margin-left:20px;min-width:140px!important;min-height:42px!important;font-size:13px!important;font-weight:600}

/* === BOOKING POPUP === */
.booking-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background:rgba(30,30,30,.55);z-index:10000;opacity:0;pointer-events:none;transition:opacity .3s ease;display:flex;align-items:center;justify-content:center}
.booking-overlay.is-visible{opacity:1;pointer-events:auto}
.booking-modal{background:#fff;border-radius:12px;max-width:480px;width:90%;max-height:90vh;overflow-y:auto;padding:48px 40px 40px;position:relative;transform:translateY(20px);transition:transform .3s ease}
.booking-overlay.is-visible .booking-modal{transform:translateY(0)}
.booking-modal-close{position:absolute;top:16px;right:20px;background:none;border:none;cursor:pointer;font-size:28px;line-height:1;color:#776e67;font-family:Montserrat,Arial,Helvetica,sans-serif;font-weight:300;padding:0}
.booking-modal-close:hover{color:#1e1e1e}
.booking-modal h2{font-size:26px;font-weight:300;margin-bottom:8px}
.booking-modal .bk-subtitle{font-size:14px;color:#776e67;margin-bottom:28px;line-height:1.6}
.booking-modal .form-field{margin-bottom:18px}
.booking-modal .form-field label{display:block;font-size:13px;font-weight:500;color:#4f4f4f;margin-bottom:5px}
.booking-modal .form-field input,.booking-modal .form-field select{width:100%;font-family:Montserrat,Arial,Helvetica,sans-serif;font-size:15px;font-weight:400;line-height:1.6;color:#1e1e1e;background:#f7f5f3;border:1px solid #eaeaea;border-radius:6px;padding:12px 14px;transition:border-color .3s ease;outline:none;box-sizing:border-box;-webkit-appearance:none;-moz-appearance:none;appearance:none}
.booking-modal .form-field input:focus,.booking-modal .form-field select:focus{border-color:#cc8100}
.booking-modal .form-field.has-error input,.booking-modal .form-field.has-error select{border-color:#c0392b}
.booking-modal .field-error{display:block;font-size:11px;color:#c0392b;margin-top:3px;min-height:14px}
.booking-modal .form-row-2{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.bk-submit-btn{width:100%;margin-top:6px}

.bk-loading{flex-direction:column;align-items:center;justify-content:center;padding:60px 0;gap:18px;display:none}
.bk-loading.is-active{display:flex}
.bk-loading .loading-spinner{width:32px;height:32px;border:3px solid #eaeaea;border-top-color:#cc8100;border-radius:50%;animation:spin .8s linear infinite}
.bk-loading p{font-size:14px;color:#776e67}

.bk-success{flex-direction:column;align-items:center;justify-content:center;padding:50px 0;gap:10px;text-align:center;display:none}
.bk-success.is-active{display:flex}
.bk-success .success-icon{width:52px;height:52px;border-radius:50%;background:#cc8100;color:#fff;font-size:26px;display:flex;align-items:center;justify-content:center;margin-bottom:6px}
.bk-success h3{font-size:22px;font-weight:300;color:#1e1e1e}
.bk-success p{color:#4f4f4f;font-size:14px;line-height:1.7;max-width:340px}

@media screen and (max-width:991px){
.header-book-btn{display:none}
.booking-modal{padding:36px 24px 28px}
.booking-modal .form-row-2{grid-template-columns:1fr}
}
