/* Hallmark · shared editorial system · custom Edumax red/grey
 * pre-emit critique: P5 H5 E4 S5 R5 V4 */
.em-interior-main{min-height:55vh}
.em-page-masthead{background:var(--color-surface);padding-block:var(--space-xl) var(--space-3xl);border-bottom:1px solid var(--color-rule)}
.edumax-landing .em-page-masthead h1{max-width:24ch;font-size:clamp(2.1rem,4.5vw,4.3rem);margin-top:var(--space-lg)}
.em-breadcrumb{display:flex;flex-wrap:wrap;gap:var(--space-sm);font-size:var(--text-xs);color:var(--color-muted)}
.em-breadcrumb a{white-space:nowrap;min-height:44px;display:inline-flex;align-items:center}
.em-subnavigation{padding-top:var(--space-lg)}
.em-content{padding-block:var(--space-2xl) var(--space-4xl);overflow-wrap:anywhere;min-width:0}
.em-content :is(h2,h3,h4,h5,h6){font-family:var(--font-display);font-style:normal;line-height:1.25;letter-spacing:-.035em;color:var(--color-ink);margin-block:var(--space-lg) var(--space-sm);text-wrap:balance;overflow-wrap:anywhere}
.em-content h2{font-size:clamp(1.5rem,2.5vw,2.35rem)}
.em-content h3{font-size:1.35rem}
.em-content :is(p,ul,ol,blockquote){margin-block:0 var(--space-md);max-width:78ch}
.em-content :is(ul,ol){padding-inline-start:1.4rem}
.em-content li+li{margin-top:var(--space-xs)}
.em-content a{color:var(--color-accent);text-decoration:underline}
.em-content a:hover{color:var(--color-accent-hover)}
.em-content :is(img,video){max-width:100%;height:auto;border-radius:var(--radius-card)}
.em-content img{object-fit:cover}
.em-content iframe{display:block;width:100%;max-width:100%;border:1px solid var(--color-rule);border-radius:var(--radius-card)}
.em-content iframe[src*="maps"]{height:25rem}
.em-content iframe[src*="youtube"]{height:auto;aspect-ratio:16/9}
.em-content iframe[src*="spreadsheets"]{height:60rem}
.em-content :is(div,section,article){min-width:0;max-width:100%}
.em-content .elementor-top-section{padding-block:var(--space-lg);border-bottom:1px solid var(--color-rule)}
.em-content .elementor-top-section:last-child{border-bottom:0}
.em-content .elementor-container{display:flex;gap:var(--space-xl);align-items:flex-start;flex-wrap:wrap}
.em-content .elementor-column{flex:1 1 16rem}
.em-content .elementor-col-100{flex-basis:100%}
.em-content .elementor-col-66{flex:2 1 30rem}
.em-content .elementor-widget{margin-block:0 var(--space-md)}
.em-content .elementor-widget-heading+.elementor-widget-heading{margin-top:var(--space-sm)}
.em-content .elementor-widget-image img{max-height:36rem;object-fit:contain;margin-inline:auto}
.em-content .elementor-widget-heading h4{font-size:var(--text-xs);letter-spacing:.08em;text-transform:uppercase;color:var(--color-accent)}
.em-content .e-con-inner{display:flex;flex-wrap:wrap;gap:var(--space-xl);align-items:flex-start}
.em-content .e-con-inner>.e-con{flex:1 1 20rem}
.em-content .e-con-inner>.elementor-widget{flex:1 1 100%}
.em-content .elementskit-infobox,.em-content .elementor-icon-box-wrapper{padding:var(--space-lg);background:var(--color-surface);border-top:2px solid var(--color-rule)}
.em-content .elementskit-infobox p{font-size:var(--text-sm)}
.em-content .em-content-disclosure{border-block-end:1px solid var(--color-rule);padding-block:var(--space-md)}
.em-content .em-content-disclosure>summary{font-family:var(--font-display);font-size:var(--text-md);font-weight:600;line-height:1.4;cursor:pointer;color:var(--color-ink)}
.em-content .em-content-disclosure[open]>summary{color:var(--color-accent);margin-bottom:var(--space-md)}
.em-content .em-content-disclosure>div{padding-top:var(--space-xs)}
.em-content .em-person{background:var(--color-surface);padding:var(--space-md);min-width:0;align-self:start}
.em-content .em-person .profile-header img{display:block;width:100%;height:auto;aspect-ratio:4/5;object-fit:contain;object-position:center bottom;max-height:none;background:var(--color-paper)}
.em-content .em-person h2{font-size:1.35rem}
.em-content .em-person .profile-designation{min-height:3em;margin-bottom:var(--space-sm)}
.em-content .em-person .ekit-team-social-list{margin-bottom:var(--space-sm);column-gap:var(--space-sm);row-gap:0}
.em-content .em-person .em-content-disclosure{padding-block:var(--space-sm) 0;border-bottom:0;border-top:1px solid var(--color-rule)}
.em-content .em-person .em-content-disclosure>summary{min-height:44px;font-size:var(--text-sm);line-height:1.5}
.em-content .em-person .ekit-team-modal-content{font-size:var(--text-sm);padding-top:var(--space-sm)}
.em-content .em-person .ekit-team-modal-list{list-style:none;padding:0;margin:var(--space-sm) 0 0;font-size:var(--text-sm)}
.em-content .em-person .ekit-team-modal-list li{display:flex;flex-wrap:wrap;column-gap:var(--space-2xs)}
.em-content .em-person .ekit-team-modal-list a{display:inline-flex;align-items:center;min-height:44px;overflow-wrap:anywhere;max-width:100%}
.em-content .profile-designation{font-size:var(--text-sm)}
.em-content .ekit-team-social-list{display:flex;gap:var(--space-sm);flex-wrap:wrap;list-style:none;padding:0;font-size:var(--text-xs)}
.em-content .ekit-team-social-list a{min-height:44px;display:inline-flex;align-items:center}
.em-content .gallery-item,.em-content .ekit-gallery-item{margin:0}
.em-content :is(.gallery,.ekit-gallery-items,.ekit-wid-con .row,.elementor-grid,.ekit-blog-posts-content){display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--space-lg)}
.em-content .gallery-item img{width:100%;aspect-ratio:4/3;object-fit:cover}
.em-content .elementor-post,.em-content .post-item{border-bottom:1px solid var(--color-rule);padding-block:var(--space-lg)}
.em-content .elementor-post img{max-height:20rem;object-fit:cover}
.em-content :is(.elementor-button,.ekit-btn,.wpforms-submit,.wpforms-page-button,button[type=submit],input[type=submit]){display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:var(--space-xs) var(--space-md);background:var(--color-accent);border:1px solid var(--color-accent);color:var(--color-on-accent);border-radius:var(--radius-input);font:inherit;font-weight:600;line-height:1.2;text-decoration:none;white-space:nowrap;cursor:pointer}
.em-content :is(.elementor-button,.ekit-btn,.wpforms-submit,.wpforms-page-button,button[type=submit]):hover{background:var(--color-accent-hover)}
.em-content form{max-width:52rem;padding:var(--space-lg);border:1px solid var(--color-rule);border-radius:var(--radius-card);background:var(--color-surface)}
.em-content label{display:block;font-weight:600;color:var(--color-ink);margin-bottom:var(--space-xs)}
.em-content :is(input:not([type=checkbox]):not([type=radio]):not([type=submit]),select,textarea){font:inherit;border:1px solid var(--color-input-border);border-radius:var(--radius-input);width:100%;max-width:100%;padding:var(--space-xs) var(--space-sm);min-height:48px;background:var(--color-paper);color:var(--color-ink)}
.em-content textarea{min-height:9rem}
.em-content :is(input[type=checkbox],input[type=radio]){accent-color:var(--color-accent);width:20px;height:20px}
.em-content :is(.wpforms-field,.elementor-field-group){margin-block:var(--space-md)}
.em-content .wpforms-field ul{list-style:none;padding:0}
.em-content .wpforms-field label.wpforms-field-label-inline{display:inline;font-weight:400;margin-left:var(--space-xs)}
.em-content .wpforms-page-indicator{display:flex;gap:var(--space-sm);flex-wrap:wrap;font-size:var(--text-xs);padding-block:var(--space-sm)}
.em-content .wpforms-page-indicator-page{padding:var(--space-xs);border-bottom:2px solid var(--color-rule)}
.em-content .wpforms-page-indicator-page.active{border-color:var(--color-accent);font-weight:700}
.em-content .wpforms-page-button{margin-right:var(--space-sm)}
.edumax-honeypot,.em-content .wpforms-field-hp{position:absolute!important;left:-9999px!important;width:1px!important;height:1px!important;overflow:clip}
.em-content .wpforms-error-noscript,.em-content .elementor-swiper-button,.em-content .swiper-pagination{display:none}
.em-content table{width:100%;border-collapse:collapse;font-size:var(--text-sm);table-layout:fixed}
.em-content :is(th,td){border-bottom:1px solid var(--color-rule);padding:var(--space-sm);text-align:left;overflow-wrap:anywhere}
.em-content th{background:var(--color-surface);font-weight:600}
.em-page-links{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:var(--space-xl)}
.em-page-links>a{display:flex;align-items:center;justify-content:space-between;gap:var(--space-md);padding:var(--space-lg) 0;border-bottom:1px solid var(--color-rule);font-family:var(--font-display);font-size:var(--text-lg);font-weight:600;text-decoration:none;color:var(--color-ink)}
.em-page-links>a:hover{color:var(--color-accent)}
.em-page-links>a>span:last-child{flex-shrink:0;color:var(--color-accent)}
.em-subnavigation .em-page-links{grid-template-columns:repeat(3,minmax(0,1fr))}
.em-subnavigation .em-page-links>a{font-size:var(--text-sm);padding-block:var(--space-sm)}
.em-content blockquote{border-left:3px solid var(--color-accent);padding:var(--space-lg);background:var(--color-surface)}
.edumax-video-dialog{position:fixed;inset:0;z-index:1000;display:flex;align-items:center;justify-content:center;padding:var(--space-lg);background:var(--color-overlay)}
.edumax-video-dialog iframe{width:min(90vw,1000px);aspect-ratio:16/9;border:0}
.edumax-video-dialog img{max-width:90vw;max-height:85vh;object-fit:contain}
.edumax-dialog-close{position:absolute;top:var(--space-md);right:var(--space-md);width:48px;height:48px;border:0;border-radius:50%;font-size:2rem;color:var(--color-ink);background:var(--color-paper);cursor:pointer}
@media(max-width:768px){
 .em-content .elementor-container{display:block}
 .em-content .elementor-column{margin-bottom:var(--space-lg)}
 .em-content :is(.gallery,.ekit-gallery-items,.ekit-wid-con .row,.elementor-grid,.ekit-blog-posts-content){grid-template-columns:repeat(2,minmax(0,1fr))}
 .em-page-links,.em-subnavigation .em-page-links{grid-template-columns:minmax(0,1fr)}
 .em-content{padding-top:var(--space-lg)}
 .em-content form{padding:var(--space-md)}
 .em-content h2{font-size:1.65rem}
 .em-content .elementor-widget-image img{max-height:25rem}
 .em-breadcrumb{gap:var(--space-xs)}
}
@media(max-width:414px){.em-content :is(.gallery,.ekit-gallery-items,.ekit-wid-con .row,.elementor-grid,.ekit-blog-posts-content){grid-template-columns:minmax(0,1fr)}}

.em-team-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--space-lg)}
.em-content :is(.ekit_gallery_grid,.ekit-video-gallery){display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--space-lg)}
.em-content .elementskit-grid__img{width:100%;aspect-ratio:4/3;object-fit:cover}
.em-content .elementskit-hover-content{display:flex;align-items:center;justify-content:space-between;gap:var(--space-sm);font-size:var(--text-xs);padding-block:var(--space-xs)}
.em-content .elementskit-gallery-icon{display:inline-flex;align-items:center;min-height:44px;white-space:nowrap}
.em-content .ekit-video-item img{width:100%;aspect-ratio:16/9;object-fit:cover}
.em-content .elementskit-toggle-nav{display:none}
.em-content .elementskit-toggle-nav-link{min-height:44px;display:inline-flex;align-items:center}
@media(max-width:768px){.em-team-grid,.em-content :is(.ekit_gallery_grid,.ekit-video-gallery){grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:414px){.em-team-grid,.em-content :is(.ekit_gallery_grid,.ekit-video-gallery){grid-template-columns:minmax(0,1fr)}}

.em-content .wpforms-submit-spinner{display:none}
.em-breadcrumb{align-items:center}

.em-content a:not([href]){color:inherit;text-decoration:none;cursor:default}
.em-office-details>h2{margin-top:0}
.em-office-details>p{margin-top:var(--space-md)}
.em-office-row{display:flex;align-items:flex-start;gap:var(--space-sm);padding-block:var(--space-lg);border-bottom:1px solid var(--color-rule)}
.em-office-row>.em-icon{margin-top:.3rem}
.em-content .em-office-row h3{font-size:var(--text-sm);letter-spacing:0;margin:0 0 var(--space-xs);font-weight:700}
.em-office-row address{font-style:normal;color:var(--color-muted)}
.em-office-hours{margin:0;color:var(--color-muted)}
.em-office-hours>div{display:flex;flex-wrap:wrap;column-gap:var(--space-sm);row-gap:var(--space-3xs)}
.em-office-hours>div+div{margin-top:var(--space-xs)}
.em-office-hours dt{font-weight:600}
.em-office-hours dd{margin:0}
.em-office-details>.em-contact-actions{margin-top:var(--space-lg)}
.em-map-panel{position:relative}
.em-map-panel .em-map-action{position:absolute;left:var(--space-md);bottom:var(--space-md)}
@media(max-width:375px){.em-office-hours>div{display:block}}

/* Team profiles use compact icon links and native modal dialogs. */
.em-content .ekit-team-social-list{align-items:center}
.em-content .ekit-team-social-list li{display:flex;margin:0}
.em-content a.em-social-link{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;color:var(--color-muted);text-decoration:none}
.em-social-link svg{width:1.2rem;height:1.2rem;fill:currentColor;flex-shrink:0}
.em-content a.em-social-link:hover{color:var(--color-accent)}
.em-profile-card{cursor:pointer}
.em-profile-card:focus-within{outline:1px solid var(--color-rule);outline-offset:4px}
.em-profile-trigger{display:inline-flex;align-items:center;min-height:44px;padding:0;background:transparent;border:0;border-top:1px solid var(--color-rule);border-radius:0;color:var(--color-ink);font:inherit;font-size:var(--text-sm);text-decoration:underline;text-underline-offset:.2em;width:100%;cursor:pointer}
.em-profile-trigger:hover{color:var(--color-accent)}
.em-profile-open{overflow:hidden}
.em-person-dialog{width:min(54rem,calc(100% - var(--space-lg)));max-width:none;max-height:85dvh;margin:auto;padding:var(--space-lg);border:0;border-radius:var(--radius-card);background:var(--color-paper);color:var(--color-ink);overflow:auto;overscroll-behavior:contain}
.em-person-dialog::backdrop{background:color-mix(in oklch,var(--color-overlay) 80%,transparent)}
.em-profile-dialog-top{display:flex;justify-content:flex-end;margin-bottom:var(--space-sm)}
.em-content .em-profile-close{display:inline-flex;justify-content:center;font-size:var(--text-xl);width:44px;height:44px;padding:0}
.em-person-dialog-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.7fr);gap:var(--space-lg);align-items:start}
.em-person-dialog .profile-header img{display:block;width:100%;height:auto;aspect-ratio:4/5;object-fit:contain;object-position:top;background:var(--color-surface)}
.em-person-dialog h2{margin-top:0}
.em-person-dialog .ekit-team-modal-content{margin-block:var(--space-md);white-space:pre-line}
.em-person-dialog .ekit-team-modal-list{list-style:none;padding:0}
.em-person-dialog .ekit-team-modal-list li{display:flex;flex-wrap:wrap;gap:var(--space-2xs);align-items:center}
.em-person-dialog .ekit-team-modal-list a{display:inline-flex;align-items:center;min-height:44px;max-width:100%;overflow-wrap:anywhere}
@media(max-width:600px){.em-person-dialog{padding:var(--space-md);max-height:88dvh}.em-person-dialog-layout{grid-template-columns:minmax(0,1fr)}.em-person-dialog .profile-header{max-width:12rem}.em-person-dialog-layout{gap:var(--space-md)}}
.em-profile-card .profile-header img{transition:opacity var(--dur-micro) var(--ease-out)}
@media(hover:hover){.em-profile-card:hover .em-profile-trigger{color:var(--color-accent)}.em-profile-card:hover .profile-header img{opacity:.94}}
.em-profile-card:active .profile-header img{opacity:.88}

/* Destination cards share the landing gallery presentation. */
.em-content .em-destination-card{color:var(--color-ink);text-decoration:none}
.em-content .em-destination-card:hover{color:var(--color-accent);text-decoration:none}

.em-student-profile-form .em-field-error{color:var(--color-error);font-size:var(--text-xs);margin-top:var(--space-2xs)}
.em-student-profile-form textarea{resize:vertical;min-height:8rem}
.em-student-profile-form .wpforms-page-next:disabled{opacity:.5;cursor:not-allowed;transform:none;box-shadow:none}
