/* TOMORUNE: inviting contact, concrete learning outcomes, and mobile parity. */
.hero-promise { display:inline; }
.inquiry-box { position:relative; isolation:isolate; overflow:hidden; border:1px solid #efe5d8; border-radius:4px 4px 48px 4px; background:#faf7f1; padding:48px; gap:24px; grid-template-columns:minmax(0,1fr) 190px; margin-top:80px; align-items:center; }
.inquiry-box::after { content:""; position:absolute; width:310px; height:310px; border-radius:50%; background:#f3ecd9; right:-95px; bottom:-158px; z-index:-1; }
.inquiry-copy { min-width:0; }
.inquiry-copy .eyebrow { color:#75654e; font-size:10px; letter-spacing:.14em; }
.inquiry-box h2 { font-size:clamp(23px,2.1vw,28px); line-height:1.7; font-weight:500; margin:14px 0 18px; letter-spacing:.01em; }
.inquiry-box h2 span { display:inline-block; }
.inquiry-box p { font-size:15px; line-height:2; max-width:35em; }
.inquiry-link { display:flex; background:var(--orange); color:#282621; border:1px solid transparent; border-radius:3px; padding:19px 23px; margin:25px 0 0; width:310px; max-width:100%; min-height:64px; font-size:16px; font-weight:500; transition:background .2s,transform .2s; text-decoration:none; }
.inquiry-link:hover { color:#282621; background:#ffac51; border-color:transparent; transform:translateY(-2px); }
.inquiry-link svg { width:25px; height:25px; padding:0; flex-shrink:0; }
.inquiry-note { margin-top:11px; font-size:12px; line-height:1.9; color:#686257; }
.inquiry-art { align-self:center; min-width:0; text-align:center; }
.learning-illustration { width:100%; height:auto; object-fit:contain; mix-blend-mode:multiply; }
.inquiry-art .learning-illustration { width:230px; max-width:calc(100% + 40px); margin-left:-20px; }
.inquiry-art>span { display:block; margin-top:14px; font-size:11px; color:#75654e; letter-spacing:.03em; white-space:nowrap; }
.home-consultation,.case-directory-cta { padding-bottom:90px; }
.home-consultation .inquiry-box { margin-top:0; }
.operator-link { text-decoration:none; }
.operator-link:hover { text-decoration:underline; text-underline-offset:4px; }
/* A single almost imperceptible shadow, never filter + box-shadow together. */
.case-grid,.case-carousel,.case-carousel .carousel { filter:none; }
.case-grid { box-shadow:0 3px 16px #30281905; }
.case-card,.case-card:hover { filter:none; box-shadow:0 2px 9px #30281906; }
.case-grid .case-card,.case-grid .case-card:hover { box-shadow:none; }
.sample-board { background:#f7f6f2; border:1px solid #ebe7de; padding:30px; margin:48px 0; border-radius:4px; }
.sample-board figcaption { display:flex; align-items:baseline; justify-content:space-between; gap:15px; margin-bottom:23px; }
.sample-board figcaption>span { font-size:12px; color:#726958; }
.sample-board figcaption>b { font-size:15px; font-weight:500; }
.sample-transformation { display:grid; grid-template-columns:minmax(0,.85fr) 30px minmax(0,1.15fr); align-items:center; gap:22px; }
.sample-before { border:1px dashed #c9c4b9; padding:24px; background:#ffffff80; }
.sample-before p { margin:12px 0 0; font-size:15px; line-height:2; }
.sample-label { display:block; font-size:11px; color:#726958; letter-spacing:.04em; }
.sample-arrow { color:var(--orange); font-size:24px; text-align:center; }
.sample-after { padding:26px; background:white; border-top:2px solid #ffbd76; box-shadow:0 2px 7px #30281905; }
.sample-after dl { margin-top:15px; }
.sample-after dl>div+div { margin-top:12px; padding-top:12px; border-top:1px solid #eee9e1; }
.sample-after dt { font-size:12px; color:#6a735f; font-weight:500; }
.sample-after dd { font-size:15px; margin-top:4px; line-height:1.8; }
.sample-board .sample-caption { font-size:11px; color:#777166; margin:17px 0 0; text-align:right; }
.output-poster { margin:22px auto; padding:30px 28px; max-width:330px; background:#e9eddc; color:#37493b; text-align:left; border:7px solid #f7f8f1; }
.output-poster>span { font:10px var(--font-en); letter-spacing:.13em; }
.output-poster>strong { display:block; font-size:24px; line-height:1.8; font-weight:500; margin:17px 0 15px; }
.output-poster>p,.output-poster>small { font-size:11px; line-height:1.8; }
.poster-bottom { display:flex; align-items:center; gap:18px; padding:18px 0; margin-top:22px; border-top:1px solid #a8b4a2; }
.poster-bottom b { font:30px var(--font-en); }
.poster-bottom span { font-size:11px; line-height:1.8; }
.output-sheet { margin:22px 0; }
.output-sheet>span { font-size:13px; }
.output-sheet table { margin:14px 0; width:100%; border-collapse:collapse; font-size:13px; }
.output-sheet th,.output-sheet td { border-bottom:1px solid #e1e5df; padding:10px; text-align:left; }
.output-sheet td:last-child,.output-sheet th:last-child { text-align:right; font-variant-numeric:tabular-nums; }
.output-sheet th { font-weight:500; }
.output-sheet thead,.output-sheet tfoot { background:#eef2eb; }
.output-sheet>p,.output-folders>p { font-size:11px; color:#6a735f; }
.output-folders { padding:22px; margin:20px 0; background:#faf8f1; font-size:13px; }
.output-folders>span { font-size:16px; font-weight:500; }
.output-folders ul { list-style:none; padding:0 0 0 17px; border-left:1px solid #d9c9ae; margin:12px 0; }
.output-folders li { padding:4px 0; }
.output-folders b { font-weight:500; }
.output-web { padding:20px; margin:22px 0; border:1px solid #e4e1dc; }
.output-web>span { display:block; font-size:10px; color:#7a766a; border-bottom:1px solid #e4e1dc; padding-bottom:10px; }
.output-web>strong { display:block; font-size:17px; margin-top:15px; font-weight:500; }
.output-web>p,.output-web>small { font-size:11px; }
.wire-photo { display:grid; place-items:center; height:75px; background:#edf0e8; margin:18px 0; font-size:12px; color:#65755e; }
.output-web>b { font-size:13px; font-weight:500; }
.wire-lines { margin:10px 0; height:30px; background:repeating-linear-gradient(to bottom,#e9e6e0 0 3px,transparent 3px 10px); }
.outcome-heading { max-width:740px; }
.outcome-heading h2,.ai-platforms h2 { font-size:28px; line-height:1.75; margin:17px 0 23px; }
.outcome-heading h2>span,.ai-platforms h2>span { display:inline-block; }
.outcome-heading p { font-size:16px; line-height:2.1; }
.ai-possibilities { padding:30px 0 60px; }
.ai-task-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:0 44px; margin:38px 0 50px; }
.ai-task { display:grid; grid-template-columns:34px minmax(0,1fr); gap:18px; padding:29px 0; border-top:1px solid var(--line); transition:border-color .2s; }
.ai-task:hover { border-color:var(--orange); }
.task-number { font-family:var(--font-en); color:var(--orange); font-size:15px; line-height:1.6; }
.ai-task .eyebrow { font-family:var(--font-jp); color:#73614b; font-size:12px; letter-spacing:.03em; }
.ai-task h3 { font-size:21px; line-height:1.8; margin:12px 0 10px; }
.ai-task p:not(.eyebrow) { font-size:14px; line-height:1.9; }
.task-more { display:flex; gap:20px; align-items:center; font-size:13px; margin-top:17px; }
.task-more>span { margin-left:auto; font-size:20px; color:#8a775e; }
.ai-more { display:grid; grid-template-columns:250px minmax(0,1fr); gap:35px; padding:8px 0; }
.ai-more h3 { font-size:19px; line-height:1.9; }
.ai-more p { font-size:15px; line-height:2.1; }
.ai-platforms { background:#f8f7f3; padding:42px 48px; margin-bottom:64px; }
.ai-platforms>p { max-width:800px; font-size:15px; line-height:2.1; }
.platform-names { display:flex; flex-wrap:wrap; gap:16px 32px; margin:26px 0; font-family:var(--font-en); font-size:22px; letter-spacing:.005em; }
.ai-platforms .course-notice { font-size:13px; color:#70695f; margin-top:18px; }
.ai-task-page .article-top { text-align:left; background:#f8f7f3; }
.ai-task-page .sample-board { margin-top:42px; }
.prompt-example { margin-top:50px; padding:28px 32px; background:#faf7f1; border-left:2px solid #ffc78f; }
.prompt-example h2 { font-size:21px; margin:9px 0 20px; }
.prompt-example blockquote { margin:0; padding:0; font-size:16px; line-height:2; }
.prompt-example>p { font-size:13px; margin:20px 0 0; }
.take-home { padding:23px 0; margin:25px 0; border-top:1px solid var(--line); border-bottom:1px solid var(--line); }
.take-home span { display:block; font-size:12px; color:#75654e; }
.take-home strong { display:block; font-weight:500; font-size:19px; line-height:1.9; margin-top:8px; }
.case-outcomes { padding-top:55px; }
.case-takeaway { display:grid; grid-template-columns:1fr 1.4fr; gap:40px; padding:34px 0; border-bottom:1px solid var(--line); }
.case-takeaway h3 { font-size:22px; line-height:1.9; }
.case-takeaway ol { padding-left:23px; }
.case-takeaway li { padding:5px 0 9px 8px; font-size:16px; }
.case-takeaway li::marker { color:#a56c29; font-family:var(--font-en); }
.case-depth { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:32px; margin-top:40px; }
.case-depth h3 { font-size:17px; line-height:1.9; margin-bottom:15px; }
.case-depth p { font-size:15px; line-height:2.1; }
.case-directory-guide { display:grid; grid-template-columns:.85fr 1.15fr; gap:90px; padding-top:90px; }
.case-directory-guide h2 { font-size:29px; line-height:1.9; margin:17px 0; }
.case-directory-guide .learning-illustration { width:240px; margin-top:12px; }
.case-directory-guide dl>div { padding:25px 0; border-bottom:1px solid var(--line); }
.case-directory-guide dt { font-size:19px; margin-bottom:10px; }
.case-directory-guide dd { font-size:15px; line-height:2; }
.case-directory-guide .course-notice { font-size:13px; margin-top:24px; }
.name-story { display:grid; grid-template-columns:1fr 1.4fr; gap:65px; padding:10px 0 90px; }
.name-story h2 { font-size:29px; line-height:1.9; margin-top:17px; }
.name-story p { font-size:16px; line-height:2.2; margin-bottom:22px; }
.name-story p:last-child { margin-bottom:0; }
.drawer-sub.drawer-mega { background:#fffaf2; padding:16px; display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:18px 12px; }
.drawer-sub.drawer-mega[hidden] { display:none; }
.drawer-sub.drawer-mega>a { display:block; padding:0; color:#342d22; font-size:13px; border:0; background:transparent; min-width:0; }
.drawer-card-photo { aspect-ratio:1.7; overflow:hidden; border-radius:2px; }
.drawer-card-photo img { width:100%; height:100%; object-fit:cover; }
.drawer-mega>a>span { display:flex; align-items:center; justify-content:space-between; gap:6px; min-height:48px; line-height:1.6; padding:8px 1px 0; }
.drawer-mega b { flex-shrink:0; font-weight:400; font-size:17px; color:#9b733e; }
.flow-stage h3>span { display:inline-block; }
@media(max-width:1000px) {
 .inquiry-box { grid-template-columns:minmax(0,1fr) 150px; padding:38px; gap:20px; }
 .inquiry-art>span { font-size:10px; white-space:normal; }
 .case-depth { gap:22px; }
 .case-directory-guide { gap:45px; }
 .name-story { gap:40px; }
}
@media(max-width:900px) {
 .flow-stage-note { border:1px solid #eadac6; border-radius:3px; margin-top:10px; }
 .flow-stage-note::before { width:12px; height:12px; top:-7px; left:24px; border-top:1px solid #eadac6; border-left:1px solid #eadac6; }
}
@media(max-width:800px) {
 .hero-promise { display:block; white-space:nowrap; }
 .hero-copy h1 br.hero-desktop-break { display:none; }
 .hero-copy { height:116px; }
 .hero { padding-bottom:116px; }
 .hero-photos { bottom:116px; }
 .hero-controls { bottom:129px; }
 .hero-tag { bottom:calc(116px + 18%); }
 .footer-contacts a { display:flex; flex-direction:column; justify-content:center; align-items:center; text-align:center; gap:13px; padding:28px 18px; }
 .footer-contacts a>span { text-align:center; }
 .footer-contacts a svg { flex-basis:auto; width:34px; height:34px; }
 .inquiry-box { display:flex; flex-direction:column; align-items:stretch; text-align:center; border-radius:3px 3px 38px 3px; padding:34px 22px 26px; gap:23px; margin-top:55px; }
 .inquiry-copy .eyebrow { font-size:9px; }
 .inquiry-box h2 { font-size:23px; line-height:1.85; margin:14px 0 17px; }
 .inquiry-box p { text-align:left; font-size:15px; max-width:36em; margin:auto; }
 .inquiry-link { margin:23px auto 0; width:330px; padding:18px 19px; font-size:15px; }
 .inquiry-note { font-size:11px; max-width:30em; margin:12px auto 0; }
 .inquiry-art { align-self:center; width:150px; }
 .inquiry-art .learning-illustration { width:150px; max-width:100%; margin:0; }
 .inquiry-art>span { display:none; }
 .inquiry-box::after { width:250px; height:200px; right:-70px; bottom:-120px; }
 .home-consultation,.case-directory-cta { padding-bottom:60px; }
 .sample-board { padding:23px; margin:35px 0; }
 .sample-board figcaption { align-items:flex-start; flex-direction:column; gap:5px; margin-bottom:20px; }
 .sample-transformation { grid-template-columns:1fr; gap:12px; }
 .sample-before,.sample-after { padding:20px; }
 .output-poster { padding:24px 16px; border-width:5px; }
 .output-poster>strong { font-size:22px; }
 .poster-bottom { gap:12px; }
 .sample-arrow { transform:rotate(90deg); line-height:1.2; }
 .sample-board .sample-caption { text-align:left; font-size:10px; }
 .outcome-heading h2,.ai-platforms h2 { font-size:25px; }
 .ai-task-grid { grid-template-columns:1fr; gap:0; margin:30px 0; }
 .ai-task { padding:24px 0; grid-template-columns:25px 1fr; gap:12px; }
 .ai-task h3 { font-size:21px; }
 .ai-more { grid-template-columns:1fr; gap:13px; }
 .ai-platforms { padding:30px 25px; margin-bottom:45px; }
 .platform-names { font-size:20px; gap:12px 24px; }
 .case-takeaway { grid-template-columns:1fr; gap:17px; padding:20px 0 28px; }
 .case-takeaway h3 { font-size:21px; }
 .case-depth { grid-template-columns:1fr; gap:28px; }
 .case-depth h3 { margin-bottom:10px; }
 .case-directory-guide { grid-template-columns:1fr; gap:24px; padding-top:55px; }
 .case-directory-guide>div:first-child { position:relative; min-height:140px; padding-right:90px; }
 .case-directory-guide h2 { font-size:23px; }
 .case-directory-guide .eyebrow { font-size:9px; }
 .case-directory-guide .learning-illustration { position:absolute; width:100px; right:0; bottom:10px; }
 .name-story { grid-template-columns:1fr; gap:23px; padding-bottom:55px; }
 .name-story h2 { font-size:25px; }
 .prompt-example { padding:24px; }
 .prompt-example h2 { font-size:20px; margin:10px 0 16px; }
}
@media(max-width:360px) {
 .hero-copy h1 { font-size:17px; letter-spacing:.01em; }
 .inquiry-box { padding-left:18px; padding-right:18px; }
 .inquiry-box h2 { font-size:20px; }
 .sample-board { padding:17px; }
 .sample-before,.sample-after { padding:17px; }
 .flow-stage { grid-template-columns:48px minmax(0,1fr); gap:14px; }
 .flow-marker { width:48px; height:48px; }
 .flow-marker>span { font-size:23px; }
 .flow-stage:not(:last-child)::before { left:23px; }
 .flow-stage-note { padding:17px; }
 .case-directory-guide h2 { font-size:21px; }
}
@media(prefers-reduced-motion:reduce) {
 .inquiry-link { transition:none; }
 .inquiry-link:hover { transform:none; }
}
