/* Patient referral page, Lazar Upper Cervical. Tokens are the brand system's (same as public/providers/assets/providers.css):
   one blue, bone and white grounds, Poppins for headings and UI, Source Serif 4 for the lead line and accents.
   No second colour, no gradients. Self-contained: everything it loads is in this folder. Mobile first. */
@font-face{font-family:'Poppins';font-style:normal;font-weight:400;font-display:swap;src:url(fonts/poppins-normal-400.woff2) format('woff2')}
@font-face{font-family:'Poppins';font-style:normal;font-weight:500;font-display:swap;src:url(fonts/poppins-normal-500.woff2) format('woff2')}
@font-face{font-family:'Poppins';font-style:normal;font-weight:600;font-display:swap;src:url(fonts/poppins-normal-600.woff2) format('woff2')}
@font-face{font-family:'Source Serif 4';font-style:normal;font-weight:400;font-display:swap;src:url(fonts/source-serif-4-normal-400.woff2) format('woff2')}
@font-face{font-family:'Source Serif 4';font-style:italic;font-weight:400;font-display:swap;src:url(fonts/source-serif-4-italic-400.woff2) format('woff2')}
:root{
  --blue:#21328A;--blue-deep:#131E52;--blue-soft:#3B4780;--blue-pale:#A8B4E0;--blue-tint:#EAECF7;
  --bone:#F4F3EF;--bone-deep:#E7E5DE;--white:#fff;--gray-700:#5C6570;--gray-500:#8A929C;--line:#E5E5E0;--alert:#A3282F;
  --font:'Poppins',system-ui,-apple-system,'Segoe UI',sans-serif;
  --serif:'Source Serif 4',Georgia,'Times New Roman',serif;
  --r-sm:4px;--r-md:8px;--r-lg:14px;
  --shadow:0 4px 12px rgba(19,30,82,.08),0 1px 3px rgba(19,30,82,.05);
}
*,*::before,*::after{box-sizing:border-box}
[hidden]{display:none!important}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--bone);color:var(--blue-deep);font-family:var(--font);font-size:1rem;line-height:1.55;-webkit-font-smoothing:antialiased}
a{color:var(--blue);text-decoration:none;border-bottom:1px solid var(--blue-pale)}
a:hover{color:var(--blue-deep);border-bottom-color:var(--blue)}
p{margin:0 0 1em;text-wrap:pretty}
.shell{max-width:640px;margin:0 auto;padding:0 16px}
.skip{position:absolute;left:-9999px}.skip:focus{left:16px;top:8px;background:var(--white);padding:8px 12px;z-index:9}

/* header: the public lockup, left */
.bar{background:var(--white);border-bottom:1px solid var(--line)}
.bar-in{display:flex;align-items:center;justify-content:space-between;gap:16px;padding-top:14px;padding-bottom:14px}
.logo{border:0;display:block}
.logo img{display:block;height:40px;width:auto}
.tag{font-weight:600;font-size:.6875rem;letter-spacing:.2em;text-transform:uppercase;color:var(--gray-700);text-align:right}

/* intro */
.hero{padding:32px 0 4px}
.eyebrow{font-weight:600;font-size:.6875rem;letter-spacing:.26em;text-transform:uppercase;color:var(--blue);margin:0 0 12px}
h1{font-weight:600;font-size:clamp(1.85rem,6.4vw,2.75rem);line-height:1.1;letter-spacing:-.02em;margin:0 0 16px;text-wrap:balance}
h1 em{font-family:var(--serif);font-style:italic;font-weight:400;letter-spacing:-.01em;color:var(--blue)}
h1 #greet{display:block;font-size:.5em;font-weight:500;letter-spacing:0;color:var(--blue-soft);margin-bottom:10px;line-height:1.35}
h1 #greet:empty{display:none}
.lede{font-family:var(--serif);color:var(--blue-soft);font-size:1.1875rem;line-height:1.55;margin-bottom:8px}
.section-label{font-weight:600;font-size:.6875rem;letter-spacing:.2em;text-transform:uppercase;color:var(--gray-700);margin:28px 0 14px}
.section-label.first{margin-top:0}
.steps{list-style:none;margin:0;padding:0;display:grid;gap:12px}
.steps li{display:grid;grid-template-columns:36px 1fr;gap:14px;align-items:start;background:var(--white);border:1px solid var(--line);border-radius:var(--r-md);padding:16px;font-size:.9688rem;color:var(--blue-soft)}
.steps strong{color:var(--blue-deep);font-weight:600}
.num{display:grid;place-items:center;width:36px;height:36px;border-radius:50%;background:var(--blue);color:var(--white);font-weight:600;font-size:.95rem}
.motto{display:flex;align-items:center;gap:12px;margin:24px 0 0;font-family:var(--serif);font-style:italic;font-size:1.125rem;color:var(--blue)}
.motto img{flex:none}

/* form */
.card{background:var(--white);border:1px solid var(--line);border-radius:var(--r-lg);box-shadow:var(--shadow);padding:24px 20px 28px;margin:28px 0}
label{display:block;font-weight:600;font-size:.875rem;color:var(--blue-deep);margin:16px 0 6px}
.hint{font-weight:400;color:var(--gray-500);font-size:.8125rem}
input,textarea{display:block;width:100%;font:inherit;font-size:1rem;color:var(--blue-deep);background:var(--bone);border:1px solid var(--line);border-radius:var(--r-md);padding:13px 14px;margin-top:6px;outline:none;-webkit-appearance:none;appearance:none;transition:border-color .15s,box-shadow .15s,background .15s}
textarea{min-height:96px;resize:vertical;line-height:1.5}
input:focus,textarea:focus{border-color:var(--blue);background:var(--white);box-shadow:0 0 0 3px rgba(33,50,138,.15)}
button:focus-visible{outline:3px solid var(--blue-pale);outline-offset:2px}
[aria-invalid=true]{border-color:var(--alert)}
fieldset.friend{border:1px solid var(--line);border-radius:var(--r-md);padding:4px 14px 12px;margin:0 0 12px}
fieldset.friend legend{font-weight:600;font-size:.75rem;letter-spacing:.14em;text-transform:uppercase;padding:0 6px;color:var(--blue)}
fieldset.friend label{margin-top:12px}
.row{display:grid;grid-template-columns:1fr;gap:0 12px}
.link-btn{background:none;border:0;color:var(--blue);font:600 .9rem var(--font);padding:8px 0;cursor:pointer;text-decoration:underline;text-decoration-color:var(--blue-pale);text-underline-offset:4px}
.link-btn:hover{text-decoration-color:var(--blue)}
/* Turnstile: its own row directly above the button, with room for the managed widget's 300 x 65 box. Collapses when the
   Worker returns no site key (nothing renders into it). */
.ts{margin:24px 0 0;min-height:65px;max-width:100%;overflow:visible}
.ts:empty{min-height:0;margin:0}
.status{margin:16px 0 0;color:var(--alert);font-size:.92rem}
.status:empty{margin:0}
.btn{display:block;width:100%;margin-top:24px;background:var(--blue);color:var(--white);border:0;border-radius:var(--r-md);padding:15px 18px;font:600 1rem var(--font);letter-spacing:.01em;cursor:pointer;transition:background .15s}
.btn:hover{background:var(--blue-deep)}.btn[disabled]{opacity:.6;cursor:progress}
.fine{color:var(--gray-700);font-size:.8125rem;margin:14px 0 0}
.hp{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}
.done{text-align:center;padding:40px 24px}
.done img{display:block;margin:0 auto 16px}
.done h2{font-weight:600;font-size:1.75rem;letter-spacing:-.015em;margin:0 0 10px}
.done p{font-family:var(--serif);font-size:1.125rem;color:var(--blue-soft)}

/* footer */
.foot{border-top:1px solid var(--line);background:var(--white);color:var(--gray-700);font-size:.8125rem;padding:22px 0 40px;margin-top:12px}
.foot p{margin:0 0 6px}
.foot .call{font-weight:500;color:var(--blue-deep)}

@media (min-width:520px){
  .row{grid-template-columns:1fr 1fr}
  .card{padding:32px 28px}
  .logo img{height:48px}
}
@media (min-width:960px){
  .shell{max-width:1120px;padding-left:32px;padding-right:32px}
  .layout{display:grid;grid-template-columns:1fr minmax(0,500px);gap:64px;align-items:start;padding-top:24px;padding-bottom:40px}
  .intro{position:sticky;top:24px}
  .hero{padding-top:28px}
  .panel .card{margin-top:28px}
}
