/* ============================================================
   IN-PAGE DEMO FORMS — one per page (platform, consumers,
   medfiadvance, associates, journal). White card on the white
   canvas, hairline border, sage-deep eyebrow with the blue dot,
   Instrument Serif Regular headline. Replaces the booking-modal
   pattern sitewide.
   ============================================================ */

.dfm{margin-top:14px}
/* glass card — same material as the home closing panel */
.dfm-card{position:relative;overflow:hidden;border-radius:22px;padding:40px 44px 38px;
  background:linear-gradient(180deg,rgba(255,255,255,.88),rgba(255,255,255,.68));
  border:1px solid rgba(10,14,19,.07);
  -webkit-backdrop-filter:blur(26px) saturate(180%);backdrop-filter:blur(26px) saturate(180%);
  box-shadow:0 1px 1px rgba(255,255,255,.7) inset,0 2px 6px rgba(10,14,19,.05),0 30px 70px -28px rgba(10,14,19,.28)}
.dfm-card::after{content:"";position:absolute;left:16%;right:16%;top:0;height:1px;background:linear-gradient(90deg,transparent,rgba(255,255,255,.95),transparent)}
/* labeled, boxed fields — replaces the thin underline rails */
.dfm-card.jf label,.dfm-card.jf .jfl{display:block;font-size:11px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:#5A6672;margin:0}
.dfm-card.jf input,.dfm-card.jf select,.dfm-card.jf textarea{width:100%;margin-top:8px;min-height:48px;padding:12px 14px;
  font-family:Inter,sans-serif;font-size:16px;color:#0A0A0A;
  background:rgba(255,255,255,.6);border:1px solid rgba(10,14,19,.14);border-radius:10px;
  -webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);outline:none;
  -webkit-appearance:none;appearance:none;transition:border-color .2s ease,background .2s ease,box-shadow .2s ease}
.dfm-card.jf textarea{min-height:82px;resize:vertical}
.dfm-card.jf input:focus,.dfm-card.jf select:focus,.dfm-card.jf textarea:focus{background:#FFFFFF;border-color:#08A4F3;box-shadow:0 0 0 3px rgba(8,164,243,.12)}
.dfm-card.jf input::placeholder,.dfm-card.jf textarea::placeholder{color:#9AA0A6}
.dfm-card.jf select{padding-right:36px;background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8' fill='none' stroke='%233D4750' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M1 1.5 6 6.5 11 1.5'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 13px center}
.dfm-grid{gap:18px}
/* submit — solid blue, full width, matches the closing panel */
.dfm-card .dfm-go{display:flex;align-items:center;justify-content:center;width:100%;margin-top:20px;min-height:54px;padding:14px 26px;
  border:1px solid #0885D2;border-radius:10px;background:#0885D2;color:#FFFFFF;
  font-family:Inter,sans-serif;font-size:16px;font-weight:600;letter-spacing:.01em;box-shadow:none;transition:background .2s ease}
.dfm-card .dfm-go::before{display:none}
.dfm-card .dfm-go:hover{background:#0670B3;filter:none;color:#FFFFFF}
.dfm-card .dfm-go svg{color:#FFFFFF}
.dfm-brand{margin-bottom:20px}
.dfm-eyebrow{display:flex;align-items:center;gap:9px;font-size:11.5px;font-weight:400;letter-spacing:.18em;text-transform:uppercase;color:var(--sage-deep);margin-bottom:14px}
.dfm-eyebrow::before{content:"";width:7px;height:7px;border-radius:50%;background:var(--blue);flex:0 0 auto}
.dfm-h{font-family:'Instrument Serif',Georgia,serif;font-weight:400;font-size:clamp(27px,4vw,34px);line-height:1.12;letter-spacing:-.01em;color:var(--ink);margin:0 0 12px}
.dfm-sub{font-size:17.5px;line-height:1.6;color:var(--muted);max-width:640px;margin:0 0 22px}
.dfm-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.dfm-go{margin-top:6px}
.dfm-note{font-size:13px;color:var(--faint);margin:14px 0 0}
.dfm-done{text-align:center;padding:14px 6px}
.dfm-done svg{width:46px;height:46px;color:var(--sage-deep);margin:0 auto 14px;display:block}
.dfm-done h4{font-family:'Instrument Serif',Georgia,serif;font-weight:400;font-size:25px;margin-bottom:8px}
.dfm-done p{font-size:15px;color:var(--muted);max-width:420px;margin:0 auto}
.dfm-steps{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:16px}
.dfm-step{font-size:13.5px;font-weight:400;line-height:1.55;color:var(--muted)}
.dfm-step b{font-weight:500;color:var(--sage-deep)}
@media(max-width:760px){
  .dfm-grid{grid-template-columns:1fr}
  .dfm-steps{grid-template-columns:1fr}
  .dfm-card{padding:30px 22px 26px}
  .dfm-go{width:100%;justify-content:center}
}

/* ============================================================
   COMPACT REVEAL CARDS — the quick version of each page's demo
   form. A "Demo PBRX" trigger toggles one in place (content
   below shifts down gracefully) — anchored at the trigger,
   375px max, single column. One allowed motion: a single
   fade-rise on reveal.
   ============================================================ */

.rv-slot{display:none;margin:18px 0 4px}
.rv-slot.on{display:block}
.rv-card{position:relative;padding:22px 24px 20px;max-width:375px;margin:0 auto;animation:rv-rise .34s cubic-bezier(.22,.61,.36,1) both}
.rv-card .dfm-grid{grid-template-columns:1fr}
.rv-card .dfm-brand{margin-bottom:14px}
.rv-card .dfm-eyebrow{margin-bottom:10px}
.rv-card .rv-h{font-size:clamp(22px,3vw,26px);margin-bottom:14px}
.rv-msg{margin-top:14px}
.rv-msg input{width:100%}
.rv-x{position:absolute;top:12px;right:12px;width:34px;height:34px;border-radius:50%;border:1px solid var(--line2);background:#fff;display:flex;align-items:center;justify-content:center;color:var(--ink);cursor:pointer;padding:0;transition:background-color .15s ease}
.rv-x svg{width:14px;height:14px}
.rv-x:hover{background:rgba(143,161,126,.14)}

/* fields — hairline borders, letterspaced caps labels, sage focus ring */
.rv-card label{display:block;font-family:Inter,sans-serif;font-size:11px;font-weight:400;letter-spacing:.14em;text-transform:uppercase;color:#8A8578;margin-bottom:10px}
.rv-card input,.rv-card select{width:100%;font-family:Inter,sans-serif;font-size:17px;font-weight:400;color:#1A1A1A;background:transparent;border:none;border-bottom:1px solid #D8D4CC;border-radius:0;min-height:56px;padding:14px 2px 12px;outline:none;appearance:none;-webkit-appearance:none;transition:border-bottom-color .25s ease,box-shadow .25s ease}
.rv-card select{padding-right:34px;background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8' fill='none' stroke='%238A8578' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M1 1.5 6 6.5 11 1.5'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 4px center}
.rv-card input:focus,.rv-card select:focus{border-bottom-color:#08A4F3;box-shadow:0 6px 14px -10px rgba(8,164,243,.45)}
.rv-card input::placeholder{color:#A9A498}
.rvgo{cursor:pointer}
@keyframes rv-rise{from{opacity:0;transform:translateY(12px) scale(.985)}to{opacity:1;transform:none}}
@media(prefers-reduced-motion:reduce){.rv-card{animation:none}}

@media(max-width:760px){
  .rv-card{padding:20px 18px 18px}
  .rv-slot{margin:14px 0 2px}
}

/* ============================================================
   ALIGNMENT PASS ADDITIONS — darkened reveal-card fields
   (matching .jf: labels #3F3C35, text #0A0A0A, rule #55524A)
   and the clean form-band image across the top of every
   form card. No text on or around the band — hard rule.
   ============================================================ */
.rv-card label{color:#3F3C35}
.rv-card input,.rv-card select{color:#0A0A0A;border-bottom-color:#55524A}
.rv-card input::placeholder{color:#8A8578}
.rv-card select{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8' fill='none' stroke='%233F3C35' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M1 1.5 6 6.5 11 1.5'/%3E%3C/svg%3E")}

/* ============================================================
   COMMAND CTA + FIELD AFFORDANCES — the approval request form
   ============================================================ */
.dfm-req{font-size:9.5px;font-weight:500;letter-spacing:.12em;color:#08A4F3;margin-left:6px}
.dfm-command{width:100%;margin-top:18px;min-height:74px;padding:16px 26px;text-align:left;white-space:normal;justify-content:space-between}
.dfm-command span{display:block;flex:1 1 auto;text-align:left;font-size:18px;font-weight:500;letter-spacing:.01em;line-height:1.2}
.dfm-command em{display:block;font-style:normal;font-size:12.5px;font-weight:400;letter-spacing:.02em;line-height:1.4;opacity:.72;margin-top:5px}
.dfm-command .icon{width:20px;height:20px;flex:0 0 auto;transition:transform .18s ease}
.dfm-command:hover .icon{transform:translateX(4px)}
@media(max-width:640px){.dfm-command span{font-size:16.5px}.dfm-command em{font-size:12px}}

/* form band — full-bleed photo strip above every demo form */
.dfm-band{display:block;width:calc(100% + 90px);margin:-41px -45px 26px;height:210px;object-fit:cover;object-position:50% 55%;background:#ECEEE9;border-radius:21px 21px 0 0}
.rv-card .dfm-band{height:150px;width:calc(100% + 50px);margin:-23px -25px 20px}
@media(max-width:760px){
  .dfm-band{width:calc(100% + 46px);margin:-31px -23px 24px;height:190px}
  .rv-card .dfm-band{width:calc(100% + 38px);margin:-21px -19px 18px;height:150px}
}
