/* ===== /apply — pre-application form ===== */
.apply{ padding-block:24px 60px; }
.apply__wrap{ max-width:760px; }
.apply__head{ margin-bottom:22px; }
.apply__head h1{ font-size:clamp(1.8rem,1.3rem+2vw,2.6rem); margin-top:.3rem; }
.apply__lede{ color:var(--muted); margin:.7rem 0 0; max-width:56ch; }

.secure-note{ display:flex; gap:11px; align-items:flex-start; margin-top:18px; padding:14px 16px;
  background:var(--green-soft); border:1px solid #cfe0d4; border-radius:var(--radius); font-size:.92rem; }
.secure-note__lock{ font-size:1.05rem; line-height:1.3; }
.secure-note strong{ color:var(--green-dark); }

.app-form{ display:grid; gap:18px; }
.fs{ border:1px solid var(--line); border-radius:var(--radius); padding:20px 20px 22px; margin:0; background:var(--surface); }
.fs legend{ font-family:"Fraunces",serif; font-size:1.15rem; font-weight:600; color:var(--ink); padding:0 8px 0 0; }
.fs__n{ display:inline-flex; align-items:center; justify-content:center; width:22px; height:22px; margin-right:6px;
  background:var(--green); color:#fff; border-radius:50%; font-family:"Inter",sans-serif; font-size:.8rem; font-weight:700; vertical-align:2px; }
.fs--consent{ background:var(--bone); }

.grid{ display:grid; gap:14px; }
.grid-2{ grid-template-columns:1fr; }
.grid-3{ grid-template-columns:1fr; }

.fld{ display:block; font-size:.82rem; font-weight:600; color:var(--muted); margin-top:14px; }
.fld:first-child, .grid .fld{ margin-top:0; }
.grid + .grid, .fs > .fld + .grid, .fs > .grid + .fld{ margin-top:14px; }
.fld .opt{ font-weight:400; }
.fld__label{ display:block; font-size:.82rem; font-weight:600; color:var(--muted); }
.fld input, .fld select, .fld textarea{
  width:100%; margin-top:.35rem; padding:.68em .75em; font:inherit; font-size:.98rem; color:var(--ink);
  background:var(--bone); border:1.5px solid var(--line); border-radius:var(--radius-sm); }
.fld select{ appearance:none; background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%236b655e' stroke-width='1.6' fill='none'/%3E%3C/svg%3E"); background-repeat:no-repeat; background-position:right .8em center; padding-right:2em; }
.fld input:focus, .fld select:focus, .fld textarea:focus{ outline:none; border-color:var(--green); background:#fff; }
.fld textarea{ resize:vertical; }
.req > input, .req > select{ }
.fld.req::after, legend .req{ }
.req::after{ content:" *"; color:var(--green); }
.fld.invalid input, .fld.invalid select{ border-color:#b0562f; background:#fdf6f3; }

.micro{ font-size:.82rem; color:var(--muted); margin:.6rem 0 0; line-height:1.45; }
.micro strong{ color:var(--ink); }

.pets{ margin-top:16px; }
.pet-details{ margin-top:12px; }

.yn{ display:flex; flex-wrap:wrap; gap:8px 14px; align-items:center; justify-content:space-between;
  padding:11px 0; border-bottom:1px solid var(--line); }
.yn:last-of-type{ border-bottom:0; }
.yn__q{ font-size:.95rem; color:var(--ink); flex:1 1 260px; }
.yn__opts{ display:flex; gap:7px; }
.q-explain{ margin-top:12px; }

.chip{ display:inline-flex; align-items:center; gap:.4rem; padding:.5em .9em; border:1.5px solid var(--line);
  border-radius:999px; background:var(--bone); font-size:.9rem; font-weight:500; color:var(--ink); cursor:pointer; }
.chip--sm{ padding:.4em .8em; font-size:.85rem; }
.chip:has(input:checked){ border-color:var(--green); background:var(--green-soft); color:var(--green-dark); }
.chip input{ width:auto; margin:0; accent-color:var(--green); }

.check{ display:flex; gap:11px; align-items:flex-start; font-size:.9rem; color:var(--ink); line-height:1.5; cursor:pointer; }
.check input{ margin-top:3px; width:18px; height:18px; accent-color:var(--green); flex:0 0 auto; }
.check.req::after{ content:""; }
.check.invalid{ color:#b0562f; }

#appSubmit{ margin-top:18px; }
.apply__foot{ margin-top:14px; text-align:center; }

@media (min-width:620px){
  .grid-2{ grid-template-columns:1fr 1fr; }
  .grid-3{ grid-template-columns:1fr 1fr 1fr; }
}
