body { font-size: 16px; line-height: 1.5; }
.nav-wrap { padding-top: 12px; padding-bottom: 12px; }
.brand { font-size: 1.15rem; }
.brand-mark { width: 36px; height: 36px; font-size: 1.35rem; }
.site-header nav a { padding: 8px 13px; }
.hero { min-height: 180px; padding-top: 14px; padding-bottom: 14px; }
.hero::after { font-size: 8rem; bottom: -42px; }
.hero h1 { font-size: clamp(1.85rem, 3.1vw, 2.6rem); margin: .05em 0; }
.hero p { font-size: .9rem; line-height: 1.25; margin: 5px 0 8px; max-width: 690px; }
.hero .button { min-height: 36px; padding: 5px 14px; gap: 16px; }
.button { min-height: 48px; padding: 10px 19px; }
.apps-section { padding-top: 60px; padding-bottom: 60px; }
.section-heading { margin-bottom: 26px; }
.section-heading h2 { font-size: clamp(2rem, 4vw, 3.1rem); }
.app-card, .future-card { min-height: 315px; padding: 26px; }
.card-icon { width: 60px; height: 60px; font-size: 1.65rem; margin-bottom: 18px; }
.app-card h3 { font-size: 1.65rem; }
.about-strip { padding-top: 45px; padding-bottom: 45px; }
.about-number { font-size: 2.35rem; }
.about-strip h2 { font-size: 1.4rem; }
.app-page { padding-top: 32px; padding-bottom: 55px; }
.app-title-row { margin: 18px 0 20px; gap: 30px; }
.app-title-row h1 { font-size: clamp(2.25rem, 4.5vw, 3.7rem); margin-top: .2em; }
.app-title-row p { font-size: 1rem; line-height: 1.5; margin-bottom: 0; }
.card-icon.large { width: 76px; height: 76px; }
.note { padding: 14px 18px; margin: 18px 0; }
.note p { line-height: 1.4; }
.launch-row { display: flex; align-items: center; justify-content: space-between; gap: 24px; padding: 15px 18px; margin: 0 0 18px; border: 1px solid #b9d8d4; border-radius: 14px; background: #eaf5f2; }
.launch-row strong, .launch-row span { display: block; }
.launch-row > div > span { color: #526c6d; margin-top: 2px; }
.launch-button { flex: 0 0 auto; background: #157c78; color: #fff; }
.launch-button:hover, .launch-button:focus { background: #0c5f5c; }
.demo-bar { height: 44px; }
footer { padding-top: 25px; padding-bottom: 25px; }
.footer-inner { font-size: .95rem; }

@media (max-width: 760px) {
  body { font-size: 16px; }
  .hero { padding-top: 14px; padding-bottom: 14px; }
  .hero h1 { font-size: 1.85rem; }
  .hero p { font-size: .9rem; }
  .apps-section { padding-top: 42px; padding-bottom: 42px; }
  .app-card, .future-card { min-height: 280px; }
  .app-page { padding-top: 24px; }
  .app-title-row { gap: 12px; margin-top: 14px; }
  .app-title-row h1 { font-size: 2.3rem; }
  .note { margin: 14px 0; }
  .launch-row { align-items: stretch; flex-direction: column; gap: 12px; }
  .launch-button { width: 100%; }
  .about-strip { padding-top: 35px; padding-bottom: 35px; }
}

/* Shared Jason's AI Projects dark-blue theme. Kept in the established
   stylesheet so the full theme and high-contrast header always load together. */
:root{--ink:#f7f8fa;--muted:#c6d3dc;--cream:#10283a;--paper:#0f2133;--teal:#35a9c7;--teal-dark:#2388a5;--orange:#ffd43b;--line:#355269;--shadow:0 18px 50px rgba(0,9,18,.32)}
body{background:var(--paper);color:var(--ink)}
.site-header{background:#071927;border-bottom-color:#355269}
.nav-wrap{min-height:66px;padding-top:7px;padding-bottom:7px;gap:18px}
.project-brand{display:grid;grid-template-rows:auto auto;gap:1px;line-height:1}
.project-label{color:#7ee5ff!important;font-size:10px;font-weight:900;letter-spacing:.13em;text-transform:uppercase;padding-left:4px;text-shadow:0 1px 2px #000}
.brand img{width:230px;height:43px;object-fit:contain;object-position:left center}
.site-header nav{align-items:center;gap:4px}.site-header nav a{color:#fff;padding:8px 10px;font-size:15px}.site-header nav a:hover,.site-header nav a:focus{background:#173f5b}.site-header nav .sister-site-link{background:#173f5b;color:#fff;margin-left:4px;padding-inline:12px}.site-header nav .sister-site-link:hover,.site-header nav .sister-site-link:focus{background:#2388a5}
.hero{background:radial-gradient(circle at 85% 35%,rgba(255,212,59,.13) 0 8%,transparent 8.5%),linear-gradient(110deg,#0d1b2d 0%,#0e3c4e 72%,#0a5968 100%)}
.hero:after{color:rgba(53,169,199,.1)}.hero h1,.section-heading h2,.app-card h3,.future-card h3,.app-title-row h1{color:#fff}.hero h1 span{color:#ffd43b}.hero p,.section-heading p,.app-card p,.future-card p,.app-title-row p{color:#c6d3dc}.eyebrow,.category{color:#ffd43b}
.primary{background:#ffd43b;color:#0d1b2d;box-shadow:0 8px 22px rgba(0,0,0,.28)}.primary:hover{background:#ffe16e}
.apps-section{background:#0f2133}.app-card{background:#132f43;border-color:#41637a}.future-card{background:#10283a;border-color:#41637a}.card-button{background:#ffd43b;color:#17212a}.card-logo{box-shadow:0 8px 20px rgba(0,0,0,.35)}
.about-strip{background:#091928}.about-strip p{color:#c6d3dc}.about-number{color:#64c7df}
.back-link{color:#7ee5ff}.note{background:#293039;border-color:#806f2f}.note p{color:#f2e8bd}.note-icon{background:#ffd43b;color:#17212a}.launch-row{background:#132f43;border-color:#416f83}.launch-row>div>span{color:#c6d3dc}.launch-button{background:#237f9a}.demo-shell{border-color:#41637a;background:#fff}.demo-bar{background:#183449;color:#c5d7df}
footer{background:#071927;border-top:1px solid #28485c}.footer-inner{align-items:center}.footer-brand{display:grid;line-height:1}.footer-brand small{color:#7ee5ff;font-size:9px;font-weight:900;letter-spacing:.13em;text-transform:uppercase;margin:0 0 2px 3px}.footer-inner img{width:210px}.footer-inner span{color:#adc4cf}.footer-inner a{color:#fff;font-weight:800;text-decoration:none;padding:8px 10px;border-radius:7px}.footer-inner a:hover,.footer-inner a:focus{background:#173f5b}
@media(max-width:760px){.nav-wrap{padding-top:7px;padding-bottom:7px}.brand img{width:174px;height:34px}.project-label{font-size:8px}.site-header nav{width:auto;overflow-x:auto}.site-header nav a{white-space:nowrap;font-size:13px;padding:7px}.site-header nav .sister-site-link{margin-left:0}.footer-inner{align-items:flex-start}.footer-inner img{width:190px}}

/* Consistent logo sizing across the three Jason's AI Projects headers. */
.nav-wrap{min-height:72px}.project-brand{display:flex}.brand img{width:285px;height:58px}.project-label{display:none}
@media(max-width:760px){.nav-wrap{min-height:62px}.brand img{width:220px;height:48px}}

.app-meta{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.app-id,.app-detail-id{display:inline-block;color:#9edff0;font:800 .72rem Arial,sans-serif;letter-spacing:.12em}.app-detail-id{margin-bottom:5px}.app-grid{grid-template-columns:repeat(2,minmax(0,1fr))}@media(max-width:760px){.app-grid{grid-template-columns:1fr}.site-header .nav-wrap{align-items:flex-start;flex-wrap:wrap}.site-header nav{width:100%;padding-bottom:4px}}

/* Jason's App Lab identity */
.site-header { background: #06142f; border-bottom-color: #17376a; }
.site-header nav a { color: #f4f8ff; }
.site-header nav a:hover,
.site-header nav a:focus { background: #102b56; }
.brand { display: flex; align-items: center; text-decoration: none; }
.brand img { display: block; width: 285px; height: 60px; object-fit: contain; }
.hero { display: flex; align-items: center; justify-content: space-between; gap: 50px; }
.hero-copy { position: relative; z-index: 2; max-width: 760px; }
.hero-logo { position: relative; z-index: 2; width: min(22vw, 210px); height: auto; filter: drop-shadow(0 12px 18px rgba(0,30,70,.2)); }
.card-logo { width: 74px; height: 74px; object-fit: cover; border-radius: 18px; margin-bottom: 20px; box-shadow: 0 8px 20px rgba(0,35,90,.2); }
footer { background: #06142f; }
.footer-inner { align-items: center; }
.footer-inner img { width: 260px; height: auto; }

@media (max-width: 760px) {
  .brand img { width: 185px; height: 39px; }
  .hero { display: block; }
  .hero-logo { display: none; }
  .footer-inner img { width: 220px; }
}
