/* Skinned to match ancora.com: Montserrat body, Merriweather headings, navy #344A83, text #303F59, orange CTA #CD4B0E, light #F1F2F5, green accent #62BE7C, square corners. */
:root{--navy:#344A83;--navy-d:#2a3c69;--ink:#303F59;--body:#303F59;--muted:#5b667a;--line:#dfe3ea;--paper:#F1F2F5;--cta:#CD4B0E;--cta-d:#b0400b;--green:#62BE7C;--bad:#b42318;--good:#1a7f37;--warn:#8a5a00;--p:#344A83;--a:#CD4B0E;--on-a:#fff;--serif:"Merriweather",Georgia,serif;--sans:"Montserrat",system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;font:500 16px/1.6 var(--sans);color:var(--body);background:#fff;overflow-x:hidden}
.demo-banner{position:sticky;top:0;z-index:50;background:var(--paper);color:var(--navy);border-bottom:3px solid var(--cta);padding:8px 16px;font-size:12px;line-height:1.35;font-weight:600;text-align:center}
.card,.stage{scroll-margin-top:96px}
/* header: logo left, nav right */
header.top{background:#fff;border-bottom:1px solid var(--line)}
header.top .in{max-width:1170px;margin:0 auto;padding:8px 16px;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px 24px}
header.top .ancora{display:block;height:44px;width:auto}
header.top nav{display:flex;flex-wrap:wrap;gap:0 24px}
header.top nav a{font:700 13px/40px var(--sans);text-transform:uppercase;color:var(--ink);text-decoration:none;letter-spacing:.02em}
header.top nav a:hover,header.top nav a[aria-current]{color:var(--navy);box-shadow:inset 0 -3px 0 var(--green)}
/* hero */
.hero{background:linear-gradient(135deg,#344A83 0%,#2a3c69 100%);color:#fff;padding:48px 16px 96px;text-align:center}
.wrap{max-width:760px;margin:0 auto}
.eyebrow{font-weight:700;font-size:13px;letter-spacing:.14em;text-transform:uppercase;color:#fff;opacity:.85}
h1{font:700 30px/1.25 var(--serif);margin:16px 0;color:#fff;overflow-wrap:anywhere}
h1 em{font-style:normal;color:#fff;box-shadow:inset 0 -.3em 0 var(--green)}
.lede{font:500 17px/1.6 var(--sans);color:#fff;margin:0 auto}
/* steps box, like their gray 4-up box overlapping the hero */
ol.steps{list-style:none;padding:24px 16px;margin:-56px auto 0;max-width:1000px;display:grid;gap:24px;background:var(--paper);position:relative}
ol.steps li{font:700 18px/1.3 var(--serif);color:var(--navy);padding-bottom:12px;border-bottom:3px solid var(--green);width:fit-content;max-width:100%}
ol.steps .n{display:none}
.schoolstrip{max-width:1000px;margin:32px auto 0;padding:0 16px;text-align:center}
.schoolstrip b{display:block;font:700 13px var(--sans);letter-spacing:.1em;text-transform:uppercase;color:var(--muted);margin-bottom:16px}
.schoolstrip .schools{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:16px 32px}
.schoolstrip img{height:40px;width:auto;max-width:40%}
main{padding:32px 16px 48px}
.card{background:#fff;color:var(--ink);padding:24px 16px;border:1px solid var(--line);border-top:4px solid var(--navy);margin:0 auto 24px;max-width:640px}
.card h2{margin:0 0 16px;font:700 21px/1.3 var(--serif);color:var(--navy);display:flex;gap:16px;align-items:center}
.card h2::after{content:none}
.card h2 .n{flex:none;width:32px;height:32px;line-height:32px;text-align:center;font:700 15px var(--sans);background:var(--navy);color:#fff}
.card p{margin:0 0 16px}
.locked .body{display:none}
.lockmsg{display:none;color:var(--muted);margin:0}
.locked .lockmsg{display:block}
label{display:block;font-weight:600;font-size:14px;margin:0 0 16px;color:var(--ink)}
input[type=text],input[type=email],input[type=tel],input[type=password],input[type=search],select{display:block;width:100%;height:48px;margin-top:4px;font:500 16px var(--sans);padding:8px 12px;border:1px solid #aab1be;border-radius:0;background:#fff;color:var(--ink)}
:focus-visible{outline:3px solid var(--navy);outline-offset:2px}
.row{display:grid;grid-template-columns:1fr;gap:0}
button,.btn{display:block;width:100%;min-height:48px;margin-top:8px;background:var(--cta);color:#fff;border:2px solid var(--cta);border-radius:0;font:600 15px var(--sans);text-transform:uppercase;letter-spacing:.03em;padding:12px 24px;cursor:pointer;text-align:center;text-decoration:none}
button:hover,.btn:hover{background:var(--cta-d);border-color:var(--cta-d)}
button.alt,.btn.alt{background:#fff;border:2px solid var(--navy);color:var(--navy)}
button.alt:hover,.btn.alt:hover{background:var(--paper)}
button[disabled]{opacity:.6;cursor:default}
.err{color:var(--bad);font-size:14px;min-height:20px;margin-top:8px}
.ok{color:var(--good);font-weight:700;margin:0 0 16px}
.note{font-size:14px;color:var(--muted);margin:0 0 16px}
.check{display:flex;gap:16px;align-items:flex-start;font-weight:500}
.check input{flex:none;width:24px;height:24px;margin:2px 0 0}
.prompt{border-left:4px solid var(--green);background:var(--paper);padding:16px;margin:0 0 16px}
.prompt b{display:block;font-size:13px;letter-spacing:.08em;text-transform:uppercase;color:var(--navy);margin-bottom:8px}
.prompt ul{margin:0;padding-left:24px}
.stage{position:relative;width:100%;aspect-ratio:3/4;max-height:70vh;background:var(--navy-d);overflow:hidden;margin:0 0 8px}
.stage video{position:absolute;inset:0;width:100%;height:100%;background:#000;object-fit:cover}
.stage video#live{transform:scaleX(-1)}
.stage video.replay{object-fit:contain}
.timer{position:absolute;top:16px;left:50%;transform:translateX(-50%);z-index:2;display:flex;align-items:center;gap:8px;padding:0 16px;height:32px;border-radius:16px;background:rgba(0,0,0,.65);color:#fff;font:700 16px ui-monospace,Menlo,monospace}
.timer:empty{display:none}
.timer::before{content:"";width:10px;height:10px;border-radius:50%;background:#ff3b30}
.stage.idle{aspect-ratio:auto;max-height:none;background:var(--paper);border:1px solid var(--line);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;padding:40px 16px}
.stage.idle .idleMsg{display:block;color:var(--muted);font-size:15px;text-align:center}
.stage .idleMsg{display:none}
.stage button.camStart{width:auto;min-width:200px;margin:0}
.stage:not(.idle) button.camStart{display:none}
.stage button.rec{position:absolute;left:50%;bottom:16px;transform:translateX(-50%);z-index:2;width:64px;height:64px;min-height:64px;margin:0;padding:0;border-radius:50%;border:4px solid #fff;background:transparent}
.stage button.rec::after{content:"";position:absolute;inset:4px;border-radius:50%;background:#e5251b}
.stage button.rec.on::after{inset:14px;border-radius:6px}
.hidden{display:none!important}
.msg{background:var(--paper);padding:16px;font:400 15px/1.6 var(--serif);margin:16px 0;overflow-wrap:anywhere}
.sharebox{display:grid;gap:0}
.fine h3{margin:0 0 8px;font:700 18px var(--serif);color:var(--navy)}
.fine ol{padding-left:24px;margin:0 0 16px}
.sample-tag{display:inline-block;font:700 11px var(--sans);letter-spacing:.06em;text-transform:uppercase;color:var(--cta);border:1px solid currentColor;padding:0 8px;line-height:22px;vertical-align:middle}
.ex{background:var(--paper);border-left:4px solid var(--green);padding:8px 16px;margin:0 0 16px;font-size:15px}
.bar{height:16px}
/* "Have questions" style band and footer */
footer.foot{background:var(--navy);color:#fff;padding:32px 16px;font-size:13px}
footer.foot .in{max-width:1170px;margin:0 auto;display:flex;flex-wrap:wrap;gap:16px 32px;align-items:flex-end;justify-content:space-between}
footer.foot img{height:44px;width:auto;display:block;filter:brightness(0) invert(1);margin-bottom:8px}
footer.foot .tagline{font:700 15px var(--serif)}
footer.foot p{margin:0 0 8px;max-width:640px;line-height:1.5}
footer.foot a{color:#fff}
@media (min-width:560px){h1{font-size:40px}.row{grid-template-columns:1fr 1fr;gap:8px}.card{padding:32px}.sharebox{grid-template-columns:1fr 1fr;gap:0 8px}ol.steps{grid-template-columns:repeat(3,1fr);padding:32px;gap:32px}.hero{padding:64px 16px 112px}.lede{font-size:19px}button,.btn{width:auto;display:inline-block}.sharebox .btn,.sharebox button,form button[type=submit]{width:100%;display:block}}
