
/* ---------- Consultation form ---------- */
.form-shell{display:grid;grid-template-columns:.85fr 1.15fr;gap:clamp(36px,5vw,80px);align-items:start}
.form-intro{position:sticky;top:120px}
.form-assure{margin-top:28px}
.form-assure li{padding:11px 0 11px 28px;position:relative;font-size:14.5px;font-weight:300;color:rgba(22,19,15,.72);border-top:1px solid rgba(22,19,15,.1)}
.form-assure li::before{content:"\2726";position:absolute;left:0;top:11px;color:var(--tan-deep);font-size:11px}
.ama-form{background:var(--white);border:1px solid rgba(22,19,15,.1);padding:clamp(28px,3.2vw,48px);box-shadow:0 40px 80px -50px rgba(22,19,15,.3)}
.f-row{display:grid;grid-template-columns:1fr 1fr;gap:clamp(14px,1.6vw,22px)}
.f-field{margin-bottom:clamp(16px,1.8vw,22px);display:flex;flex-direction:column}
.f-field label{font-size:11px;letter-spacing:.24em;text-transform:uppercase;font-weight:600;color:rgba(22,19,15,.6);margin-bottom:9px}
.f-field label span{color:var(--tan-deep)}
.f-field input,.f-field select,.f-field textarea{font-family:var(--sans);font-size:15.5px;font-weight:300;color:var(--ink);background:var(--cream);border:1px solid rgba(22,19,15,.14);padding:15px 16px;width:100%;transition:border-color .35s var(--ease),background .35s,box-shadow .35s;border-radius:0;-webkit-appearance:none;appearance:none}
.f-field select{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%23a99a83' stroke-width='1.4' fill='none'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 16px center;padding-right:42px}
.f-field textarea{resize:vertical;min-height:110px}
.f-field input:focus,.f-field select:focus,.f-field textarea:focus{outline:none;border-color:var(--tan-deep);background:var(--white);box-shadow:0 0 0 3px rgba(200,188,171,.25)}
.f-field.err input,.f-field.err select,.f-field.err textarea{border-color:#b4553f;box-shadow:0 0 0 3px rgba(180,85,63,.12)}
.f-err{font-size:12px;color:#b4553f;margin-top:7px;letter-spacing:.02em}
.f-check{display:flex;gap:13px;align-items:flex-start;margin-bottom:16px;cursor:pointer}
.f-check input{position:absolute;opacity:0;width:0;height:0}
.f-check .box{flex:none;width:20px;height:20px;border:1px solid rgba(22,19,15,.28);margin-top:2px;position:relative;transition:.3s}
.f-check .box::after{content:"";position:absolute;left:6px;top:2px;width:5px;height:10px;border:solid var(--cream);border-width:0 2px 2px 0;transform:rotate(45deg) scale(0);transition:transform .25s var(--ease)}
.f-check input:checked + .box{background:var(--ink);border-color:var(--ink)}
.f-check input:checked + .box::after{transform:rotate(45deg) scale(1)}
.f-check input:focus-visible + .box{box-shadow:0 0 0 3px rgba(200,188,171,.45)}
.f-check .txt{font-size:12.5px;font-weight:300;line-height:1.6;color:rgba(22,19,15,.6)}
.hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.f-submit{width:100%;justify-content:center;margin-top:12px;border:0;cursor:pointer}
.f-submit[disabled]{opacity:.6;cursor:wait}
.f-note{font-size:11.5px;font-weight:300;color:rgba(22,19,15,.5);margin-top:18px;line-height:1.65}
.f-note a{text-decoration:underline}
.f-status{margin-top:18px;font-size:14.5px;font-weight:300;display:none}
.f-status.show{display:block}
.f-status.ok{color:#2f6b4f}
.f-status.bad{color:#b4553f}
.form-done{text-align:center;padding:clamp(30px,4vw,50px) 0}
.form-done .tick{width:64px;height:64px;border-radius:50%;border:1px solid var(--tan-deep);display:flex;align-items:center;justify-content:center;margin:0 auto 24px;color:var(--tan-deep);font-size:26px}
.form-done h3{font-family:var(--serif);font-size:clamp(24px,2.4vw,34px);text-transform:uppercase;margin-bottom:14px}
.form-done p{font-size:15.5px;font-weight:300;color:rgba(22,19,15,.7);max-width:420px;margin:0 auto}
@media (max-width:960px){.form-shell{grid-template-columns:1fr}.form-intro{position:static}}
@media (max-width:560px){.f-row{grid-template-columns:1fr}}