/* Approved Ivory & Indigo direction; deliberately scoped to the public homepage. */
body.home-page {
  --ink:#17133d; --text:#57566f; --line:#e6e3ef; --soft:#f2eff9;
  --navy:#211a59; --navy-2:#302772; --blue:#4335b2; --purple:#4335b2;
  --premium-paper:#faf8f4; --premium-accent:#211a59;
  background:var(--premium-paper); color:var(--ink);
}
.home-page [hidden] { display:none!important }
.home-page .home-container { width:min(1320px,calc(100% - 80px)) }
.home-page .reveal { opacity:1; transform:none; visibility:visible }
.home-page .home-header { background:rgba(250,248,244,.96); border-bottom:1px solid var(--line); box-shadow:none }
.home-page .home-nav-wrap { height:84px; gap:24px }
.home-page .home-brand img { width:164px; filter:none }
.home-page .bs-global-nav a,.home-page .bs-nav-trigger,.home-page .bs-nav-icon { color:var(--ink)!important; font-weight:650 }
.home-page .bs-global-nav a:hover,.home-page .bs-nav-trigger:hover,.home-page .bs-global-nav .is-active { background:#ece9f8!important; color:#211a59!important }
.home-page .bs-global-nav .bs-nav-auth,.home-page .bs-global-nav .bs-nav-auth:hover { background:#211a59!important; color:white!important; box-shadow:none; border-radius:8px }
.home-page .bs-nav-menu { border-color:var(--line); box-shadow:0 18px 40px #211a5912 }
.home-page .bs-nav-tools { border-color:var(--line) }
.home-page .home-menu { background:white; border-color:var(--line) }
.home-page .home-menu span { background:#211a59 }
.home-page .home-hero { min-height:0; padding:152px 0 42px; color:var(--ink); background:var(--premium-paper) }
.home-page .home-hero::before,.home-page .home-hero::after,.home-page .hero-orb { display:none }
.home-page .home-hero-grid { grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr); gap:48px }
.home-page .home-kicker { padding:0; border:0; border-radius:0; background:none; box-shadow:none; color:#514798; font-size:10px; letter-spacing:.15em; text-transform:uppercase; line-height:1.6 }
.home-page .home-kicker>span { display:none }
.home-page .home-hero-copy h1 { margin:24px 0 22px; font-size:clamp(52px,5.35vw,80px); font-weight:850; letter-spacing:-.065em; line-height:1.04; color:#17133d }
.home-page .home-hero-copy h1>span { background:none; color:#211a59 }
.home-page .home-hero-copy>p { font-size:16px; line-height:1.75; color:var(--text); max-width:480px }
.home-page .home-hero-actions { margin-top:28px; gap:12px }
.home-page .home-btn { min-height:50px; border-radius:9px; padding:0 21px; font-size:13px; font-weight:700 }
.home-page .home-btn.primary { background:#211a59; color:white; box-shadow:0 7px 16px #211a5910 }
.home-page .home-btn.primary:hover { background:#382b82; box-shadow:0 10px 24px #211a5920 }
.home-page .home-btn.secondary { background:transparent; border-color:#a9a2ce; color:#211a59; box-shadow:none }
.home-page .home-trust-row { color:#514d6b; gap:14px; margin-top:26px; flex-wrap:wrap }
.home-page .home-trust-row>span { font-size:10px }
.home-page .home-trust-row i { background:#ece9f8; color:#4335b2; border-color:#e0dbf1 }
.premium-playground { min-width:0; overflow:hidden; border:1px solid #e3deef; border-radius:14px; background:white; box-shadow:0 20px 48px #211a5910 }
.premium-browser-bar { display:flex; align-items:center; gap:15px; min-height:44px; padding:0 16px; background:#f2eff9; color:#4e496d; font-size:10px; border-bottom:1px solid #e3deef }
.premium-dots { display:flex; gap:5px }.premium-dots i { width:7px; height:7px; border-radius:50%; background:#eb807d }.premium-dots i:nth-child(2){background:#e9bf61}.premium-dots i:nth-child(3){background:#6eb99c}
.premium-preview-label { margin-left:auto; font-size:8px; letter-spacing:.12em }
.premium-editor-grid { display:grid; grid-template-columns:1.05fr 1fr; min-height:320px }
.premium-editor { min-width:0; background:#202530; color:#d2d9e8; padding:16px 18px }
.premium-editor-heading { display:flex; justify-content:space-between; gap:8px; color:#b5a3ff; font-size:9px }.premium-editor-heading>span:last-child { font-size:7px; color:#a9b0c1; letter-spacing:.08em }
.premium-editor pre { margin:25px 0 0; white-space:pre; overflow:auto; font:9px/1.95 Consolas,monospace; scrollbar-width:thin }
.code-tag { color:#99bdf8 }.code-attr { color:#d9afea }.code-string { color:#a4d5af }.code-muted { color:#a6aec0 }
.premium-editor-note { padding-top:26px; color:#a9b0c1; font:8px/1.5 Consolas,monospace }
.premium-output { min-width:0; padding:10px; background:#f5f3fa }
.premium-output-bar { display:flex; justify-content:space-between; padding:2px 6px 12px; color:#68617f; font-size:7px; letter-spacing:.12em }
.premium-portfolio { position:relative; min-height:272px; padding:18px; background:white; border:1px solid #e9e5f3; border-radius:6px; overflow:hidden }
.premium-portfolio-brand { display:flex; justify-content:space-between; font-size:10px; font-weight:800 }.premium-portfolio-brand>span { color:#7566c4; font-size:18px }
.premium-portfolio-kicker { display:block; margin:26px 0 10px; font-size:6px; letter-spacing:.12em; color:#6c5bab }
.premium-portfolio>strong { display:block; font-size:24px; line-height:1.13; letter-spacing:-1px; max-width:240px }
.premium-portfolio>p { font-size:9px; line-height:1.6; color:#615b78 }
.premium-demo-button { display:inline-block; padding:8px 11px; border-radius:4px; background:#302772; color:white; font-size:7px }
.premium-build-art { margin:22px 0 0; display:flex; gap:12px; align-items:center; color:#6c60a8; font-size:8px }
.premium-build-art>span { display:grid; place-items:center; width:38px; height:31px; background:#eeebfa; border:1px solid #dcd5f1; border-radius:5px; font:bold 13px Consolas,monospace }
.premium-build-art i { width:30px; height:1px; background:#cfc7e8 }.premium-build-art b { font-weight:500 }
.premium-preview-footer { display:flex; align-items:center; justify-content:space-between; gap:12px; padding:13px 16px; border-top:1px solid #e6e3ef }
.premium-preview-footer>div { display:flex; align-items:center; gap:9px }.premium-preview-footer strong { display:block; font-size:10px }.premium-preview-footer small { display:block; margin-top:4px; color:#625d7a; font-size:8px }
.premium-lesson-icon { padding:7px; border-radius:5px; background:#f1eef9; color:#4335b2 }
.premium-preview-footer>a { padding:9px 10px; border-radius:5px; background:#211a59; color:white!important; font-size:9px; white-space:nowrap }
.home-page .home-proof-ribbon { margin-top:40px; border:1px solid var(--line); background:transparent; box-shadow:none; border-radius:12px }
.home-page .proof-ribbon-item { padding:15px; border-color:var(--line) }.home-page .proof-ribbon-item strong { color:#29244a; font-size:11px }.home-page .proof-ribbon-item span { color:#625d7a }
.home-page .proof-ribbon-icon { background:#eeebf7; color:#4335b2; border-color:#e0dbef; width:34px; height:34px }
.home-page .home-section { padding:65px 0; background:var(--premium-paper) }
.home-page .home-skills { padding-top:26px; padding-bottom:40px }
.home-page .home-section-head { margin-bottom:26px }.home-page .home-section-head h2 { font-size:clamp(28px,3vw,40px); line-height:1.17; letter-spacing:-1.4px; color:#17133d }.home-page .home-section-head h2 span { color:#4335b2 }
.home-page .home-section-head p { color:#625d7a; font-size:14px; line-height:1.7 }.home-page .section-label { color:#62539a; font-size:9px; letter-spacing:.15em }
.premium-paths { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:14px }
.premium-path { position:relative; display:flex; align-items:flex-start; gap:13px; min-width:0; padding:23px 18px; border:1px solid #e9e5ee; background:white; border-radius:12px; box-shadow:0 4px 14px #211a5903; transition:border-color .2s,transform .2s }
.premium-path:hover { border-color:#a59bcf; transform:translateY(-3px) }.premium-path h3 { margin:2px 20px 8px 0; font-size:16px; letter-spacing:-.4px }.premium-path p { margin:0; color:#625d7a; font-size:11px; line-height:1.65 }
.premium-path-icon { display:grid; place-items:center; flex:0 0 37px; height:40px; border-radius:8px; background:#fff0e7; color:#b94b1b; font:bold 18px Consolas,monospace }.premium-path-css .premium-path-icon { color:#2259b0; background:#e9f0ff }.premium-path-javascript .premium-path-icon { color:#5f4d0c; background:#fff4bd; font-size:14px }.premium-path-python .premium-path-icon { color:#315f94; background:#edf2fb; font-size:15px }
.premium-path-arrow { position:absolute; right:14px; top:21px; display:grid; place-items:center; width:23px; height:23px; border:1px solid #e8e3f2; border-radius:50%; color:#4335b2; font-size:12px }
.home-page .home-our-work { padding-top:32px; background:var(--premium-paper)!important }
.home-page .home-our-work>.home-container { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:22px }
.home-page .home-our-work .home-section-head,.home-page .work-footnote { grid-column:1/-1 }
.home-page .home-our-work .home-section-head { margin-bottom:4px }
.home-page .work-feature { grid-template-columns:1fr; align-content:start }
.home-page .work-feature+.work-feature { margin-top:0 }
.home-page .work-preview { min-height:290px; padding:24px }
.home-page .work-copy { padding:28px }
.home-page .work-copy h3 { font-size:30px; line-height:1.1; letter-spacing:-1px }
.home-page .work-feature-school .work-browser { min-height:230px }
.home-page .work-feature { background:white!important; border-color:#e6e3ef!important; border-radius:16px!important; box-shadow:0 8px 30px #211a5905!important; gap:34px!important }
.home-page .work-feature:hover { transform:none!important }.home-page .work-copy h3 { color:#211a59!important }.home-page .work-copy p,.home-page .work-footnote p { color:#625d7a!important }
.home-page .work-eyebrow span,.home-page .work-details span,.home-page .work-footnote>span { color:#62539a!important }.home-page .work-details strong { color:#30294e!important }.home-page .work-tags span { background:#f5f2fa!important; border-color:#e7e2ef!important; color:#615675!important }
.home-page .work-btn.primary { background:#211a59!important; box-shadow:none!important }.home-page .work-status { color:#625d7a!important }.home-page .work-preview-badge { background:#211a59!important; color:white!important }
.home-page .home-projects { background:#f1eef7!important }.home-page .project-card { border-radius:16px!important; border-color:#e4deef!important; box-shadow:none!important }.home-page .project-card:hover { transform:translateY(-3px)!important }.home-page .project-card h3 { color:#211a59!important }.home-page .project-card p { color:#625d7a!important; font-size:13px!important }.home-page .project-action { background:#faf8fd; border-color:#ded7ef; color:#302772!important }
.home-page .method-card { border-color:#e6e3ef; border-radius:16px; box-shadow:none; background:white }.home-page .method-icon { background:#efebf8; color:#4335b2 }.home-page .method-card p { font-size:13px; color:#625d7a }
.home-page .home-bento { background:#211a59 }.home-page .home-bento .home-section-head h2 { color:white }.home-page .home-bento .home-section-head h2 span { color:#c7bafa }.home-page .home-bento .home-section-head p { color:#d1cbe5 }.home-page .home-bento .section-label { color:#c7bafa }
.home-page .bento-card { background:#302772; border-color:#51488a; border-radius:16px; box-shadow:none }.home-page .bento-card h3 { color:white }.home-page .bento-card p { color:#d1cbe5; font-size:13px }.home-page .bento-icon { color:#dbd1ff }.home-page .bento-stat span { color:#d1cbe5; font-size:10px }.home-page .bento-language span { color:#dfd9ed }
.home-page .home-cta { background:var(--premium-paper); padding:64px 0 }.home-page .cta-shell { background:#211a59; border-radius:16px; box-shadow:none }.home-page .cta-shell::before { display:none }.home-page .cta-copy h2 span { color:#d2c7ff }.home-page .cta-copy p { color:#d1cbe5; font-size:14px }.home-page .cta-copy .section-label { color:#c7bafa }
.home-page .cta-actions .primary { background:white; color:#211a59 }.home-page .cta-actions .secondary { color:white; border-color:#756aa2 }
.home-page .home-footer { background:#f2eff7!important; color:#211a59!important; border-top:1px solid #e4deef!important }.home-page .footer-brand img { filter:none!important }.home-page .footer-brand p,.home-page .footer-brand span,.home-page .footer-grid a,.home-page .footer-bottom { color:#625d7a!important }.home-page .footer-grid h3 { color:#211a59!important }
.home-page a:focus-visible,.home-page button:focus-visible { outline:3px solid #8979d5!important; outline-offset:4px }
@media(max-width:1120px) {
  .home-page .home-container { width:calc(100% - 48px) }
  .home-page .home-hero-grid { gap:30px; grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr) }
  .home-page .home-hero-copy h1 { font-size:56px }.premium-editor-grid { grid-template-columns:1fr 1fr }
  .premium-editor { padding:12px }.premium-editor pre { font-size:8px }.premium-portfolio { padding:13px }.premium-portfolio>strong { font-size:21px }
  .premium-paths { grid-template-columns:repeat(2,minmax(0,1fr)) }
}
@media(max-width:920px) {
  .home-page .home-hero { padding-top:125px }.home-page .home-hero-grid { grid-template-columns:1fr; gap:35px }
  .home-page .home-hero-copy { max-width:650px }.home-page .home-hero-copy>p { max-width:590px }
  .premium-playground { width:100%; max-width:720px; margin:auto }.premium-editor pre { font-size:11px }.premium-portfolio>strong { font-size:29px }.premium-portfolio { min-height:300px; padding:20px }
  .home-page .home-our-work>.home-container { grid-template-columns:1fr }
}
@media(max-width:600px) {
  .home-page .home-container { width:calc(100% - 36px) }.home-page .home-nav-wrap { height:70px }
  .home-page .home-hero { padding:108px 0 30px }.home-page .home-hero-copy h1 { font-size:clamp(43px,12vw,64px); letter-spacing:-.06em }.home-page .home-kicker { font-size:8px; letter-spacing:.1em }
  .home-page .home-hero-copy>p { font-size:14px }.home-page .home-hero-actions { display:flex; flex-direction:column; max-width:100%; margin-top:24px }
  .home-page .home-trust-row { gap:10px; margin-top:20px }.home-page .home-trust-row>span { font-size:9px }
  .premium-browser-bar { padding:0 10px; gap:10px }.premium-preview-label { font-size:6px }
  .premium-editor-grid { grid-template-columns:1fr; min-height:0 }.premium-editor { padding:14px }.premium-editor pre { margin-top:13px; font-size:10px; line-height:1.65; max-height:153px }.premium-editor-note { padding-top:12px }
  .premium-output { padding:12px }.premium-portfolio { min-height:260px }.premium-portfolio-kicker { margin-top:20px }.premium-build-art { position:absolute; bottom:25px; right:18px; flex-direction:column; gap:6px }.premium-build-art i { display:none }
  .premium-preview-footer { padding:12px 10px; gap:8px }.premium-preview-footer strong { font-size:8px }.premium-preview-footer small { font-size:7px }.premium-preview-footer>a { font-size:8px; padding:10px 8px }
  .home-page .home-proof-ribbon { grid-template-columns:1fr 1fr; margin-top:28px }.home-page .proof-ribbon-item { padding:12px; min-height:95px; align-items:flex-start; flex-direction:column; gap:8px }.home-page .proof-ribbon-item strong { font-size:10px }.home-page .proof-ribbon-item span { font-size:8px }
  .premium-paths { grid-template-columns:1fr }.premium-path { padding:22px; gap:16px }.premium-path p { font-size:12px }
  .home-page .home-section { padding:45px 0 }.home-page .home-skills { padding-top:15px; padding-bottom:25px }.home-page .home-section-head h2 { font-size:30px; letter-spacing:-1px }.home-page .home-section-head p { font-size:13px }
  .home-page .home-our-work { padding-top:25px }.home-page .work-feature { gap:20px!important }.home-page .cta-shell { padding:32px 22px }.home-page .cta-copy h2 { font-size:32px }
}
@media(prefers-reduced-motion:reduce) { .premium-path { transition:none }.premium-path:hover { transform:none } }
