/* The Apply and Quarterly Check-In pages (29 Oct 2026). Loaded after pages.css, on those two pages only.
   Inputs, pills, errors and the thank-you panel are the home page form's own styles (home-v3, 27 Oct), so the forms
   read as the same site. Both forms send to purchasingpowerplus.com Gravity Forms (Form 84 and Form 88); see forms.js. */
.fp{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);min-height:100svh;padding-top:var(--hdr)}
.fp-side{background:var(--stone);padding:clamp(40px,6vh,88px) clamp(28px,4vw,72px) clamp(40px,6vh,72px)}
.fp-side-in{position:sticky;top:calc(var(--hdr) + 32px)}
.fp h1{margin-top:22px;font-size:var(--fs-h1);max-width:12ch}
.fp h1 em{display:block;color:var(--brown-d)}
.fp .dek{margin-top:22px;max-width:34ch;font:italic 400 clamp(1.25rem,1rem + .6vw,1.6rem)/1.4 var(--serif);color:var(--ink-2)}
.fp-notes{margin:28px 0 0;padding:0;list-style:none;display:grid;gap:14px;max-width:40ch}
.fp-notes li{padding-top:14px;border-top:1px solid var(--rule);font-size:15.5px;line-height:1.6;color:var(--ink-2)}
.fp-notes b{display:block;font-weight:600;color:var(--ink)}
.fp-pic{margin:34px 0 0;max-width:440px}
.fp-pic img{width:100%;height:auto;aspect-ratio:1122/858;object-fit:cover}
.fp-main{background:var(--white);padding:clamp(40px,6vh,88px) clamp(20px,5vw,96px) clamp(60px,8vw,110px)}
.fp-panel{max-width:640px}
.fp-panel h2{font-size:var(--fs-h3)}

.gf{margin-top:26px;display:grid;grid-template-columns:1fr 1fr;gap:18px 16px}
.gf fieldset{border:0;margin:0;padding:0;grid-column:1 / -1;display:grid;grid-template-columns:1fr 1fr;gap:16px;min-width:0}
.gf fieldset.full{display:block}
.gf fieldset.full .err{display:block;margin-top:8px}
.gf fieldset.full .err:empty{display:none}
.gf legend{font-size:14px;font-weight:500;margin-bottom:6px;padding:0}
.gf .f{display:flex;flex-direction:column;gap:6px;min-width:0}
.gf .full{grid-column:1 / -1}
.gf label{font-size:14px;font-weight:500}
.gf label small,.gf legend small{font-weight:400;color:var(--ink-2)}
.gf > h2{grid-column:1 / -1;margin-top:22px;padding-top:26px;border-top:1px solid var(--rule);font-size:var(--fs-h3)}
.gf > h2 em,.fp-panel > h2 em{color:var(--brown-d)}
.gf .label-like{font-size:14px}
.gf .label-like b{font-weight:500}
.gf .label-like small{color:var(--ink-2)}
.gf .hint{margin:-2px 0 2px;font-size:13.5px;line-height:1.5;color:var(--ink-2)}
.gf input,.gf select,.gf textarea{font:400 16px/1.2 var(--sans);color:var(--ink);background:var(--paper);border:1px solid #C9BCAD;border-radius:3px;min-height:48px;padding:0 14px;width:100%;transition:border-color .25s, box-shadow .25s}
.gf select{padding:0 10px}
.gf textarea{min-height:120px;padding:12px 14px;line-height:1.5;resize:vertical}
.gf input:hover,.gf select:hover,.gf textarea:hover{border-color:var(--taupe)}
.gf input:focus,.gf select:focus,.gf textarea:focus{outline:none;border-color:var(--brown);box-shadow:0 0 0 3px rgba(121,101,79,.18)}
.gf [aria-invalid="true"]{border-color:#9B3B2A}
.gf .pills{display:flex;flex-wrap:wrap;gap:10px}
.gf .pills label{display:inline-flex;align-items:center;gap:8px;min-height:44px;padding:0 16px;border:1px solid #C9BCAD;border-radius:999px;background:var(--paper);font-weight:400;cursor:pointer}
.gf .pills label:has(input:checked){border-color:var(--brown);background:var(--stone)}
.gf .pills input,.gf .checks input,.gf .agree input{width:auto;min-height:0;accent-color:var(--brown);margin:0}
.gf fieldset[aria-invalid="true"] .pills label{border-color:#9B3B2A}
.gf .checks{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:2px 18px;max-height:340px;overflow:auto;padding:12px 14px;border:1px solid var(--rule);border-radius:3px;background:var(--paper)}
.gf .checks label{display:flex;align-items:center;gap:10px;min-height:38px;font-weight:400;font-size:15px;cursor:pointer}
.gf .agree{display:flex;align-items:flex-start;gap:12px;font-weight:400;font-size:15px;line-height:1.55;cursor:pointer}
.gf .agree input{margin-top:5px}
.gf .rows{display:grid;gap:10px}
.gf .row{display:grid;grid-template-columns:minmax(0,1fr) 150px 40px;gap:10px;align-items:center}
.gf .row-x{width:40px;height:40px;border:1px solid var(--rule);border-radius:50%;background:var(--paper);color:var(--ink-2);font-size:18px;line-height:1;cursor:pointer}
.gf .row-x:hover{border-color:var(--taupe);color:var(--ink)}
.gf .add-row{align-self:flex-start;background:none;border:0;padding:6px 0;font:500 14.5px/1 var(--sans);color:var(--brown-d);text-decoration:underline;text-underline-offset:.22em;cursor:pointer}
.gf .money{position:relative}
.gf .money span{position:absolute;left:14px;top:50%;transform:translateY(-50%);color:var(--ink-2);pointer-events:none}
.gf .money input{padding-left:28px;font-variant-numeric:tabular-nums}
.gf .err{font-size:13.5px;color:#8E3424}
.gf .err:empty{display:none}
.gf .hosp-note{margin:12px 0 0;padding:14px 16px;background:var(--stone);border-left:2px solid var(--brown);font-size:14.5px;line-height:1.55;color:var(--ink-2)}
.gf .hosp-note b{color:var(--ink);font-weight:600}
.gf .hp{position:absolute !important;left:-9999px;width:1px;height:1px;overflow:hidden}
.gf .send{grid-column:1 / -1;display:flex;align-items:center;gap:18px;flex-wrap:wrap;margin-top:6px}
.gf .quiet{font-size:14.5px;color:var(--ink-2)}
.gf .btn[disabled]{opacity:.7;cursor:progress}
.gf .commit{grid-column:1 / -1;margin:0;font-size:14.5px;color:var(--ink-2)}
.form-msg{margin-top:22px;padding:14px 16px;border-left:2px solid #9B3B2A;background:var(--stone);font-size:15px;color:var(--ink)}
.form-msg[hidden]{display:none}
.fp .phone{margin-top:26px;font-size:15px;color:var(--ink-2)}
.done-panel{padding:clamp(28px,3.4vw,48px);background:var(--stone)}
.done-panel h2{font-size:var(--fs-h2)}
.done-panel h2 em{display:block;color:var(--brown-d)}
.done-panel p{margin-top:16px;font-size:18px;line-height:1.65;color:var(--ink-2);max-width:52ch}
.done-panel .btn{margin-top:26px}
.done-panel:focus{outline:none}

@media (max-width:900px){
  .fp{grid-template-columns:1fr;min-height:0}
  .fp-side{padding:40px var(--gut) 36px}
  .fp-side-in{position:static}
  .fp-pic{display:none}
  .fp-main{padding:34px var(--gut) 64px}
}
@media (max-width:560px){
  .gf,.gf fieldset{grid-template-columns:1fr}
  .gf .row{grid-template-columns:minmax(0,1fr) 112px 40px}
}
/* Check-In (29 Oct): the PPP page's four steps as the form's section heads, the quarter windows, vendor + amount rows */
.fp-sub{margin-top:30px}
.fp-small{margin-top:10px;font-size:15px;line-height:1.6;color:var(--ink-2);max-width:40ch}
.windows{margin:16px 0 0;padding:0;list-style:none;display:grid;grid-template-columns:1fr 1fr;gap:10px;max-width:420px}
.windows li{padding:12px 14px;background:var(--white);border:1px solid var(--rule)}
.windows b{display:block;font:400 22px/1 var(--serif);color:var(--brown-d)}
.windows span{display:block;margin-top:6px;font-size:14.5px;font-weight:500;color:var(--ink)}
.windows small{display:block;margin-top:2px;font-size:13px;color:var(--ink-2)}
.fp-lede{margin-top:12px;font-size:16px;line-height:1.6;color:var(--ink-2);max-width:56ch}
.gf .step-h{margin-top:18px;padding-top:24px;border-top:1px solid var(--rule);display:grid;grid-template-columns:auto 1fr;column-gap:14px;align-items:baseline}
.gf .step-h:first-child{margin-top:0;padding-top:0;border-top:0}
.gf .step-n{font:400 15px/1 var(--sans);letter-spacing:.12em;color:var(--brown)}
.gf .step-h h2{font-size:var(--fs-h3)}
.gf .step-h .hint{grid-column:2;margin-top:6px}
.gf .v-list{grid-template-columns:repeat(auto-fill,minmax(260px,1fr));max-height:420px}
.gf .v-item{display:flex;flex-direction:column;gap:4px;padding:2px 0 6px}
.gf .v-item .money{margin-left:26px;max-width:170px}
.gf .v-item .money input{min-height:40px}
.gf .v-item .money[hidden]{display:none}
.gf input[readonly]{background:var(--stone);cursor:default}
.fp-long .fp-side-in{position:static}
.fp-intro{margin-top:18px;font-size:16.5px;max-width:38ch}
.fp-quiet{margin-top:22px;padding-top:16px;border-top:1px solid var(--rule);font-size:14.5px;line-height:1.6;color:var(--ink-2);max-width:40ch}
.gf .none-q{margin:4px 0 12px}
.gf .v-list[hidden]{display:none}
/* "Did you mean" under the email box (30 Oct): a quiet note, not an error; the address is a button that fills it in */
.gf .dym{margin:2px 0 0;font-size:13.5px;color:var(--ink-2)}
.gf .dym button{background:none;border:0;padding:0;font:inherit;font-weight:500;color:var(--brown-d);text-decoration:underline;text-underline-offset:.2em;cursor:pointer}
.gf .dym[hidden]{display:none}
