/* Public introduction first; sign-in is a separate, deliberate step. */
.landing-page .account-header { display:flex!important; }
.landing-page #account-entry { display:block; }
.landing-page header { border:0; }
.landing-page main { max-width:1200px; padding-top:40px; }
.landing-hero { display:grid; grid-template-columns:1fr 1fr; gap:64px; align-items:center; padding:24px 0 56px; }
.landing-copy h1 { margin:0 0 22px; font-size:clamp(36px,4vw,56px); line-height:1.4; }
.landing-copy h1 span { color:#d2ba96; }
.landing-copy>p { max-width:31ch; font-size:19px; line-height:1.8; margin:0 0 24px; }
.landing-copy>.primary { min-width:176px; min-height:50px; font-size:18px; }
.landing-copy>small { display:block; margin-top:12px; color:#b6bfce; font-size:13px; }
.landing-photo { margin:0; aspect-ratio:5/4; overflow:hidden; border-radius:2px; }
.landing-photo img { width:100%; height:100%; object-fit:cover; display:block; }
.landing-catalog { padding:12px 0 28px; }
.landing-catalog>h2 { margin:0 0 24px; font-size:27px; }
.landing-subjects { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:28px; }
.landing-subject { background:#172131; min-width:0; border-radius:2px; overflow:hidden; }
.landing-subject>img { display:block; width:100%; height:auto; aspect-ratio:2.2; object-fit:cover; }
.landing-subject>div { padding:16px 18px; }
.landing-subject h3 { margin:0; font-size:22px; line-height:1.5; }
.landing-subject p { font:13px/1.6 Arial,sans-serif; text-align:start; margin:5px 0 14px; }
.landing-subject button { min-height:44px; width:100%; background:transparent; border-color:#536076; }
.landing-notice { margin-top:16px!important; font-size:15px!important; color:#f0c49d; }
.auth-layout.auth-only { display:block; max-width:480px; margin:20px auto 48px; }
.auth-only .auth-card { border:0; }
.auth-only #landing-back { display:block; margin:0 0 16px; min-height:44px; }
.subject-results { margin:16px 0 12px; }
.subject-card,.library-record,.lesson-row,.study-panel { border:0; }
.subject-open { border-top:0; }
.record-category span { border:0; }
.library-heading,.site-footer,.lesson-feedback,.narration,.lecture-facts { border:0; }
.lesson-feedback { padding-top:0; }
.explore-world { margin-top:24px; border:0; }

@media(max-width:760px) {
  .landing-page main { padding-top:20px; }
  .landing-page header { min-height:68px; }
  .landing-page .account-header #account-entry { max-width:none; padding:10px 12px; font-size:14px; }
  .landing-hero { display:flex; flex-direction:column; align-items:stretch; gap:26px; padding:10px 0 32px; }
  .landing-copy h1 { font-size:36px; margin-bottom:14px; line-height:1.4; }
  .landing-copy>p { max-width:32ch; font-size:17px; margin-bottom:20px; }
  .landing-copy>.primary { min-width:150px; }
  .landing-photo { aspect-ratio:2.5; }
  .landing-catalog { padding-top:4px; }
  .landing-catalog>h2 { font-size:24px; margin-bottom:18px; }
  .landing-subjects { grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px; }
  .landing-subject>img { aspect-ratio:1.8; }
  .landing-subject>div { padding:12px; }
  .landing-subject h3 { font-size:19px; }
  .landing-subject p { font-size:11px; min-height:35px; margin:4px 0 8px; }
  .landing-subject button { font-size:14px; }
  #sync-note:not(.sync-alert) { display:none; }
  #sync-note.sync-alert { min-height:44px; background:#342b25; color:#f3d8b9; }
  .library-welcome { margin-bottom:20px; }
  .subject-card { background:#172131; }
  .subject-open { background:transparent; }
  .library-heading p:last-child:not(.subject-english),.course-title>p:not(.lecture-english) { display:none; }
  .lesson-kicker>span,.teaching-path { display:none; }
  .lesson-kicker { justify-content:flex-end; }
  .lesson-tools button { background:transparent; border:0; }
  .steps { margin:8px 0 20px; }
  .steps span { background:transparent; }
  .steps span.current { background:#28364b; color:#f0dab9; }
  .example-position { border:0; }
  .site-footer { padding-top:20px; }
  .site-footer details { border:0; }
  .auth-layout.auth-only { margin:0 auto 24px; }
  .auth-only .auth-card { background:transparent; padding:0; }
}
@media(max-width:359px) {
  .landing-copy h1 { font-size:32px; }
  .landing-subjects { gap:10px; }
  .landing-subject>div { padding:10px; }
  .landing-subject h3 { font-size:18px; }
}
