@charset "UTF-8";
@font-face{font-family:FairRound;src:url('assets/fonts/zen-maru-heading.woff') format('woff');font-weight:700;font-display:swap}
@font-face{font-family:FairSans;src:url('assets/fonts/noto-body.woff') format('woff');font-weight:400;font-display:swap}
@font-face{font-family:FairSans;src:url('assets/fonts/noto-bold.woff') format('woff');font-weight:700;font-display:swap}
:root{--forest:#245849;--ink:#283e34;--coral:#c93e32;--mustard:#efd17b;--paper:#fffaf0;--cream:#f4efdf;--muted:#58695e;--line:#c5ccbb;--body:FairSans,'Hiragino Kaku Gothic ProN',Meiryo,sans-serif;--heading:FairRound,'Hiragino Maru Gothic ProN',Meiryo,sans-serif}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:24px}
body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--body);font-size:16px;line-height:1.9;overflow-wrap:anywhere;-webkit-font-smoothing:antialiased}
h1,h2,h3,p,ul,ol,dl,dd,figure{margin:0}ul,ol{list-style:none;padding:0}a{color:inherit;text-decoration:none}button{font:inherit}img{display:block;max-width:100%;height:auto}strong{font-weight:700}h2,h3{font-family:var(--heading);font-weight:700}a,summary,button{outline-offset:5px}:focus-visible{outline:3px solid #125cba}::selection{background:var(--mustard);color:var(--forest)}[hidden]{display:none!important}
.wrap{width:min(1100px,calc(100% - 64px));margin-inline:auto}.narrow{width:min(800px,calc(100% - 64px));margin-inline:auto}.section{padding-block:78px}.section-title{text-align:center;font-size:clamp(1.75rem,3.1vw,2.5rem);line-height:1.6;letter-spacing:.025em;color:var(--forest);margin-bottom:28px;text-wrap:balance}.section-title::after{content:'';display:block;width:54px;height:6px;margin:19px auto 0;background:var(--mustard);border-radius:50%}.section-kicker{width:fit-content;max-width:100%;margin:0 auto 18px;font-size:.9375rem;line-height:1.6;font-weight:700;text-align:center;color:var(--forest);border-block:1px solid currentColor;padding:7px 16px}.section-intro{text-align:center;font-size:1rem;margin:0 auto 32px;max-width:650px;color:var(--muted)}.skip{position:fixed;left:12px;top:-100px;background:white;z-index:200;padding:12px 20px}.skip:focus{top:12px}.mobile-only{display:none}

/* Printed invitation: open typography, people, and a date ticket. */
.hero{position:relative;isolation:isolate;overflow:hidden;background-color:var(--paper);background-image:radial-gradient(#d9d8bf 0.7px,transparent .8px);background-size:17px 17px;border-top:9px solid var(--forest);border-bottom:1px solid var(--forest)}
.hero::before,.hero::after{content:'';position:absolute;top:26px;bottom:26px;width:12px;border-block:1px solid var(--forest);opacity:.45;pointer-events:none}.hero::before{left:22px;border-left:1px solid var(--forest)}.hero::after{right:22px;border-right:1px solid var(--forest)}
.hero-stage{text-align:center;padding:32px 20px 40px;position:relative;background:radial-gradient(ellipse at center,var(--paper) 45%,transparent 73%)}
.organizer-line{display:table;max-width:100%;margin:0 auto;background:var(--forest);color:white;padding:7px 30px;font-family:var(--heading);font-size:1.125rem;line-height:1.7;letter-spacing:.04em;clip-path:polygon(0 0,100% 0,97.5% 50%,100% 100%,0 100%,2.5% 50%)}
.hero h1{position:relative;width:min(650px,100%);height:128px;margin:14px auto 0;overflow:hidden}.hero h1 img{position:absolute;width:100%;max-width:none;top:50%;transform:translateY(-50%)}.fair-title{font-size:1.125rem;letter-spacing:.1em;font-family:var(--heading);color:var(--forest);line-height:1.7}.hero-visual{display:grid;grid-template-columns:140px 1fr 140px;align-items:center;max-width:870px;margin:8px auto 0;gap:4px}.teacher{width:140px;height:215px;object-fit:contain;animation:arrive 800ms ease-out both}.teacher-right{animation-delay:120ms}.hero-message{font-size:2.125rem;line-height:1.7;letter-spacing:.02em;text-wrap:balance}.hero-lead{font-size:1rem;line-height:1.85;margin-top:-21px}.role-line{font-family:var(--heading);font-size:1rem;margin-top:9px;color:var(--forest)}
.hero-event{position:relative;max-width:520px;margin:23px auto 0;background:var(--mustard);border:1px solid var(--forest);padding:36px 24px 15px;box-shadow:5px 5px 0 #2458491f}.ticket-label{position:absolute;top:-12px;left:50%;transform:translateX(-50%);white-space:nowrap;background:var(--paper);border:1px solid var(--forest);padding:2px 17px;font-family:var(--heading);font-size:.875rem}.hero-event::before,.hero-event::after{content:'';position:absolute;width:16px;height:32px;background:var(--paper);top:calc(50% - 16px);border:1px solid var(--forest)}.hero-event::before{left:-1px;border-left:0;border-radius:0 18px 18px 0}.hero-event::after{right:-1px;border-right:0;border-radius:18px 0 0 18px}.event-date{color:var(--forest);font-family:var(--heading);line-height:1}.event-date time{display:flex;align-items:baseline;justify-content:center;gap:12px}.date-year{font-family:var(--body);font-size:.875rem}.event-date strong{font-family:var(--heading);font-size:3.5rem;letter-spacing:-.04em}.event-date strong span{font-size:1.25rem;margin:0 4px;letter-spacing:0}.date-day{background:var(--forest);color:var(--paper);border-radius:50%;font-size:1rem;width:29px;height:29px;display:grid;place-items:center;align-self:center}.event-time{font-size:1.125rem;font-weight:700;margin-top:7px}.event-time>span{font-size:.875rem;font-weight:400}.event-venue{display:flex;justify-content:center;flex-wrap:wrap;gap:0 12px;font-size:1rem;margin-top:8px;border-top:1px dashed #24584970;padding-top:8px}.event-venue strong{font-family:var(--heading)}
.participation-notes{display:flex;justify-content:center;gap:0;font-size:.9375rem;font-weight:700;margin:23px auto 19px}.participation-notes li{padding-inline:19px;border-right:1px solid var(--line)}.participation-notes li:last-child{border:0}.button{display:flex;align-items:center;justify-content:center;position:relative;gap:26px;min-height:62px;width:min(460px,100%);padding:17px 56px 17px 25px;margin-inline:auto;border:1px solid #a82f26;border-radius:5px;background:var(--coral);box-shadow:0 4px 0 #963c2d;color:white;font-family:var(--heading);font-size:1.125rem;line-height:1.6;transition:background .18s,transform .18s,box-shadow .18s}.button>span{position:absolute;right:20px;width:27px;height:27px;border:1px solid #ffffff99;border-radius:50%;display:grid;place-items:center;line-height:1;font-size:1.5rem}.button:hover{background:#af3027;transform:translateY(-2px);box-shadow:0 6px 0 #963c2d}.button:active{transform:translateY(3px);box-shadow:0 1px 0 #963c2d}.hero-school-link{display:table;margin:13px auto 0;font-size:.9375rem;min-height:44px;padding:8px 4px;text-decoration:underline;text-underline-offset:5px}.hero-school-link span{margin-left:12px}.status-caption{font-size:.875rem;text-align:center;line-height:1.8;color:var(--muted);margin:10px auto 0;max-width:500px}

/* Two human scenes carry the explanation, rather than repeated panels. */
.conversation-section{background:var(--paper);position:relative}.reason-intro{max-width:710px;margin:0 auto 38px;text-align:center;font-size:1.0625rem;line-height:2.05}.conversation-row{display:grid;grid-template-columns:1.1fr 1fr;gap:50px;align-items:center;margin-top:25px;padding-block:16px}.conversation-row:nth-of-type(2){grid-template-columns:1fr 1.1fr}.conversation-row:nth-of-type(2) .scene-art{grid-column:2;grid-row:1}.conversation-row:nth-of-type(2) .scene-copy{grid-column:1;grid-row:1}.scene-art{position:relative}.scene-art img{width:100%;aspect-ratio:3/2;object-fit:contain;mix-blend-mode:multiply}.scene-caption{display:table;margin:-3px auto 0;font-family:var(--heading);font-size:.9375rem;padding:3px 12px;border-bottom:2px solid var(--mustard)}.conversation-number{display:flex;align-items:center;gap:14px;font-family:var(--heading);font-size:2.5rem;line-height:1;color:var(--forest);margin-bottom:16px}.conversation-number>span{font-size:.875rem;letter-spacing:.05em;padding-top:3px}.scene-copy h3{font-size:1.625rem;line-height:1.75;color:var(--forest)}.scene-copy>p{font-size:1rem;line-height:1.95;margin-top:16px}.reason-conclusion{max-width:790px;margin:44px auto 0;padding:25px 16px;text-align:center;font-family:var(--heading);font-size:1.125rem;line-height:1.9;border-block:1px dashed var(--forest)}

/* Four equal editorial school profiles, bound as one prospectus. */
.schools-section{background:var(--cream);border-block:1px solid #d2d7c5;position:relative}.schools-section::before{content:'';position:absolute;top:-5px;left:0;width:100%;height:8px;background:repeating-linear-gradient(90deg,var(--forest) 0 24px,var(--paper) 24px 29px)}.school-list{display:grid;grid-template-columns:1fr 1fr;background:var(--paper);border:1px solid var(--forest);box-shadow:7px 7px 0 #d6dece;counter-reset:schools}.school{position:relative;padding:34px 34px 25px;min-width:0;counter-increment:schools}.school:nth-child(odd){border-right:1px solid var(--line)}.school:nth-child(-n+2){border-bottom:1px solid var(--line)}.school-location{display:flex;align-items:center;gap:12px;font-size:.875rem;color:var(--muted);margin-bottom:17px}.school-location::before{content:counter(schools,decimal-leading-zero);font-family:var(--heading);font-size:1.5rem;color:var(--forest);line-height:1;display:inline-block;border-bottom:3px solid var(--mustard);padding-bottom:3px}.school h3{font-size:1.5rem;line-height:1.7;color:var(--forest);letter-spacing:.005em}.school-focus{font-family:var(--heading);font-size:1.0625rem;line-height:1.8;margin-top:17px;border-left:4px solid var(--mustard);padding-left:12px;min-height:3.6em}.school-description{font-size:1rem;line-height:1.95;margin-top:17px}.school details{border-top:1px dashed var(--line);margin-top:21px}.school summary{font-size:.875rem;min-height:48px;color:var(--forest);padding:10px 0}.school-information{font-size:.9375rem;color:var(--muted);padding-bottom:8px}.school-information dl>div{display:grid;grid-template-columns:65px 1fr;gap:12px;padding:9px 0;border-top:1px solid var(--line)}.school-information dt{font-weight:700;color:var(--forest)}.school-status{font-size:.875rem;color:var(--muted);margin-top:22px}.source-note{font-size:.8125rem;color:var(--muted);margin-top:8px}.inline-link{display:inline-block;color:var(--forest);font-size:.9375rem;text-decoration:underline;text-underline-offset:4px;padding:8px 0;margin-top:5px}.inline-link:hover{color:var(--coral)}
.schools-cta{position:relative;margin:48px auto 0;padding:35px 25px 29px;text-align:center;background:var(--forest);color:var(--paper);outline:1px dashed #fffaf070;outline-offset:-9px;border-radius:2px}.schools-cta .cta-heading{font-family:var(--heading);font-size:1.75rem;line-height:1.65;margin-bottom:12px}.schools-cta .cta-detail{font-size:1rem;line-height:1.85;margin-bottom:22px}.schools-cta .button{border-color:#fffaf0b0;background:#c93e32}.schools-cta .cta-note{font-size:.875rem;margin-top:14px;line-height:1.8}.schools-cta::before,.schools-cta::after{content:'';width:24px;height:24px;border-radius:50%;background:var(--cream);position:absolute;top:calc(50% - 12px)}.schools-cta::before{left:-12px}.schools-cta::after{right:-12px}

/* Timetable as a continuous line, not a stack of generic cards. */
.flow-section{background:var(--paper)}.event-flow{margin-top:34px}.event-flow>li{position:relative;display:grid;grid-template-columns:120px 1fr;gap:34px;padding:0 0 32px 29px;border-left:2px solid var(--forest);margin-left:8px}.event-flow>li::before{content:'';position:absolute;left:-8px;top:8px;width:14px;height:14px;border:2px solid var(--forest);background:var(--mustard);border-radius:50%}.event-flow>li:last-child{border-color:transparent;padding-bottom:8px}.flow-time{font-family:var(--heading);font-size:1.75rem;line-height:1.4;color:var(--forest);font-variant-numeric:tabular-nums}.flow-time>span{display:block;font-size:1rem}.event-flow h3{font-size:1.25rem;line-height:1.7}.event-flow li div>p{font-size:1rem;line-height:1.9;margin-top:8px}.flow-note{font-size:.875rem;color:var(--muted);margin-top:16px}.flow-cta{margin-top:31px}.program-details{margin-top:23px;border-block:1px solid var(--forest)}.program-details>summary{font-size:1rem;font-weight:700;padding:14px 0;min-height:50px}.program-list{padding-bottom:15px}.program-list li{display:grid;grid-template-columns:59px 1fr;gap:18px;padding:13px 0;border-top:1px solid var(--line)}.program-list time{color:var(--forest);font-weight:700;font-size:.9375rem}.program-list p{font-size:.9375rem;color:var(--muted);line-height:1.9;margin-top:4px}.program-list strong{font-size:1rem}
details summary{display:flex;justify-content:space-between;align-items:center;gap:18px;list-style:none;cursor:pointer;line-height:1.8}summary::-webkit-details-marker{display:none}summary::after{content:'+';display:grid;place-items:center;flex-shrink:0;width:25px;height:25px;border:1px solid var(--forest);border-radius:50%;font-size:1.1rem;line-height:1;color:var(--forest);font-family:var(--body)}details[open]>summary::after{content:'−'}
.overview-section{background:#e8ede3;border-block:1px solid #c2ccbb}.overview{border-top:1px solid var(--forest)}.overview>div{display:grid;grid-template-columns:132px 1fr;gap:24px;padding:21px 0;border-bottom:1px solid #bdc9b5}.overview dt{font-family:var(--heading);font-size:1rem;color:var(--forest)}.overview dd{font-size:1rem;line-height:1.95;min-width:0}.overview dd>p{margin-top:8px}.overview dd small{display:block;font-size:.875rem;color:var(--muted);margin-top:10px}.host-list{font-size:.9375rem}.host-list li+li{margin-top:4px}
.access-section{text-align:center;background:var(--paper);padding-bottom:60px}.access-section h3{font-size:1.5rem;margin-bottom:9px}.access-section p{font-size:1rem}.station{margin-top:7px;font-size:.9375rem!important}.map-frame{display:block;width:100%;height:250px;border:1px solid var(--line);margin-top:25px;background:var(--cream)}.map-link{display:inline-flex;align-items:center;gap:18px;max-width:100%;border:1px solid var(--forest);border-radius:3px;padding:12px 22px;margin-top:20px;min-height:48px;font-size:.9375rem;color:var(--forest)}.map-link:hover{background:var(--cream)}
.faq-section{padding-top:20px;background:var(--paper)}.faq-list{counter-reset:questions;border-top:1px solid var(--forest)}.faq-list details{border-bottom:1px solid var(--line);counter-increment:questions}.faq-list summary{font-size:1rem;line-height:1.8;padding:19px 0 19px 43px;position:relative;font-weight:700}.faq-list summary::before{content:'Q';position:absolute;left:3px;top:17px;font-family:var(--heading);font-size:1.375rem;color:var(--forest);line-height:1.5}.faq-list details>div{padding:0 37px 23px 43px;font-size:1rem;color:var(--muted);line-height:1.9}
.entry-section{position:relative;text-align:center;background:var(--mustard);border-top:8px solid var(--forest);padding-block:53px 55px}.entry-section::before{content:'';position:absolute;inset:13px;border:1px dashed #24584970;pointer-events:none}.entry-section .narrow{position:relative}.entry-section .section-title{font-size:2rem}.entry-section .section-title::after{background:var(--forest);height:3px}.entry-section .fair-title{font-size:1rem;letter-spacing:.04em}.entry-place{font-family:var(--heading);font-size:1.125rem;margin-top:20px}.entry-date{font-family:var(--heading);font-size:1.875rem;line-height:1.6;margin-top:7px}.entry-time{font-weight:700;font-size:1.125rem}.entry-venue{font-size:1rem;margin-top:4px}.entry-target{font-size:.9375rem;margin-top:11px}.entry-open{font-family:var(--heading);display:table;background:var(--forest);color:white;padding:3px 15px;margin:22px auto 13px;font-size:.9375rem}.entry-section .status-caption{color:var(--ink);margin-top:17px}.entry-section .button{max-width:460px}
.footer{background:var(--forest);color:var(--paper);padding-block:34px 26px;text-align:center}.footer nav{display:flex;flex-wrap:wrap;justify-content:center;gap:3px 24px;font-size:.875rem}.footer nav a{display:inline-block;padding:9px 0}.footer a:hover{text-decoration:underline;text-underline-offset:4px}.organizers{display:flex;flex-direction:column;align-items:center;gap:10px;border-top:1px solid #fffaf040;padding-top:22px;margin-top:20px;font-size:.875rem}.organizers>span{font-family:var(--heading)}.organizers ul{display:flex;justify-content:center;flex-wrap:wrap;gap:2px 20px}.organizers a{display:inline-block;padding:5px 0}.copyright{font-size:.8125rem;margin-top:22px;text-align:center}.back-top{display:grid;place-items:center;width:44px;height:44px;border:1px solid #fffaf080;margin:18px auto 0}.mobile-bar{display:none}.reveal{transition:opacity .65s ease,transform .65s ease}.reveal.is-pending{opacity:0;transform:translateY(15px)}
@keyframes arrive{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}

@media(max-width:850px){.wrap,.narrow{width:calc(100% - 44px)}.hero-stage{padding-inline:0}.hero-visual{grid-template-columns:100px 1fr 100px}.teacher{width:100px;height:175px}.hero-message{font-size:1.65rem}.hero-lead{margin-top:-8px}.conversation-row{gap:24px}.scene-copy h3{font-size:1.375rem}.school{padding:27px 24px 20px}.school h3{font-size:1.25rem}.school-focus{font-size:1rem}.section{padding-block:58px}}

@media(max-width:600px){
 html{scroll-padding-top:16px}body{padding-bottom:calc(86px + env(safe-area-inset-bottom))}.wrap,.narrow{width:calc(100% - 40px)}.section{padding-block:42px}.section-title{font-size:1.5rem;line-height:1.65;margin-bottom:22px;letter-spacing:0}.section-title::after{margin-top:15px;width:42px;height:5px}.section-kicker{font-size:.875rem;padding:6px 10px;margin-bottom:17px}.section-intro{font-size:.9375rem;line-height:1.9;margin-bottom:26px}.mobile-only{display:block}
 .hero{border-top-width:6px;background-size:14px 14px}.hero::before,.hero::after{top:15px;bottom:17px;width:7px}.hero::before{left:7px}.hero::after{right:7px}.hero-stage{padding:19px 0 27px}.organizer-line{font-size:.9375rem;padding:5px 22px;line-height:1.7}.hero h1{height:75px;margin-top:8px}.fair-title{font-size:.9375rem;letter-spacing:.035em}.hero-visual{grid-template-columns:62px minmax(0,1fr) 62px;gap:0;margin:13px -8px 0}.teacher{width:62px;height:117px}.hero-message{font-size:clamp(1.0625rem,4.75vw,1.25rem);line-height:1.75;letter-spacing:0}.hero-lead{font-size:.9375rem;line-height:1.85;margin-top:12px}.hero-lead br{display:none}.role-line{font-family:var(--body);font-weight:700;font-size:.875rem;margin-top:8px}.hero-event{margin-top:25px;padding:26px 17px 12px;box-shadow:3px 3px 0 #24584920}.ticket-label{font-size:.8125rem;padding-inline:12px;top:-12px}.event-date time{gap:8px}.event-date strong{font-size:2.875rem}.event-date strong span{font-size:1.0625rem;margin-inline:2px}.date-year{font-size:.8125rem}.date-day{font-size:.875rem;width:25px;height:25px}.event-time{font-size:1rem;margin-top:7px}.event-time>span{font-size:.8125rem}.event-venue{font-size:.875rem;padding-top:7px;margin-top:7px;gap:0 8px}.participation-notes{font-size:.875rem;margin:18px auto 16px}.participation-notes li{padding-inline:13px}.button{min-height:58px;font-size:1.0625rem;padding:14px 44px 14px 16px;gap:12px}.button>span{right:14px;width:25px;height:25px}.status-caption{font-size:.8125rem;margin-top:9px}.hero .status-caption{max-width:285px}.hero-school-link{font-size:.875rem;margin-top:12px;padding-top:9px}
 .reason-intro{font-size:1rem;text-align:left;line-height:1.95;margin-bottom:24px}.reason-intro br{display:none}.conversation-row,.conversation-row:nth-of-type(2){display:flex;flex-direction:column;gap:23px;margin-top:22px;padding:0 0 25px}.scene-art{width:100%;max-width:480px}.scene-art img{width:calc(100% + 20px);max-width:none;margin-left:-10px;aspect-ratio:3/2}.scene-caption{font-size:.875rem;margin-top:-3px;padding:2px 10px}.scene-copy{width:100%}.conversation-number{font-size:2rem;gap:11px;margin-bottom:12px}.conversation-number>span{font-size:.875rem}.scene-copy h3{font-size:1.375rem;line-height:1.75}.scene-copy>p{font-size:1rem;line-height:1.9;margin-top:12px}.reason-conclusion{font-size:1rem;line-height:1.95;margin-top:0;padding:22px 0}
 .school-list{grid-template-columns:1fr;box-shadow:4px 4px 0 #d6dece}.school{padding:25px 21px 15px;border:0!important}.school+.school{border-top:1px solid var(--forest)!important}.school-location{font-size:.8125rem;margin-bottom:14px;gap:10px}.school-location::before{font-size:1.375rem}.school h3{font-size:1.3125rem;line-height:1.7}.school-focus{font-size:1rem;min-height:0;margin-top:13px;padding-left:10px}.school-description{font-size:1rem;line-height:1.95;margin-top:14px}.school details{margin-top:17px}.school summary{font-size:.875rem;min-height:49px;gap:10px}.school-information{font-size:.9375rem}.school-information dl>div{grid-template-columns:55px 1fr;gap:10px}.school-status{font-size:.875rem;margin-top:18px}.source-note{font-size:.8125rem}.schools-cta{margin-top:32px;padding:27px 21px 24px;outline-offset:-7px}.schools-cta .cta-heading{font-size:1.375rem;line-height:1.75}.schools-cta .cta-detail{font-size:.9375rem;margin-bottom:18px}.schools-cta .button{font-size:1rem;padding-left:10px;padding-right:35px}.schools-cta .button>span{right:10px;width:22px;height:22px}.schools-cta .cta-note{font-size:.8125rem;margin-top:13px}.schools-cta::before,.schools-cta::after{width:18px;height:18px}.schools-cta::before{left:-9px}.schools-cta::after{right:-9px}
 .event-flow{margin-top:28px}.event-flow>li{grid-template-columns:68px 1fr;gap:16px;padding:0 0 27px 18px;margin-left:6px}.event-flow>li::before{width:12px;height:12px;left:-7px}.flow-time{font-size:1.25rem;line-height:1.5}.flow-time>span{font-size:.875rem}.event-flow h3{font-size:1.0625rem;line-height:1.75}.event-flow li div>p{font-size:1rem;margin-top:7px;line-height:1.9}.flow-note{font-size:.875rem;margin-top:12px}.flow-cta{margin-top:27px}.program-details{margin-top:21px}.program-details>summary{font-size:.9375rem;gap:10px}.program-list li{grid-template-columns:48px 1fr;gap:13px}.program-list p,.program-list strong,.program-list time{font-size:.9375rem}
 .overview>div{display:block;padding:18px 0}.overview dt{font-size:1rem;margin-bottom:8px}.overview dd{font-size:1rem;line-height:1.9}.overview dd small{font-size:.875rem}.host-list{font-size:.9375rem}.inline-link{font-size:.9375rem}.access-section{padding-bottom:40px}.access-section h3{font-size:1.375rem}.access-section p{font-size:.9375rem}.station{font-size:.875rem!important}.map-frame{height:200px;margin-top:21px}.map-link{font-size:.875rem;padding:11px 12px;gap:10px;margin-top:17px}.faq-section{padding-top:12px}.faq-list summary{font-size:1rem;padding:18px 0 18px 31px;gap:10px}.faq-list summary::before{font-size:1.25rem;left:0;top:17px}.faq-list details>div{font-size:1rem;padding:0 0 20px 31px}.faq-list summary::after{width:22px;height:22px}
 .entry-section{padding:39px 0 42px;border-top-width:6px}.entry-section::before{inset:9px}.entry-section .section-title{font-size:1.5rem}.entry-section .fair-title{font-size:.9375rem}.entry-date{font-size:1.5rem}.entry-place{font-size:1rem;margin-top:17px}.entry-time{font-size:1.0625rem}.entry-venue{font-size:.9375rem}.entry-target{font-size:.875rem}.entry-open{font-size:.875rem;margin-top:18px}.entry-section .status-caption{margin-top:15px}
 .footer{padding-block:26px 23px}.footer nav{gap:2px 18px;font-size:.875rem}.organizers{margin-top:15px;padding-top:18px;font-size:.8125rem;gap:8px}.organizers ul{display:block}.organizers a{padding-block:6px}.copyright{font-size:.8125rem;margin-top:20px}.back-top{margin-top:15px}.mobile-bar{position:fixed;bottom:0;left:0;width:100%;z-index:60;display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 15px calc(10px + env(safe-area-inset-bottom));border-top:2px solid var(--forest);background:#fffaf0fa;box-shadow:0 -3px 12px #2458490c}.mobile-bar>p{font-size:.8125rem;line-height:1.75}.mobile-bar>p strong{font-family:var(--heading);font-size:1rem}.mobile-bar small{display:block;font-size:.8125rem}.mobile-bar>a{display:flex;align-items:center;justify-content:center;gap:12px;min-height:49px;padding:11px 18px;flex-shrink:0;background:var(--coral);color:white;border-radius:4px;box-shadow:0 3px 0 #963c2d;font-family:var(--heading);font-size:1rem;line-height:1.6}.mobile-bar>a>span{font-size:1.25rem}
}
@media(max-width:360px){.wrap,.narrow{width:calc(100% - 32px)}.hero h1{height:66px}.hero-visual{grid-template-columns:49px minmax(0,1fr) 49px;margin-inline:-4px}.teacher{width:49px;height:102px}.hero-message{font-size:1.0625rem}.hero-lead{font-size:.875rem}.role-line{font-size:.8125rem}.event-date strong{font-size:2.5rem}.ticket-label{font-size:.75rem;padding-inline:9px}.event-venue{font-size:.8125rem}.school{padding-inline:18px}.school h3{font-size:1.1875rem}.school-focus{font-size:.9375rem}.schools-cta{padding-inline:17px}.schools-cta .button{font-size:.9375rem}.event-flow>li{grid-template-columns:59px 1fr;gap:12px;padding-left:15px}.flow-time{font-size:1.125rem}.mobile-bar{padding-inline:12px;gap:8px}.mobile-bar>a{font-size:.875rem;padding-inline:12px;gap:9px}.mobile-bar small{font-size:.75rem}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}.reveal.is-pending{opacity:1;transform:none}}
@media print{body{padding:0}.mobile-bar,.back-top{display:none}.wrap,.narrow{width:100%}.section{padding-block:25px}.school,.event-flow>li{break-inside:avoid}.reveal.is-pending{opacity:1;transform:none}}
.school-focus{font-weight:700!important}
.career-context{background:#e8ede3;border-block:1px solid #c2ccbb;padding-block:44px}.career-context-kicker{font-family:var(--heading);font-size:.9375rem;color:var(--forest);text-align:center;margin-bottom:14px}.career-context-panel{display:grid;grid-template-columns:1.05fr .95fr;gap:42px;padding:30px 34px;background:var(--paper);border:1px solid var(--forest);box-shadow:6px 6px 0 #d6dece}.career-context h2{font-size:1.5rem;line-height:1.7;color:var(--forest)}.career-context p{font-size:1rem;line-height:1.95;margin-top:14px}.career-context ul{display:grid;align-content:start;border-top:1px solid var(--line)}.career-context li{display:grid;grid-template-columns:42px 1fr;gap:12px;padding:13px 0;border-bottom:1px solid var(--line);font-size:.9375rem;line-height:1.75}.career-context li strong{font-family:var(--heading);font-size:1.125rem;color:var(--forest);border-bottom:3px solid var(--mustard);height:1.8em}@media(max-width:600px){.career-context{padding-block:32px}.career-context-kicker{font-size:.875rem;margin-bottom:12px}.career-context-panel{display:block;padding:24px 20px;box-shadow:4px 4px 0 #d6dece}.career-context h2{font-size:1.25rem;line-height:1.75}.career-context p{font-size:1rem;margin-top:12px}.career-context ul{margin-top:20px}.career-context li{font-size:.9375rem;grid-template-columns:36px 1fr;gap:10px;padding:11px 0}}
