/* Every rule is scoped to the public homepage. Shared app styles stay intact. */
body[data-page="home"] { --hp-page-gutter:clamp(32px,3vw,48px); margin:0; background:#fff; color:#1d1d1f; font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","Microsoft YaHei","PingFang SC",sans-serif; -webkit-font-smoothing:antialiased; overflow-x:hidden; overflow-y:auto; }
body[data-page="home"] * { box-sizing:border-box; }
body[data-page="home"] a { color:inherit; text-decoration:none; }
body[data-page="home"] button { font:inherit; cursor:pointer; }
body[data-page="home"] h1,body[data-page="home"] h2,body[data-page="home"] p,body[data-page="home"] figure { margin:0; }
body[data-page="home"] :is(a,button,input):focus-visible { outline:3px solid #0071e3; outline-offset:5px; }
body[data-page="home"] [hidden] { display:none!important; }
body[data-page="home"] .hp-container { width:calc(100% - var(--hp-page-gutter) - var(--hp-page-gutter)); margin-inline:auto; }
body[data-page="home"] .hp-nav { min-height:68px; padding:0 var(--hp-page-gutter); display:flex; align-items:center; justify-content:space-between; gap:28px; background:#fafafa; border-bottom:1px solid #ececee; }
body[data-page="home"] .hp-brand { font-size:31px; font-weight:750; letter-spacing:-1px; white-space:nowrap; }
body[data-page="home"] .hp-nav-links { display:flex; gap:34px; font-size:14px; color:#424245; }
body[data-page="home"] .hp-nav-links a { padding:20px 0; }
body[data-page="home"] .hp-nav-links a:hover { color:#0071e3; }
body[data-page="home"] .hp-button { display:inline-flex; align-items:center; justify-content:center; min-height:56px; padding:14px 32px; border:0; border-radius:999px; color:#fff; background:#0077ed; font-size:19px; font-weight:500; line-height:1.5; white-space:nowrap; transition:background .18s,transform .18s; }
body[data-page="home"] .hp-button:hover { background:#0066d4; transform:translateY(-1px); }
body[data-page="home"] .hp-nav-cta { min-height:42px; padding:9px 26px; font-size:15px; }
body[data-page="home"] .hp-hero { position:relative; min-height:680px; height:min(57.65vw,880px); background:#050607; overflow:hidden; color:#f5f5f7; }
body[data-page="home"] .hp-hero-image { position:absolute; inset:0; display:block; width:100%; height:100%; object-fit:cover; object-position:center; }
body[data-page="home"] .hp-hero-inner { position:relative; z-index:1; width:calc(100% - var(--hp-page-gutter) - var(--hp-page-gutter)); margin:auto; padding-top:clamp(124px,12.8vw,192px); }
body[data-page="home"] .hp-eyebrow { font-size:17px; font-weight:500; line-height:1.5; color:#6e6e73; margin-bottom:22px; }
body[data-page="home"] .hp-hero .hp-eyebrow { color:#b9c0c8; font-size:21px; margin-bottom:26px; }
body[data-page="home"] .hp-hero h1 { font-size:clamp(70px,7.1vw,106px); line-height:1.14; letter-spacing:-3px; font-weight:750; }
body[data-page="home"] .hp-hero-description { max-width:610px; margin-top:30px; color:#c0c5cb; font-size:21px; line-height:1.6; }
body[data-page="home"] .hp-mobile-break { display:none; }
body[data-page="home"] .hp-actions { display:flex; align-items:center; gap:36px; margin-top:38px; }
body[data-page="home"] .hp-actions .hp-button { min-width:198px; min-height:64px; font-size:22px; }
body[data-page="home"] .hp-link { display:inline-flex; align-items:center; min-height:44px; color:#0071e3; background:transparent; border:0; padding:0; font-size:19px; font-weight:500; }
body[data-page="home"] .hp-link:hover { text-decoration:underline; text-underline-offset:5px; }
body[data-page="home"] .hp-link-light { color:#fff; }
body[data-page="home"] .hp-brain { display:flex; align-items:center; justify-content:space-between; gap:24px; min-height:200px; padding-block:52px; border-bottom:1px solid #d9d9df; }
body[data-page="home"] .hp-brain h2 { font-size:48px; line-height:1.3; letter-spacing:-1.5px; }
body[data-page="home"] .hp-section { padding-block:112px; scroll-margin-top:28px; }
body[data-page="home"] .hp-section-head { display:flex; align-items:flex-end; justify-content:space-between; gap:60px; margin-bottom:50px; }
body[data-page="home"] .hp-section h2 { font-size:clamp(36px,3.9vw,56px); line-height:1.17; letter-spacing:-1.5px; font-weight:700; }
body[data-page="home"] .hp-section-note { max-width:350px; font-size:18px; color:#6e6e73; line-height:1.7; }
body[data-page="home"] .hp-body { font-size:19px; line-height:1.7; color:#6e6e73; }
body[data-page="home"] .hp-film { margin:0; }
body[data-page="home"] .hp-film video { display:block; width:100%; aspect-ratio:16/9; background:#08090a; border-radius:18px; object-fit:contain; }
body[data-page="home"] .hp-film figcaption { display:flex; justify-content:space-between; gap:20px; padding-top:20px; font-size:15px; color:#6e6e73; }
body[data-page="home"] .hp-film figcaption span:first-child { color:#1d1d1f; font-weight:600; }
body[data-page="home"] .hp-film figcaption { align-items:center; }
body[data-page="home"] .hp-film-play { font-size:16px; }
body[data-page="home"] .hp-cases,body[data-page="home"] .hp-courses { background:#f5f5f7; }
body[data-page="home"] .hp-case-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:30px 24px; }
body[data-page="home"] .hp-case { display:flex; flex-direction:column; align-items:stretch; padding:0; border:0; background:transparent; text-align:left; min-width:0; color:#1d1d1f; }
body[data-page="home"] .hp-case img { display:block; width:100%; height:256px; object-fit:contain; background:#fff; border-radius:14px; transition:transform .22s; }
body[data-page="home"] .hp-case:hover img { transform:translateY(-4px); }
body[data-page="home"] .hp-about h2 { max-width:980px; font-size:clamp(36px,4.4vw,64px); line-height:1.25; }
body[data-page="home"] .hp-about-bottom { display:flex; align-items:flex-end; justify-content:space-between; gap:60px; margin-top:40px; }
body[data-page="home"] .hp-about-bottom p { max-width:690px; font-size:21px; line-height:1.9; color:#6e6e73; }
body[data-page="home"] .hp-about-bottom a { flex-shrink:0; }
body[data-page="home"] .hp-partners { display:flex; flex-wrap:wrap; align-items:center; gap:40px; border-top:1px solid #e5e5e7; margin-top:60px; padding-top:32px; color:#6e6e73; font-size:15px; }
body[data-page="home"] .hp-partners img { width:150px; height:60px; object-fit:contain; }
body[data-page="home"] .hp-course-coming { padding:44px 0; border-top:1px solid #d2d2d7; }
body[data-page="home"] .hp-course-coming strong { font-size:25px; font-weight:600; }
body[data-page="home"] .hp-course-coming p { color:#6e6e73; font-size:18px; margin:14px 0 24px; }
body[data-page="home"] .hp-course { display:flex; align-items:center; gap:28px; padding:28px 0; border-top:1px solid #d2d2d7; }
body[data-page="home"] .hp-course-index { font-size:16px; color:#86868b; }
body[data-page="home"] .hp-course img { width:150px; height:95px; object-fit:contain; border-radius:10px; }
body[data-page="home"] .hp-course-copy { flex:1; display:grid; gap:10px; }
body[data-page="home"] .hp-course-copy strong { font-size:24px; }
body[data-page="home"] .hp-course-copy span { font-size:16px; color:#6e6e73; }
body[data-page="home"] .hp-course-action { color:#0071e3; font-size:17px; white-space:nowrap; }
body[data-page="home"] .hp-empty { padding:45px 0; color:#6e6e73; border-top:1px solid #d2d2d7; font-size:18px; }
body[data-page="home"] .hp-closing { padding:110px 24px; text-align:center; background:#fff; }
body[data-page="home"] .hp-closing h2 { font-size:64px; line-height:1.2; margin-bottom:35px; letter-spacing:-2px; }
body[data-page="home"] .hp-footer { border-top:1px solid #e5e5e7; min-height:110px; display:flex; align-items:center; gap:30px; font-size:13px; color:#6e6e73; }
body[data-page="home"] .hp-footer .hp-brand { font-size:22px; color:#1d1d1f; }
body[data-page="home"] .hp-footer p { flex:1; }
body[data-page="home"] .hp-lightbox { border:0; padding:55px 20px 20px; max-width:94vw; max-height:94vh; background:#fff; border-radius:16px; }
body[data-page="home"] .hp-lightbox::backdrop { background:rgba(0,0,0,.82); }
body[data-page="home"] .hp-lightbox img { display:block; max-width:85vw; max-height:78vh; object-fit:contain; }
body[data-page="home"] .hp-lightbox-close { position:absolute; top:14px; right:20px; padding:5px 12px; border:0; background:#f5f5f7; color:#1d1d1f; border-radius:20px; font-size:15px; }
body[data-page="home"] .hp-load-error p { margin:24px 0; color:#6e6e73; }
body[data-page="home"] .hp-media-error { color:#a12828; padding-top:16px; }
body[data-page="home"] .hp-skip { position:fixed; top:-100px; left:20px; background:#fff; z-index:10000; padding:15px; }
body[data-page="home"] .hp-skip:focus { top:10px; }
body[data-page="home"] .ai-pet-modal { z-index:1000; }
body[data-page="home"].ai-pet-modal-open { overflow:hidden; }
body[data-page="home"] .ai-pet-modal-card { background:#fff; color:#1d1d1f; border:0; box-shadow:0 24px 100px rgba(0,0,0,.18); max-height:90vh; overflow:auto; }
body[data-page="home"] .ai-pet-modal-head p { max-width:650px; color:#6e6e73; line-height:1.65; }
body[data-page="home"] .ai-pet-preview { background:#f5f5f7; }
body[data-page="home"] .ai-pet-save { background:#0071e3; }
@media (min-width:1700px) { body[data-page="home"] .hp-hero-image { object-fit:cover; object-position:center 43%; } }
@media (max-width:1050px) {
  body[data-page="home"] .hp-container,body[data-page="home"] .hp-hero-inner { width:calc(100% - var(--hp-page-gutter) - var(--hp-page-gutter)); }
  body[data-page="home"] .hp-nav-links { gap:20px; }
  body[data-page="home"] .hp-hero { min-height:650px; }
  body[data-page="home"] .hp-hero-image { object-position:58% center; }
  body[data-page="home"] .hp-hero h1 { font-size:72px; }
  body[data-page="home"] .hp-hero-description { max-width:440px; font-size:18px; }
  body[data-page="home"] .hp-case-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  body[data-page="home"] .hp-about-bottom { display:block; }
  body[data-page="home"] .hp-about-bottom a { margin-top:24px; }
}
@media (max-width:700px) {
  body[data-page="home"] { --hp-page-gutter:20px; }
  body[data-page="home"] .hp-container,body[data-page="home"] .hp-hero-inner { width:calc(100% - var(--hp-page-gutter) - var(--hp-page-gutter)); }
  body[data-page="home"] .hp-nav { padding:14px var(--hp-page-gutter) 0; gap:12px; flex-wrap:wrap; }
  body[data-page="home"] .hp-brand { font-size:24px; }
  body[data-page="home"] .hp-nav-cta { min-height:36px; font-size:13px; padding:7px 17px; }
  body[data-page="home"] .hp-nav-links { order:3; width:100%; justify-content:space-between; gap:12px; font-size:13px; }
  body[data-page="home"] .hp-nav-links a { padding:13px 0; }
  body[data-page="home"] .hp-hero { height:760px; min-height:0; }
  body[data-page="home"] .hp-hero-image { top:auto; bottom:0; height:405px; object-fit:cover; object-position:75% center; }
  body[data-page="home"] .hp-hero-inner { padding-top:56px; }
  body[data-page="home"] .hp-hero .hp-eyebrow { font-size:15px; margin-bottom:18px; }
  body[data-page="home"] .hp-hero h1 { font-size:54px; line-height:1.13; letter-spacing:-2px; }
  body[data-page="home"] .hp-hero-description { font-size:16px; margin-top:22px; line-height:1.7; }
  body[data-page="home"] .hp-mobile-break { display:block; }
  body[data-page="home"] .hp-actions { gap:24px; margin-top:25px; }
  body[data-page="home"] .hp-actions .hp-button { min-width:0; min-height:47px; font-size:16px; }
  body[data-page="home"] .hp-button { font-size:16px; min-height:47px; padding:10px 25px; }
  body[data-page="home"] .hp-link { font-size:16px; }
  body[data-page="home"] .hp-brain { min-height:150px; padding-block:35px; }
  body[data-page="home"] .hp-brain h2 { font-size:28px; max-width:235px; line-height:1.3; letter-spacing:-1px; }
  body[data-page="home"] .hp-brain .hp-link { white-space:nowrap; }
  body[data-page="home"] .hp-section { padding-block:70px; }
  body[data-page="home"] .hp-section-head { display:block; margin-bottom:32px; }
  body[data-page="home"] .hp-section h2 { font-size:38px; letter-spacing:-1px; }
  body[data-page="home"] .hp-eyebrow { font-size:14px; margin-bottom:16px; }
  body[data-page="home"] .hp-section-note { margin-top:25px; font-size:16px; max-width:100%; }
  body[data-page="home"] .hp-film video { border-radius:10px; }
  body[data-page="home"] .hp-film figcaption { font-size:12px; padding-top:14px; }
  body[data-page="home"] .hp-case-grid { gap:24px 14px; }
  body[data-page="home"] .hp-case img { height:160px; border-radius:10px; }
  body[data-page="home"] .hp-about h2 { font-size:36px; line-height:1.3; }
  body[data-page="home"] .hp-about-bottom { margin-top:28px; }
  body[data-page="home"] .hp-about-bottom p { font-size:18px; }
  body[data-page="home"] .hp-partners { margin-top:35px; gap:22px; }
  body[data-page="home"] .hp-course { flex-wrap:wrap; gap:15px; }
  body[data-page="home"] .hp-course img { width:100px; height:70px; }
  body[data-page="home"] .hp-course-copy strong { font-size:19px; }
  body[data-page="home"] .hp-course-copy span { font-size:14px; }
  body[data-page="home"] .hp-course-index { display:none; }
  body[data-page="home"] .hp-course-action { margin-left:auto; }
  body[data-page="home"] .hp-course-coming strong { font-size:23px; }
  body[data-page="home"] .hp-closing { padding:75px 20px; }
  body[data-page="home"] .hp-closing h2 { font-size:44px; }
  body[data-page="home"] .hp-footer { padding-block:28px; gap:20px; flex-wrap:wrap; }
  body[data-page="home"] .hp-footer p { flex-basis:100%; order:3; }
  body[data-page="home"] .hp-footer>a:last-child { margin-left:auto; }
}
@media (prefers-reduced-motion:reduce) { body[data-page="home"] * { transition:none!important; animation:none!important; scroll-behavior:auto!important; } }

/* Editorial refinement: lower-page sections only; hero and AI test remain unchanged. */
body[data-page="home"] .hp-intro { display:grid; grid-template-columns:minmax(0,3fr) minmax(0,7fr); align-items:center; gap:40px; padding:40px; margin-block:64px 32px; background:#f5f5f7; border-radius:28px; }
body[data-page="home"] .hp-intro .hp-section-head { display:block; margin:0; min-width:0; }
body[data-page="home"] .hp-intro .hp-eyebrow { font-size:13px; margin-bottom:18px; letter-spacing:.08em; }
body[data-page="home"] .hp-intro h2 { font-size:36px; line-height:1.22; letter-spacing:-1px; }
body[data-page="home"] .hp-intro .hp-section-note { max-width:none; margin-top:22px; font-size:15px; line-height:1.85; }
body[data-page="home"] .hp-intro .hp-film { min-width:0; }
body[data-page="home"] .hp-intro .hp-film video { border-radius:18px; }
body[data-page="home"] .hp-intro .hp-film figcaption { padding-top:14px; font-size:12px; }
body[data-page="home"] .hp-intro .hp-film-play { font-size:14px; min-height:32px; }
body[data-page="home"] .hp-intro .hp-empty { padding:30px 0; font-size:15px; }
body[data-page="home"] .hp-cases { padding-block:38px 56px; background:#fff; }
body[data-page="home"] .hp-cases .hp-section-head { align-items:center; gap:32px; margin-bottom:26px; }
body[data-page="home"] .hp-cases .hp-eyebrow { font-size:13px; margin-bottom:12px; letter-spacing:.08em; }
body[data-page="home"] .hp-cases h2 { font-size:34px; line-height:1.25; letter-spacing:-.8px; }
body[data-page="home"] .hp-cases .hp-section-note { font-size:14px; line-height:1.75; max-width:360px; margin:0; }
body[data-page="home"] .hp-case-grid { grid-template-columns:repeat(5,minmax(0,1fr)); gap:18px; }
body[data-page="home"] .hp-case img { height:150px; padding:10px; object-fit:scale-down; background:#f6f6f7; border-radius:14px; }
body[data-page="home"] .hp-case:hover img { transform:translateY(-2px); }
body[data-page="home"] .hp-editorial { display:grid; grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr); gap:24px; align-items:stretch; margin-bottom:48px; }
body[data-page="home"] .hp-editorial>.hp-section { min-width:0; width:auto; margin:0; padding:40px; border-radius:28px; }
body[data-page="home"] .hp-editorial .hp-about { background:#17181a; color:#f5f5f7; }
body[data-page="home"] .hp-editorial .hp-eyebrow { font-size:13px; margin-bottom:20px; letter-spacing:.05em; }
body[data-page="home"] .hp-editorial .hp-about .hp-eyebrow { color:#92969e; }
body[data-page="home"] .hp-editorial .hp-about h2 { max-width:100%; font-size:32px; line-height:1.35; letter-spacing:-.65px; color:#f5f5f7; }
body[data-page="home"] .hp-editorial .hp-about-bottom { display:block; margin-top:24px; }
body[data-page="home"] .hp-editorial .hp-about-bottom p { font-size:16px; line-height:1.9; color:#a4a7ad; }
body[data-page="home"] .hp-editorial .hp-about-bottom .hp-link { color:#80bfff; margin-top:18px; font-size:15px; }
body[data-page="home"] .hp-editorial .hp-partners { margin-top:28px; padding-top:22px; gap:24px; border-color:#ffffff24; color:#9ca0a7; font-size:12px; }
body[data-page="home"] .hp-editorial .hp-partners img { width:104px; height:42px; object-fit:scale-down; }
body[data-page="home"] .hp-editorial .hp-courses { background:#f5f5f7; }
body[data-page="home"] .hp-course-inner { width:100%; min-width:0; }
body[data-page="home"] .hp-editorial .hp-courses .hp-section-head { display:block; margin-bottom:24px; }
body[data-page="home"] .hp-editorial .hp-courses h2 { font-size:36px; line-height:1.2; letter-spacing:-1px; }
body[data-page="home"] .hp-editorial .hp-courses .hp-section-note { max-width:none; margin-top:18px; font-size:15px; line-height:1.8; }
body[data-page="home"] .hp-editorial .hp-course-coming { padding:24px 0 0; border-color:#dedee3; }
body[data-page="home"] .hp-editorial .hp-course-coming strong { font-size:20px; line-height:1.5; }
body[data-page="home"] .hp-editorial .hp-course-coming p { font-size:15px; line-height:1.7; margin:10px 0 18px; }
body[data-page="home"] .hp-editorial .hp-course-coming .hp-link { font-size:15px; }
body[data-page="home"] .hp-editorial .hp-course { gap:14px; padding:18px 0; flex-wrap:wrap; }
body[data-page="home"] .hp-editorial .hp-course-index { display:none; }
body[data-page="home"] .hp-editorial .hp-course img { width:82px; height:58px; }
body[data-page="home"] .hp-editorial .hp-course-copy { min-width:120px; gap:6px; }
body[data-page="home"] .hp-editorial .hp-course-copy strong { font-size:18px; line-height:1.5; }
body[data-page="home"] .hp-editorial .hp-course-copy span { font-size:13px; line-height:1.6; }
body[data-page="home"] .hp-editorial .hp-course-action { margin-left:auto; font-size:14px; }
body[data-page="home"] .hp-closing { width:calc(100% - var(--hp-page-gutter) - var(--hp-page-gutter)); margin:0 auto 48px; display:grid; grid-template-columns:minmax(0,1fr) auto; column-gap:28px; row-gap:8px; align-items:center; padding:32px 40px; text-align:left; background:#f5f5f7; border-radius:24px; }
body[data-page="home"] .hp-closing .hp-eyebrow { grid-column:1; margin:0; font-size:13px; line-height:1.5; }
body[data-page="home"] .hp-closing h2 { grid-column:1; margin:0; font-size:32px; line-height:1.25; letter-spacing:-.8px; }
body[data-page="home"] .hp-closing>.hp-button { grid-column:2; grid-row:1 / 3; min-height:46px; padding:11px 25px; font-size:15px; }
@media (max-width:1050px) {
  body[data-page="home"] .hp-intro { grid-template-columns:minmax(0,3fr) minmax(0,5fr); gap:28px; padding:32px; }
  body[data-page="home"] .hp-intro h2 { font-size:30px; }
  body[data-page="home"] .hp-case-grid { gap:12px; }
  body[data-page="home"] .hp-case img { height:128px; padding:8px; }
  body[data-page="home"] .hp-editorial>.hp-section { padding:30px; }
  body[data-page="home"] .hp-editorial .hp-about h2 { font-size:28px; }
  body[data-page="home"] .hp-editorial .hp-courses h2 { font-size:32px; }
  body[data-page="home"] .hp-closing { width:calc(100% - var(--hp-page-gutter) - var(--hp-page-gutter)); }
}
@media (max-width:700px) {
  body[data-page="home"] .hp-intro { grid-template-columns:minmax(0,1fr); gap:26px; padding:25px; margin-block:36px 22px; border-radius:24px; }
  body[data-page="home"] .hp-intro h2 { font-size:30px; }
  body[data-page="home"] .hp-intro .hp-section-note { margin-top:16px; font-size:14px; }
  body[data-page="home"] .hp-intro .hp-film video { border-radius:12px; }
  body[data-page="home"] .hp-intro .hp-film figcaption { gap:10px; flex-wrap:wrap; }
  body[data-page="home"] .hp-cases { padding-block:28px 38px; }
  body[data-page="home"] .hp-cases h2 { font-size:29px; }
  body[data-page="home"] .hp-cases .hp-section-head { margin-bottom:22px; }
  body[data-page="home"] .hp-cases .hp-section-note { margin-top:14px; font-size:13px; }
  body[data-page="home"] .hp-case-grid { display:grid; grid-template-columns:none; grid-auto-flow:column; grid-auto-columns:186px; gap:14px; overflow-x:auto; overscroll-behavior-x:contain; scroll-snap-type:x proximity; padding-bottom:12px; max-width:100%; }
  body[data-page="home"] .hp-case { scroll-snap-align:start; }
  body[data-page="home"] .hp-case img { height:140px; }
  body[data-page="home"] .hp-editorial { grid-template-columns:minmax(0,1fr); gap:18px; margin-bottom:30px; }
  body[data-page="home"] .hp-editorial>.hp-section { padding:28px 25px; border-radius:24px; }
  body[data-page="home"] .hp-editorial .hp-about h2 { font-size:28px; }
  body[data-page="home"] .hp-editorial .hp-about-bottom p { font-size:15px; }
  body[data-page="home"] .hp-editorial .hp-courses h2 { font-size:32px; }
  body[data-page="home"] .hp-closing { width:calc(100% - var(--hp-page-gutter) - var(--hp-page-gutter)); margin-bottom:30px; padding:25px; grid-template-columns:minmax(0,1fr); gap:10px; border-radius:24px; }
  body[data-page="home"] .hp-closing h2 { font-size:28px; }
  body[data-page="home"] .hp-closing>.hp-button { grid-column:1; grid-row:auto; justify-self:start; margin-top:12px; }
}
