/* ==== inquire page ==== */

.inq-wrap{position:relative;z-index:1;max-width:720px;margin:0 auto;padding:clamp(140px,18vh,190px) clamp(20px,5vw,32px) clamp(90px,12vh,140px);display:flex;flex-direction:column;align-items:center}

/* ---- centered logo assembly ---- */
.inq-logo-mark{margin-bottom:clamp(28px,4vh,44px)}
.inq-logo-persp{perspective:1100px;transform-style:preserve-3d;position:relative}
.inq-scene{transform-style:preserve-3d}
.inq-float{position:relative;width:clamp(96px,14vw,146px);aspect-ratio:1/1;transform-style:preserve-3d;animation:inqFloat 7.5s 1.4s ease-in-out infinite}
.inq-piece{position:absolute;transform-origin:center center;will-change:transform,opacity}
.inq-o{animation:inqO .9s .1s cubic-bezier(.16,1,.3,1) both}
.inq-v{animation:inqV .95s .18s cubic-bezier(.16,1,.3,1) both}
.inq-a{animation:inqA 1.05s .24s cubic-bezier(.16,1,.3,1) both}
.inq-flash{position:absolute;top:44%;left:50%;width:112%;aspect-ratio:1;border-radius:50%;background:radial-gradient(circle, rgba(230,205,140,.5), rgba(198,166,103,.12) 45%, transparent 70%);opacity:0;z-index:0;animation:inqFlash 1.6s .06s ease-out forwards}
.inq-ring{position:absolute;top:44%;left:50%;width:72%;aspect-ratio:1;border-radius:50%;border:1px solid rgba(198,166,103,.6);opacity:0;z-index:0;animation:inqRing 1.7s .06s ease-out forwards}

@keyframes inqO{0%{opacity:0;transform:translate3d(0,-40vh,60px) rotateX(72deg) scale(1.22)}60%{opacity:1}100%{opacity:1;transform:translate3d(0,0,0) rotateX(0) scale(1)}}
@keyframes inqV{0%{opacity:0;transform:translate3d(-30vw,30vh,-40px) rotate(-22deg) scale(.7)}60%{opacity:1}100%{opacity:1;transform:translate3d(0,0,0) rotate(0) scale(1)}}
@keyframes inqA{0%{opacity:0;transform:translate3d(32vw,-6vh,150px) rotateX(180deg) rotateZ(22deg) scale(.6)}55%{opacity:1}86%{transform:translate3d(0,0,0) rotateX(-10deg) rotateZ(0deg) scale(1.04)}100%{opacity:1;transform:translate3d(0,0,0) rotateX(0deg) rotateZ(0deg) scale(1)}}
@keyframes inqFlash{0%,58%{opacity:0;transform:translate(-50%,-50%) scale(.35)}74%{opacity:.85;transform:translate(-50%,-50%) scale(1)}100%{opacity:0;transform:translate(-50%,-50%) scale(1.9)}}
@keyframes inqRing{0%,62%{opacity:0;transform:translate(-50%,-50%) scale(.5)}76%{opacity:.7}100%{opacity:0;transform:translate(-50%,-50%) scale(2.4)}}
@keyframes inqFloat{0%,100%{transform:translateY(0)}50%{transform:translateY(-8px)}}

/* ---- heading ---- */
.inq-head{text-align:center;margin-bottom:clamp(44px,6vh,64px)}
.inq-title{font-family:'Cormorant Garamond',serif;font-weight:400;font-size:clamp(38px,7vw,72px);line-height:1.02;margin-top:20px;opacity:0;animation:inqRise .9s .5s cubic-bezier(.16,1,.3,1) both}
.inq-title em{font-style:italic;color:var(--gold-bright)}
.inq-sub{max-width:460px;margin:22px auto 0;font-size:clamp(16px,1.6vw,18px);line-height:1.65;color:var(--muted);opacity:0;animation:inqRise .9s .65s cubic-bezier(.16,1,.3,1) both}
@keyframes inqRise{from{opacity:0;transform:translateY(22px)}to{opacity:1;transform:none}}

/* ---- form shell ---- */
.inq-form{width:100%;display:flex;flex-direction:column;gap:30px;opacity:0;animation:inqRise 1s .8s cubic-bezier(.16,1,.3,1) both}
.inq-row{display:grid;grid-template-columns:1fr;gap:30px}
@media (min-width:560px){.inq-row{grid-template-columns:1fr 1fr}}

/* ---- floating-label fields ---- */
.inq-field{position:relative}
.inq-field input[type="text"],
.inq-field input[type="email"],
.inq-field textarea{
  width:100%;background:transparent;border:0;border-bottom:1px solid var(--line);
  color:var(--paper);font-family:'Cormorant Garamond',serif;font-size:19px;line-height:1.4;
  padding:14px 2px 12px;outline:none;resize:none;transition:border-color .3s ease;
}
.inq-field textarea{font-size:17px;padding-top:6px}
.inq-field > label{
  position:absolute;left:2px;top:14px;font-family:'JetBrains Mono',monospace;font-size:12px;
  letter-spacing:.1em;text-transform:uppercase;color:var(--muted);pointer-events:none;
  transition:transform .22s cubic-bezier(.16,1,.3,1),color .22s ease;transform-origin:left top;
}
.inq-field-textarea{display:flex;flex-direction:column}
.inq-field-textarea > label{position:static;margin-bottom:14px;transform:none;pointer-events:auto}
.inq-field .inq-optional{text-transform:none;letter-spacing:0;opacity:.7}
.inq-field-line{position:absolute;left:0;bottom:0;height:1px;width:0;background:var(--gold);transition:width .35s cubic-bezier(.16,1,.3,1)}

.inq-field input[type="text"]:focus ~ .inq-field-line,
.inq-field input[type="email"]:focus ~ .inq-field-line,
.inq-field textarea:focus ~ .inq-field-line{width:100%}
.inq-field input[type="text"]:focus ~ label,
.inq-field input[type="text"]:not(:placeholder-shown) ~ label,
.inq-field input[type="email"]:focus ~ label,
.inq-field input[type="email"]:not(:placeholder-shown) ~ label,
.inq-field textarea:focus ~ label,
.inq-field textarea:not(:placeholder-shown) ~ label{
  transform:translateY(-22px) scale(.86);color:var(--gold-bright);
}
.inq-field input[type="text"]:focus,
.inq-field input[type="email"]:focus,
.inq-field textarea:focus{border-color:var(--gold)}

.inq-field.inq-invalid input,
.inq-field.inq-invalid textarea{border-color:#c65a5a}
.inq-error{margin-top:8px;font-family:'JetBrains Mono',monospace;font-size:11px;letter-spacing:.04em;color:#e08a8a}

.inq-label-static{font-family:'JetBrains Mono',monospace;font-size:12px;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);margin-bottom:14px}

/* ---- chip radio group ---- */
.inq-chips{display:flex;flex-wrap:wrap;gap:10px}
.inq-chips input{position:absolute;opacity:0;width:0;height:0}
.inq-chips label{
  position:static;transform:none;pointer-events:auto;text-transform:none;letter-spacing:.02em;
  cursor:pointer;font-family:'Cormorant Garamond',serif;font-size:15px;
  color:var(--paper);border:1px solid var(--line);border-radius:24px;padding:10px 18px;
  text-align:center;
  transition:border-color .25s ease,background .25s ease,color .25s ease;
}
.inq-chips input:checked + label{
  border-color:var(--gold);background:rgba(198,166,103,.12);color:var(--gold-bright);
}

@media (max-width:640px){
  .inq-chips{flex-direction:column;align-items:flex-start}
  .inq-chips label{width:auto}
}
.inq-chips input:focus-visible + label{outline:1px solid var(--gold);outline-offset:2px}

/* ---- submit ---- */
.inq-submit{
  position:relative;overflow:hidden;align-self:center;margin-top:8px;
  display:inline-flex;align-items:center;gap:12px;
  font-family:'JetBrains Mono',monospace;font-size:13px;letter-spacing:.14em;text-transform:uppercase;
  color:var(--bg);background:var(--gold);border:0;padding:18px 38px;border-radius:3px;cursor:pointer;
  transition:transform .25s cubic-bezier(.16,1,.3,1),box-shadow .25s ease;
}
.inq-submit:hover{transform:translateY(-2px);box-shadow:0 16px 34px -12px rgba(198,166,103,.5)}
.inq-submit:active{transform:translateY(0)}
.inq-submit-arrow{transition:transform .25s cubic-bezier(.16,1,.3,1)}
.inq-submit:hover .inq-submit-arrow{transform:translateX(4px)}
.inq-note{text-align:center;margin-top:14px;font-size:12px;color:var(--muted);opacity:.75}

/* ---- alt contact ---- */
.inq-alt{display:flex;align-items:center;gap:16px;margin-top:clamp(48px,7vh,72px);opacity:0;animation:inqRise .9s 1s cubic-bezier(.16,1,.3,1) both}
.inq-alt-rule{width:32px;height:1px;background:var(--line)}
.inq-alt a{font-family:'JetBrains Mono',monospace;font-size:12px;letter-spacing:.08em;color:var(--muted);text-decoration:none;transition:color .25s ease}
.inq-alt a:hover{color:var(--gold)}

@media (prefers-reduced-motion: reduce){
  .inq-o,.inq-v,.inq-a,.inq-flash,.inq-ring,.inq-title,.inq-sub,.inq-form,.inq-alt,.inq-float{
    animation-duration:.001s!important;opacity:1!important;transform:none!important;
  }
}
