html{scroll-snap-type:none;scroll-padding-top:calc(var(--nav-h) + 24px)}
body.eq-body{overflow-x:clip;background:var(--ivory)}
body.eq-body .site-header:not(.is-scrolled){background-color:var(--wine)}
body.eq-body .site-footer[data-reveal]{transform:none}

.eq{
  --line:rgba(43,12,9,.55);--rule:rgba(43,12,9,.16);--field:#fff;--accent:var(--wine2);--chipOn:var(--wine2);--chipOnFg:var(--ivory);--btn:var(--wine);--btnFg:var(--ivory);--error:#8c2318;
  --grain:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='220' height='220'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='3' stitchTiles='stitch'/><feColorMatrix values='0 0 0 0 0  0 0 0 0 0  0 0 0 0 0  0 0 0 .55 0'/></filter><rect width='100%' height='100%' filter='url(%23n)' opacity='.5'/></svg>");
  --panel-pad:clamp(22px,4vw,48px);
  position:relative;display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.4fr);background:var(--wine);color:var(--ink);letter-spacing:normal
}
.eq::before,.eq::after{content:"";grid-column:1;grid-row:1;pointer-events:none}
.eq::before{background:linear-gradient(170deg,var(--wine2),var(--wine) 70%) fixed}
.eq::after{background:var(--grain);mix-blend-mode:screen;opacity:.1}

.eq-side{grid-column:1;grid-row:1;z-index:1;align-self:start;display:flex;flex-direction:column;gap:48px}
.eq-head,.eq-sign{z-index:1;color:var(--ivory)}
.eq-head{padding:calc(var(--nav-h) + 56px) var(--panel-pad) 30px}
.eq-sign{margin-top:auto;padding:30px var(--panel-pad) 56px}
/* sticky only where the whole panel fits; measured worst case is ~702px tall */
@media (min-width:761px) and (min-height:743px){
  .eq-side{position:sticky;top:0;min-height:100vh}
}
.eq-logo{--w:min(210px,52vw);display:block;width:var(--w)}
.eq-logo i{display:block;background:#efe0c7}
.eq-logo .m{width:calc(var(--w)*.1766);aspect-ratio:132/199;margin:0 auto calc(var(--w)*.0734);-webkit-mask:url(/images/brand/header-mark.webp) center/contain no-repeat;mask:url(/images/brand/header-mark.webp) center/contain no-repeat}
.eq-logo .w{width:100%;aspect-ratio:720/255;-webkit-mask:url(/images/brand/logo-light.webp) center/contain no-repeat;mask:url(/images/brand/logo-light.webp) center/contain no-repeat}
.eq-head h1{font:400 clamp(30px,3.6vw,42px)/1 var(--serif);text-transform:uppercase;letter-spacing:-.02em;margin:26px 0 12px}
.eq-head p{margin:0;font-size:14px;line-height:1.75;opacity:.88}
.eq-tag{font:400 clamp(32px,3.6vw,44px)/1.1 var(--script);color:#ffd7f7;margin:0}
.eq-co{font:600 10.5px var(--sans);letter-spacing:.23em;text-transform:uppercase;color:var(--gold);margin:10px 0 0}

.eq-main{grid-column:2;grid-row:1;position:relative;background:var(--ivory);padding:calc(var(--nav-h) + 48px) clamp(20px,6vw,64px) 48px}
.eq-main::before{content:"";position:absolute;inset:0;background:var(--grain);mix-blend-mode:multiply;opacity:.35;pointer-events:none}
.eq-form{position:relative;max-width:640px}

.eq fieldset{border:0;margin:0 0 30px;padding:0;min-width:0}
.eq .sec>legend{display:flex;gap:12px;align-items:baseline;width:100%;padding:0 0 10px;margin-bottom:18px;border-bottom:1px solid var(--rule)}
.eq .sec>legend span{font:600 10.5px var(--sans);letter-spacing:.2em;text-transform:uppercase;color:var(--accent)}
.eq .sec>legend b{font:400 24px/1 var(--serif)}
.eq .grid{display:grid;grid-template-columns:1fr 1fr;gap:20px 24px}
.eq .full{grid-column:1/-1}
.eq .f{display:flex;flex-direction:column;gap:7px;min-width:0}
.eq .f>label,.eq .lbl{font:500 13px/1.4 var(--sans)}
.eq fieldset.f{display:block;margin:0}
.eq fieldset.f>legend{display:block;padding:0;margin:0 0 7px}
.eq .req{color:var(--accent)}
.eq .hint{font-size:12px;opacity:.7}
.eq .note{margin:0}
.eq input[type=text],.eq input[type=email],.eq input[type=tel],.eq select,.eq textarea{font:400 15px var(--sans);letter-spacing:normal;color:inherit;background:var(--field);border:1px solid var(--line);padding:11px 12px;width:100%;min-height:44px;border-radius:0;appearance:none}
.eq select{background-image:linear-gradient(45deg,transparent 50%,currentColor 50%),linear-gradient(135deg,currentColor 50%,transparent 50%);background-position:calc(100% - 18px) 50%,calc(100% - 13px) 50%;background-size:5px 5px;background-repeat:no-repeat;padding-right:34px}
.eq select option{color:#2a1a16}
.eq input::placeholder,.eq textarea::placeholder{color:rgba(42,26,22,.61);opacity:1}
.eq textarea{min-height:96px;resize:vertical;line-height:1.55}
.eq input:focus-visible,.eq select:focus-visible,.eq textarea:focus-visible,.eq .chip input:focus-visible+span,.eq .drop:focus-within{outline:2px solid var(--accent);outline-offset:1px}
.eq [aria-invalid=true]{border-color:var(--error)}
.eq .err{margin:0;font:500 12px/1.4 var(--sans);color:var(--error)}
.eq .err:empty{display:none}

.eq .choices{display:flex;flex-wrap:wrap;gap:8px}
.eq .chip{position:relative}
.eq .chip input{position:absolute;opacity:0;inset:0;margin:0;cursor:pointer}
.eq .chip span{display:inline-block;font:500 13px var(--sans);padding:9px 14px;border:1px solid var(--line);background:var(--field);cursor:pointer}
.eq .chip input:checked+span{background:var(--chipOn);color:var(--chipOnFg);border-color:var(--chipOn)}

.eq .ups{display:grid;grid-template-columns:1fr 1fr;column-gap:24px;row-gap:7px}
.eq .f.up{display:grid;grid-row:span 2;grid-template-rows:subgrid;gap:7px}
.eq .drop{position:relative;border:1px dashed var(--line);background:var(--field);padding:16px;text-align:center;font-size:13px;min-height:112px;display:flex;flex-direction:column;align-items:center;justify-content:center;cursor:pointer}
.eq .drop input{position:absolute;inset:0;width:100%;height:100%;opacity:0;cursor:pointer}
.eq .drop b{display:block;font:500 13.5px var(--sans);margin-bottom:3px}
.eq .drop .files{display:block;min-height:1.5em;margin-top:6px;font-size:12px;opacity:.8}

.eq .send{display:flex;flex-direction:column;align-items:center;gap:10px;margin-top:8px}
.eq .btn{font:600 11.5px var(--sans);letter-spacing:.22em;text-transform:uppercase;padding:16px 34px;border:0;cursor:pointer;background:var(--btn);color:var(--btnFg)}
.eq .btn:focus-visible{outline:2px solid var(--accent);outline-offset:3px}
.eq .status{margin:0;max-width:42ch;font-size:13px;line-height:1.6;text-align:center}
.eq .status:empty{display:none}

@media (max-width:760px){
  .eq{grid-template-columns:1fr;background:var(--ivory)}
  .eq::before,.eq::after{display:none}
  .eq-side{display:contents}
  .eq-head,.eq-sign,.eq-main{grid-column:1;grid-row:auto;position:relative}
  .eq-sign{order:1}
  .eq-head,.eq-sign{background:linear-gradient(170deg,var(--wine2),var(--wine) 70%)}
  .eq-head::after,.eq-sign::after{content:"";position:absolute;inset:0;background:var(--grain);mix-blend-mode:screen;opacity:.1;pointer-events:none}
  .eq-head{padding:calc(var(--nav-h) + 40px) var(--panel-pad) 40px}
  .eq-sign{padding:40px var(--panel-pad)}
  .eq-main{padding-top:48px}
  .eq .grid,.eq .ups{grid-template-columns:1fr}
  .eq .ups{display:flex;flex-direction:column;gap:20px}
  .eq .f.up{display:flex}
  .eq input[type=text],.eq input[type=email],.eq input[type=tel],.eq select,.eq textarea{font-size:16px}
  .eq .send{padding-bottom:16px}
}
@media (max-width:767px){
  .eq .chip span{display:inline-flex;align-items:center;min-height:44px}
}
/* below ~345px a centred SEND ENQUIRY would sit under the fixed WhatsApp button */
@media (max-width:359px){
  .eq .send{align-items:flex-start}
  .eq .status{text-align:left;padding-right:74px}
}
.eq .cf-turnstile{min-height:65px}
.eq .btn:disabled{cursor:progress;opacity:.6}
.eq .status.is-error{color:var(--error)}
