/* Shared shell measured at 1200px; mobile evidence: reference/captured-mobile.
   Service component and locale tokens remain scoped in their own source CSS. */
:root{--site-ink:#181518;--site-gold:#b89e14;--site-purple:#38163c;--site-white:#fff;--site-header-main-gap:40px}
*{box-sizing:border-box}html{scroll-behavior:auto}body{margin:0;background:#fff;color:var(--site-ink)}
.site-header{padding:30px 30px var(--site-header-main-gap);font-family:poppins-v2,Poppins,Arial,sans-serif;position:relative;z-index:20}
.header-surface{height:115px;background:var(--site-ink);border-radius:20px;display:flex;align-items:flex-start;justify-content:space-between;padding:25px 17px 0 30px;gap:20px}
.site-header a,.site-footer a{color:inherit;text-decoration:none}.header-brand{font:400 23px/1.3 playfair-display-v2,"Playfair Display",Georgia,serif;letter-spacing:-.01em;color:#fff!important;width:280px;flex-shrink:0}
.desktop-nav{width:671px;max-width:calc(100% - 300px);margin-top:2px;color:#fff;font-size:17px;line-height:30px}
.site-header ul{list-style:none;margin:0;padding:0}.desktop-nav>ul{display:flex;justify-content:flex-end;align-items:flex-start;gap:0}.desktop-nav>ul>li>a,.nav-submenu>summary{padding:0 15px;display:block;white-space:nowrap}
.site-header a[aria-current="page"]{color:var(--site-gold)}.site-header a:hover,.site-header summary:hover{color:var(--site-gold)}
.nav-submenu{position:relative}.nav-submenu summary{list-style:none;cursor:pointer}.nav-submenu summary::-webkit-details-marker{display:none}.nav-submenu>summary::after{content:"";display:inline-block;border:solid currentColor;border-width:0 1px 1px 0;padding:3px;transform:rotate(45deg);margin:0 0 3px 9px}
.nav-submenu>ul{position:absolute;top:100%;left:0;min-width:240px;background:var(--site-ink);border-radius:15px;padding:14px;box-shadow:0 8px 20px #0002}.nav-submenu li a{display:block;padding:7px 10px;line-height:1.5;font-size:15px}.mobile-nav{display:none}
.service-page{margin-top:62px}.site-footer{padding:88px 30px 0;font-family:poppins-v2,Poppins,Arial,sans-serif;color:#fff}.footer-panels{display:grid;grid-template-columns:1fr 1fr 2fr;gap:30px;align-items:stretch}.footer-panels>div{min-width:0;min-height:302px;background:var(--site-ink);border-radius:20px;position:relative}
.footer-brand-panel{padding:60px 20px 30px}.footer-brand{display:block;width:239px;max-width:100%;font:400 33px/1.3 playfair-display-v2,"Playfair Display",Georgia,serif;letter-spacing:-.03em}.language-menu{position:relative;margin-top:31px;width:168px;font-size:13px;line-height:1.3;color:#181518;z-index:3}.language-menu summary{cursor:pointer;list-style:none;background:#eeeef4;border-radius:20px;padding:14px 16px;min-height:45px;display:flex;align-items:center;justify-content:space-between}.language-menu summary::-webkit-details-marker{display:none}.language-menu summary::after{content:"";border:solid currentColor;border-width:0 1px 1px 0;padding:3px;transform:rotate(45deg);margin-left:10px}.language-menu ul{position:absolute;bottom:100%;left:0;width:100%;list-style:none;margin:0;padding:5px;background:#eeeef4;border-radius:15px}.language-menu li a{display:block;padding:10px;border-radius:12px}.language-menu a:hover,.language-menu a[aria-current]{background:#fff;color:var(--site-gold)}
.footer-contact-panel{padding:78px 24px 30px;font-size:17px;line-height:1.5;letter-spacing:-.01em}.contact-email{font-family:Poppins,Arial,sans-serif;font-size:15px;font-weight:bold;line-height:46px;white-space:nowrap}.footer-location{margin:0 0 25px 9px}.footer-legal{display:block;margin-left:9px}
.footer-social-panel{padding:62px clamp(32px,6.9vw,100px) 30px}.social-links{display:flex;gap:10px;list-style:none;margin:0;padding:0}.social-links img{display:block;width:39px;height:39px}.copyright{font:400 14px/1.67 madefor-text,Poppins,Arial,sans-serif;margin:104px 0 0;max-width:359px}
.site-header :focus-visible,.site-footer :focus-visible{outline:2px solid var(--site-gold);outline-offset:4px}
.footer-divider,.language-chevron{display:none}
@media(max-width:1100px) and (min-width:761px){.header-brand{width:230px}.desktop-nav{font-size:15px;max-width:calc(100% - 240px)}.desktop-nav>ul>li>a,.nav-submenu>summary{padding-left:8px;padding-right:8px}.footer-panels{gap:20px}.footer-contact-panel{padding-left:15px;padding-right:15px}.contact-email{white-space:normal;overflow-wrap:anywhere}}
@media(max-width:760px){
.site-header{padding:4px 0 0;min-height:88.4px}.header-surface{height:91.4px;border-radius:0;padding:21px 40px 0;position:relative}.header-brand{font-size:19px;line-height:1.3;width:170px}.desktop-nav{display:none}.mobile-nav{display:block;color:#fff}.mobile-nav>summary{list-style:none;cursor:pointer;padding:7px;min-width:40px;min-height:40px}.mobile-nav>summary::-webkit-details-marker{display:none}.menu-icon{display:block;width:22px;height:16px;border-top:2px solid currentColor;border-bottom:2px solid currentColor;position:relative}.menu-icon::after{content:"";position:absolute;top:5px;left:0;right:0;border-top:2px solid currentColor}.mobile-nav>nav{position:absolute;top:91px;left:0;right:0;max-height:calc(100dvh - 95px);overflow-y:auto;background:var(--site-ink);padding:24px 32px 32px;box-shadow:0 16px 24px #0003}.mobile-nav a,.mobile-nav .nav-submenu>summary{display:block;padding:12px 8px;font-size:17px;line-height:1.5;white-space:normal}.mobile-nav .nav-submenu>ul{position:static;padding:4px 8px;box-shadow:none}.mobile-nav .nav-submenu li a{font-size:15px}.service-page{margin:87px 20px 0}.site-footer{padding:78px 0 0}.footer-panels{grid-template-columns:1fr;gap:4px}.footer-panels>div{border-radius:0;min-height:0}.footer-brand-panel{min-height:252px!important;padding:30px 40px 40px}.footer-brand{width:240px}.language-menu{margin-top:31px}.footer-contact-panel{min-height:203.5px!important;padding:12px 40px 67px;font-size:15px}.contact-email{font-size:15px;line-height:44px;white-space:normal}.footer-location{margin:0 0 35px 2px}.footer-legal{margin-left:0}.footer-social-panel{min-height:155px!important;padding:20px 40px 30px}.copyright{font:400 13px/1.8 poppins-v2,Poppins,Arial,sans-serif;margin:23px 0 0;max-width:240px}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto!important}*,*::before,*::after{scroll-behavior:auto!important;transition:none!important}}
/* Wix's outer document applies font smoothing; embedded service documents do not. */
.site-header,.site-footer,.ordinary-page,.dynamic-page{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}
/* Desktop shell fidelity. Source measurements and locale overflow inventory:
   reference/audit/shared-desktop-state.json. The mobile cascade above remains
   independent, including its original menu text and language-list ordering. */
@media(min-width:761px){
 .desktop-nav>ul>li{width:var(--nav-item-width);flex:0 0 var(--nav-item-width);text-align:center}
 .desktop-nav>ul>li>a,.desktop-nav .nav-submenu>summary{padding:0;text-align:center}
 .desktop-nav .nav-submenu>summary::after{display:none}
 .desktop-nav a{transition:color .4s ease}
 .desktop-nav a:hover{color:#ceff1c}
 .desktop-nav summary:hover{color:#fff}
 .desktop-nav .nav-submenu>ul{top:37px;left:auto;right:0;width:max-content;min-width:0;max-width:calc(100vw - 60px);padding:0;background:#000;border-radius:20px;box-shadow:none}
 .desktop-nav .nav-submenu>ul::before{content:"";position:absolute;left:0;right:0;top:-7px;height:7px}
 .desktop-nav .nav-submenu li a{padding:0 13.5px;font-size:17px;line-height:32px;text-align:center;white-space:nowrap}
 .footer-brand-panel{padding:60px 0 10px}
 .footer-panel-content{width:230px;margin-inline:auto}
 .footer-brand{max-width:none;line-height:42.90625px}
 .footer-contact-panel{padding:78px 0 81px}
 .footer-location{margin:0 0 0 13px}
 .footer-divider{display:block;width:210px;height:7px;margin:22px 0 17px 10px;border:0;border-top:1px solid #fff}
 .footer-legal{width:210px;margin-left:13px}
 .footer-social-panel{padding:62px 0 71px 83px}
 .copyright{width:359px;max-width:calc(100% - 1px);margin:106.40625px 0 0 1px;font-size:14px;line-height:23.40625px}
 .language-menu{height:45px;color:#000}
 .language-menu>summary{height:45px;min-height:45px;padding:0 14px;border:1px solid #d3d3da}
 .language-menu>summary:hover{background:#fff}
 .language-menu>summary::after{display:none}
 .language-chevron{display:block;width:11px;height:auto;fill:currentColor;flex:none}
 .language-menu[open]>summary{opacity:0;pointer-events:none}
 .language-menu>ul{top:0;bottom:auto;display:flex;flex-direction:column;padding:0;border:1px solid #d3d3da;border-radius:20px;overflow:hidden}
 .language-menu:not([open])>ul{display:none}
 .language-menu[data-direction="up"]>ul{top:auto;bottom:0;flex-direction:column-reverse}
 .language-menu li{height:43px;flex:none;position:relative}
 .language-menu li.language-current{order:-1}
 .language-menu li:not(.language-current)::before{content:"";position:absolute;left:0;right:0;top:0;border-top:1px solid #d3d3da;pointer-events:none}
 .language-menu[data-direction="up"] li::before{top:auto;bottom:0}
 .language-menu li a{height:100%;display:flex;align-items:center;justify-content:space-between;padding:0 14px;border-radius:0;color:#000}
 .language-menu li a:hover{color:#000;background:#fff}
 .language-menu li a[aria-current]{color:#ceff1c;background:#fff}
 .language-menu li a .language-chevron{transform:rotate(180deg)}
}
/* Source media queries/vw resolve against the former iframe's content width,
   now expressed through a native container, not the outer shell viewport. */
.service-viewport{container-type:inline-size;container-name:service-viewport}
/* Only service embeds had an extra 58px gap before the shared footer. */
body:has(>.ordinary-page)>.site-footer,body:has(>.dynamic-page)>.site-footer{padding-top:30px}
@media(max-width:760px){body:has(>.ordinary-page)>.site-footer,body:has(>.dynamic-page)>.site-footer{padding-top:0}}
@media(max-width:760px){.site-header{height:88.40625px;min-height:88.40625px}.service-page{margin-top:94px}}
/* The captured email iframe loads no font files: its declared Poppins falls
   back to Arial. Reproduce its measured 226.39px glyph width and 8px inset. */
.contact-email{display:block;height:46px;font-family:Arial,sans-serif;line-height:normal;padding:8px 0 0 8px}
@media(min-width:761px){.contact-email{margin-left:4px;letter-spacing:normal;-webkit-font-smoothing:auto;-moz-osx-font-smoothing:auto}}
@media(max-width:760px){.contact-email{height:44px;padding-left:2px}.footer-social-panel{padding-bottom:26px}.copyright{margin-top:23.40625px}.footer-panels{padding-bottom:4px}}
