@font-face{font-family:'Libre Caslon Display';src:url('/fonts/libre-caslon-display-400.ttf') format('truetype');font-style:normal;font-weight:400;font-display:swap}
@font-face{font-family:'DM Sans';src:url('/fonts/dm-sans-500.ttf') format('truetype');font-weight:500;font-display:swap}
@font-face{font-family:'DM Sans';src:url('/fonts/dm-sans-600.ttf') format('truetype');font-weight:600;font-display:swap}

body.public-landing{background:#f7f4eb;color:#263e33;position:relative;overflow-x:hidden;overflow-y:auto;padding-top:1px;font-size:15px}
body.public-landing h1,body.public-landing h2,body.public-landing h3{font-family:'Libre Caslon Display',Georgia,serif;font-weight:400;letter-spacing:-.025em;overflow-wrap:anywhere}
body.public-landing h1{font-size:clamp(44px,6.2vw,76px);line-height:1.06}
body.public-landing h2{font-size:40px}
body.public-landing h3{font-size:28px}
body.public-landing .wrap{max-width:none;padding-left:44px;padding-right:44px}
body.public-landing .topbar{margin:15px 16px 0;padding:8px 20px;border:0;border-radius:8px;background:#304b4e;color:#f5f0df;gap:20px}
body.public-landing .wordmark{font:600 26px 'DM Sans',sans-serif;letter-spacing:-1.3px;white-space:nowrap}
body.public-landing .wordmark span{color:#becda9}
body.public-landing .topbar nav{font-size:12px;gap:20px;flex-wrap:wrap}
body.public-landing .topbar nav a{padding:7px 0}
body.public-landing .topbar nav a:last-child{padding:8px 12px;background:#425b5c;border-radius:5px}
body.public-landing:has(.hero),body.public-landing:has(.guide-page),body.public-landing:has(.research-page),body.public-landing:has(.faq-page){background:#19363c}
body.public-landing main{background:#f7f4eb}
body.public-landing .hero{padding-top:64px;padding-bottom:64px;gap:42px;background:radial-gradient(ellipse at 86% 20%,#47696b,transparent 60%),linear-gradient(125deg,#172f38,#25464b);color:#f5f0df}
body.public-landing .hero h1 em{color:#dfe6cc;font-style:italic}
body.public-landing .hero .description,body.public-landing .hero .small{color:#d8dfcc}
body.public-landing .hero .study-card .small{color:#566357}
body.public-landing .hero .button{color:#203b35;background:#f5f0df}
body.public-landing .study-card{color:#263e33;background:#e7eadb;border:0;padding:28px;transform:rotate(3deg);box-shadow:0 18px 40px #10282b30}
body.public-landing .prompt{font-family:'Libre Caslon Display',Georgia,serif;font-weight:400;font-size:38px;line-height:1.12}
body.public-landing .tinted{background:#e5e9db;padding:58px 0}
body.public-landing .guide-card{border:0;background:#e5e9db;border-radius:6px}
body.public-landing .guide-card:hover{background:#d9e0ce}
body.public-landing .research-invite{background:#e5e9db;border:0}
body.public-landing .guide-page,body.public-landing .faq-page,body.public-landing .research-page{padding-top:0}
body.public-landing .guide-heading,body.public-landing .faq-heading,body.public-landing .research-hero{margin:0 -44px 40px;padding:58px 44px;background:radial-gradient(ellipse at 86% 20%,#47696b,transparent 65%),linear-gradient(125deg,#172f38,#25464b);color:#f5f0df;max-width:none}
body.public-landing .guide-heading h1,body.public-landing .faq-heading h1,body.public-landing .research-hero h1{font-family:'Libre Caslon Display',Georgia,serif;font-weight:400;letter-spacing:-.035em;font-size:clamp(44px,6.2vw,76px)}
body.public-landing .guide-heading em,body.public-landing .research-hero em{color:#dfe6cc}
body.public-landing .guide-heading .small,body.public-landing .research-lede{color:#d8dfcc}
body.public-landing .research-heading{margin:0 -44px 30px;padding:50px 44px;background:#e5e9db}
body.public-landing .research-heading h1{font-size:clamp(40px,5.8vw,66px)}
body.public-landing .research-stamp{color:#263e33;background:#e5e9db;border:0;border-radius:5px}
body.public-landing .bert-control{background:#e7eadb;color:#263e33;padding:7px 5px 7px 24px;border-radius:4px}
body.public-landing .bert-scene figcaption{color:#e4e8d5}
body.public-landing .research-card{border:0;background:#e5e9db;border-radius:5px;box-shadow:none}
body.public-landing .bert-danny-note{border:0;background:#e5e9db;border-radius:6px;padding:28px;margin:35px 0}
body.public-landing .bert-danny-note h2{font-size:36px}
body.public-landing .worked-example,body.public-landing .request-form{border:0;background:#e5e9db}
body.public-landing footer{max-width:none;border:0;background:#14282b;color:#f5f0df;font-size:12px;gap:24px;flex-wrap:wrap}
body.public-landing a:hover{color:inherit}
body.public-landing .invitation{padding-bottom:48px}
body.public-landing .guide-section,body.public-landing .worked-example{max-width:none}
@media(max-width:760px){
 body.public-landing .wrap{padding-left:24px;padding-right:24px}
 body.public-landing .topbar{padding:8px 14px;gap:12px}
 body.public-landing .topbar nav{gap:12px;font-size:12px}
 body.public-landing .topbar nav a:first-child{display:inline}
 body.public-landing .hero{grid-template-columns:1fr;padding:45px 24px;gap:35px}
 body.public-landing .study-card{transform:none}
 body.public-landing h2{font-size:34px}
 body.public-landing .guide-heading,body.public-landing .faq-heading,body.public-landing .research-hero,body.public-landing .research-heading{margin-left:-24px;margin-right:-24px;padding:42px 24px}
 body.public-landing .research-hero{grid-template-columns:1fr}
 body.public-landing .research-stamp{justify-self:start}
 body.public-landing footer{flex-direction:column;align-items:start}
 body.public-landing nav{flex-wrap:wrap}
}
/* Public-only fixed chrome: content passes beneath a slim, borderless,
   translucent menu. The full-width fade never captures links or selections. */
body.public-landing{padding-top:86px;font-family:'DM Sans',sans-serif}
body.public-landing .topbar{position:fixed;top:16px;left:16px;right:16px;width:calc(100% - 32px);margin:0;z-index:20;background:rgba(28,58,62,.72);backdrop-filter:blur(24px) saturate(125%);-webkit-backdrop-filter:blur(24px) saturate(125%)}
body.public-landing .topbar::before{content:'';position:fixed;top:-16px;left:-16px;right:-16px;height:100px;z-index:-1;pointer-events:none;background:linear-gradient(to bottom,rgba(19,44,49,.65),rgba(19,44,49,.18) 70%,transparent)}
body.public-landing .skip:focus{position:fixed;top:8px;z-index:30;color:#263e33}
body.public-landing .topbar nav a:hover{color:#dfe6cc}
body.public-landing [id]{scroll-margin-top:110px}
@media(max-width:760px){body.public-landing{padding-top:145px}body.public-landing .topbar{top:12px;left:12px;right:12px;width:calc(100% - 24px)}body.public-landing [id]{scroll-margin-top:155px}}
@media(prefers-reduced-motion:reduce){body.public-landing{scroll-behavior:auto}}
@media(max-width:760px){
 body.public-landing{padding-top:110px}
 body.public-landing .topbar nav{width:100%;font-size:11px;gap:8px;line-height:1.5}
 body.public-landing .topbar nav a{padding:5px 0}
 body.public-landing .topbar nav a:last-child{position:absolute;right:14px;top:8px;padding:8px 10px}
 body.public-landing [id]{scroll-margin-top:120px}
}
/* Phones: the wordmark already goes home, so the first menu link (Home, or How it works on the home page) gives
   way to keep the menu on one line with For instructors in it. */
@media(max-width:430px){body.public-landing .topbar nav a:first-child{display:none}}

/* App screenshots (October 2026 captures, demo account). Images carry their own width/height so the layout
   doesn't shift while they load; the hero phone is decorative on top of the main shot and hidden on small screens. */
.hero-shot{position:relative;margin:0;align-self:center}
.hero-shot img{display:block;width:100%;height:auto;border-radius:10px;background:#fff;box-shadow:0 26px 60px #08191c66}
.hero-shot .hero-phone{position:absolute;width:38%;right:-4%;bottom:-11%;border-radius:22px;border:7px solid #10262a;box-shadow:0 22px 50px #08191c80}
.hero-shot figcaption{margin-top:16px;font-size:12px;color:#d8dfcc}
.app-tour{padding-top:70px;padding-bottom:20px}
.app-tour h2{margin-bottom:30px}
.shot-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px;margin-bottom:18px}
.app-shot{margin:0}
.app-shot img{display:block;width:100%;height:auto;border-radius:8px;background:#fff;border:1px solid #dcd8c9;box-shadow:0 14px 34px #19363c1f}
.shot-grid .app-shot img{aspect-ratio:1/1;object-fit:cover;object-position:top}
.app-shot a{display:block;text-decoration:none}
.app-shot a:hover img{border-color:#8d9e83}
.app-shot figcaption{margin-top:14px;color:#52604f;font-size:14px;line-height:1.55}
.app-shot figcaption strong{color:#263e33}
.guide-shots{padding:12px 0 36px}
.app-shot.wide{max-width:900px}
.shot-pair{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,.95fr);gap:32px;align-items:start}
.shot-stack{display:grid;gap:32px}
.shot-trio{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px;align-items:start}
.shot-note{margin-top:18px}
.instructors-page code{font-size:.92em;overflow-wrap:anywhere}
.instructors-page .invitation p{max-width:720px}
@media(max-width:900px){.shot-grid,.shot-pair,.shot-trio{grid-template-columns:1fr}.hero-shot .hero-main{display:none}.hero-shot .hero-phone{position:static;width:min(300px,80%);margin:0 auto}.hero-shot figcaption{text-align:center}}
@media(max-width:760px){.app-tour{padding-top:48px}.hero-shot figcaption{margin-top:10px}}
