/* Shared accessibility, plain-language policies and clear customer paths. */
[hidden]{display:none!important}
main:focus{outline:none}
:focus-visible{outline:3px solid currentColor;outline-offset:4px}
a,button,input,textarea,summary,select{scroll-margin-block:110px}
.explore-site{background:#11120f;color:#f5f2e7;padding:28px 0 35px}
.explore-grid{display:grid;grid-template-columns:1fr 1fr;gap:48px}
.explore-grid>a{border-top:1px solid #66665a;padding:20px 0 0;text-decoration:none}
.explore-grid>a>span{display:flex;align-items:center;justify-content:space-between;font-size:clamp(24px,2.8vw,38px);font-weight:600;letter-spacing:-.035em}
.explore-grid b{font-weight:400;color:#f0d477}
.explore-grid p{max-width:44ch;color:#d0cec0;font-size:15px;line-height:1.5;margin-top:8px}
.explore-grid a:hover>span{text-decoration:underline;text-underline-offset:5px}
.wide-nav{gap:clamp(18px,2.1vw,38px)}
.wide-nav a,.mast-contact{padding-block:14px}
.small-nav nav small{display:block;color:#d4d1bf;font-size:13px;margin-top:5px}
.small-nav nav{max-height:calc(100dvh - 70px);overflow-y:auto}
.preview-home{font-family:Arial,"Helvetica Neue",sans-serif;color:#f5f2e7}
.preview-inner .section-heading{margin-top:0}
.section-heading h1,.section-heading h2{letter-spacing:-.05em}
.instrument-top,.pkg-top,.planner>.mono,.qstep{font-family:Arial,sans-serif;text-transform:none;letter-spacing:0;font-size:13px}
.controls{font-family:Arial,sans-serif;font-size:13px;gap:10px}
.controls button,.controls select,.controls input[type=range]{min-height:44px}
.controls input[type=range]{min-width:110px}
.controls button,.controls select{border-color:#a08f77}
.contact-form{min-width:0}
.contact-form .form-intro{margin-bottom:18px;line-height:1.5}
.contact-form .optional{font-weight:400}
.contact-form .adult-check{display:flex;gap:12px;align-items:flex-start;margin-top:20px;font-size:14px;line-height:1.5;cursor:pointer;min-height:44px}
.contact-form .adult-check input[type=checkbox]{flex:0 0 21px;width:21px;height:21px;min-height:21px;margin:2px 0;accent-color:#392819;padding:0}
.enquiry-actions{display:flex;align-items:center;gap:12px;flex-wrap:wrap}
.contact-form .enquiry-actions .button{margin-bottom:2px}
.contact-form textarea,.contact-form input{font-size:16px}
.legal-footer{padding-block:16px 28px;font-size:13px;line-height:1.5}
.legal-footer nav{display:flex;gap:2px 22px;flex-wrap:wrap;border-top:1px solid #8d8066;padding-top:14px}
.legal-footer a,.legal-footer button{min-height:44px;display:inline-flex;align-items:center}
.legal-footer button{border:0;padding:0;background:transparent;color:inherit;text-decoration:underline;font:inherit;cursor:pointer}
.preview-footer{background:#11120f;color:#f5f2e7}
.preview-footer .end{flex-wrap:wrap;padding-top:20px;padding-bottom:14px;gap:12px 22px}
.preview-footer .end>a{min-height:44px;display:inline-flex;align-items:center}
.preview-footer .legal-footer{color:#d0cec0}
.preview-footer .legal-footer nav{border-color:#66665a}
.foot-inner nav{display:flex;flex-wrap:wrap;gap:16px}
.foot-inner nav a{min-height:44px;display:inline-flex;align-items:center}
.legal-page{background:#f5f1e5;color:#211d15}
.legal-layout{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:clamp(30px,6vw,90px)}
.legal-intro h1{font-size:clamp(37px,4.4vw,65px);line-height:1.06;letter-spacing:-.045em;overflow-wrap:normal}
.legal-intro p{max-width:40ch}
.legal-intro .policy-date{font-size:13px;color:#514a3a}
.legal-intro nav{display:grid;justify-items:start;margin-top:22px;gap:2px}
.legal-intro nav a{padding-block:10px;font-size:14px;min-height:44px}
.legal-copy{min-width:0;font-size:16px;line-height:1.65}
.legal-copy>section{border-top:1px solid #b3aa93;padding:22px 0 25px}
.legal-copy h2{font-size:25px;line-height:1.2;letter-spacing:-.03em;font-weight:600}
.legal-copy p{margin:12px 0 0;max-width:75ch}
.legal-copy .button{margin-top:16px;margin-right:8px}
.business-details{margin:12px 0 0;display:grid;grid-template-columns:1fr 1.3fr;gap:10px 18px}
.business-details dt{font-size:14px;color:#514a3a}
.business-details dd{margin:0;overflow-wrap:anywhere}
.cookie-notice{position:sticky;bottom:0;z-index:40;display:flex;align-items:center;justify-content:space-between;gap:25px;background:#f5f1e5;color:#211d15;border-top:2px solid #211d15;padding:18px clamp(22px,5.4vw,98px);font:14px/1.5 Arial,sans-serif}
.cookie-notice h2{font:600 20px/1.2 Arial,sans-serif;letter-spacing:-.025em;margin:0 0 6px}
.cookie-notice p{max-width:72ch;margin:0}
.cookie-actions{display:flex;gap:16px;align-items:center;flex-shrink:0}
.cookie-actions button{background:#211d15;color:#f5f1e5;border:1px solid #211d15;padding:11px 17px;min-height:44px;font:600 14px Arial,sans-serif;cursor:pointer}
.cookie-actions a{color:#211d15;padding-block:10px;min-height:44px}
.cookie-visible{scroll-padding-bottom:220px}
@media(max-width:900px){.legal-layout{grid-template-columns:1fr}.legal-intro nav{display:flex;flex-wrap:wrap;gap:0 20px}.cookie-notice{align-items:start;flex-direction:column;gap:12px;padding-block:15px}.cookie-notice p{font-size:13px}.cookie-actions{flex-wrap:wrap}.cookie-actions a{padding-inline:5px}}
@media(max-width:720px){.explore-grid{grid-template-columns:1fr;gap:20px}.explore-site{padding-top:10px;padding-bottom:28px}.explore-grid>a{padding-top:17px}.lab-layout{display:flex;flex-direction:column;align-items:stretch}.lab-list{order:-1}.lab-list .exp-tab{min-height:52px}.instrument{min-width:0}.legal-copy h2{font-size:23px}.preview-footer .end>.foot-brand{flex-basis:100%}.legal-footer nav{gap:0 18px}.business-details{grid-template-columns:1fr}.business-details dd{margin-bottom:8px}.legal-copy .button{font-size:14px}.cookie-notice{max-height:45dvh;overflow:auto}.enquiry-actions{gap:8px}}
@media(forced-colors:active){.turn-surface:focus-within,.compare:focus-within{outline:3px solid Highlight}.cookie-notice{border:2px solid CanvasText}}

.contact-form input:not(.trap):not([type=hidden]),.contact-form textarea{border-color:#8a744f}
