/* Hallmark · student journeys · pre-emit critique: P5 H5 E5 S5 R5 V4
 * Campus photography and passport chapters; design.md palette and fonts. */
.em-student-hero{padding-block:var(--space-md) var(--space-lg)}
.em-student-hero .em-breadcrumb{margin-bottom:var(--space-lg)}
.em-student-stage{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(2rem,5vw,5rem);align-items:center;background:var(--color-dark);color:var(--color-on-dark);border-radius:var(--radius-hero);padding:clamp(1.5rem,4.5vw,4rem);overflow:clip;position:relative;isolation:isolate}
.em-student-stage .em-eyebrow{color:var(--color-dark-muted);margin:0 0 var(--space-lg);display:flex;align-items:center;gap:.65rem}
.em-student-stage .em-eyebrow::before{content:'';width:1.5rem;height:2px;background:var(--color-accent);flex:none}
.em-student-stage h1{font-family:var(--font-display);font-size:clamp(2.6rem,4.6vw,4.6rem);font-weight:750;line-height:1.08;letter-spacing:-.06em;color:var(--color-on-dark);max-width:12ch;overflow-wrap:anywhere;margin:0 0 var(--space-lg)}
.em-student-stage-copy>p:not(.em-eyebrow){color:var(--color-dark-muted);font-size:var(--text-md);line-height:1.7;max-width:42ch;margin:0 0 var(--space-lg)}
.em-student-stage .em-button{display:inline-flex;align-items:center;gap:var(--space-sm);white-space:nowrap}
.em-student-stage .em-button svg{width:1.1rem;height:1.1rem;flex:none}
.em-student-proof{display:flex;gap:var(--space-xl);margin-top:var(--space-xl);padding-top:var(--space-md);border-top:1px solid color-mix(in oklch,var(--color-on-dark) 20%,transparent)}
.em-student-proof>div{display:grid;gap:.25rem}
.em-student-proof strong{font:750 clamp(2rem,3vw,2.8rem)/1.1 var(--font-display);letter-spacing:-.06em}
.em-student-proof span{font-size:var(--text-xs);color:var(--color-dark-muted)}
.em-student-montage{position:relative;min-width:0;aspect-ratio:1/1.08;margin-block:var(--space-md)}
.em-student-photo{position:absolute;margin:0;overflow:clip;border-radius:var(--radius-card);background:var(--color-dark);box-shadow:0 16px 40px color-mix(in oklch,var(--color-ink) 25%,transparent)}
.em-student-photo img{display:block;width:100%;height:100%;object-fit:cover;max-width:none}
.em-student-photo::after{content:'';position:absolute;inset:48% 0 0;background:linear-gradient(transparent,var(--color-dark));pointer-events:none}
.em-student-photo figcaption{position:absolute;bottom:1rem;left:1rem;right:1rem;font-size:.75rem;font-weight:650;line-height:1.4;color:var(--color-on-dark);z-index:1}
.em-student-photo-main{inset:0 8% 15% 0;rotate:-4deg;border:5px solid var(--color-paper)}
.em-student-photo-small{width:63%;height:43%;right:-2%;bottom:0;rotate:5deg;border:5px solid var(--color-paper)}
.em-student-postmark{position:absolute;bottom:2%;left:-3%;z-index:2;rotate:-8deg;padding:.75rem 1rem;background:var(--color-accent);color:var(--color-on-accent);font-size:.6rem;letter-spacing:.08em;line-height:1.6;box-shadow:0 6px 16px color-mix(in oklch,var(--color-ink) 20%,transparent);border-radius:var(--radius-input)}
.em-student-postmark span{font-size:.7rem;font-weight:750;letter-spacing:.025em}
.em-student-postmark svg{display:block;width:1.2rem;height:1.2rem;margin-top:.5rem}
.em-student-country-nav{display:flex;gap:.5rem;align-items:center;flex-wrap:wrap;padding:var(--space-lg) 0 0}
.em-student-country-nav>span{font-size:.75rem;font-weight:650;margin-right:auto;color:var(--color-muted)}
.em-student-country-nav a{display:inline-flex;align-items:center;gap:.5rem;padding:.55rem .85rem;border:1px solid var(--color-rule);border-radius:2rem;text-decoration:none;color:var(--color-ink);font-weight:650;font-size:.8rem;min-height:44px;box-sizing:border-box;background:var(--color-paper);white-space:nowrap;transition:border-color .2s,transform .2s,background .2s}
.em-student-country-nav a:hover{border-color:var(--color-accent);transform:translateY(-2px);background:var(--color-surface)}
.em-student-country-nav small{font-size:.65rem;color:var(--color-accent);border-left:1px solid var(--color-rule);padding-left:.5rem}
.em-student-directory .em-student-filters{display:flex;gap:var(--space-md);align-items:end;background:var(--color-paper);border:1px solid var(--color-rule);padding:var(--space-lg);border-radius:var(--radius-card);scroll-margin-top:calc(var(--header-height) + var(--space-md));max-width:none;box-shadow:0 8px 32px color-mix(in oklch,var(--color-ink) 4%,transparent)}
.em-student-filters label{display:grid;gap:var(--space-xs);min-width:0;flex:1;font-size:var(--text-xs);font-weight:650;color:var(--color-ink)}
.em-student-filters label:first-child{flex:1.6}
.em-student-filters :is(input,select){width:100%;min-width:0;min-height:50px;padding:.75rem 1rem;border:1px solid var(--color-input-border);border-radius:var(--radius-input);font:400 1rem var(--font-body);color:var(--color-ink);background:var(--color-surface);box-sizing:border-box}
.em-student-filters :is(input,select):focus-visible{outline:2px solid var(--color-focus);outline-offset:3px}
body.edumax-landing .em-student-enhanced .em-student-apply{display:none}
.em-student-results{display:flex;justify-content:space-between;align-items:center;gap:var(--space-md);margin-block:var(--space-md) var(--space-xl);font-size:var(--text-xs)}
.em-student-results p{margin:0;color:var(--color-muted)}
.em-student-results strong{color:var(--color-ink)}
.em-student-results a{display:inline-flex;align-items:center;min-height:44px;white-space:nowrap}
.em-student-country{margin-bottom:clamp(3rem,6vw,5rem);border:1px solid var(--color-rule);border-radius:var(--radius-card);overflow:clip;background:var(--color-paper);scroll-margin-top:calc(var(--header-height) + var(--space-md))}
.em-student-country-heading{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,.65fr);min-height:190px;align-items:center;background:var(--color-dark);color:var(--color-on-dark);position:relative;isolation:isolate;overflow:clip}
.em-student-country-heading>div{padding:var(--space-lg) clamp(1rem,3vw,2.5rem);min-width:0}
.em-student-country-heading .em-eyebrow{color:var(--color-dark-muted);font-size:.625rem;margin:0 0 .65rem;display:flex;align-items:center;gap:.6rem;letter-spacing:.1em}
.em-student-country-heading .em-eyebrow>span{font-size:1.25rem;line-height:1;letter-spacing:normal}
.em-student-country-heading h2{font-family:var(--font-display);font-size:clamp(2rem,4vw,3.3rem);letter-spacing:-.055em;margin:0;line-height:1.1;color:var(--color-on-dark);overflow-wrap:anywhere}
.em-student-country-total{font-size:.75rem;color:var(--color-dark-muted);margin:.75rem 0 0}
.em-student-country-total strong{color:var(--color-on-dark)}
.em-student-country-code{font:800 clamp(4rem,9vw,8rem)/1 var(--font-display);color:color-mix(in oklch,var(--color-on-dark) 9%,transparent);letter-spacing:-.08em;align-self:center;padding-right:var(--space-md)}
.em-student-country-photo{align-self:stretch;margin:0;min-width:0;position:relative;overflow:clip}
.em-student-country-photo img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;max-width:none}
.em-student-country-photo::after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,var(--color-dark),transparent 48%)}
.em-student-country-photo figcaption{position:absolute;bottom:.75rem;right:.75rem;max-width:75%;font-size:.625rem;color:var(--color-on-dark);background:var(--color-dark);border-radius:.25rem;padding:.25rem .5rem;text-align:right;z-index:1}
.em-student-column-labels{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1.1fr) minmax(0,1fr);gap:var(--space-lg);padding:.9rem clamp(1rem,3vw,2.5rem);background:var(--color-surface);color:var(--color-muted);font-size:.625rem;letter-spacing:.09em;text-transform:uppercase;font-weight:650;border-bottom:1px solid var(--color-rule)}
.em-student-directory ul.em-student-list{list-style:none;padding:0;margin:0}
.em-student-list .em-student-record{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1.1fr) minmax(0,1fr);gap:var(--space-lg);padding:1.4rem clamp(1rem,3vw,2.5rem);margin:0;border-bottom:1px solid var(--color-rule);background:var(--color-paper);transition:background .2s}
.em-student-record:last-child{border-bottom:0}
.em-student-record:hover{background:var(--color-surface)}
.em-student-name{display:flex;gap:var(--space-sm);align-items:baseline;min-width:0}
.em-student-name>span{font:650 .65rem/1 var(--font-body);color:var(--color-accent);flex:none;min-width:1.1rem;font-variant-numeric:tabular-nums}
.em-student-record h3{font-size:1rem;font-family:var(--font-display);font-weight:700;line-height:1.5;letter-spacing:-.025em;overflow-wrap:anywhere;margin:0}
.em-student-detail{min-width:0}
.em-student-detail>span{display:none;font-size:.625rem;text-transform:uppercase;letter-spacing:.07em;color:var(--color-muted);font-weight:650;margin-bottom:.3rem}
.em-student-detail p{font-size:.875rem;line-height:1.65;overflow-wrap:anywhere;margin:0}
.em-student-record[hidden],.em-student-country[hidden],.em-student-empty[hidden]{display:none}
.em-student-empty{padding:var(--space-xl);border:1px solid var(--color-rule);border-radius:var(--radius-card);background:var(--color-surface)}
.em-student-next{display:flex;align-items:center;justify-content:space-between;gap:var(--space-lg);padding:clamp(1.5rem,4vw,3rem);background:var(--color-dark);color:var(--color-on-dark);border-radius:var(--radius-hero);position:relative;overflow:clip}
.em-student-next .em-eyebrow,.em-student-next p{color:var(--color-dark-muted)}
.em-student-next h2{font-family:var(--font-display);font-size:clamp(1.7rem,3vw,2.5rem);line-height:1.15;letter-spacing:-.04em;max-width:23ch;margin:var(--space-xs) 0 var(--space-md);color:var(--color-on-dark)}
.em-student-next p{max-width:54ch}
.em-student-next .em-button{flex:none;display:inline-flex;align-items:center;gap:var(--space-sm);white-space:nowrap}
@media(max-width:1023px){.em-student-stage{gap:var(--space-lg)}.em-student-country-nav>span{flex-basis:100%;margin-bottom:.3rem}.em-student-postmark{left:-5%;font-size:.5rem}.em-student-postmark span{font-size:.6rem}.em-student-country-heading{grid-template-columns:minmax(0,1fr) auto minmax(0,.8fr)}}
@media(max-width:767px){.em-student-stage{grid-template-columns:minmax(0,1fr);gap:var(--space-lg)}.em-student-stage h1{font-size:clamp(2.6rem,9vw,3.6rem);max-width:13ch}.em-student-montage{aspect-ratio:1.45;margin:var(--space-sm) .5rem var(--space-sm)}.em-student-photo-main{inset:0 16% 7% 0;rotate:-3deg}.em-student-photo-small{width:50%;height:57%;right:-2%;bottom:0;rotate:4deg}.em-student-photo figcaption{font-size:.6rem;left:.5rem;right:.5rem;bottom:.5rem}.em-student-postmark{left:-1%;bottom:-2%;padding:.5rem .75rem}.em-student-postmark svg{width:.9rem;height:.9rem;margin-top:.2rem}.em-student-proof{margin-top:var(--space-lg);gap:var(--space-xl)}.em-student-proof strong{font-size:2rem}.em-student-proof span{font-size:.7rem}.em-student-country-nav{gap:.4rem}.em-student-country-nav a{font-size:.7rem;padding:.45rem .6rem;gap:.4rem}.em-student-directory .em-student-filters{display:grid;grid-template-columns:minmax(0,1fr);padding:var(--space-md)}.em-student-country-heading{grid-template-columns:minmax(0,1fr) minmax(0,.7fr);min-height:170px}.em-student-country-heading>div{padding:var(--space-lg) var(--space-md)}.em-student-country-code{display:none}.em-student-country-heading h2{font-size:clamp(1.8rem,6vw,2.5rem)}.em-student-country-photo figcaption{display:none}.em-student-country-heading .em-eyebrow{font-size:.55rem;letter-spacing:.04em;gap:.4rem;flex-wrap:wrap}.em-student-country-heading .em-eyebrow>span{font-size:1.1rem}.em-student-column-labels{display:none}.em-student-list .em-student-record{grid-template-columns:minmax(0,1fr);gap:var(--space-sm);padding:var(--space-lg) var(--space-md)}.em-student-name{gap:.65rem}.em-student-record h3{font-size:1.1rem}.em-student-detail{padding-left:1.75rem}.em-student-detail>span{display:block}.em-student-detail:empty{display:none}.em-student-next{flex-direction:column;align-items:flex-start}}
@media(prefers-reduced-motion:reduce){.em-student-country-nav a,.em-student-record{transition:none}.em-student-country-nav a:hover{transform:none}}
/* Directory rows fill their chapter; generic editorial line lengths do not apply. */
.em-content .em-student-directory ul.em-student-list,.em-content .em-student-list>li.em-student-record{width:100%;max-width:none;box-sizing:border-box}
.em-content .em-student-country-heading .em-student-country-total{color:var(--color-dark-muted)}
.em-student-country-code{color:var(--color-dark-muted)}
.em-content .em-student-country-heading h2{scroll-margin-top:calc(var(--header-height) + var(--space-md))}
.em-student-university-identity{display:flex;align-items:center;gap:.7rem;min-width:0}
.em-student-university-logo{display:flex;align-items:center;justify-content:center;width:76px;height:50px;flex:none;padding:.3rem;box-sizing:border-box;background:var(--color-paper);border:1px solid var(--color-rule);border-radius:.5rem;overflow:clip}
.em-content .em-student-university-logo img{display:block;width:100%;height:100%;object-fit:contain;max-width:100%;margin:0}
.em-student-university-identity p{min-width:0}
.em-content .em-student-subject{display:flex;align-items:flex-start;gap:.55rem}
.em-student-subject-icon{display:grid;place-items:center;width:30px;height:30px;flex:none;border-radius:.5rem;background:var(--color-surface);color:var(--color-accent)}
.em-student-subject-icon svg{width:17px;height:17px;flex:none}
@media(min-width:768px){.em-student-record{align-items:center}}
.em-student-university-logo.em-student-university-logo-dark{background:var(--color-dark)}

.em-student-country-nav .em-student-country-flag,.em-student-country-heading .em-student-country-flag{display:inline-block;width:24px;height:24px;object-fit:contain;margin:0;vertical-align:middle}
