/* ============ THE VIP DECK — shared site chrome ============
   header · footer · enquiry overlay (shared by index & service) */

/* fixed header / scrolled state / nav / brand */
.site-header{position:fixed;inset:0 0 auto 0;z-index:50;display:flex;align-items:center;
  justify-content:space-between;padding:24px clamp(20px,5vw,56px);transition:.5s var(--ease);}
.site-header.scrolled{background:rgba(3,32,47,.9);backdrop-filter:blur(14px);
  padding-top:14px;padding-bottom:14px;border-bottom:1px solid var(--line-soft);}
.brand{display:flex;align-items:center;gap:13px;}
.brand img{width:46px;height:46px;}
.brand .wm{font-family:var(--f-display);text-transform:uppercase;letter-spacing:.24em;
  font-size:15px;color:#fff;white-space:nowrap;}
.nav{display:flex;align-items:center;gap:34px;}
.nav a{font-size:14px;letter-spacing:.05em;color:var(--mist);transition:color .3s;}
.nav a:hover{color:#fff;}
.nav .btn{padding:11px 22px;}
/* `.nav a` (0,1,1) outweighs `.btn-solid` (0,1,0), which would tint the solid
   Enquire button's label mist-grey on its white fill — invisible. Restore ink. */
.nav a.btn-solid,.nav a.btn-solid:hover{color:var(--ink);}
@media(max-width:760px){ .nav a:not(.btn){display:none;} }

/* footer */
.foot{background:var(--ink);border-top:1px solid var(--line-soft);padding:70px 0 38px;}
.foot-top{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:40px;}
.foot .brand img{width:52px;height:52px;}
.foot .blurb{margin-top:20px;color:var(--mist-dim);font-size:14px;max-width:300px;line-height:1.7;}
.foot h4{font-family:var(--f-display);text-transform:uppercase;letter-spacing:.2em;
  font-size:12px;color:#fff;margin-bottom:18px;}
.foot ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:11px;}
.foot ul a{font-size:14px;color:var(--mist-dim);transition:color .3s;}
.foot ul a:hover{color:var(--aqua);}
.foot-bottom{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:14px;
  margin-top:54px;padding-top:24px;border-top:1px solid var(--line-soft);
  font-size:12.5px;color:var(--mist-dim);letter-spacing:.04em;}
.foot-bottom .adm{color:var(--mist-dim);opacity:.55;transition:.3s;font-size:12px;letter-spacing:.14em;text-transform:uppercase;}
.foot-bottom .adm:hover{opacity:1;color:var(--aqua);}
@media(max-width:900px){ .foot-top{grid-template-columns:1fr 1fr;} }
@media(max-width:560px){ .foot-top{grid-template-columns:1fr;} }

/* ---------- enquiry overlay ---------- */
.enq-overlay{position:fixed;inset:0;z-index:100;display:grid;justify-items:center;align-items:start;
  padding:clamp(44px,8vh,96px) 24px 40px;background:rgba(2,24,37,.72);backdrop-filter:blur(10px);
  opacity:0;pointer-events:none;transition:opacity .45s var(--ease);}
.enq-overlay.open{opacity:1;pointer-events:auto;}
.enq-panel{position:relative;width:min(620px,100%);max-height:calc(100dvh - 132px);overflow:auto;
  background:linear-gradient(160deg,var(--navy-900),var(--ink));
  border:1px solid var(--line);border-radius:4px;padding:clamp(28px,4vw,48px);
  transform:translateY(22px);transition:transform .45s var(--ease);scrollbar-width:thin;}
.enq-overlay.open .enq-panel{transform:translateY(0);}
.enq-close{position:absolute;top:16px;right:16px;width:38px;height:38px;border:1px solid var(--line);
  background:transparent;color:var(--mist);font-size:15px;cursor:pointer;border-radius:2px;
  display:grid;place-items:center;transition:.3s;}
.enq-close:hover{border-color:#fff;color:#fff;}
.enq-head .eyebrow{margin-bottom:16px;}
.enq-head h3{font-family:var(--f-display);text-transform:uppercase;color:#fff;
  font-size:clamp(24px,3vw,34px);letter-spacing:.04em;}
.enq-head p{margin-top:12px;color:var(--mist-dim);font-size:14.5px;line-height:1.65;}

/* form fields (shared by overlay + embedded form) */
.enq-form{margin-top:28px;display:grid;grid-template-columns:1fr 1fr;gap:18px;}
.field{display:flex;flex-direction:column;gap:8px;}
.field.full{grid-column:1 / -1;}
.field label{font-family:var(--f-display);text-transform:uppercase;letter-spacing:.18em;
  font-size:10.5px;color:var(--aqua);}
.field input,.field select,.field textarea{
  font-family:var(--f-body);font-size:15px;color:#fff;background:rgba(255,255,255,.04);
  border:1px solid var(--line);border-radius:2px;padding:13px 14px;outline:none;
  transition:border-color .3s,background .3s;color-scheme:dark;width:100%;}
.field input::placeholder,.field textarea::placeholder{color:rgba(174,188,199,.55);}
.field input:focus,.field select:focus,.field textarea:focus{
  border-color:var(--blue-soft);background:rgba(255,255,255,.07);}
.field textarea{min-height:96px;resize:vertical;line-height:1.6;}
.field select option{background:var(--navy-900);color:#fff;}
.dates{display:grid;grid-template-columns:1fr 1fr;gap:10px;}
.enq-actions{grid-column:1 / -1;display:flex;align-items:center;gap:18px;margin-top:6px;flex-wrap:wrap;}
.enq-actions .note{font-size:12.5px;color:var(--mist-dim);letter-spacing:.03em;}
@media(max-width:560px){ .enq-form{grid-template-columns:1fr;} .dates{grid-template-columns:1fr;} }

/* service multi-pick chips (overlay + embedded form) */
.svc-picks{display:flex;flex-wrap:wrap;gap:10px;}
.svc-picks label{position:relative;display:inline-flex;align-items:center;gap:9px;cursor:pointer;
  font-family:var(--f-body);text-transform:none;font-size:13.5px;letter-spacing:.03em;color:var(--mist);
  background:rgba(255,255,255,.04);border:1px solid var(--line);border-radius:2px;
  padding:10px 14px;transition:border-color .3s,background .3s,color .3s;}
.svc-picks label::before{content:"";width:9px;height:10px;flex:0 0 auto;background:var(--line);
  clip-path:polygon(25% 0%,75% 0%,100% 50%,75% 100%,25% 100%,0% 50%);transition:background .3s;}
.svc-picks label:hover{border-color:var(--blue-soft);}
.svc-picks input{position:absolute;opacity:0;pointer-events:none;}
.svc-picks label:has(input:checked),
.svc-picks label.on{border-color:var(--blue-soft);
  background:rgba(23,101,172,.22);color:#fff;}
.svc-picks label:has(input:checked)::before,
.svc-picks label.on::before{background:var(--aqua);}
.pick-note{font-size:12px;color:var(--mist-dim);letter-spacing:.03em;}

/* success state */
.enq-done{display:none;text-align:center;padding:30px 8px 14px;}
.enq-done .hexmark{width:64px;height:60px;margin:0 auto 26px;display:grid;place-items:center;
  background:var(--blue);clip-path:polygon(25% 0%,75% 0%,100% 50%,75% 100%,25% 100%,0% 50%);
  color:#fff;font-size:22px;}
.enq-done h3{font-family:var(--f-display);text-transform:uppercase;color:#fff;
  font-size:26px;letter-spacing:.05em;}
.enq-done p{margin:16px auto 30px;color:var(--mist-dim);max-width:380px;font-size:15px;line-height:1.7;}
.enq-panel.sent .enq-form,.enq-panel.sent .enq-head{display:none;}
.enq-panel.sent .enq-done{display:block;}
