/* ---------- contact: the enquiry form (round 16) ---------- */
.enq{display:grid;gap:clamp(2.5rem,1.5rem + 4vw,5rem);padding:var(--band) var(--g);--err:#FF8F7E}
.enq__side{display:grid;gap:1.3rem;align-content:start}
.enq .h2{font-size:clamp(2.8rem,1.6rem + 4.2vw,5.6rem);max-width:9ch}
.enq__cap{padding-top:1.6rem;border-top:1px solid var(--line)}
.enq__steps{display:grid;gap:1.1rem}
.enq__steps li{display:grid;grid-template-columns:2.2rem 1fr;align-items:baseline}
.enq__steps span{font:500 .75rem/1 var(--mono);color:var(--acc-t)}
.enq__steps b{font-weight:600}
.enq__steps p,.enq__mail .mute{color:var(--mute);font-size:.95rem;line-height:1.45}
.enq__mail{display:grid;gap:.45rem;padding-top:1.6rem;border-top:1px solid var(--line)}
.enq__mail a{justify-self:start;display:inline-flex;align-items:center;min-height:2.75rem;font-weight:500;overflow-wrap:anywhere;text-underline-offset:.2em;transition:color .25s}
.enq__mail a:hover{color:var(--acc-t)}

/* round 19: the photo opens the block beside the heading, built like the hero: frame to the right screen edge,
   Elena at that edge, the wall dissolves into the black on smoothstep stops (left, top, bottom) */
.enq__top{position:relative;display:grid;align-content:center;margin:0 calc(-1*var(--g));padding:clamp(2.5rem,4vw,4rem) var(--g);min-height:min(70vh,clamp(520px,40vw,620px))}
.enq__fr{position:absolute;top:-90px;bottom:-60px;right:0;width:56%;overflow:hidden}
.enq__ph{display:block;width:100%;height:100%;object-fit:cover;object-position:100% 0%;filter:contrast(1.04);transform:scale(1.04);transform-origin:0 30%}
.enq__fr::before{content:"";position:absolute;z-index:1;inset:-1px;pointer-events:none;background:linear-gradient(90deg,rgba(11,11,11,1.000) 0.0%,rgba(11,11,11,0.985) 4.1%,rgba(11,11,11,0.945) 8.3%,rgba(11,11,11,0.882) 12.4%,rgba(11,11,11,0.802) 16.6%,rgba(11,11,11,0.708) 20.7%,rgba(11,11,11,0.606) 24.9%,rgba(11,11,11,0.500) 29.0%,rgba(11,11,11,0.394) 33.1%,rgba(11,11,11,0.292) 37.3%,rgba(11,11,11,0.198) 41.4%,rgba(11,11,11,0.118) 45.6%,rgba(11,11,11,0.055) 49.7%,rgba(11,11,11,0.015) 53.9%,rgba(11,11,11,0.000) 58.0%),linear-gradient(180deg,rgba(11,11,11,1.000) 0.0%,rgba(11,11,11,0.985) 2.1%,rgba(11,11,11,0.945) 4.3%,rgba(11,11,11,0.882) 6.4%,rgba(11,11,11,0.802) 8.6%,rgba(11,11,11,0.708) 10.7%,rgba(11,11,11,0.606) 12.9%,rgba(11,11,11,0.500) 15.0%,rgba(11,11,11,0.394) 17.1%,rgba(11,11,11,0.292) 19.3%,rgba(11,11,11,0.198) 21.4%,rgba(11,11,11,0.118) 23.6%,rgba(11,11,11,0.055) 25.7%,rgba(11,11,11,0.015) 27.9%,rgba(11,11,11,0.000) 30.0%),linear-gradient(0deg,rgba(11,11,11,1.000) 0.0%,rgba(11,11,11,0.985) 2.3%,rgba(11,11,11,0.945) 4.6%,rgba(11,11,11,0.882) 6.9%,rgba(11,11,11,0.802) 9.1%,rgba(11,11,11,0.708) 11.4%,rgba(11,11,11,0.606) 13.7%,rgba(11,11,11,0.500) 16.0%,rgba(11,11,11,0.394) 18.3%,rgba(11,11,11,0.292) 20.6%,rgba(11,11,11,0.198) 22.9%,rgba(11,11,11,0.118) 25.1%,rgba(11,11,11,0.055) 27.4%,rgba(11,11,11,0.015) 29.7%,rgba(11,11,11,0.000) 32.0%)}
.enq__head{position:relative;z-index:2;display:grid;gap:1.3rem;max-width:44%}
@media (max-width:760px){
  .enq__top{min-height:0;padding:0;margin-top:calc(-1*var(--band));grid-template-rows:1fr auto auto auto}
  .enq__fr{position:relative;top:0;bottom:auto;grid-area:1/1/4/2;width:auto;min-height:min(65svh,620px)}
  .enq__ph{position:absolute;inset:0;object-position:100% 26%;transform:none}
  .enq__fr::before{background:linear-gradient(90deg,rgba(11,11,11,0.900) 0.0%,rgba(11,11,11,0.887) 2.4%,rgba(11,11,11,0.850) 4.9%,rgba(11,11,11,0.794) 7.3%,rgba(11,11,11,0.722) 9.7%,rgba(11,11,11,0.638) 12.1%,rgba(11,11,11,0.546) 14.6%,rgba(11,11,11,0.450) 17.0%,rgba(11,11,11,0.354) 19.4%,rgba(11,11,11,0.262) 21.9%,rgba(11,11,11,0.178) 24.3%,rgba(11,11,11,0.106) 26.7%,rgba(11,11,11,0.050) 29.1%,rgba(11,11,11,0.013) 31.6%,rgba(11,11,11,0.000) 34.0%),linear-gradient(180deg,rgba(11,11,11,0.850) 0.0%,rgba(11,11,11,0.838) 0.9%,rgba(11,11,11,0.803) 1.7%,rgba(11,11,11,0.750) 2.6%,rgba(11,11,11,0.681) 3.4%,rgba(11,11,11,0.602) 4.3%,rgba(11,11,11,0.515) 5.1%,rgba(11,11,11,0.425) 6.0%,rgba(11,11,11,0.335) 6.9%,rgba(11,11,11,0.248) 7.7%,rgba(11,11,11,0.169) 8.6%,rgba(11,11,11,0.100) 9.4%,rgba(11,11,11,0.047) 10.3%,rgba(11,11,11,0.012) 11.1%,rgba(11,11,11,0.000) 12.0%),linear-gradient(0deg,rgba(11,11,11,1.000) 0.0%,rgba(11,11,11,0.985) 4.1%,rgba(11,11,11,0.945) 8.3%,rgba(11,11,11,0.882) 12.4%,rgba(11,11,11,0.802) 16.6%,rgba(11,11,11,0.708) 20.7%,rgba(11,11,11,0.606) 24.9%,rgba(11,11,11,0.500) 29.0%,rgba(11,11,11,0.394) 33.1%,rgba(11,11,11,0.292) 37.3%,rgba(11,11,11,0.198) 41.4%,rgba(11,11,11,0.118) 45.6%,rgba(11,11,11,0.055) 49.7%,rgba(11,11,11,0.015) 53.9%,rgba(11,11,11,0.000) 58.0%)}
  .enq__head{display:contents}
  .enq__head>*{grid-column:1;position:relative;z-index:2;margin-inline:var(--g)}
  .enq__head>.lbl{grid-row:2;margin-bottom:1.3rem}
  .enq__head>.h2{grid-row:3;padding-bottom:.6rem}
  .enq__head>.lead{grid-row:4;margin-top:1.3rem}
  .enq__head>.enq__inv{grid-row:5;margin-top:1.8rem}
  .enq__side{order:2}
}

/* round 22: home keeps only the invite; the form lives on contact.html */
.enq__inv{display:grid;gap:1rem;justify-items:start;margin-top:.6rem}
.enq__inv .mute{font-size:.95rem;line-height:1.45}
.enq__inv .mute a{color:var(--ink);overflow-wrap:anywhere;text-underline-offset:.2em;transition:color .25s}
.enq__inv .mute a:hover{color:var(--acc-t)}

.enq__form{display:grid;gap:clamp(2.2rem,1.6rem + 1.5vw,3.2rem);align-content:start;min-width:0}
.enq__set{border:0;margin:0;padding:0;min-width:0;display:grid;gap:1.1rem}
.enq__set>legend{padding:0;margin-bottom:1.1rem;color:var(--mute)}
.enq__honey{position:absolute;left:-9999px;width:1px;height:1px;opacity:0}

/* what you need: two choice cards */
.enq__cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,15rem),1fr));gap:.9rem}
.enq__card{position:relative;display:grid;gap:.55rem;align-content:start;padding:1.2rem 3rem 1.3rem 1.2rem;border:1px solid var(--line);background:var(--bg-2);cursor:pointer;transition:border-color .3s var(--ease),background-color .3s var(--ease)}
.enq__card input,.enq__pill input{position:absolute;opacity:0;width:1px;height:1px;margin:0}
.enq__card::after{content:"";position:absolute;top:1.2rem;right:1.2rem;width:.9rem;height:.9rem;border-radius:50%;border:1px solid var(--mute);transition:background-color .3s,border-color .3s,transform .3s var(--ease)}
.enq__card:hover{border-color:color-mix(in srgb,var(--ink) 40%,transparent)}
.enq__card:has(input:checked){border-color:var(--accent);background:var(--bg-3)}
.enq__card:has(input:checked)::after{background:var(--accent);border-color:var(--accent);transform:scale(1.1)}
.enq__card:has(:focus-visible),.enq__pill:has(:focus-visible){outline:2px solid var(--acc-t);outline-offset:3px}
.enq__k{font:500 .68rem/1.3 var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--mute)}
.enq__card b{font:850 clamp(1.5rem,1.2rem + .8vw,2rem)/1 var(--disp);text-transform:uppercase}
.enq__d{color:var(--mute);font-size:.95rem;line-height:1.45}

/* fields: square, never a pill */
.enq__grid{display:grid;gap:1.1rem 1rem}
@media (min-width:600px){.enq__grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
.enq__f{display:grid;gap:.5rem;align-content:start;min-width:0}
.enq__f--wide{grid-column:1/-1}
.enq__f label,.enq__langs legend{font-size:.95rem}
.enq input:not([type=radio],[type=checkbox]),.enq textarea{width:100%;min-height:3rem;padding:.75rem .9rem;font:400 1rem/1.4 var(--sans);color:var(--ink);background:var(--bg-2);border:1px solid var(--line);border-radius:0;transition:border-color .25s,background-color .25s}
.enq textarea{min-height:6.5rem;resize:vertical}
.enq ::placeholder{color:color-mix(in srgb,var(--mute) 85%,transparent)}
.enq input:not([type=radio],[type=checkbox]):focus,.enq textarea:focus{outline:0;border-color:var(--accent);background:var(--bg-3)}
.enq [aria-invalid=true]{border-color:var(--err)!important}
.enq__err{color:var(--err);font-size:.88rem;line-height:1.35}

/* reply language: the one pill control, as in Elena's layout */
.enq__langs{border:0;margin:.4rem 0 0;padding:0;display:flex;flex-wrap:wrap;gap:.6rem}
.enq__langs legend{padding:0;margin-bottom:.6rem}
.enq__pill{position:relative;cursor:pointer}
.enq__pill span{display:inline-flex;align-items:center;min-height:2.75rem;padding:0 1.1rem;border:1px solid var(--line);border-radius:999px;font-weight:500;transition:background-color .25s,color .25s,border-color .25s}
.enq__pill:hover span{border-color:var(--ink)}
.enq__pill input:checked+span{background:var(--accent);border-color:var(--accent);color:var(--on-accent)}

/* payment strip: only with Brand Catalyst */
.enq__pay{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,11rem),1fr));gap:1rem 1.5rem;padding:1.2rem 1.3rem;background:var(--bg-2)}
.enq__pay p{font-size:.98rem;line-height:1.45}
.enq__pay .lbl{display:block;margin-bottom:.4rem}
.enq__pay b{color:var(--ink);font-weight:600}
.enq__form:has(input[name=need][value=Project]:checked) .enq__pay{display:none}

.enq__end{display:grid;gap:1.1rem;padding-top:1.8rem;border-top:1px solid var(--line)}
.enq__agree{display:flex;gap:.8rem;align-items:flex-start;cursor:pointer;line-height:1.45}
.enq__agree input{flex:none;width:1.4rem;height:1.4rem;margin:.05rem 0 0;accent-color:var(--accent)}
.enq__go{display:flex;flex-wrap:wrap;align-items:center;gap:.9rem 1.4rem}
.enq__go .btn{min-height:3.25rem;white-space:normal;text-align:left}
.enq__go p{font-size:.88rem}
.enq__b2,.enq__b3{display:none}
.enq__form:has(input[name=need][value=Project]:checked) .enq__b1{display:none}
.enq__form:has(input[name=need][value=Project]:checked) .enq__b2{display:inline}
.enq__form.is-sending .enq__b1,.enq__form.is-sending .enq__b2{display:none!important}
.enq__form.is-sending .enq__b3{display:inline}
.enq__form.is-sending .btn{opacity:.7;pointer-events:none}
.enq__fail{padding:1rem 1.2rem;border:1px solid var(--err);line-height:1.5}
.enq__fail a{color:var(--ink);font-weight:600;text-underline-offset:.2em}
.enq__ok{align-self:start;display:grid;gap:1.6rem;justify-items:start;outline:0}
.enq__ok[hidden]{display:none}
.enq__ok .h2{max-width:20ch;font-size:clamp(2rem,1.4rem + 2.2vw,3.6rem);line-height:1.05;color:var(--acc-t)}

@media (min-width:900px){
  .enq{grid-template-columns:minmax(0,4fr) minmax(0,7.5fr);column-gap:clamp(2.5rem,5vw,6.5rem)}
  .enq__top{grid-column:1/-1}
  .enq__ok{grid-column:2;grid-row:2}
}
