/* Edumax · rounded rectangles and native motion · design-system: design.md
 * Hallmark · pre-emit critique: P5 H5 E4 S5 R5 V4 */
body.edumax-landing{--radius-action:.75rem;--radius-input:.75rem;--radius-card:1rem;--radius-panel:1rem;--radius-media:1rem;--radius-hero:1.25rem;--dur-enter:520ms;--focus-search-ring:0 0 0 2px var(--color-focus);--focus-halo:0 0 0 3px color-mix(in oklch,var(--color-focus) 16%,transparent)}
/* One shape vocabulary; circular media controls and the brand mark are exceptions. */
.edumax-landing :is(.em-button,.em-outline-link,.em-service-advice,.em-reading-index,.em-guide-sidebar,.em-content form,.em-form,.em-service-card,.em-resource-card,.em-person,.em-index-card){border-radius:var(--radius-card)}
.edumax-landing :is(.em-button,.em-outline-link,.em-content .elementor-button,.em-content .ekit-btn,.em-content .wpforms-submit,.em-content .wpforms-page-button){border-radius:var(--radius-action)}
.edumax-landing .em-subnavigation .em-page-links>a.em-index-card{border-radius:var(--radius-action)}
/* Inputs do not inherit decorative hover motion. Pointer focus is as clear as keyboard focus. */
body.edumax-landing :is(input:not([type=checkbox]):not([type=radio]):not([type=submit]):not([type=button]):not([type=hidden]),select,textarea){font-size:16px;line-height:1.5;border-radius:var(--radius-input);background:var(--color-paper);color:var(--color-ink);caret-color:var(--color-accent);translate:none;transform:none;transition:border-color var(--dur-micro),box-shadow var(--dur-micro);}
body.edumax-landing :is(input,select,textarea):not(:disabled):hover{background:var(--color-paper);border-color:var(--color-input-border)}
body.edumax-landing :is(input:not([type=checkbox]):not([type=radio]),select,textarea):focus{border-color:var(--color-focus);box-shadow:var(--focus-halo);outline:0}
body.edumax-landing :is(input,select,textarea):focus-visible{outline:2px solid var(--color-focus);outline-offset:2px}
body.edumax-landing :is(input,select,textarea)[aria-invalid=true]{border-color:var(--color-error)}
body.edumax-landing :is(input,select,textarea):disabled{background:var(--color-surface);cursor:not-allowed}
body.edumax-landing :is(input,textarea)::placeholder{color:var(--color-muted);opacity:1}
.edumax-landing ::selection{background:var(--color-accent);color:var(--color-on-accent)}
/* The search label is outside the field boundary. Only the field group receives a ring. */
body.edumax-landing .em-hero-search{outline:0!important;box-shadow:none!important;border:0;border-radius:0}
body.edumax-landing .em-hero-search>div{border:1px solid var(--color-input-border);border-radius:var(--radius-input);padding:var(--space-2xs);gap:var(--space-xs);background:var(--color-paper);min-height:58px}
body.edumax-landing .em-hero-search>div>.em-icon{margin-left:var(--space-xs)}
body.edumax-landing.em-home .em-hero-search>div:focus-within{border-color:var(--color-focus);outline:0;box-shadow:var(--focus-search-ring);border-radius:var(--radius-input)}
body.edumax-landing .em-hero-search input,body.edumax-landing .em-hero-search input:is(:hover,:focus,:focus-visible){outline:none!important;box-shadow:none!important;border:0!important;border-radius:0;min-height:44px;height:44px;padding:0 var(--space-2xs);background:transparent;min-width:0}
body.edumax-landing .em-hero-search button{border-radius:calc(var(--radius-input) - 4px);height:44px;width:44px;min-width:44px;translate:none!important;transform:none!important}
body.edumax-landing .em-hero-search button:focus-visible{outline:0;background:var(--color-ink)}
/* Hover never shifts a field, a button, or a clickable card away from the pointer. */
body.edumax-landing :is(.em-button,.elementor-button,.ekit-btn,.wpforms-submit,.wpforms-page-button,button[type=submit],input[type=submit]):is(:hover,:active,:focus-visible){translate:none;transform:none}
body.edumax-landing .em-button:focus-visible{outline:3px solid var(--color-focus);outline-offset:4px;box-shadow:none}
body.edumax-landing .em-process .em-text-link:hover{color:var(--color-accent-hover)}
body.edumax-landing .em-logo:hover img{opacity:1}
.edumax-landing .em-world-collage:before{pointer-events:none}
.edumax-landing :is(.em-masthead-photo,.em-confidence-photo,.em-resource-image){overflow:clip}
/* Animate decoration inside stable card targets. */
@media(hover:hover) and (prefers-reduced-motion:no-preference){
 .edumax-landing :is(.em-service-icon,.em-service-more .em-icon,.em-outline-link>.em-icon){transition:transform var(--dur-short) var(--ease-out)}
 .edumax-landing .em-service-card:is(:hover,:focus-visible) .em-service-icon{transform:translateY(-3px) rotate(-4deg)}
 .edumax-landing :is(.em-service-card,.em-outline-link):is(:hover,:focus-visible) .em-icon[data-icon="arrow-right"]{transform:translateX(4px)}
 .edumax-landing .em-hero-search button:is(:hover,:focus-visible)>.em-icon{transform:translateX(2px)}
 .edumax-landing .em-hero-search button>.em-icon{transition:transform var(--dur-short) var(--ease-out)}
}
.em-motion-photo{scale:1.09;transform-origin:center}
.em-motion-layer{transition:translate var(--dur-short) var(--ease-out)}
/* Short native dialog transitions do not delay focus or actions. */
@media(prefers-reduced-motion:no-preference){
 .edumax-landing dialog[open]{animation:em-dialog-enter 220ms var(--ease-out)}
 @keyframes em-dialog-enter{from{opacity:.6;scale:.97}to{opacity:1;scale:1}}
}
@media(max-width:767px){
 .em-home .em-hero-search input{font-size:16px}
 body.edumax-landing .em-hero-search>div>.em-icon{display:none}
 .edumax-landing .em-hero .em-actions{gap:var(--space-xs) var(--space-md)}
 .edumax-landing .em-guide-hero figcaption{border-radius:var(--radius-input)}
}
@media(prefers-reduced-motion:reduce){
 .edumax-landing .em-motion-photo{scale:none;translate:none!important}
 .edumax-landing .em-motion-layer{translate:none!important;transition:none}
 .edumax-landing dialog[open]{animation:none}
}
.edumax-landing .em-step:before{border-radius:var(--radius-input)}
.edumax-landing .em-student-profile-form .wpforms-page-indicator-page-number{border-radius:.5rem}
