/* WSM 1.7: consistent wide, responsive, document-first school pages.
 * Never changes homepage photography, main navigation or existing post content.
 */
.wsm-page-content{max-width:1220px!important}
.wsm-page-content>.wp-block-post-content{max-width:100%!important}
.wsm-page-content .wp-block-shortcode{max-width:1100px!important;width:100%;margin-inline:auto!important}
.wsm-page-content .wsm14-intro,.wsm-page-content .wsm14-section,.wsm-page-content .wsm14-page-photo,.wsm-page-content .wsm15-toc{max-width:1100px!important}
.wsm-page-content .wsm14-section{margin-bottom:30px!important}
.wsm-page-content .wsm14-intro .wsm-page-lead{max-width:900px}
.wsm-page-content .wsm14-linkcard{position:relative;transition:background .15s,border-color .15s}
.wsm-page-content .wsm14-linkcard:hover{background:#fff0dc;border-color:#eab98f}
/* The full card remains accessible using its visible link as a stretched target. */
.wsm-page-content .wsm14-linkcard:has(a) a::after{content:"";position:absolute;inset:0;border-radius:13px}
.wsm-page-content .wsm14-linkcard:focus-within{outline:3px solid #f17e26;outline-offset:3px}
.wsm-page-content .wsm14-table{width:100%;max-width:1100px!important}
.wsm-page-content .wsm14-table table{min-width:600px}
.wsm-page-content .wsm14-table th,.wsm-page-content .wsm14-table td{font-size:14px;padding:13px 17px}
.wsm-page-content .wsm17-intro{max-width:1100px!important}
.wsm17-section,.wsm17-short-lead,.wsm17-activities,.wsm17-info-grid,.wsm17-facts,.wsm17-notice{width:100%;max-width:1100px!important;margin-inline:auto!important}
.wsm17-section{margin-block:24px 35px;padding-block:14px 24px;border-bottom:1px solid #f0e6d9}
.wsm17-section:last-child{border-bottom:0}
.wsm17-section h2{font:400 clamp(27px,3vw,39px)/1.2 Georgia,serif;letter-spacing:-.035em;color:#273f3a;margin:0 0 18px}
.wsm17-section h3{font:400 24px/1.3 Georgia,serif;color:#273f3a;margin:0 0 9px}
.wsm17-section p,.wsm17-short-lead{font:15.5px/1.8 system-ui,sans-serif;color:#56695e;max-width:910px;margin:0 0 15px}
.wsm17-short-lead{margin-top:20px;margin-bottom:26px}
.wsm17-muted{color:#68776d!important;font-size:13px!important;line-height:1.7!important}
.wsm17-cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin:24px 0!important}
.wsm17-card{display:flex;flex-direction:column;align-items:flex-start;min-width:0;min-height:208px;padding:28px 26px;border:1px solid #f0ddc9;background:#fff8ef;border-radius:17px;gap:12px;text-decoration:none!important;color:#273f3a!important;box-shadow:0 5px 24px rgba(39,63,58,.025);transition:border-color .15s,background .15s,transform .15s}
.wsm17-card:hover{background:#fff1de;border-color:#dfa87a;transform:translateY(-2px);text-decoration:none!important}
.wsm17-card:focus-visible{outline:3px solid #f17e26;outline-offset:4px}
.wsm17-card-icon{display:flex;align-items:center;justify-content:center;background:#fce8d1;color:#d36a21;border-radius:10px;width:40px;height:40px;font:600 22px/1 Georgia,serif}
.wsm17-card strong{font:400 clamp(21px,2vw,27px)/1.25 Georgia,serif;color:#273f3a}
.wsm17-card>span:not(.wsm17-card-icon):not(.wsm17-card-cta){font:14px/1.65 system-ui,sans-serif;color:#68736b;flex:1}
.wsm17-card-cta{font:700 13px/1.4 system-ui,sans-serif;color:#ad5b20;margin-top:auto}
.wsm17-six-cards{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.wsm17-six-cards .wsm17-card{min-height:200px;padding:23px 22px}
.wsm17-six-cards .wsm17-card strong{font-size:22px}
.wsm17-compact-cards .wsm17-card{min-height:128px;padding:20px 22px}
.wsm17-compact-cards .wsm17-card-icon{display:none}
.wsm17-compact-cards .wsm17-card strong{font-size:21px}
.wsm17-admissions-cards .wsm17-card{min-height:235px}
.wsm17-facts,.wsm17-info-grid,.wsm17-activities{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-block:20px 31px}
.wsm17-facts article,.wsm17-info-grid article,.wsm17-activity{background:#fff9f1;border:1px solid #efddc9;border-radius:15px;padding:25px 27px;min-width:0}
.wsm17-facts article>span{display:block;color:#52645a;font-size:15px;font-weight:700;margin-bottom:13px}
.wsm17-facts article>strong{display:block;font:400 clamp(28px,2.8vw,38px)/1.2 Georgia,serif;color:#273f3a;margin-bottom:13px}
.wsm17-facts article p,.wsm17-info-grid article p,.wsm17-activity p{font:14px/1.73 system-ui,sans-serif;color:#5c6e61;margin:0 0 13px}
.wsm17-info-grid h2,.wsm17-activity h2{font:400 27px/1.2 Georgia,serif;letter-spacing:-.025em;color:#273f3a;margin:0 0 15px}
.wsm17-pill-link,.wsm-page-content .wsmv-inline-doc{display:inline-flex;align-items:center;gap:6px;color:#ba611e!important;text-decoration:underline;text-underline-offset:3px;font-weight:700;font-size:14px;line-height:1.6}
.wsm17-info-grid .wsm17-pill-link{margin-top:5px}
.wsm17-activity-doc{margin-top:18px!important}
.wsm17-activity-doc a{font-size:13px}
.wsm17-timeline{list-style:none!important;padding:0!important;margin:10px 0 32px!important;counter-reset:wsm17step}
.wsm17-timeline>li{position:relative;list-style:none!important;counter-increment:wsm17step;border-left:2px solid #e9d0b5;padding:2px 0 28px 39px;margin:0 0 0 18px!important}
.wsm17-timeline>li::before{content:counter(wsm17step);position:absolute;left:-19px;top:-3px;display:grid;place-items:center;width:35px;height:35px;background:#f17e26;color:white;border-radius:100%;font:800 14px/1 system-ui,sans-serif}
.wsm17-timeline>li:last-child{border-left:2px solid transparent;padding-bottom:5px}
.wsm17-timeline h3{margin:0 0 8px;font:400 25px/1.25 Georgia,serif;color:#273f3a}
.wsm17-timeline p{margin:0 0 13px;font:15px/1.8 system-ui,sans-serif;max-width:900px;color:#5b6a60}
.wsm17-step-action{margin-top:7px}
.wsm17-notice{background:#fff5e8;border-left:4px solid #f17e26;border-radius:0 12px 12px 0;padding:18px 22px;font:15px/1.75 system-ui,sans-serif;color:#48594e}
.wsm17-dayflow{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:23px 0}
.wsm17-dayflow div{border:1px solid #eedcc5;border-top:4px solid #f17e26;border-radius:11px;padding:19px 16px;background:#fff9ef}
.wsm17-dayflow b{display:block;color:#273f3a;font-size:15px;line-height:1.4;margin-bottom:12px}
.wsm17-dayflow span{display:block;color:#5e6d60;font-size:13px;line-height:1.65}
.wsm17-table-wrap{width:100%;max-width:1100px;overflow-x:auto;-webkit-overflow-scrolling:touch;border-radius:13px;border:1px solid #e8dccc;margin:14px 0 18px}
.wsm17-simple-table,.wsm17-schedule{border-collapse:collapse;background:#fffdfa;width:100%;font:14px/1.55 system-ui,sans-serif;color:#50665a}
.wsm17-simple-table th,.wsm17-schedule th{text-align:left;padding:15px 17px;background:#fff0db;border-bottom:2px solid #4c655a;color:#273f3a}
.wsm17-simple-table td,.wsm17-schedule td{padding:15px 17px;border-bottom:1px solid #eee2d3}
.wsm17-simple-table tr:last-child td,.wsm17-schedule tr:last-child td{border-bottom:0}
.wsm17-schedule tr:hover td{background:#fff8ef}
.wsm17-schedule td:first-child{font-weight:700}
.wsm17-status{display:inline-block;color:#3b6252;font:650 12px/1.5 system-ui,sans-serif}
.wsm17-status.is-past{color:#747870;font-weight:500}
.wsm17-food-cancel{max-width:1100px;margin:23px auto 32px;padding:30px 34px;border-radius:17px;background:#fff1df;border:1px solid #f0d8bd}
.wsm17-food-cancel h2{font:400 clamp(26px,3vw,36px)/1.25 Georgia,serif;color:#273f3a;margin:0 0 10px}
.wsm17-food-cancel p{font:15px/1.8 system-ui,sans-serif;color:#566659;margin:0 0 11px}
.wsm17-food-cancel a{color:#ad5b20;font-weight:700;overflow-wrap:anywhere}
.wsm17-calendar{max-width:1100px;margin:33px auto 52px}
.wsm17-calendar-frame{min-height:655px;background:#fffdfa;border:1px solid #e7dacb;border-radius:15px;overflow:hidden}
.wsm17-calendar-frame iframe{display:block;width:100%;height:650px;border:0}
.wsm17-calendar>p{margin:15px 0}
/* Archive: photos and headlines from WordPress Posts, no manual copying. */
.wsm-archive{max-width:1190px!important;padding:55px 24px 85px!important}
.wsm-archive .wp-block-post-template{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr));gap:19px}
.wsm-archive .wp-block-post{background:#fffdf8;border:1px solid #efe0cf;border-radius:15px;overflow:hidden;padding-bottom:16px}
.wsm-archive .wp-block-post-title,.wsm-archive .wp-block-post-date,.wsm-archive .wp-block-post-excerpt{margin-inline:19px!important}
.wsm-archive .wp-block-post-featured-image{margin:0 0 17px}
.wsm-archive .wp-block-post-featured-image img{aspect-ratio:4 / 3;width:100%;object-fit:cover}
.wsm-archive .wp-block-post-title a{text-decoration:none}
/* Keep existing content layout and tables legible on narrower displays. */
@media(max-width:980px){.wsm17-six-cards{grid-template-columns:repeat(2,minmax(0,1fr))}.wsm17-dayflow{grid-template-columns:repeat(2,minmax(0,1fr))}.wsm-archive .wp-block-post-template{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:680px){
 .wsm-page-content{padding-inline:18px!important}
 .wsm-page-content .wsm14-intro,.wsm-page-content .wsm14-section{max-width:100%!important}
 .wsm17-cards,.wsm17-six-cards,.wsm17-facts,.wsm17-info-grid,.wsm17-activities{grid-template-columns:1fr}
 .wsm17-card{min-height:160px;padding:23px 21px}.wsm17-six-cards .wsm17-card{min-height:155px}
 .wsm17-section{margin-block:14px 25px;padding-block:10px 18px}
 .wsm17-timeline>li{padding-left:29px}
 .wsm17-dayflow{grid-template-columns:1fr}
 .wsm17-table-wrap:has(.wsm17-schedule){border:0;overflow:visible}
 .wsm17-schedule,.wsm17-schedule tbody,.wsm17-schedule tr,.wsm17-schedule td{display:block;width:100%}
 .wsm17-schedule thead{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
 .wsm17-schedule tr{margin:0 0 12px;border:1px solid #e9dccc;border-radius:12px;background:#fffdfa;overflow:hidden;padding:12px}
 .wsm17-schedule td{display:flex;justify-content:space-between;gap:18px;border:0;padding:6px 9px;text-align:right}
 .wsm17-schedule td::before{content:attr(data-label);font-weight:700;text-align:left;color:#273f3a}
 .wsm17-schedule td:first-child{font-weight:700}
 .wsm17-calendar-frame{min-height:545px}.wsm17-calendar-frame iframe{height:540px}
 .wsm17-food-cancel{padding:22px}
 .wsm-archive .wp-block-post-template{grid-template-columns:1fr}
}
@media(prefers-reduced-motion:reduce){.wsm17-card{transition:none}.wsm17-card:hover{transform:none}}
