body.home-page { background:#f7fbff; color:#173d54; }
.home-page .ablocks-fill-and-pad { height:auto; min-height:100%; padding:70px 28px 0; }
.home-page .ablocks-fill-and-pad > br:last-child { display:none; }
.home-page .navbar { border:0; border-bottom:1px solid #dbeaf3; background:#fff; }
.home-page .navbar-nav > li > a { font-size:13px; }
.home { --home-ink:#173d54; --home-muted:#587080; --home-blue:#087da5; --home-red:#ed4136; max-width:1180px; margin:auto; font-family:var(--platform-font-family,'Segoe UI',system-ui,sans-serif); font-size:15px; line-height:1.65; }
.home *, .home-demo-modal * { box-sizing:border-box; }
.home h1,.home h2,.home h3,.home p { margin:0; }
.home a,.home button,.home-demo-modal button { transition:background .18s,color .18s,transform .18s,border-color .18s; }
.home a:focus-visible,.home button:focus-visible,.home-demo-modal :focus-visible { outline:3px solid #ed4136; outline-offset:5px; }
.home-hero { display:grid; grid-template-columns:1.02fr 1fr; align-items:center; gap:38px; min-height:538px; padding:34px 0 54px; }
.home-eyebrow { color:#37718d; font-size:11px; font-weight:700; letter-spacing:.09em; line-height:1.6; text-transform:uppercase; }
.home-status-dot { display:inline-block; width:7px; height:7px; margin-right:8px; border-radius:50%; background:#ed4136; vertical-align:1px; }
.home h1 { margin:20px 0 22px; color:var(--home-ink); font-size:clamp(42px,4.3vw,61px); line-height:1.1; font-weight:750; letter-spacing:-.055em; }
.home h1 > span, #home-environments-title { color:#1680a9; }
.home-intro { max-width:440px; color:var(--home-muted); font-size:17px; line-height:1.75; }
.home-hero-actions { display:flex; flex-direction:column; align-items:flex-start; gap:12px; margin-top:28px; }
.home-account-actions { display:flex; flex-wrap:wrap; gap:12px; }
.home-user .home-hero { display:block; min-height:0; padding:48px 0; }
.home-user .home-hero-copy { display:flex; flex-direction:column; align-items:flex-start; }
.home-user .home-hero-actions { flex-direction:row; flex-wrap:wrap; margin-top:4px; }
.home-user .home-account-actions { display:contents; }
.home-user .home-intro { order:1; max-width:650px; margin-top:24px; }
.home-button { display:inline-flex; justify-content:center; align-items:center; gap:22px; min-height:48px; padding:11px 22px; border:1px solid transparent; border-radius:7px; font-family:inherit; font-size:14px; font-weight:650; text-decoration:none!important; line-height:1.4; cursor:pointer; }
.home-button > span { font-size:20px; line-height:1; font-weight:400; }
.home-button-primary { background:var(--home-blue,#087da5); color:#fff; }
.home-button-primary:hover,.home-button-primary:focus { color:#fff; background:#086486; transform:translateY(-2px); }
.home-button-try { background:#fff5e5; color:#79572c; border-color:#eed8b8; box-shadow:0 3px 9px #b48a481a; }
.home-button-try:hover,.home-button-try:focus { background:#f7e6c9; color:#62411d; border-color:#b89159; transform:translateY(-2px); }
.home-button-projects { background:#1680a9; color:#fff; border-color:#117498; }
.home-button-projects:hover,.home-button-projects:focus { background:#106b90; color:#fff; border-color:#0d6082; transform:translateY(-2px); }
.home-button-secondary { background:transparent; color:#285a76; border-color:#bfd8e8; }
.home-button-secondary:hover,.home-button-secondary:focus { color:#174664; background:#eaf5fd; border-color:#83b8d5; }
.home-button-login { background:#ffd1cc; color:#8d2924; border-color:#e98d82; box-shadow:0 3px 9px #bb49351a; }
.home-button-login:hover,.home-button-login:focus { background:#ffc0b9; color:#77201a; border-color:#dd756a; transform:translateY(-2px); }
.home button:disabled,.home-demo-modal button:disabled { cursor:not-allowed; opacity:.45; transform:none; }
.home-hero-note { margin-top:12px!important; color:#667e8e; font-size:12px; }
.home-explore-link { display:inline-flex; gap:20px; margin-top:32px; color:#527990; font-size:12px; text-decoration:none; }
.home-explore-link:hover { color:#087da5; }
.home-hero-art { position:relative; min-width:0; height:420px; }
.home-art-orbit { position:absolute; pointer-events:none; border-radius:50%; }
.home-art-orbit-one { width:395px; height:395px; right:-8px; top:8px; background:radial-gradient(circle at 35% 30%,#e6f6ff,#d8ecfb); }
.home-art-orbit-two { width:315px; height:315px; right:30px; top:48px; border:1px dashed #a5cce3; }
.home-editor-preview { position:absolute; left:0; right:10px; top:32px; overflow:visible; border:0; background:transparent; filter:drop-shadow(0 14px 20px #164c7326); transform:rotate(-3deg); }
.home-editor-image { display:block; width:100%; height:auto; }
.home-board-preview { position:absolute; width:210px; height:195px; right:-7px; bottom:0; transform:rotate(7deg); filter:drop-shadow(0 12px 12px #193e5c28); }
.home-board-image { position:absolute; inset:0; display:block; width:100%; height:100%; object-fit:contain; opacity:0; transition:opacity .65s ease-in-out; }
.home-board-image[aria-hidden="false"] { opacity:1; }
.home-art-caption { position:absolute; left:8px; bottom:-22px; display:flex; align-items:center; gap:8px; max-width:calc(100% - 210px); font-size:18px; font-weight:650; line-height:1.5; }
.home-caption-brand { display:block; color:#173d54; font-size:1.12em; font-weight:750; }
.home-caption-motto { color:#1680a9; }
.home-art-caption .home-caption-star { color:#ed4136; font-size:23px; }
.home-art-spark { position:absolute; top:0; right:7px; color:#ed4136; font-size:44px; transform:rotate(12deg); }
.home-path { display:flex; align-items:center; justify-content:space-between; gap:16px; padding:26px 0; border-top:1px solid #d3e5f1; border-bottom:1px solid #d3e5f1; }
.home-path > div { display:flex; gap:16px; align-items:center; }
.home-path-number { color:#337c9e; font-size:11px; border:1px solid #c7e0f0; width:36px; height:36px; display:grid; place-items:center; border-radius:50%; flex-shrink:0; background:#edf7fe; }
.home-path strong,.home-path p > span { display:block; }
.home-path strong { font-size:13px; font-weight:650; }
.home-path p > span { color:var(--home-muted); font-size:11px; }
.home-path-arrow { color:#ed6259; font-size:20px; }
.home-environments { padding:64px 0 54px; scroll-margin-top:75px; }
.home-section-heading { display:flex; align-items:flex-end; justify-content:space-between; gap:70px; margin-bottom:28px; }
.home h2 { margin-top:9px; font-size:33px; font-weight:650; letter-spacing:-.035em; line-height:1.2; }
.home-section-heading > p { max-width:390px; color:var(--home-muted); font-size:13px; }
.home-environment-grid { display:grid; grid-template-columns:1fr 1fr; gap:22px; }
.home-environment { display:flex; flex-direction:column; padding:29px 31px 22px; border:1px solid #cfe4f3; border-radius:12px; background:linear-gradient(140deg,#edf8ff,#e6f2fc); }
.home-environment-python { border-color:#d4e4f5; background:linear-gradient(140deg,#f0f8ff,#e5effc); }
.home-environment-top { display:flex; align-items:center; justify-content:space-between; gap:15px; margin-bottom:19px; }
.home-framework-icon { display:block; width:44px; height:44px; object-fit:contain; flex-shrink:0; }
.home-environment-badges { display:flex; flex-wrap:wrap; justify-content:flex-end; align-items:center; gap:7px; }
.home-beta { display:inline-block; padding:4px 9px; border:1px solid #f0b4af; border-radius:5px; background:#fff0ee; color:#a83930; font-size:10px; font-weight:700; }
.home-tag { padding:5px 9px; border:1px solid #c0dced; border-radius:5px; color:#3f6b83; font-size:10px; }
.home h3 { margin-bottom:12px; font-size:26px; font-weight:650; letter-spacing:-.035em; line-height:1.2; }
.home-environment > p { color:#4c6c80; font-size:13px; line-height:1.8; }
.home-connection { display:flex; align-items:center; gap:12px; margin:24px 0; padding:14px 0; border-top:1px solid #cbdfea; border-bottom:1px solid #cbdfea; font-size:11px; color:#315f7c; }
.home-connection > i { color:#558caa; font-style:normal; }
.home-connection > span:first-child { font-weight:650; }
.home-environment-links { display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:14px; margin-top:auto; }
.home-environment-links a { color:#3c718e; font-size:11px; }
.home-environment-links a span { margin-left:8px; }
.home-text-button { display:inline-flex; gap:18px; align-items:center; padding:0; border:0; background:transparent; color:#17688f; font-family:inherit; font-size:13px; font-weight:700; }
.home-text-button:hover { color:#0d4666; }
.home-text-button span { font-size:18px; }
.home-environment > .home-browser-note { font-size:10px; margin-top:14px; margin-bottom:-4px; color:#58758f; }
.home-resources { display:grid; grid-template-columns:100px 1fr auto; gap:30px; align-items:center; padding:30px 34px; background:#fff5e5; border:1px solid #eed8b8; border-radius:12px; }
.home-resources h2 { font-size:27px; color:#694829; }
.home-resources p:not(.home-eyebrow) { max-width:550px; margin-top:10px; color:#7b6850; font-size:12px; }
.home-resources .home-eyebrow { color:#92713f; }
.home-resources .home-button { font-size:12px; color:#79572c; background:#fffaf1; border-color:#cdb086; white-space:nowrap; padding-inline:16px; }
.home-resources .home-button:hover,.home-resources .home-button:focus { color:#62411d; background:#f7e6c9; border-color:#b89159; }
.home-resource-icon { position:relative; color:#b48a48; }
.home-resource-icon svg { width:80px; display:block; }
.home-resource-icon > span { position:absolute; top:-15px; right:0; font-size:28px; color:#ed4136; }
.home-footer { display:flex; justify-content:center; flex-wrap:wrap; gap:18px; padding:30px 0; color:#607e93; font-size:10px; text-align:center; }
.home-footer > span > span { padding:0 10px; color:#ed4136; }
.home-footer > div { display:flex; flex-wrap:wrap; gap:23px; }
.home-footer a,.home-footer button { color:#466e89; }
.home-footer button { padding:0; border:0; background:transparent; font:inherit; }
.home-demo-modal .modal-content { border:0; border-radius:14px; overflow:visible; color:#21475f; font-family:var(--platform-font-family,'Segoe UI',system-ui,sans-serif); }
.home-demo-modal .modal-dialog { width:min(560px,calc(100% - 28px)); margin:10vh auto 30px; }
.home-demo-modal .modal-header { border:0; padding:26px 28px 8px; }
.home-demo-modal .home-eyebrow { color:#37718d; }
.home-demo-modal .modal-title { margin-top:9px; font-size:26px; letter-spacing:-.035em; }
.home-demo-modal .modal-body { padding:15px 28px 25px; }
.home-demo-modal .modal-body > p { color:#55758b; font-size:13px; line-height:1.65; }
.home-demo-modal label { display:block; margin:20px 0 8px; font-size:12px; }
.home-demo-modal .form-control { height:43px; border-color:#c1d8e9; border-radius:6px; box-shadow:none; }
.home-demo-modal .modal-footer { display:flex; gap:20px; justify-content:space-between; align-items:center; padding:20px 28px; border:0; background:#edf6fd; text-align:left; }
.home-demo-modal .modal-footer > span { color:#56798e; font-size:11px; max-width:210px; }
.home-demo-modal [hidden] { display:none!important; }
@media(min-width:1450px) { .home-hero { padding-top:58px; min-height:580px; } }
@media(max-width:1050px) {
 .home-page .ablocks-fill-and-pad { padding-inline:24px; }.home-hero { gap:25px; }
 .home-art-orbit-one { width:330px; height:330px; right:0; top:42px; }.home-art-orbit-two { width:275px; height:275px; right:25px; top:70px; }
 .home-board-preview { width:175px; height:175px; }.home-art-caption { font-size:17px; left:0; max-width:calc(100% - 175px); }
 .home-resources { grid-template-columns:75px 1fr; gap:18px 24px; }.home-resources > a { grid-column:2; justify-self:start; }
 .home-section-heading { gap:35px; }.home-path > div { gap:9px; }.home-path-arrow { display:none; }
}
@media(max-width:760px) {
 .home-page .ablocks-fill-and-pad { padding:74px 20px 0; }.home-hero { grid-template-columns:1fr; padding:22px 0 32px; gap:24px; }
 .home h1 { font-size:clamp(42px,7.5vw,57px); margin-top:17px; }.home-intro { max-width:520px; font-size:16px; }
 .home-hero-art { height:clamp(310px,72vw,385px); width:min(100%,510px); justify-self:center; }
 .home-art-orbit-one { top:0; width:min(360px,100%); height:100%; max-height:360px; right:0; }.home-art-orbit-two { width:78%; height:78%; top:30px; right:25px; }
 .home-editor-preview { top:20px; right:0; left:0; }.home-art-spark { top:-12px; font-size:36px; }
 .home-board-preview { width:160px; height:155px; right:0; bottom:0; }.home-art-caption { left:0; bottom:-44px; font-size:17px; max-width:100%; }
 .home:not(.home-user) .home-hero { padding-bottom:64px; }
 .home-explore-link { margin-top:22px; }.home-path { padding:22px 0; flex-wrap:wrap; gap:19px; }.home-path > div { flex:1 1 170px; }.home-path > div:last-child { flex-basis:100%; }
 .home-environments { padding:41px 0 32px; }.home-section-heading { display:block; }.home-section-heading > p { margin-top:15px; max-width:520px; }.home h2 { font-size:30px; }
 .home-environment-grid { grid-template-columns:1fr; gap:16px; }.home-environment { padding:25px; }.home-environment > p { font-size:14px; }
 .home-resources { padding:27px; grid-template-columns:1fr; gap:17px; }.home-resource-icon { width:70px; }.home-resource-icon svg { width:62px; }.home-resources > a { grid-column:1; }
 .home-resources h2 { font-size:26px; }.home-footer { gap:12px; font-size:11px; }
 .home-demo-modal .modal-footer { flex-wrap:wrap; }.home-demo-modal .modal-footer > span { max-width:none; }.home-demo-modal .modal-footer .home-button { width:100%; }
}
@media(max-width:380px) { .home-board-preview { width:140px; height:145px; }.home-path > div { flex-basis:100%; }.home-button { padding-inline:17px; gap:15px; }.home-tag { font-size:9px; } }
@media(prefers-reduced-motion:reduce) { .home a,.home button,.home-board-image { transition:none; } }

.home-environment-title { display:flex; align-items:center; justify-content:space-between; gap:12px; margin-bottom:12px; }
.home-environment-title h3 { margin:0; }
.home-coming-soon { min-width:0; font-size:10px; font-weight:750; letter-spacing:.04em; line-height:1.4; text-align:right; color:#a83930; }
.home-teacher { display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:24px; margin-top:24px; padding:30px 34px; border:1px solid #cfd6ef; border-radius:12px; background:#f1f0fc; }
.home-teacher h2 { font-size:27px; }
.home-teacher p:not(.home-eyebrow) { margin-top:10px; font-size:13px; color:#64728c; }
.home-teacher-actions { display:flex; flex-direction:column; align-items:flex-start; gap:14px; }
.home-teacher-actions > a:last-child { font-size:12px; color:#526386; }
.home-premium { margin-top:24px; padding:22px 28px; background:#fff5e5; border:1px solid #eed8b8; border-radius:12px; color:#79572c; font-size:12px; }

.home-footer .home-credit { font-size:10px; line-height:1.4; }

.home-demo-modal .framework-trigger { min-height:46px; border-color:#c1d8e9; border-radius:6px; }
.home-demo-modal .modal-body > .home-environment-description { margin:7px 0 0; color:#78838d; font-size:12px; line-height:1.5; }
.home-demo-modal .modal-footer { border-radius:0 0 14px 14px; background:#fff5e5; }
.home-demo-modal .modal-footer > span { color:#7b6850; }
