/* A locally hosted subset, limited to three short personal messages. */
@font-face{font-family:"Saki Hand";src:url("assets/fonts/yomogi-copy.ttf") format("truetype");font-style:normal;font-weight:400;font-display:swap}
.soft-marker{color:inherit;background:linear-gradient(transparent 64%,#e9e4cb 64%,#e9e4cb 94%,transparent 94%);padding:0 .06em;-webkit-box-decoration-break:clone;box-decoration-break:clone}
.story-conclusion .soft-marker,.mission-belief .soft-marker{background:linear-gradient(transparent 65%,#dce8d8 65%,#dce8d8 94%,transparent 94%)}
.saki-voice{display:grid;grid-template-columns:64px minmax(0,1fr);align-items:start;gap:18px;margin:36px 0;text-align:left}
.voice-person{text-align:center}
.voice-person img{width:64px;height:64px;object-fit:contain}
.voice-person span{font-size:.6875rem;color:var(--muted)}
.saki-voice blockquote,.story-body .saki-voice blockquote{position:relative;margin:0;border:1px solid #e7ddd3;border-radius:2px 18px 18px 18px;background:#fffaf4;padding:20px 24px;font-family:var(--font-jp);font-size:.9375rem;font-weight:400;line-height:1.9;color:var(--ink)}
.saki-voice blockquote:before{content:"";position:absolute;left:-7px;top:20px;width:12px;height:12px;background:#fffaf4;border-left:1px solid #e7ddd3;border-bottom:1px solid #e7ddd3;transform:rotate(45deg)}
.voice-learning{max-width:760px;margin:36px auto 44px}
.voice-closing{max-width:680px;margin:46px auto}
.choice-comparison{margin:36px 0 28px}
.choice-comparison figcaption{font-size:1.0625rem;font-weight:700;line-height:1.8;margin-bottom:22px;text-align:center}
.choice-comparison table{table-layout:fixed;width:100%;border-collapse:separate;border-spacing:0;border:1px solid #e5ddd3;border-radius:14px;overflow:hidden;font-size:.875rem}
.choice-comparison th{font-size:.9375rem;padding:16px 12px;background:#eee8e1;font-weight:700;text-align:left}
.choice-comparison th+th{background:#e4ebe1;color:#355d4d}
.choice-comparison td{vertical-align:middle;padding:13px 12px;background:#faf7f3;border-top:1px solid #e8e1d8;line-height:1.8;overflow-wrap:anywhere}
.choice-comparison td+td{background:#f3f7f1}
.breathing-copy{padding:64px 24px;text-align:center;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px}
.breathing-copy>p{margin:0;font-size:1rem;font-weight:400;line-height:1.8}
.breathing-copy .handwritten{font-family:"Saki Hand",var(--font-jp);font-size:clamp(1.5rem,3vw,2rem);font-weight:400;line-height:1.8;letter-spacing:.015em;color:#685347}
.handwritten>span{display:inline-block}
.story-pause{grid-column:1 / -1;background:#f8f4ee;border-radius:24px;margin-top:32px}
.mini-cta{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:44px;padding:8px 15px;margin-top:16px;border:1px solid #cdbcae;border-radius:8px;font-family:var(--font-jp);font-size:.8125rem;text-decoration:none;color:#78523f}
.mini-cta:hover{background:#eee6dc}
.environment-pause{background:#edf3e9;border-radius:24px;margin-bottom:64px}
.environment-pause .handwritten{color:#42604c}
.mission-title.breathing-copy{padding:50px 18px 60px;min-height:300px;margin-bottom:30px;font-weight:400}
.mission-title .mission-intro{font-size:1.125rem;font-weight:400}
.mission-title .handwritten{display:block;font-size:clamp(1.8rem,4vw,2.7rem)}
.closing-text{max-width:700px;margin-inline:auto}
.closing-text p{line-height:2}
.closing-text p+p{margin-top:28px}
.mission-belief{padding:24px;border-left:2px solid #b8c8b1;background:#f3f6ef;margin:28px 0}
.mission-flow{margin:40px 0;text-align:center}
.mission-flow ol{list-style:none;margin:0 0 24px;padding:0;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:22px}
.mission-flow li{position:relative;display:flex;align-items:center;justify-content:center;min-height:78px;border:1px solid #d8e1d2;border-radius:12px;background:#f0f5ed;font-size:.875rem}
.mission-flow li+li:before{content:"→";position:absolute;left:-20px;top:50%;transform:translateY(-50%);color:#a0b096;font-size:.875rem}
.mission-flow figcaption{font-size:.9375rem;line-height:1.9;text-align:left}
.mission-wish{padding:25px;background:#f8f4ee;border-radius:14px}
@media(max-width:700px){
 .saki-voice{grid-template-columns:44px minmax(0,1fr);gap:12px;margin-block:30px}
 .voice-person img{width:44px;height:44px}
 .saki-voice blockquote,.story-body .saki-voice blockquote{padding:16px;font-size:.875rem;line-height:1.9}
 .choice-comparison{margin-block:32px}
 .choice-comparison figcaption{font-size:1rem}
 .choice-comparison table{font-size:.8125rem}
 .choice-comparison td{padding:12px 9px;line-height:1.75}
 .choice-comparison th{font-size:.875rem;padding:14px 10px}
 .breathing-copy{min-height:310px;min-height:42svh;padding:52px 18px;gap:20px}
 .breathing-copy>p{font-size:.875rem}
 .breathing-copy .handwritten{font-size:1.45rem;line-height:1.85}
 .story-pause{margin-top:36px;border-radius:18px}
 .environment-pause{margin-bottom:48px;border-radius:18px}
 .story .section-heading{position:static}
 .mini-cta{font-size:.75rem;padding-inline:12px;margin-top:12px}
 .mission-title.breathing-copy{min-height:300px;min-height:42svh;padding:40px 12px;margin:0 0 24px;gap:22px}
 .mission-title .mission-intro{font-size:1rem}
 .mission-title .handwritten{font-size:1.85rem}
 .mission-belief,.mission-wish{padding:20px}
 .mission-flow ol{grid-template-columns:1fr;gap:25px;max-width:220px;margin:0 auto 28px}
 .mission-flow li{min-height:48px;font-size:.9375rem}
 .mission-flow li+li:before{content:"↓";left:50%;top:-25px;transform:translateX(-50%);line-height:25px}
 .closing-text p{line-height:1.95}
 .voice-closing{margin-block:36px}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
