/* Shared styles for Fiabita static pages (about, terms, privacy, nursing students). Self-hosted fonts, no external requests. */
@font-face{font-family:'Space Grotesk';font-weight:500;font-style:normal;font-display:swap;src:url(/assets/landing/fonts/space-grotesk-latin-500-normal.woff2) format('woff2')}
@font-face{font-family:'Space Grotesk';font-weight:600;font-style:normal;font-display:swap;src:url(/assets/landing/fonts/space-grotesk-latin-600-normal.woff2) format('woff2')}
@font-face{font-family:'Space Grotesk';font-weight:700;font-style:normal;font-display:swap;src:url(/assets/landing/fonts/space-grotesk-latin-700-normal.woff2) format('woff2')}
@font-face{font-family:'Inter';font-weight:400;font-style:normal;font-display:swap;src:url(/assets/landing/fonts/inter-latin-400-normal.woff2) format('woff2')}
@font-face{font-family:'Inter';font-weight:500;font-style:normal;font-display:swap;src:url(/assets/landing/fonts/inter-latin-500-normal.woff2) format('woff2')}
@font-face{font-family:'Inter';font-weight:600;font-style:normal;font-display:swap;src:url(/assets/landing/fonts/inter-latin-600-normal.woff2) format('woff2')}
@font-face{font-family:'Inter';font-weight:700;font-style:normal;font-display:swap;src:url(/assets/landing/fonts/inter-latin-700-normal.woff2) format('woff2')}

:root{
  --bg:#101a1c;--card:#1b2c2f;--card2:#172629;--inset:#122022;--border:#2a4145;--border2:#35545a;
  --text:#eaf2f0;--body:#c9d6d4;--dim:#8fa6a2;--accent:#3fa893;--accent2:#63c5b1;--gold:#d9b24c;--ink:#08110f;
  --hd:'Space Grotesk',system-ui,sans-serif;--bd:Inter,system-ui,-apple-system,'Segoe UI',sans-serif;
  --gut:16px;
}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--bg);color:var(--text);font:400 16px/1.6 var(--bd);-webkit-font-smoothing:antialiased;overflow-x:hidden;
  background-image:radial-gradient(70% 420px at 50% -80px,rgba(63,168,147,.22),transparent 70%);background-repeat:no-repeat}
h1,h2,h3{font-family:var(--hd);letter-spacing:-.02em;text-wrap:balance}
p{text-wrap:pretty}
a{color:var(--accent2)}
:focus-visible{outline:2px solid var(--accent2);outline-offset:3px;border-radius:8px}
.sp-wrap{width:100%;max-width:1180px;margin:0 auto;padding:0 var(--gut)}

/* header */
.sp-top{display:flex;align-items:center;gap:8px;height:64px}
.sp-logo{display:inline-flex;align-items:center;gap:9px;min-height:40px;margin-right:auto;text-decoration:none;color:var(--text);font:700 22px/1 var(--hd);letter-spacing:-.03em}
.sp-logo svg{width:28px;height:28px;filter:drop-shadow(0 4px 12px rgba(63,168,147,.45))}
.sp-lang{display:inline-flex;border:1px solid var(--border);background:var(--card2);border-radius:999px;padding:0;overflow:hidden}
.sp-lang a,.sp-lang span{display:inline-flex;align-items:center;justify-content:center;min-width:40px;min-height:40px;padding:0 10px;font:600 12px/1 var(--bd);letter-spacing:.04em;text-decoration:none}
.sp-lang a{color:var(--dim)}
.sp-lang a:hover{color:var(--text)}
.sp-lang span{background:var(--card);color:var(--text);box-shadow:inset 0 0 0 1px var(--border2);border-radius:999px}
.sp-hub{display:inline-flex;align-items:center;min-height:40px;padding:0 14px;border:1px solid var(--border);background:var(--card2);border-radius:999px;color:var(--text);font:600 13px/1 var(--bd);text-decoration:none;white-space:nowrap}
.sp-hub:hover{border-color:var(--accent)}
@media(max-width:420px){.sp-logo{font-size:20px;gap:7px}.sp-logo svg{width:26px;height:26px}.sp-hub{padding:0 10px}.sp-top{gap:6px}}
@media(min-width:900px){:root{--gut:32px}.sp-top{height:76px}}

/* main column */
.sp-main{max-width:700px;margin:0 auto;padding:22px var(--gut) 56px}
.sp-main.wide{max-width:820px}
.sp-main h1{font-size:clamp(30px,8vw,40px);line-height:1.1;margin:8px 0 12px}
.sp-main h2{font-size:20px;line-height:1.2;margin:30px 0 8px;color:var(--accent)}
.sp-main h3{font-size:16px;margin:18px 0 4px;color:#8fb89a}
.sp-main p,.sp-main li{color:var(--body);font-size:15px}
.sp-main ul,.sp-main ol{padding-left:22px}
.sp-main li{margin:6px 0}
.sp-main a{color:var(--accent2)}
.updated{color:var(--dim);font-size:13.5px;margin:0 0 24px}
.trans-note{color:var(--dim);font-size:13.5px;margin:0 0 18px}
.warn{background:var(--card);border:1px solid var(--border);border-radius:12px;padding:16px 18px;margin:20px 0}
.caps{text-transform:uppercase;font-size:13.5px;letter-spacing:.01em}
.sp-back{display:inline-flex;align-items:center;min-height:40px;margin-top:28px}

/* about / marketing blocks */
.sp-hero{text-align:center;padding:14px 0 6px}
.sp-hero h1{font-size:clamp(32px,8.6vw,46px);line-height:1.06;letter-spacing:-.035em;margin:0 0 14px}
.sp-lead{color:var(--dim);font-size:16.5px;line-height:1.55;max-width:34em;margin:0 auto 22px;text-align:center}
.sp-lead.left{text-align:left;margin-left:0}
.sp-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:8px}
.sp-card{background:var(--card);border:1px solid var(--border);border-radius:18px;padding:20px;margin:0}
.sp-card h2,.sp-card h3{font-size:19px;margin:0 0 6px;color:var(--text)}
.sp-card p{color:var(--dim);font-size:14.5px;line-height:1.55;margin:0}
.sp-main .sp-card+.sp-card,.sp-main section.sp-card{margin-top:14px}
.sp-cards .sp-card{margin-top:0}
.sp-note{text-align:center;color:var(--dim);font-size:13.5px;line-height:1.55;margin:22px auto;max-width:36em}
.sp-tag{display:block;color:var(--gold);font:700 12px/1.2 var(--bd);text-transform:uppercase;letter-spacing:.09em;margin:6px 0 4px}
.sp-cta{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:52px;padding:0 24px;border-radius:14px;text-decoration:none;text-align:center;font:700 16px/1.15 var(--bd);color:var(--ink);background:linear-gradient(180deg,var(--accent2),var(--accent));box-shadow:0 1px 0 rgba(255,255,255,.35) inset,0 14px 34px -12px rgba(63,168,147,.7),0 0 0 1px rgba(99,197,177,.5)}
.sp-main a.sp-cta{color:var(--ink)}
.sp-cta:hover{filter:brightness(1.06)}
.sp-cta.ghost{background:var(--card2);color:var(--text);box-shadow:inset 0 0 0 1px var(--border2)}
.sp-main a.sp-cta.ghost{color:var(--text)}
.sp-cta.ghost:hover{box-shadow:inset 0 0 0 1px var(--accent)}
.sp-ctas{display:flex;flex-wrap:wrap;gap:10px;justify-content:center;margin:18px 0 4px}
.sp-ctas.left{justify-content:flex-start}
.sp-micro{color:var(--dim);font-size:13.5px;line-height:1.45;margin:10px 0 0;text-align:center}
.sp-micro.left{text-align:left}
.sp-links{display:flex;flex-wrap:wrap;gap:0 18px;margin-top:10px}
.sp-links a{display:inline-flex;align-items:center;min-height:40px}
.sp-origin{color:var(--dim);font-size:13.5px;margin:24px 0 0}
@media(max-width:620px){.sp-cards{grid-template-columns:1fr}.sp-ctas .sp-cta{width:100%}.sp-card{padding:16px}}

/* footer */
.sp-foot{margin-top:24px;padding:22px 0 40px;border-top:1px solid var(--border)}
.sp-fl{display:flex;flex-wrap:wrap;gap:0 22px;margin-bottom:10px}
.sp-fl a{display:inline-flex;align-items:center;min-height:44px;color:var(--text);font-weight:500;font-size:14.5px;text-decoration:none}
.sp-fl a:hover{color:var(--accent2)}
.sp-fl a[aria-current=page]{color:var(--accent2)}
.sp-disc{font-size:13.5px;line-height:1.55;color:var(--dim);max-width:52em;margin:0}

/* contact form */
.sp-alert{background:rgba(217,178,76,.09);border:1px solid var(--gold);border-left-width:4px;border-radius:12px;padding:14px 16px;margin:18px 0;color:var(--text);font-size:15px;line-height:1.5}
.sp-alert strong{color:var(--gold)}
.sp-form{display:grid;gap:14px;margin:18px 0 0}
.sp-form label{display:block;font-weight:600;font-size:14.5px;color:var(--text);margin:0 0 6px}
.sp-form input,.sp-form select,.sp-form textarea{width:100%;min-height:48px;padding:10px 14px;border-radius:12px;border:1px solid var(--border2);background:var(--inset);color:var(--text);font:400 16px/1.4 var(--bd)}
.sp-form textarea{min-height:150px;resize:vertical}
.sp-form input:focus-visible,.sp-form select:focus-visible,.sp-form textarea:focus-visible{outline:2px solid var(--accent2);outline-offset:2px}
.sp-form .sp-cta{border:0;cursor:pointer;justify-self:start}
.sp-form .hp{display:none}
.sp-fr{margin-top:34px;padding-top:6px;border-top:1px solid var(--border)}
@media(max-width:620px){.sp-form .sp-cta{width:100%;justify-self:stretch}}
