@font-face{font-family:'Libre Baskerville';src:url('/wp-content/themes/mangione-group/site-assets/baskerville-latin.b0228809b027.woff2') format('woff2');font-display:swap;font-weight:400 700}
/* Shared footer and policy pages. All dimensions remain in normal reading flow. */
.global-footer{display:block!important;position:relative;margin:0;padding:48px clamp(24px,5vw,96px) 26px;background:#081426!important;color:#fff!important;border:0;border-top:3px solid #a58150;font-family:Arial,Helvetica,sans-serif;text-align:left;box-sizing:border-box}
.global-footer *{box-sizing:border-box}
.global-footer .footer-main{display:flex;justify-content:space-between;align-items:center;gap:36px;max-width:1600px;margin:auto}
.global-footer .footer-brand{display:flex;align-items:center;gap:20px;color:#fff;text-decoration:none;font:600 clamp(18px,1.7vw,26px)/1.25 Georgia,serif;letter-spacing:.015em}
.global-footer .footer-brand img{width:66px;height:50px;object-fit:contain;filter:grayscale(1) brightness(0) invert(1)}
.global-footer .footer-contact{display:flex;align-items:center;gap:32px}
.global-footer .footer-phone{font-size:21px;color:#fff;text-decoration:none;white-space:nowrap}
.global-footer .footer-book{display:inline-flex;align-items:center;justify-content:space-between;gap:35px;min-height:56px;padding:16px 22px;border:1px solid #ab8a5c;background:transparent;color:#fff;font:600 19px/1.3 Arial,sans-serif;text-decoration:none;transition:background .2s}
.global-footer .footer-book:hover{background:#172c46}
.global-footer .footer-bottom{display:flex;align-items:center;justify-content:space-between;gap:24px;margin:36px auto 0;padding-top:24px;border-top:1px solid #ffffff30;max-width:1600px}
.global-footer .footer-bottom p{margin:0!important;color:#d7dfe8!important;font:400 16px/1.6 Arial,sans-serif!important;max-width:none!important}
.global-footer .footer-links{display:flex;flex-wrap:wrap;gap:12px 24px;align-items:center}
.global-footer .footer-links a{font:400 15px/1.6 Arial,sans-serif;color:#d7dfe8;text-decoration:none;text-underline-offset:5px}
.global-footer a:hover{text-decoration:underline;text-underline-offset:5px}
.global-footer a:focus-visible{outline:2px solid #fff;outline-offset:6px}
.chapter>.global-footer{width:100%;margin-top:0}
.policy-page{margin:0;background:#fff;color:#081426;font:400 20px/1.65 Arial,Helvetica,sans-serif}
.policy-page *{box-sizing:border-box}
.policy-page a{color:inherit;text-underline-offset:4px}
.policy-page .legal-nav{max-width:1760px;min-height:86px;margin:12px auto 0;padding:18px 30px;background:#081426;display:flex;align-items:center;justify-content:space-between;gap:24px;color:#fff}
.policy-page .legal-brand{display:flex;align-items:center;gap:18px;font:600 22px/1.2 Georgia,serif;text-decoration:none}
.policy-page .legal-brand img{width:58px;height:44px;filter:grayscale(1) brightness(0) invert(1)}
.policy-page .legal-nav-links{display:flex;align-items:center;gap:30px;font-size:17px}
.policy-page .legal-nav-links a{text-decoration:none}
.policy-page .legal-book{border:1px solid #ffffff80;padding:12px 18px}
.legal-hero{max-width:1500px;margin:0 auto;padding:84px 48px 55px;border-bottom:1px solid #08142624}
.legal-eyebrow{margin:0 0 24px;font:600 13px/1.4 Arial,sans-serif;letter-spacing:.2em;text-transform:uppercase;color:#6b1114}
.legal-hero h1{font:400 clamp(46px,5.2vw,78px)/1.1 'Libre Baskerville',Georgia,serif;letter-spacing:-.055em;margin:0 0 28px}
.legal-hero .legal-intro{max-width:900px;font-size:clamp(23px,2.1vw,31px);line-height:1.4;margin:0 0 22px}
.legal-date{font-size:15px;margin:0;color:#506075}
.legal-layout{display:grid;grid-template-columns:280px minmax(0,1fr);gap:80px;max-width:1500px;padding:60px 48px 100px;margin:auto;align-items:start}
.legal-toc{position:sticky;top:26px;max-height:calc(100svh - 52px);overflow:auto;padding-right:14px;font-size:15px;line-height:1.45}
.legal-toc p{font-size:13px;letter-spacing:.15em;text-transform:uppercase;font-weight:700;margin:0 0 20px}
.legal-toc ol{list-style:decimal-leading-zero;padding-left:30px;margin:0}
.legal-toc li{padding:0 0 14px 6px;color:#79191c}
.legal-toc a{color:#34465b;text-decoration:none}
.legal-toc a:hover{color:#6b1114;text-decoration:underline}
.legal-copy{min-width:0;max-width:950px}
.legal-summary{font-size:23px;line-height:1.55;padding:0 0 34px;margin:0 0 40px;border-bottom:3px solid #081426}
.legal-section{scroll-margin-top:30px;margin-bottom:48px}
.legal-section h2{font:600 clamp(25px,2vw,31px)/1.25 Arial,sans-serif;letter-spacing:-.025em;margin:0 0 22px;color:#081426}
.legal-section h2 span{color:#7a181a;font:400 .72em/1.2 Georgia,serif;margin-right:14px}
.legal-section p{margin:0 0 20px;color:#172335;font-size:20px;line-height:1.7}
.legal-section ul{padding-left:24px;margin:0 0 24px}.legal-section li{margin-bottom:14px}
.legal-table-wrap{overflow-x:auto;margin:24px 0 30px;border:1px solid #ccd4dd}
.legal-table-wrap table{border-collapse:collapse;width:100%;min-width:560px;text-align:left;font:400 17px/1.55 Arial,sans-serif}
.legal-table-wrap th{background:#081426;color:#fff;font-weight:600;padding:16px;vertical-align:top}
.legal-table-wrap td{padding:16px;border-bottom:1px solid #d6dce3;vertical-align:top}
.legal-table-wrap tr:last-child td{border-bottom:0}
.legal-callout,.privacy-choice{padding:24px 28px;background:#edf2f7;border-left:3px solid #79191c;margin:24px 0}
.legal-callout p:last-child,.privacy-choice p:last-child{margin-bottom:0}
.legal-action{background:#edf2f7;padding:28px;border-left:3px solid #79191c;margin:24px 0}
.legal-action h3{margin:0 0 16px;font-size:24px;line-height:1.35}
.legal-action>a{display:inline-block;margin:0 20px 10px 0;font-size:18px;font-weight:600}
.contact-popup .booking-privacy{font:400 15px/1.5 Arial,sans-serif;color:#425067;margin:0 0 20px}
.legal-footer-note{border-top:1px solid #08142625;padding-top:24px;font-size:17px}
.policy-page .skip-link{position:absolute;left:12px;top:-80px;background:#fff;padding:12px;z-index:10}
.policy-page .skip-link:focus{top:12px}
.policy-page :focus-visible{outline:2px solid #6b1114;outline-offset:5px}
@media(max-width:1100px){.global-footer .footer-main{align-items:flex-start;flex-direction:column}.global-footer .footer-bottom{align-items:flex-start;flex-direction:column}.legal-layout{grid-template-columns:230px minmax(0,1fr);gap:36px;padding:44px 30px 70px}.legal-hero{padding:60px 30px 40px}}
@media(max-width:760px){.global-footer{padding:36px 24px 24px}.global-footer .footer-brand{gap:14px;font-size:19px}.global-footer .footer-brand img{width:50px}.global-footer .footer-contact{flex-wrap:wrap;gap:24px}.global-footer .footer-bottom{margin-top:30px}.global-footer .footer-links{gap:14px 20px}.legal-layout{display:block;padding:32px 24px 60px}.legal-toc{position:static;max-height:none;padding:0 0 28px;margin-bottom:36px;border-bottom:1px solid #c9d1db}.legal-toc ol{columns:2;column-gap:25px;font-size:14px}.legal-toc li{break-inside:avoid}.legal-hero{padding:46px 24px 32px}.legal-hero h1{font-size:46px}.legal-section p{font-size:19px;line-height:1.65}.policy-page .legal-nav{margin:0;padding:18px 20px;flex-wrap:wrap;gap:18px}.policy-page .legal-brand{font-size:18px;gap:12px}.policy-page .legal-brand img{width:44px;height:34px}.policy-page .legal-nav-links{width:100%;justify-content:space-between;font-size:16px}.legal-summary{font-size:22px}.legal-callout,.privacy-choice{padding:22px 20px}}
@media print{.legal-nav,.legal-toc,.global-footer,.contact-popup{display:none!important}.legal-layout{display:block;padding:20px}.legal-hero{padding:20px}.legal-section{break-inside:avoid}}
.global-footer .footer-bottom p,.global-footer .footer-links a,.legal-date,.legal-eyebrow,.legal-toc,.legal-toc p,.legal-toc ol,.contact-popup .booking-privacy{font-size:16px;line-height:1.55}
@media(max-width:500px){.legal-toc ol{columns:1}.legal-table-wrap table{min-width:0;font-size:18px}.legal-table-wrap thead{display:none}.legal-table-wrap tr{display:block;border-bottom:1px solid #ccd4dd;padding:14px 0}.legal-table-wrap td{display:block;border:0;padding:8px 16px}.legal-table-wrap td:first-child{font-weight:700;color:#081426}}
@media(max-width:500px){.legal-table-wrap thead{display:table-header-group;position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}.legal-table-wrap td::before{content:attr(data-label);display:block;color:#680f10;font-size:16px;font-weight:700;margin-bottom:4px}.legal-table-wrap tr:first-child{padding:0}}

/* The contact form lives in the browser's top layer, outside animated scenes. */
html.contact-popup-open,html.contact-popup-open body{overflow:hidden!important;overscroll-behavior:none}
html.contact-popup-open{scrollbar-gutter:stable}
.contact-popup{
 width:min(800px,calc(100% - 40px));max-width:none;
 max-height:calc(100vh - 48px);max-height:calc(100dvh - 48px);
 margin:auto;padding:0;border:1px solid #b08a57;border-radius:4px;
 background:#fff;color:#171717;box-shadow:0 28px 100px #0006;
 font-family:Arial,Helvetica,sans-serif;overflow:hidden;
}
.contact-popup:not([open]){display:none}
.contact-popup[open]{display:flex;flex-direction:column}
.contact-popup::backdrop{background:#000b;backdrop-filter:blur(4px)}
.contact-popup-header{
 display:flex;align-items:center;gap:20px;flex-shrink:0;
 padding:18px 24px 18px 28px;border-bottom:1px solid #b08a5755;
}
.contact-popup-header h2{font:700 32px/1.15 Arial,Helvetica,sans-serif;letter-spacing:-.025em;color:var(--navy);text-wrap:balance;outline:none}
.contact-popup-close{flex:0 0 44px;display:grid;place-items:center;width:44px;height:44px;margin-left:auto;border:1px solid #b08a57;border-radius:50%;background:transparent;color:var(--navy)}
.contact-popup-close:hover{background:#e6e8eb}
.contact-popup-body{min-height:0;overflow-y:auto;overscroll-behavior:contain;scroll-padding:24px;-webkit-overflow-scrolling:touch}
/* Visibility belongs to our dialog; the provider still manages frame height. */
.contact-popup-body iframe{display:block;width:100%;max-width:100%;background:#fff;position:relative!important;left:auto!important;visibility:visible!important;opacity:1!important;pointer-events:auto!important}
.booking-load-status{padding:24px 28px;margin:0;font:400 18px/1.5 Arial,Helvetica,sans-serif;color:#081426}
.booking-load-status[hidden]{display:none}
.booking-fallback{padding:16px 24px 24px;margin:0;font:400 16px/1.5 Arial,Helvetica,sans-serif;color:#42464b;text-align:center}
.booking-fallback a,.booking-load-status a{color:#680f10;text-decoration:underline;text-underline-offset:3px}
.site .contact-booking-panel{display:flex;flex-direction:column;gap:24px;align-self:center;padding:clamp(28px,4vw,64px)}
.site .contact-booking-panel h3{margin:0;font-size:clamp(30px,3vw,44px)}
.site .contact-booking-panel p{margin:0;font-size:clamp(20px,1.7vw,28px);line-height:1.5;color:#171717}
.site .contact-booking-panel .booking-cta{width:100%;min-height:60px;margin-top:12px;font-size:22px}
@media(max-width:620px){
 .contact-popup{width:calc(100% - 24px);max-height:calc(100vh - 24px);max-height:calc(100dvh - 24px - env(safe-area-inset-top) - env(safe-area-inset-bottom))}
 .contact-popup-header{padding:20px;gap:12px}
 .contact-popup-header h2{font-size:28px}
 }
@media(prefers-reduced-motion:no-preference){
 .contact-popup[open]{animation:contact-popup-reveal .18s ease-out}
 @keyframes contact-popup-reveal{from{opacity:0}to{opacity:1}}
}
@media print{.contact-popup{display:none!important}}
