.header-inner nav{gap:17px;font-size:.82rem}.nav-group{position:relative}.nav-group summary{font-family:'Noto Serif Thai',serif;cursor:pointer;list-style:none;padding:10px 0;white-space:nowrap}.nav-group summary:after{content:'⌄';font-size:12px;margin-left:7px}.nav-dropdown{position:absolute;top:100%;left:0;width:245px;background:var(--surface);border:1px solid var(--line);padding:10px;border-radius:14px;box-shadow:0 12px 30px #142e2514;display:grid;z-index:20}.nav-dropdown a{font-size:.85rem;padding:10px 12px;border-radius:7px;line-height:1.6}.nav-dropdown a:hover{background:var(--soft)}.calendar-nav{font-weight:700;color:var(--green)}.visit-nav{background:var(--green);color:var(--bg);padding:9px 16px!important;border-radius:99px;white-space:nowrap}.footer-extra{display:flex;flex-wrap:wrap;gap:25px;font-size:.8rem;margin-top:25px}.home-agenda{display:grid;grid-template-columns:.85fr 1.7fr;gap:45px;padding:33px 40px;background:var(--soft);border:1px solid var(--line);border-radius:24px;margin-bottom:38px}.agenda-intro .eyebrow{margin-bottom:12px}.agenda-intro h2{font-size:1.65rem;line-height:1.6;margin-bottom:22px}.agenda-intro .button{font-size:.85rem;padding:10px 18px}.upcoming-list{display:grid;align-content:center;gap:10px}.upcoming-event{display:flex;gap:19px;align-items:center;background:var(--surface);padding:12px 20px;border-radius:12px;border:1px solid var(--line)}.upcoming-event>span:last-child{margin-left:auto}.upcoming-event strong{display:block;font-size:.95rem}.upcoming-event small{display:block;font-size:.7rem;color:var(--muted)}.event-date{display:grid;min-width:52px;text-align:center;line-height:1.2;color:var(--green)}.event-date b{font:600 1.7rem 'Noto Serif Thai',serif}.event-date small{margin-top:3px}.agenda-empty{padding:18px 15px}.agenda-empty strong{font:600 1.5rem 'Noto Serif Thai',serif}.agenda-empty p{color:var(--muted);font-size:.95rem;margin-bottom:20px}.school-page{max-width:1150px}.school-cover{display:block;max-height:550px;object-fit:contain;border-radius:20px;margin:0 auto 35px}.school-copy{max-width:850px}.school-copy img{max-width:100%;width:auto;max-height:600px;object-fit:contain;margin:25px auto}.school-copy h2{margin-top:30px;font-size:1.45rem}.school-links{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;margin-top:35px}.school-links a{background:var(--soft);border:1px solid var(--line);border-radius:18px;padding:28px;display:flex;flex-direction:column;justify-content:space-between;gap:25px}.school-links h2{font-size:1.25rem}.school-links span{font-size:.85rem}.people-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px}.person-card{background:var(--surface);border:1px solid var(--line);border-radius:19px;overflow:hidden}.person-card>img{width:100%;height:330px;object-fit:cover;object-position:center 20%;background:var(--soft)}.person-card>div{padding:23px}.person-card h3{font-size:1.1rem;line-height:1.8}.person-card p{color:var(--muted);font-size:.9rem}.team-section+.team-section{margin-top:55px}.team-section>h2{margin-bottom:26px;font-size:1.55rem}.page-downloads{margin-top:45px}.page-downloads h2{font-size:1.5rem;margin-bottom:20px}.download-row{display:flex;justify-content:space-between;gap:25px;padding:20px 25px;border:1px solid var(--line);border-radius:12px;margin-top:12px;background:var(--soft);font-size:.9rem}.visit-invite{display:flex;justify-content:space-between;align-items:center;gap:30px;background:var(--cream);border-radius:20px;padding:35px;margin-top:40px}.visit-invite h2{font-size:1.6rem}.visit-invite p{font-size:.9rem}.visit-invite .button{flex-shrink:0;font-size:.85rem}.calendar-toolbar{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:25px}.calendar-toolbar form{display:flex;align-items:center;gap:10px}.calendar-toolbar label{display:flex;align-items:center;gap:10px;font-size:.9rem}.calendar-toolbar select,.report-filter select{font:inherit;color:var(--ink);background:var(--surface);padding:9px 15px;border:1px solid var(--line);border-radius:12px}.calendar-toolbar button{font-size:.85rem}.calendar-arrows{display:flex;align-items:center;gap:10px}.calendar-arrows a{padding:7px 14px;border:1px solid var(--line);border-radius:9px;font-size:.85rem}.month-pills{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:9px;margin-bottom:24px}.month-pills a{padding:8px;text-align:center;border:1px solid var(--line);border-radius:12px;font-size:.85rem;background:var(--surface);white-space:nowrap}.month-pills [aria-current]{background:var(--green);color:var(--bg);border-color:var(--green)}.calendar-mode{display:flex;justify-content:space-between;align-items:center;margin:22px 0}.calendar-mode button{font-size:.85rem}.calendar-mode [aria-pressed=true]{background:var(--green);color:var(--bg);border-color:var(--green)}.calendar-month-title{background:var(--soft);padding:22px 25px;border:1px solid var(--line);border-bottom:0;border-radius:18px 18px 0 0;font-size:1.5rem}.calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));border-top:1px solid var(--line);border-left:1px solid var(--line);border-radius:0 0 15px 15px;overflow:hidden}.weekday{text-align:center;background:var(--surface);padding:13px 5px;font-size:.85rem;border-bottom:1px solid var(--line);border-right:1px solid var(--line)}.calendar-cell{min-height:125px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);padding:10px 7px;background:var(--surface);min-width:0}.calendar-cell.outside{background:var(--soft);opacity:.5}.day-number{font-size:.85rem;font-weight:600;display:inline-flex;width:29px;height:29px;justify-content:center;align-items:center;margin-bottom:5px}.today .day-number{background:var(--green);color:var(--bg);border-radius:50%}.calendar-event{display:flex;align-items:flex-start;gap:5px;text-align:left;width:100%;padding:5px 7px;border:0;font-size:.68rem;line-height:1.6;margin:3px 0;overflow-wrap:anywhere;border-radius:6px;color:#254336}.calendar-event .event-dot{flex-shrink:0;margin-top:5px;background:currentColor}.category-activity{background:#e0eedb;color:#234b32}.category-holiday{background:#f6dde0;color:#653640}.category-exam{background:#f7eac3;color:#5b4823}.category-meeting{background:#e7e0f2;color:#4b3d63}.category-other{background:#dcebf1;color:#274553}.event-dot{display:inline-block;width:7px;height:7px;border-radius:50%;background:currentColor}.calendar-list-panel>h2{font-size:1.5rem;margin-bottom:25px}.calendar-list-event{display:flex;align-items:center;width:100%;gap:23px;padding:22px;margin-bottom:14px;text-align:left;border-radius:15px;background:var(--surface)}.calendar-list-event>span:last-child{margin-left:auto}.calendar-list-event strong{display:block;font-size:1.1rem;margin:8px 0}.calendar-list-event small{display:block;font-size:.8rem;color:var(--muted)}.list-date{font:600 2rem 'Noto Serif Thai',serif;text-align:center;min-width:60px;color:var(--green);line-height:1.4}.list-date small{font:.75rem 'Sarabun',sans-serif}.event-badge{padding:3px 10px;border-radius:99px;width:max-content}.calendar-legend{display:flex;gap:20px;flex-wrap:wrap;margin-top:25px;font-size:.8rem;color:var(--muted)}.calendar-legend span{display:flex;gap:6px;align-items:center}.calendar-legend .event-dot{width:10px;height:10px}.calendar-section[data-mode=grid] .calendar-list-panel,.calendar-section[data-mode=list] .calendar-grid-panel{display:none}.event-dialog{padding:30px;width:min(650px,94vw);max-height:85vh;overflow:auto}.event-dialog [data-close-dialog]{display:block;margin-left:auto;font-size:.85rem;margin-bottom:22px}.event-dialog h2{font-size:1.6rem}.event-description{margin:25px 0;white-space:normal;overflow-wrap:anywhere}.visit-layout{display:grid;grid-template-columns:.85fr 1.35fr;gap:65px;max-width:1150px}.visit-guide h2{font-size:2rem;margin-bottom:25px}.visit-guide p{color:var(--muted);font-size:.95rem}.visit-guide ol{padding-left:25px;margin:25px 0;font-size:.95rem}.visit-guide li{margin-bottom:14px}.visit-guide>a{display:block;margin-bottom:25px;font-weight:700}.visit-form{border:1px solid var(--line);border-radius:20px;background:var(--surface);padding:30px}.visit-form label{display:block;font-size:.9rem;margin-bottom:20px}.visit-form label>span,.visit-form legend>span{color:#a44b58}.visit-form input:not([type=checkbox]):not([type=radio]),.visit-form textarea{width:100%;background:var(--bg);color:var(--ink);border:1px solid var(--line);border-radius:10px;padding:11px 13px;font:inherit;margin-top:7px;min-width:0}.public-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 20px}.visit-form fieldset{border:1px solid var(--line);border-radius:10px;padding:12px 18px;margin:0 0 22px;display:flex;gap:30px}.visit-form fieldset label{margin:0;display:flex;align-items:center;gap:8px}.visit-form fieldset legend{font-size:.9rem}.visit-form input[type=radio],.visit-form input[type=checkbox]{accent-color:var(--green);width:18px;height:18px;flex-shrink:0}.visit-form .consent{display:flex;gap:12px;align-items:flex-start;line-height:1.8}.visit-form .muted{font-size:.75rem;margin-bottom:20px}.visit-form .form-trap{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.form-error{background:#fff0ee;color:#8c293d;border-color:#e5b8c1}.visit-success{background:var(--soft);border:1px solid var(--line);border-radius:22px;padding:40px}.visit-success>span{display:grid;place-items:center;width:55px;height:55px;background:var(--green);color:var(--bg);border-radius:50%;font-size:28px;margin-bottom:25px}.visit-success h2{font-size:1.7rem}.visit-success p{margin:20px 0}.visit-success .button{margin-top:15px}.sar-subtitle{font-size:1.2rem;font-family:'Sarabun',sans-serif;font-weight:400;overflow-wrap:anywhere}.report-filter{display:flex;gap:15px;align-items:center;margin-bottom:30px;flex-wrap:wrap}.report-filter label{display:flex;gap:12px;align-items:center;font-size:.9rem}.report-filter button{font-size:.85rem}.report-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:25px}.report-card{border:1px solid var(--line);border-radius:20px;padding:30px;background:var(--surface);display:flex;align-items:flex-start;gap:22px}.report-card h2{font-size:1.3rem}.report-card p{font-size:.9rem}.report-card .eyebrow{margin-bottom:15px}.report-card .outline-button{font-size:.8rem;margin-top:22px;white-space:normal}.pdf-mark{min-width:55px;width:55px;height:70px;border:1px solid #e3c0c1;border-radius:8px;background:#f7e4e3;color:#853f46;font:700 14px 'Sarabun',sans-serif;display:grid;place-items:center}.daily-section{max-width:1000px}.daily-filter{display:flex;gap:12px;flex-wrap:wrap;margin-bottom:35px}.daily-filter .active{background:var(--green);border-color:var(--green);color:var(--bg)}.daily-item{display:grid;grid-template-columns:150px 1fr;gap:30px;margin-bottom:25px}.daily-time{font:600 1.6rem 'Noto Serif Thai',serif;color:var(--green);padding-top:20px;text-align:right}.daily-time small{display:block;font:400 .85rem 'Sarabun',sans-serif;color:var(--muted);margin-top:8px}.daily-item>div:last-child{background:var(--surface);border:1px solid var(--line);border-radius:17px;padding:25px 30px}.daily-item h2{font-size:1.4rem;margin-bottom:20px}.daily-item h3{font-family:'Noto Serif Thai',serif;font-size:.8rem;color:var(--green);margin-top:15px}.daily-item p{font-size:.95rem}.daily-item p.muted{font-size:.75rem;margin:0 0 8px}.dark .visit-nav,.dark .calendar-mode [aria-pressed=true],.dark .month-pills [aria-current],.dark .daily-filter .active,.dark .visit-success>span{color:#15221d}.dark .form-error{background:#4c2b33;color:#f6bdc5}.dark .calendar-event{filter:brightness(.85)}
@media(max-width:1200px){.header-inner nav{gap:12px;font-size:.76rem}.header-inner .brand strong{font-size:1.05rem}.header-inner .brand img{width:46px;height:60px}.visit-nav{padding:8px 11px!important}.people-grid{gap:20px}.person-card>img{height:300px}.home-agenda{gap:30px}}
@media(max-width:1100px){#menu{display:block}nav#nav{display:none;position:absolute;top:100%;left:0;width:100%;padding:18px;background:var(--bg);border-bottom:1px solid var(--line);flex-direction:column;align-items:stretch;gap:3px;max-height:calc(100dvh - 105px);overflow:auto}nav#nav.open{display:flex}nav#nav>a{padding:12px 15px}.nav-group summary{padding:12px 15px;font-size:.9rem}.nav-dropdown{position:static;width:auto;border:0;box-shadow:none;background:var(--soft);margin:0 12px 8px;padding:7px 12px}.header-inner nav{font-size:.9rem}.visit-nav{width:max-content;margin:8px 12px}.calendar-toolbar{gap:15px}.month-pills{gap:6px}.month-pills a{font-size:.8rem;padding:7px 4px}.calendar-cell{min-height:105px}.calendar-event{font-size:.65rem}.visit-layout{gap:35px}.home-agenda{grid-template-columns:.9fr 1.1fr;padding:28px}.people-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.school-links{grid-template-columns:repeat(2,minmax(0,1fr))}.report-grid{grid-template-columns:1fr}.visit-invite{padding:25px}}
@media(max-width:700px){.home-agenda{grid-template-columns:1fr;gap:20px;padding:25px;margin-bottom:30px}.agenda-intro h2{font-size:1.45rem;margin-bottom:18px}.agenda-intro h2 br{display:none}.upcoming-event{gap:13px;padding:13px}.upcoming-event strong{font-size:.9rem}.calendar-toolbar{flex-wrap:wrap;gap:15px}.calendar-toolbar form{gap:8px}.calendar-toolbar label{font-size:.85rem}.calendar-toolbar select{padding:7px 10px}.calendar-arrows{gap:7px}.calendar-arrows a{padding:5px 11px}.month-pills{grid-template-columns:repeat(6,minmax(0,1fr));gap:7px}.month-pills a{font-size:.8rem;padding:7px 5px}.calendar-month-title{font-size:1.15rem;padding:15px}.calendar-cell{min-height:80px;padding:7px 3px}.calendar-event{display:inline-flex;width:auto;padding:3px;background:transparent;margin:0}.calendar-event .event-dot{width:7px;height:7px;margin:0}.calendar-event .event-name{display:none}.category-activity .event-dot{background:#37764d}.category-holiday .event-dot{background:#bb5c70}.category-meeting .event-dot{background:#846ab0}.category-exam .event-dot{background:#b68c29}.category-other .event-dot{background:#528398}.day-number{font-size:.75rem;width:24px;height:24px}.weekday{font-size:.7rem;padding:10px 3px}.calendar-mode{gap:10px;align-items:flex-start}.calendar-mode .muted{font-size:.7rem}.calendar-mode button{font-size:.8rem;padding:6px 12px}.calendar-list-event{padding:17px;gap:15px}.calendar-list-event strong{font-size:1rem}.list-date{font-size:1.6rem;min-width:42px}.calendar-legend{gap:12px;font-size:.7rem}.visit-layout{grid-template-columns:1fr;gap:30px}.visit-guide h2{font-size:1.7rem;margin-bottom:15px}.visit-guide h2 br{display:none}.visit-guide ol{font-size:.9rem}.visit-form{padding:23px}.public-form-grid{gap:0 15px}.visit-invite{flex-direction:column;align-items:flex-start;gap:20px}.visit-invite h2{font-size:1.4rem}.school-links{gap:15px}.school-links a{padding:22px}.school-links h2{font-size:1.1rem}.people-grid{gap:15px}.person-card>img{height:240px}.person-card>div{padding:18px}.person-card h3{font-size:1rem}.person-card p{font-size:.8rem}.school-copy{font-size:.95rem}.team-section>h2{font-size:1.35rem}.download-row{font-size:.8rem;gap:15px;flex-wrap:wrap}.daily-item{grid-template-columns:90px 1fr;gap:15px}.daily-time{font-size:1.25rem}.daily-time small{font-size:.7rem}.daily-item>div:last-child{padding:20px}.daily-item h2{font-size:1.2rem}.daily-item p{font-size:.9rem}.daily-filter{gap:8px}.daily-filter .outline-button{padding:8px 13px;font-size:.8rem}.report-card{padding:23px;gap:18px}.report-card h2{font-size:1.15rem}.pdf-mark{min-width:43px;width:43px;height:58px}.sar-subtitle{font-size:.9rem}.footer-extra{gap:15px 22px;font-size:.75rem}}
@media(max-width:420px){.people-grid{grid-template-columns:1fr}.person-card>img{height:350px}.person-card h3{font-size:1.1rem}.school-links{grid-template-columns:1fr}.public-form-grid{grid-template-columns:1fr}.visit-form{padding:20px}.calendar-cell{min-height:65px}.calendar-event{padding:2px}.calendar-cell .day-number{display:flex}.calendar-event .event-dot{width:6px;height:6px}.calendar-list-event strong{font-size:.9rem}.calendar-list-event small{font-size:.7rem}.calendar-section.section{padding-top:30px}.daily-item{grid-template-columns:1fr;gap:10px}.daily-time{text-align:left;padding:0;display:flex;gap:8px;align-items:center}.daily-time small{margin:0}.visit-success{padding:27px}.report-card{gap:12px;padding:20px}.report-card h2{font-size:1.05rem}.home-agenda{padding:23px}.agenda-intro h2{font-size:1.3rem}}

.calendar-add{float:right;font-size:.75rem;color:var(--green);padding:0 5px;opacity:.75}.calendar-arrows{flex-wrap:wrap}@media(max-width:420px){.calendar-add{float:none;display:inline-block;font-size:.6rem;padding:0 2px}}

