/* The course gallery uses the site's existing creative karuta illustrations. */
/* Narrow cards keep short course names together instead of leaving one trailing character. */
.academy{max-width:1160px}
.academy-hero{position:relative;padding:78px 0 46px;border-bottom:1px solid #b6bdb0;overflow:hidden}
.academy-hero:before{content:'ことば';position:absolute;right:0;top:28px;font:700 clamp(70px,11vw,150px)/1 serif;color:#163e4308;writing-mode:vertical-rl;pointer-events:none}
.academy-hero h1{letter-spacing:.03em;font-weight:500}
.academy-hero>.lead{color:#a94828;font-family:serif;font-size:28px}
.academy-hero>p:not(.eyebrow){max-width:850px}
.metrics{gap:0;border-block:1px solid #bcc1b4;padding:22px 0;margin:32px 0}
.metrics>span{padding:0 32px;border-right:1px solid #ccd0c6}
.metrics>span:first-child{padding-left:0}
.metrics>span:last-child{border:0}
.metrics b{font-size:52px;font-weight:500}
.academy nav a{background:transparent;color:#163e43;border-color:#163e43;border-radius:0;transition:background .2s,color .2s}
.academy nav a:first-child,.academy nav a:hover{background:#163e43;color:#fff9e9}
.academy .notice{background:transparent;border:0;border-left:2px solid #a94828;padding:0 24px;margin:38px 0 70px;color:#53635b}
.notice h2{font:700 15px/1.6 system-ui;padding-top:0;color:#163e43}
.notice p{font-size:14px;margin:8px 0;max-width:960px}
.notice p:last-child{padding-bottom:0}
.courses-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:30px;margin:0 0 34px;padding-top:28px;border-top:6px solid #163e43}
.courses-heading .eyebrow{color:#a94828;letter-spacing:.12em;font-size:12px}
.courses-heading h2{font:500 clamp(34px,4.5vw,56px)/1.42 serif;letter-spacing:.05em;margin:14px 0 0}
.courses-heading h2 em{font-style:normal;color:#a94828}
.courses-heading>p{font-size:14px;margin:0 0 6px;line-height:2.1}
.courses{gap:22px;grid-template-columns:repeat(3,minmax(0,1fr))}
.course{position:relative;display:flex;flex-direction:column;gap:0;padding:0;border:0;background:#eee9db;box-shadow:none;overflow:hidden;transition:transform .2s,box-shadow .2s}
.course:hover{background:#eee9db;transform:translateY(-5px);box-shadow:0 14px 26px #163e431b}
.course-art{height:176px;overflow:hidden;background:#c6bc9d;position:relative}
.course-art:after{content:'';position:absolute;inset:0;border:10px solid #f8f5ec22;pointer-events:none}
.course-art img{display:block;width:100%;height:100%;object-fit:cover;object-position:center 40%;transition:transform .4s}
.course:hover img{transform:scale(1.045)}
.course-copy{padding:25px 26px 20px;display:flex;flex-direction:column;flex:1}
.course .course-number{font:700 11px/1.5 system-ui;letter-spacing:.15em;color:#7a583b;margin-bottom:13px}
.course strong{font:600 25px/1.45 serif;letter-spacing:.02em;text-wrap:balance}
.course-copy p{font-size:13px;line-height:1.9;margin:14px 0 24px;color:#4a5e54}
.course-bottom{display:flex;justify-content:space-between;align-items:center;gap:12px;border-top:1px solid #163e4333;padding-top:15px;margin-top:auto}
.course-bottom small{font:500 12px/1.6 system-ui;letter-spacing:.05em}
.course .course-arrow{display:grid;place-items:center;width:34px;height:34px;border:1px solid currentColor;border-radius:50%;font:22px/1 serif;color:inherit}
.course-kitchen{grid-column:span 2;display:grid;grid-template-columns:1fr 1fr;background:#163e43;color:#fff9eb;min-height:350px}
.course-kitchen:hover{background:#163e43}
.course-kitchen .course-art{height:100%;grid-column:2;grid-row:1}
.course-kitchen .course-art img{object-position:center}
.course-kitchen .course-copy{grid-column:1;grid-row:1;justify-content:center;padding:34px}
.course-kitchen strong{font-size:38px}
.course-kitchen .course-number{color:#e4c98d}
.course-kitchen .course-copy p{color:#e3e9d9;font-size:15px}
.course-kitchen .course-bottom{border-color:#ffffff40}
.course-weather{background:#e7a364}
.course-weather:hover{background:#e7a364}
.course-weather .course-art{height:144px}
.course-weather .course-number,.course-weather .course-copy p{color:#423d29}
.course-grammar{background:#a64831;color:#fff9eb}
.course-grammar:hover{background:#a64831}
.course-grammar .course-number,.course-grammar .course-copy p{color:#ffebce}
.course-grammar .course-bottom{border-color:#ffffff55}
.course-work,.course-family{background:#dfe5d8}
.course-work:hover,.course-family:hover{background:#dfe5d8}
.course-similar{grid-column:1/-1;display:grid;grid-template-columns:2fr 1fr;min-height:260px;background:#243f40;color:#fff9eb}
.course-similar:hover{background:#243f40}
.course-similar .course-art{grid-column:2;grid-row:1;height:100%;max-height:320px}
.course-similar .course-copy{grid-column:1;grid-row:1;padding:35px}
.course-similar strong{font-size:32px}
.course-similar .course-number{color:#dfc68e}
.course-similar .course-copy p{color:#e3e9d9}
.course-similar .course-bottom{border-color:#ffffff40;max-width:420px}
.courses-credit{font-size:11px!important;color:#687165;text-align:right;margin:16px 0 0}
.academy .practice{position:relative;margin:90px 0 36px;padding:42px;border-radius:0;border-top:7px solid #a94828;background:#e4e9dc}
.practice .eyebrow{color:#a94828}
.practice h2{font-size:36px;margin:12px 0}
.practice .controls{padding:20px;background:#ffffff77;margin:26px 0;gap:18px}
.academy .flash{border:1px solid #c1bcaa;border-radius:0;background:#eee7d4;padding:42px}
.flash h2{font-size:36px;margin:12px 0}
.academy .scene{padding:44px 0 26px;margin:90px 0;border-top:1px solid #aab6aa}
.scene-heading{display:flex;align-items:center;gap:28px;margin-bottom:24px}
.scene-number{font:500 86px/1 serif;color:#a94828;letter-spacing:-.06em}
.scene-heading .eyebrow{margin:0;color:#6b715c}
.scene-heading h2{font-size:36px;margin:8px 0 0}
.scene-count{font-size:10px;border:1px solid #abb5a5;padding:3px 9px;letter-spacing:0;margin-left:10px}
.scene-intro{max-width:900px;color:#4f6257;margin-bottom:30px}
.lesson-list{display:grid;grid-template-columns:1fr 1fr;gap:12px;align-items:start}
.lesson-word{background:#fffdf6;border:1px solid #d0d5c7;border-left:3px solid #83977d;padding:18px 20px}
.lesson-word[open]{border-left-color:#a94828;box-shadow:0 5px 16px #163e430a}
.lesson-word summary{font:600 23px/1.7 serif}
.lesson-word summary span{display:block;font:400 13px/1.8 system-ui;margin:5px 0 0;color:#58685d}
.lesson-word p{font-size:14px}.lesson-word .pair{padding:12px;background:#f4f0e4}
.course-return{display:inline-block;margin-top:24px;padding:8px 0;border-bottom:1px solid #163e43;text-decoration:none;font-size:13px}
.academy .sources{padding:32px 38px;border-top:5px solid #163e43;background:#e8e5d8}
@media(prefers-reduced-motion:reduce){.course,.course-art img,.academy nav a{transition:none}.course:hover{transform:none}}
@media(max-width:900px){.metrics>span{padding:0 20px}.course-copy{padding:20px}.course-kitchen .course-copy{padding:24px}.course-kitchen strong{font-size:32px}.course-art{height:150px}.course strong{font-size:23px}.course-kitchen strong{font-size:32px}}
@media(max-width:700px){.academy-hero{padding:40px 0 30px}.academy-hero:before{font-size:80px;right:-8px;top:30px}.academy-hero>.lead{font-size:23px}.metrics{display:grid;grid-template-columns:1fr 1fr;gap:20px 0}.metrics>span{padding:0 14px!important;border:0}.metrics>span:nth-child(odd){padding-left:0!important}.metrics b{font-size:42px}.academy .notice{margin:28px 0 48px;padding-left:16px}.courses-heading{display:block;padding-top:20px;margin-bottom:24px}.courses-heading h2{font-size:38px}.courses-heading>p{margin-top:20px}.courses-heading>p br{display:none}.courses{grid-template-columns:1fr 1fr;gap:14px}.course-kitchen{grid-column:1/-1;min-height:270px}.course-weather .course-art,.course-art{height:136px}.course-copy{padding:18px 15px}.course strong{font-size:21px}.course-copy p{font-size:12px;margin:10px 0 18px}.course .course-number{font-size:10px}.course-kitchen .course-copy{padding:23px}.course-kitchen strong{font-size:29px}.course-kitchen .course-copy p{font-size:13px}.course-similar{grid-template-columns:3fr 2fr}.course-similar .course-copy{padding:24px}.course-similar strong{font-size:25px}.course-bottom small{font-size:11px}.course .course-arrow{width:28px;height:28px;font-size:19px}.academy .practice,.academy .flash{padding:24px 20px}.practice h2,.flash h2{font-size:28px}.practice .controls{padding:16px}.scene-heading{gap:20px}.scene-number{font-size:68px}.scene-heading h2{font-size:28px}.lesson-list{grid-template-columns:1fr}.academy .scene{margin:65px 0;padding-top:28px}.academy .sources{padding:24px 20px}}
@media(max-width:420px){.courses{grid-template-columns:1fr}.course{display:grid;grid-template-columns:1fr 100px;min-height:180px}.course .course-art{grid-column:2;grid-row:1;height:100%;max-height:none}.course .course-copy{grid-column:1;grid-row:1;padding:20px}.course strong{font-size:23px}.course-copy p{font-size:12px}.course-kitchen{grid-template-columns:1fr 115px;min-height:250px}.course-kitchen .course-copy{padding:24px 20px}.course-kitchen strong{font-size:29px}.course-similar{grid-template-columns:1fr 100px;min-height:220px}.course-similar .course-copy{padding:22px 20px}.course-similar strong{font-size:25px}.course .course-number{margin-bottom:10px}.courses-credit{text-align:left}.courses-heading h2{font-size:36px}.scene-number{font-size:58px}.scene-heading{gap:16px}.scene-heading h2{font-size:26px}.scene-count{display:inline-block;margin:4px 0 0 8px}.lesson-word{padding:16px}.academy-hero h1{font-size:36px}.academy nav a{font-size:14px;padding:11px}.academy .notice p{font-size:12px}}
@media(max-width:360px){.course strong{font-size:22px}.course-kitchen{grid-template-columns:1fr 85px}.course-kitchen strong{font-size:28px}}
