dialog.enquiry-sheet{position:fixed;inset:0;width:100%;max-width:none;height:100%;max-height:none;margin:0;padding:0;border:0;background:#f2f1f0;color:#292929;overflow:auto;overscroll-behavior:contain;box-sizing:border-box;z-index:10000}
/* Native email links must stay tappable, including in the shared footer. */
a[href^="mailto:"]{position:relative;pointer-events:auto;touch-action:manipulation;cursor:pointer}
.footer-contacts a[href^="mailto:"]{display:inline-flex;align-items:center;min-height:44px}
dialog.enquiry-sheet[open]{display:block}
.enquiry-sheet::backdrop{background:#f2f1f0}
.enquiry-wrap{width:min(100%,1000px);margin:0 auto;padding:36px 40px 80px;box-sizing:border-box;font-family:Arial,sans-serif}
.enquiry-sheet button{font:inherit;border:0;border-radius:999px;background:#e2e1e0;color:#222;padding:14px 25px;cursor:pointer;min-height:44px}
.enquiry-sheet .enquiry-close{display:block;margin-left:auto;font-size:18px}
.enquiry-sheet h2{font-size:20px;margin:40px 0 64px;letter-spacing:-.04em}
.enquiry-intro{font-size:clamp(23px,4.4vw,42px);line-height:1.08;letter-spacing:-.045em;max-width:880px;margin:0 0 76px}
.enquiry-sheet label{display:flex;flex-direction:column;font-size:clamp(16px,3vw,25px);gap:10px;font-weight:400;letter-spacing:-.03em}
.enquiry-sheet input,.enquiry-sheet select,.enquiry-sheet textarea{width:100%;box-sizing:border-box;min-width:0;border:0;border-bottom:1px solid #bbb;background:transparent;color:#292929;border-radius:0;font:inherit;padding:8px 0 13px;outline-offset:4px}
.enquiry-sheet label+label,.enquiry-phone{margin-top:34px}
.enquiry-phone{display:grid;grid-template-columns:125px 1fr;gap:20px;margin-bottom:34px}
.enquiry-phone label+label{margin-top:0}
.enquiry-sheet textarea{resize:vertical;line-height:1.4}
.enquiry-sheet .enquiry-next{margin-top:44px}
.enquiry-step[hidden]{display:none!important}
.enquiry-note{font-size:15px;line-height:1.5;margin:28px 0;color:#666;max-width:620px}
.enquiry-actions{display:flex;gap:15px;flex-wrap:wrap;margin-top:30px}
.enquiry-sheet :focus-visible{outline:2px solid currentColor;outline-offset:4px}
@media(max-width:600px){.enquiry-wrap{padding:24px 20px 60px}.enquiry-sheet h2{margin:28px 0 50px;font-size:16px}.enquiry-intro{margin-bottom:60px;font-size:25px}.enquiry-sheet .enquiry-close{font-size:16px;padding:10px 18px}.enquiry-phone{grid-template-columns:100px 1fr;gap:14px}.enquiry-sheet label{font-size:18px}}

/* Shared contact button dimensions. The page and menu mastheads are styled below. */
body .bottom-contact{
 display:flex!important;align-items:center!important;justify-content:center!important;
 width:44px!important;height:44px!important;min-width:44px;min-height:44px;
 padding:0!important;border-radius:50%!important;color:#fff!important;
 background:rgba(110,110,110,.28)!important;border:1px solid rgba(255,255,255,.2)!important;
 -webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);
 cursor:pointer;touch-action:manipulation;
}
body .header-contact svg,body .bottom-contact svg,body .menu-enquiry svg{
 width:25px!important;height:25px!important;fill:currentColor;pointer-events:none;
}

/* Nobel-style expandable contact bubble. */
body .contact-launcher .contact-launcher-icon{
 width:25px!important;height:25px!important;fill:none!important;stroke:currentColor;pointer-events:none;
}
body .contact-launcher.is-open{background:rgba(20,30,36,.72)!important}
.contact-options{
 position:fixed;z-index:10002;display:flex;flex-direction:column;gap:10px;
 opacity:0;visibility:hidden;pointer-events:none;transform:translateY(-6px);
 transition:opacity .2s ease,transform .2s ease,visibility .2s ease;
}
.contact-options.is-open{opacity:1;visibility:visible;pointer-events:auto;transform:none}
.contact-option{
 display:flex;align-items:center;justify-content:center;width:44px;height:44px;
 border:1px solid rgba(255,255,255,.24);border-radius:50%;
 color:#fff;background:rgba(125,125,125,.78);backdrop-filter:blur(10px);
 -webkit-backdrop-filter:blur(10px);box-shadow:0 2px 12px rgba(0,0,0,.16);
 transition:background .2s ease,transform .2s ease;
}
.contact-option:hover{background:rgba(155,155,155,.9);transform:scale(1.05)}
.contact-option:focus-visible{outline:2px solid #fff;outline-offset:4px}
.contact-option svg{width:24px;height:24px;fill:none;stroke:currentColor;pointer-events:none}
@media(prefers-reduced-motion:reduce){.contact-options,.contact-option{transition:none}}

/* One white masthead with soft-gray icon circles throughout the site. */
body{--masthead-height:90px;--masthead-gutter:4vw;--masthead-button-size:52px}
body>header,body .site-menu .menu-masthead{
 display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:15px;
 height:var(--masthead-height);box-sizing:border-box;
 padding:0 var(--masthead-gutter)!important;
 background:#fff!important;color:#111!important;
}
body>header{position:fixed!important;inset:0 0 auto!important;z-index:40}
body>header .brand{grid-column:2;grid-row:1;margin:0;justify-self:center}
body>header .brand img,body .site-menu .menu-logo img{width:260px!important;max-width:52vw!important;height:auto;filter:brightness(0)!important}
body>header .menu-toggle,body>header .header-contact,
body .site-menu .menu-close,body .site-menu .menu-enquiry{
 display:flex!important;align-items:center!important;justify-content:center!important;
 width:var(--masthead-button-size)!important;height:var(--masthead-button-size)!important;
 min-width:var(--masthead-button-size);min-height:var(--masthead-button-size);
 padding:0!important;border-radius:50%!important;
 background:#f1f1f1!important;color:#111!important;border:0!important;
 outline:0;outline-offset:4px;
 -webkit-backdrop-filter:none!important;backdrop-filter:none!important;
 cursor:pointer;touch-action:manipulation;
}
body>header .header-contact.is-open,body .site-menu .menu-enquiry.is-open{background:#e3e3e3!important;color:#111!important}
body>header .menu-toggle:focus-visible,body>header .header-contact:focus-visible,
body .site-menu .menu-enquiry:focus-visible{outline:2px solid #111;outline-offset:4px}
body .site-menu .menu-close:focus-visible{outline:0!important;outline-offset:0!important;background:#e3e3e3!important;box-shadow:none!important}
@media(max-width:700px){
 body{--masthead-height:82px;--masthead-gutter:20px;--masthead-button-size:44px}
 body>header .brand img,body .site-menu .menu-logo img{width:205px!important;max-width:min(51vw,calc(100vw - 168px))!important}
}
