/* D38: toss-v2 light. Reuse the shipped d38 artwork; no palette extension. */
body.aq-page { font-size:16px; line-height:1.6; background:var(--aq-bg); }
* { box-sizing:border-box; }
.wordmark-en { font-size:11px; letter-spacing:.02em; color:var(--aq-fg-secondary); }
.logo { flex-wrap:wrap; }
.topbar { background:var(--aq-surface); }
.bottom-tabs { display:none; }
body .aq-card { border-radius:var(--aq-radius-card); border:0; box-shadow:none; padding:24px; }
body .brand-card { padding:12px 16px; }
body .aq-btn { gap:8px; padding:8px 16px; }
body .aq-chip { gap:8px; padding:8px 16px; }
body .home-bento { display:grid; grid-template-columns:minmax(0,2fr) minmax(0,1fr); gap:16px; margin:32px 0 16px; }
body .home-hero { position:relative; padding:36px; border-radius:var(--aq-radius-card); background:var(--aq-surface); overflow:hidden; text-align:left; margin:0; }
body .hero-title { max-width:640px; font-size:52px; line-height:1.25; text-wrap:initial; }
body .hero-sub { max-width:610px; margin:12px 0 24px; }
.home-town { display:block; width:58%; height:auto; object-fit:contain; margin:12px -36px -36px auto; }
body .hero-search { background:var(--aq-surface-sunken); border-radius:var(--aq-radius-full); padding:8px 8px 8px 16px; display:flex; flex-flow:row nowrap; align-items:center; gap:8px; margin-top:24px; }
body .hero-search .hero-input { min-width:0; flex:1; width:0; background:transparent; border:0; padding:0; }
body .hero-search .hero-submit { flex:none; border-radius:var(--aq-radius-full); }
.hero-region { margin-top:12px; }
body .hero-region .hero-district { width:auto; max-width:100%; min-width:0; border-radius:var(--aq-radius-full); background:var(--aq-surface-sunken); border-color:transparent; padding:8px 16px; }
body .home-side { display:flex; flex-direction:column; gap:16px; }
body .home-school-card { background:var(--aq-accent-strong); color:var(--aq-fg-on-accent); padding:36px; }
body .home-school-card > p { color:var(--aq-fg-on-accent); margin:12px 0; font-size:16px; }
body .home-school-card .aq-section-title { color:var(--aq-fg-on-accent); }
.home-school-card input { width:100%; border-radius:var(--aq-radius-full); background:var(--aq-surface); color:var(--aq-fg); }
.school-art { display:block; width:68%; height:auto; object-fit:contain; margin:16px -36px -36px auto; }
body .home-stats { margin:0; grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px; }
body .home-stats .aq-stat { background:var(--aq-cat-1-light); }
body .home-stats .aq-stat-label, body .brand-branches { color:var(--aq-fg-secondary); }
/* Soft category chips use neutral text: category color is not feedback. */
body [class*="chip-cat-"] { color:var(--aq-fg); }
body input::placeholder, body .aq-input::placeholder { color:var(--aq-fg-secondary); opacity:1; }
body .aq-btn-primary:hover, body .hero-submit:hover, body .home-brand-feature .aq-btn:hover { color:var(--aq-fg-on-accent); }
body .home-brand-feature { display:grid; grid-template-columns:minmax(0,2fr) minmax(0,1fr); gap:12px 16px; align-items:start; min-height:220px; padding:36px; background:var(--aq-cat-2-light); margin:16px 0 32px; }
.home-brand-feature > :not(img) { grid-column:1; }
.home-brand-feature p { margin:12px 0; }
.brand-art { grid-column:2; grid-row:1 / span 3; align-self:center; width:100%; height:200px; object-fit:contain; }
body .aq-btn, body button, body input, body select { min-height:48px; }
body :focus-visible { outline:3px solid var(--aq-ring); outline-offset:3px; }
@media(max-width:767px) {
 body.aq-page { padding-bottom:calc(64px + env(safe-area-inset-bottom)); }
 .topbar-inner { min-height:56px; flex-wrap:nowrap; }
 .wordmark-en { display:none; }
 .topbar-search, .menu-button, .site-nav { display:none!important; }
 .bottom-tabs { display:flex; position:fixed; inset:auto 0 0; z-index:600; background:var(--aq-surface); border-top:1px solid var(--aq-border); padding:4px 12px calc(4px + env(safe-area-inset-bottom)); }
 .bottom-tabs a { flex:1; display:flex; align-items:center; justify-content:center; flex-direction:column; min-height:48px; text-decoration:none; color:var(--aq-fg-secondary); font-size:16px; }
 .bottom-tabs span { font-size:24px; line-height:1.2; }
 .bottom-tabs a[aria-current] { color:var(--aq-accent-strong); font-weight:700; }
 body .home-bento { grid-template-columns:1fr; gap:16px; margin:16px 0; }
 body .home-hero, body .home-school-card { padding:24px; }
 body .hero-title { font-size:34px; }
 .home-town { width:100%; height:auto; margin:12px -24px -24px auto; }
 .school-art { margin:16px -24px -24px auto; }
 body .home-brand-feature { padding:24px; grid-template-columns:minmax(0,3fr) minmax(0,2fr); }
 .brand-art { height:160px; }
 body .aq-tab { min-height:48px; }
}
@media(prefers-reduced-motion:reduce) { *,*::before,*::after { animation:none!important; transition:none!important; scroll-behavior:auto!important; } }
