:root{
  --ink:#16222e; --ink-soft:#46555f; --paper:#faf8f3;
  --teal:#1d7fa8; --teal-deep:#15607f; --amber:#f2a71b; --green:#1fa97c;
  --grad:linear-gradient(92deg,#1d7fa8 0%,#1fa97c 58%,#f2a71b 100%);
  --line:rgba(19,26,30,.1); --ease:cubic-bezier(.22,.8,.3,1);
}
*{margin:0;padding:0;box-sizing:border-box}
body{font-family:'Inter',ui-sans-serif,system-ui,sans-serif;background:var(--paper);color:var(--ink);font-size:16px;line-height:1.6;-webkit-font-smoothing:antialiased}
h1,h2,h3{font-family:'Poppins',sans-serif;line-height:1.12;letter-spacing:-.015em;font-weight:700}
a{color:inherit}
header{position:sticky;top:0;z-index:50;background:rgba(250,248,243,.94);backdrop-filter:blur(12px);border-bottom:1px solid var(--line);padding:12px 0}
header .hwrap{max-width:1080px;margin:0 auto;padding:0 24px;display:flex;align-items:center;justify-content:space-between}
header img{height:28px;display:block}
header a.back{font-family:'Poppins';font-size:13px;font-weight:600;color:var(--teal-deep);text-decoration:none}
header a.back:hover{color:var(--amber)}
.hero{position:relative;color:#fff;overflow:hidden}
.hero .bg{position:absolute;inset:0;background-position:center 30%;background-size:cover}
.hero .scrim{position:absolute;inset:0;background:linear-gradient(0deg,rgba(16,25,34,.88),rgba(16,25,34,.45))}
.hero .hcontent{position:relative;z-index:2;max-width:1080px;margin:0 auto;padding:72px 24px 56px}
.kicker{display:inline-flex;align-items:center;gap:12px;font-family:'Poppins';font-size:11.5px;font-weight:700;letter-spacing:.24em;text-transform:uppercase;color:#7fd0e8}
.kicker::before{content:"";width:30px;height:3px;border-radius:2px;background:var(--grad)}
.hero h1{font-size:clamp(30px,4.4vw,52px);margin:14px 0 10px;color:#fff;max-width:18ch}
.hero h1 em{font-style:normal;background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent}
.hero p{color:rgba(241,244,242,.88);font-weight:300;max-width:52ch}
main{max-width:860px;margin:-34px auto 70px;padding:0 24px;position:relative;z-index:3}
form{background:#fff;border:1px solid var(--line);border-radius:22px;padding:42px 44px;box-shadow:0 30px 80px rgba(19,26,30,.14)}
fieldset{border:0;margin:0 0 30px}
legend,label.lbl{font-family:'Poppins';font-size:13.5px;font-weight:600;color:var(--ink);margin-bottom:10px;display:block}
legend span.opt,label .opt{color:var(--ink-soft);font-weight:400;font-size:12px}
.chips{display:flex;flex-wrap:wrap;gap:10px}
.chips input{position:absolute;opacity:0;pointer-events:none}
.chips label{display:inline-block;font-family:'Poppins';font-size:13px;font-weight:500;color:var(--ink);
  border:1.5px solid rgba(19,26,30,.2);border-radius:999px;padding:10px 20px;cursor:pointer;transition:.2s var(--ease);background:#fff}
.chips label:hover{border-color:var(--teal)}
.chips input:checked+label{background:var(--teal);border-color:var(--teal);color:#fff;box-shadow:0 6px 18px rgba(29,127,168,.3)}
.chips.amber input:checked+label{background:var(--amber);border-color:var(--amber);color:#1c1206;box-shadow:0 6px 18px rgba(242,167,27,.3)}
.grid2{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.field{margin-bottom:22px}
input[type=text],input[type=email],input[type=tel],select,textarea{
  width:100%;font-family:'Inter';font-size:15px;color:var(--ink);background:#fcfbf8;
  border:1.5px solid rgba(19,26,30,.16);border-radius:12px;padding:13px 16px;transition:.2s;outline:none}
input:focus,select:focus,textarea:focus{border-color:var(--teal);box-shadow:0 0 0 4px rgba(29,127,168,.12);background:#fff}
textarea{min-height:120px;resize:vertical}
::placeholder{color:#9aa6ab}
.submit-row{display:flex;align-items:center;gap:18px;margin-top:8px;flex-wrap:wrap}
button.btn{font-family:'Poppins';font-size:14px;font-weight:600;letter-spacing:.05em;color:#fff;background:var(--teal);
  border:0;border-radius:999px;padding:16px 38px;cursor:pointer;transition:.3s var(--ease);box-shadow:0 10px 26px rgba(29,127,168,.35)}
button.btn:hover{background:var(--teal-deep);transform:translateY(-2px);box-shadow:0 16px 34px rgba(29,127,168,.45)}
.submit-row small{color:var(--ink-soft);font-size:12.5px;max-width:40ch}
footer{border-top:1px solid var(--line);padding:26px 0;background:#fff}
footer .fwrap{max-width:1080px;margin:0 auto;padding:0 24px;font-size:12.5px;color:var(--ink-soft);letter-spacing:.05em}
@media(max-width:640px){
  form{padding:26px 20px}
  .grid2{grid-template-columns:1fr}
  .hero .hcontent{padding:52px 20px 46px}
}
