/* Hallmark · macrostructure: Guided service document · tone: reassuring · anchor hue: Edumax red · design-system: design.md · designed-as-app */
/* Hallmark · pre-emit critique: P5 H5 E5 S5 R5 V4 */
.em-service-hero{padding-block:var(--space-lg) var(--space-2xl)}
.em-service-hero .em-breadcrumb{margin-bottom:var(--space-xl)}
.em-service-hero-grid{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);gap:var(--layout-gap);align-items:center}
.em-service-hero-copy,.em-service-hero-visual{min-width:0}
.em-service-hero-copy :is(.em-eyebrow,.em-page-eyebrow){color:var(--color-accent);margin:0 0 var(--space-sm);font-size:var(--text-sm);font-weight:600}
.em-service-hero-copy h1{font-family:var(--font-display);font-size:var(--text-page-title);font-weight:650;line-height:1.08;letter-spacing:-.045em;max-width:15ch;overflow-wrap:anywhere;text-wrap:balance;margin:0 0 var(--space-md)}
.em-service-hero-copy>p:not(.em-eyebrow):not(.em-page-eyebrow){font-size:var(--text-lg);line-height:1.6;color:var(--color-muted);max-width:45ch;margin:0}
.em-service-actions{display:flex;align-items:center;gap:var(--space-sm);flex-wrap:wrap;margin-top:var(--space-lg)}
.em-service-actions a{white-space:nowrap;max-width:100%;text-decoration:none}
.em-service-hero-visual{position:relative;padding-bottom:var(--space-lg)}
.em-service-hero-visual figure{position:relative;margin:0;overflow:clip;border-radius:var(--radius-hero);background:var(--color-surface)}
.em-service-hero-visual figure>img{display:block;width:100%;height:clamp(20rem,34vw,30rem);object-fit:cover;transform:translateY(var(--service-photo-y,0px)) scale(1.08)}
.em-service-hero-visual figcaption{position:absolute;inset:auto var(--space-sm) var(--space-sm);width:fit-content;max-width:calc(100% - var(--space-lg));padding:var(--space-2xs) var(--space-xs);border-radius:var(--radius-input);background:var(--color-paper);color:var(--color-ink);font-size:var(--text-sm);line-height:1.4}
.em-service-hero-note{position:relative;display:grid;grid-template-columns:2.75rem minmax(0,1fr);gap:var(--space-2xs) var(--space-sm);align-items:center;margin:calc(-1 * var(--space-sm)) var(--space-md) 0;padding:var(--space-md);background:var(--color-paper);border:1px solid var(--color-rule);border-radius:var(--radius-card)}
.em-service-hero-note>.em-icon{grid-row:1/3;width:2.75rem;height:2.75rem;padding:var(--space-2xs);border-radius:var(--radius-action);background:var(--color-surface);color:var(--color-accent)}
.em-service-hero-note strong{font-size:var(--text-md);line-height:1.3}
.em-service-hero-note p{margin:0;font-size:var(--text-sm);line-height:1.45;color:var(--color-muted)}
.em-content:has(.em-service-page){padding-block:0 var(--space-3xl)}
.em-content .em-service-page{font-size:var(--text-md);line-height:1.65}
.em-content .em-service-page :is(h2,h3){margin:0 0 var(--space-sm);text-wrap:balance;overflow-wrap:anywhere}
.em-content .em-service-page h2{font-size:var(--text-heading);line-height:1.15;max-width:24ch}
.em-content .em-service-page h3{font-size:var(--text-xl);line-height:1.3}
.em-content .em-service-page p{max-width:68ch;margin:0;color:var(--color-muted)}
.em-content .em-service-page p+p{margin-top:var(--space-sm)}
.em-service-page .em-service-section{padding-block:var(--space-2xl);scroll-margin-top:calc(var(--header-height) + var(--space-lg))}
.em-service-page .em-service-section+.em-service-section{border-top:1px solid var(--color-rule)}
.em-service-page .em-service-section-head{margin-bottom:var(--space-lg);max-width:54rem}
.em-service-page .em-service-section-head>:is(.em-eyebrow,.em-page-eyebrow){color:var(--color-accent);font-size:var(--text-sm);font-weight:600;margin-bottom:var(--space-xs)}
.em-service-page .em-service-section-head>p{font-size:var(--text-lg);max-width:54ch}
.em-service-page .em-service-jumps{display:flex;flex-wrap:wrap;gap:var(--space-2xs);padding:var(--space-sm);border:1px solid var(--color-rule);border-radius:var(--radius-card);background:var(--color-surface)}
.em-service-page .em-service-jumps a{display:inline-flex;align-items:center;min-height:44px;padding:var(--space-2xs) var(--space-sm);border-radius:var(--radius-action);color:var(--color-ink);font-size:var(--text-sm);font-weight:600;white-space:nowrap;text-decoration:none}
.em-service-page .em-service-jumps a:hover{color:var(--color-accent-hover);background:var(--color-paper)}
.em-service-page .em-service-fit-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--space-lg)}
.em-service-page .em-service-fit{padding:var(--space-md) 0;border-top:2px solid var(--color-rule)}
.em-service-page .em-service-fit>.em-icon{width:2.75rem;height:2.75rem;color:var(--color-accent);margin-bottom:var(--space-md)}
.em-service-page .em-service-fit p{font-size:var(--text-md)}
.em-content .em-service-page .em-service-process{position:relative;list-style:none;counter-reset:service-stage;margin:0;max-width:58rem;padding:0;--service-process-progress:0}
.em-service-process::before,.em-service-process::after{content:"";position:absolute;inset:var(--space-md) auto var(--space-xl) 1.75rem;width:2px;background:var(--color-rule);pointer-events:none}
.em-service-process::after{background:var(--color-accent);transform:scaleY(var(--service-process-progress));transform-origin:top}
.em-content .em-service-page .em-service-stage{position:relative;display:grid;grid-template-columns:3.5rem minmax(0,1fr);gap:var(--space-lg);align-items:start;counter-increment:service-stage;padding-block:0 var(--space-xl);margin:0}
.em-content .em-service-page .em-service-stage:last-child{padding-bottom:0}
.em-service-stage>.em-service-stage-icon{position:relative;z-index:1;display:grid;place-items:center;width:3.5rem;height:3.5rem;border:1px solid var(--color-rule);border-radius:var(--radius-card);background:var(--color-paper);color:var(--color-accent)}
.em-service-stage-icon>.em-icon{width:1.75rem;height:1.75rem}
.em-service-stage-icon::after{content:counter(service-stage,decimal-leading-zero);position:absolute;right:-.5rem;bottom:-.5rem;min-width:1.75rem;min-height:1.5rem;padding-inline:var(--space-3xs);display:grid;place-items:center;background:var(--color-accent);color:var(--color-on-accent);font-size:var(--text-xs);font-weight:600;border-radius:var(--space-3xs)}
.em-service-stage>div{padding-top:var(--space-2xs)}
.em-service-page .em-service-prepare{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:var(--layout-gap);padding:clamp(var(--space-md),4vw,var(--space-xl));background:var(--color-dark);border-radius:var(--radius-hero);color:var(--color-on-dark)}
.em-content .em-service-page .em-service-prepare h2{color:var(--color-on-dark)}
.em-content .em-service-page .em-service-prepare p{color:var(--color-dark-muted)}
.em-content .em-service-page .em-service-prepare ul{list-style:none;padding:0;margin:0;max-width:none}
.em-content .em-service-page .em-service-prepare li{position:relative;padding:var(--space-sm) 0 var(--space-sm) var(--space-lg);margin:0;border-bottom:1px solid color-mix(in oklch,var(--color-on-dark) 20%,transparent);line-height:1.5}
.em-service-prepare li::before{content:"✓";position:absolute;left:0;color:var(--color-on-dark);font-weight:700}
.em-content .em-service-page .em-service-prepare li:first-child{padding-top:0}
.em-service-page .em-service-faq{max-width:58rem}
.em-service-faq details{border-bottom:1px solid var(--color-rule)}
.em-service-faq summary{display:flex;align-items:center;justify-content:space-between;gap:var(--space-sm);list-style:none;padding-block:var(--space-md);font-family:var(--font-display);font-size:var(--text-lg);font-weight:600;line-height:1.4;cursor:pointer;color:var(--color-ink)}
.em-service-faq summary::-webkit-details-marker{display:none}
.em-service-faq summary::after{content:"+";flex-shrink:0;display:grid;place-items:center;width:2rem;height:2rem;color:var(--color-accent);font-family:var(--font-body);font-size:var(--text-2xl);font-weight:400;line-height:1}
.em-service-faq details[open]>summary::after{content:"−"}
.em-service-faq summary:hover{color:var(--color-accent-hover)}
.em-service-faq details>div{padding-bottom:var(--space-md)}
.em-service-page .em-service-consultant{display:grid;grid-template-columns:minmax(0,.7fr) minmax(0,1.3fr);gap:var(--layout-gap);align-items:center;padding:clamp(var(--space-md),4vw,var(--space-xl));border:1px solid var(--color-rule);border-radius:var(--radius-hero);background:var(--color-surface)}
.em-service-consultant figure{margin:0}
.em-content .em-service-page .em-service-consultant img{display:block;width:100%;height:auto;max-height:24rem;object-fit:contain;border-radius:var(--radius-media)}
.em-service-consultant figcaption{font-size:var(--text-sm);margin-top:var(--space-xs);color:var(--color-muted)}
.em-content .em-service-page .em-service-consultant h2{max-width:21ch}
.em-service-consultant a{display:inline-flex;align-items:center;gap:var(--space-xs);min-height:48px;margin-top:var(--space-md)}
.em-service-page .em-service-related{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-sm);margin-top:var(--space-lg)}
.em-service-page .em-service-related a{display:inline-flex;gap:var(--space-xs);align-items:center;min-height:48px;padding:var(--space-xs) var(--space-md);border:1px solid var(--color-rule);border-radius:var(--radius-action);color:var(--color-ink);font-size:var(--text-sm);font-weight:600;white-space:nowrap;text-decoration:none}
.em-service-page .em-service-related a:hover{color:var(--color-accent-hover);border-color:var(--color-accent-hover)}
.em-service-hero a:focus-visible,.em-service-page :is(a,summary):focus-visible{outline:2px solid var(--color-focus);outline-offset:4px}
.em-service-hero :is(a,button),.em-service-page :is(a,summary){transition:color var(--dur-micro) var(--ease-out),background-color var(--dur-micro) var(--ease-out),border-color var(--dur-micro) var(--ease-out)}
@media(max-width:900px){
 .em-service-hero-grid{gap:var(--space-lg)}
 .em-service-hero-copy h1{font-size:clamp(2.25rem,5vw,3.5rem)}
 .em-service-hero-visual figure>img{height:24rem}
 .em-service-hero-note{margin-inline:var(--space-sm);padding:var(--space-sm)}
 .em-service-page .em-service-fit-grid{gap:var(--space-md)}
}
@media(max-width:767px){
 .em-service-hero{padding-block:var(--space-md) var(--space-lg)}
 .em-service-hero .em-breadcrumb{margin-bottom:var(--space-lg)}
 .em-service-hero-grid{grid-template-columns:minmax(0,1fr);gap:var(--space-lg)}
 .em-service-hero-copy h1{font-size:clamp(2.25rem,9vw,3.5rem);max-width:17ch}
 .em-service-hero-copy>p:not(.em-eyebrow):not(.em-page-eyebrow){font-size:var(--text-md)}
 .em-service-actions{gap:var(--space-xs)}
 .em-service-actions a{font-size:var(--text-sm);padding-inline:var(--space-sm)}
 .em-service-hero-visual{padding-bottom:0}
 .em-service-hero-visual figure>img{height:clamp(16rem,65vw,24rem);transform:none}
 .em-service-hero-note{margin-inline:var(--space-sm)}
 .em-service-page .em-service-section{padding-block:var(--space-xl)}
 .em-content .em-service-page h2{font-size:clamp(1.75rem,7vw,2.5rem)}
 .em-content .em-service-page h3{font-size:var(--text-lg)}
 .em-service-page .em-service-section-head>p{font-size:var(--text-md)}
 .em-service-page .em-service-jumps{padding:var(--space-2xs);gap:var(--space-3xs)}
 .em-service-page .em-service-jumps a{padding-inline:var(--space-xs)}
 .em-service-page .em-service-fit-grid{grid-template-columns:minmax(0,1fr);gap:var(--space-xs)}
 .em-service-page .em-service-fit{display:grid;grid-template-columns:2.75rem minmax(0,1fr);column-gap:var(--space-sm);padding-block:var(--space-md)}
 .em-service-page .em-service-fit>.em-icon{grid-row:1/3;margin-bottom:0}
 .em-service-page .em-service-fit p{grid-column:2}
 .em-content .em-service-page .em-service-stage{grid-template-columns:3.5rem minmax(0,1fr);gap:var(--space-md);padding-bottom:var(--space-lg)}
 .em-service-page .em-service-prepare,.em-service-page .em-service-consultant{grid-template-columns:minmax(0,1fr);gap:var(--space-lg)}
 .em-content .em-service-page .em-service-consultant img{max-height:19rem}
 .em-service-page .em-service-related{gap:var(--space-xs)}
 .em-service-page .em-service-related a{padding-inline:var(--space-xs);font-size:var(--text-sm)}
}
@media(prefers-reduced-motion:reduce){
 .em-service-hero-visual figure>img{transform:none}
 .em-service-hero :is(a,button),.em-service-page :is(a,summary){transition:none}
 .em-service-process::after{transform:none}
}

/* Compiled fragments retain shared editable copy and existing icon nodes. */
.em-service-hero-copy .em-service-intro{margin-top:var(--space-sm)!important}
.em-service-hero-visual figcaption{display:flex;align-items:center;gap:var(--space-2xs)}
.em-service-hero-note>div{min-width:0}
.em-service-hero-note strong{display:block;margin-bottom:var(--space-3xs)}
.em-content .em-service-page .em-service-prepare li{display:flex;align-items:flex-start;gap:var(--space-xs);padding-inline-start:0}
.em-service-prepare li::before{content:none}
.em-service-prepare li>.em-icon{color:var(--color-on-dark);margin-top:var(--space-3xs)}
.em-service-prepare .em-button{margin-top:var(--space-md)}
.em-content .em-service-page .em-service-prepare .em-page-eyebrow{color:var(--color-dark-muted);font-size:var(--text-sm);margin-bottom:var(--space-xs)}
.em-service-faq summary::after{content:none}
.em-service-faq summary>.em-icon{width:1.5rem;height:1.5rem;color:var(--color-accent)}
.em-service-faq details[open]>summary::after{content:none}
.em-service-faq details[open]>summary>.em-icon{transform:rotate(45deg)}
.em-service-consultant figure{display:flex;justify-content:center}
.em-content .em-service-page .em-service-consultant img{max-width:12rem}
.em-content .em-service-page .em-service-consultant .em-page-eyebrow{color:var(--color-accent);font-size:var(--text-sm);font-weight:600;margin-bottom:var(--space-xs)}
.em-service-hero-copy .em-service-lead{font-size:var(--text-xl)!important;font-weight:600;color:var(--color-ink)!important;line-height:1.45!important}
.em-service-hero-copy .em-service-intro{font-size:var(--text-md)!important}
.em-service-hero-visual figcaption{bottom:var(--space-lg)}
.em-content .em-service-page .em-service-consultant img{max-width:10rem}
@media(max-width:767px){.em-service-hero-copy .em-service-lead{font-size:var(--text-lg)!important}}
/* The ordered application guide reads alongside its introduction on larger screens. */
@media(min-width:1000px){
 .em-service-page #application-journey{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.4fr);gap:var(--space-2xl);align-items:start}
 .em-service-page #application-journey>.em-service-section-head{position:sticky;top:calc(var(--header-height) + var(--space-lg));margin-bottom:0}
}
.em-service-page .em-service-funding-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-lg)}
.em-service-page .em-service-consultant{grid-template-columns:10rem minmax(0,1fr)}
@media(max-width:767px){
 .em-service-page .em-service-funding-grid{grid-template-columns:minmax(0,1fr);gap:var(--space-xs)}
 .em-service-page .em-service-consultant{grid-template-columns:minmax(0,1fr)}
 .em-service-consultant figure{justify-content:flex-start}
}

/* Preserve the published centre banner without cropping its content. */
.em-service-center-banner figure{overflow:clip;background:var(--color-paper);border:1px solid var(--color-rule)}
.em-service-center-banner figure>a{display:block}
.em-service-center-banner figure img{display:block;width:100%;height:auto;max-height:none;object-fit:contain;transform:none;border-radius:0}
.em-service-center-banner .em-service-hero-note{margin-top:var(--space-sm)}
.em-content .em-service-page .em-service-center-location a:not(.em-button){color:var(--color-on-dark);text-underline-offset:.2em}
.em-service-center-location a:not(.em-button) .em-icon{color:inherit;margin-inline-end:var(--space-2xs)}
.em-service-center-location a:not(.em-button):hover{color:var(--color-dark-muted)}

/* Hallmark · macrostructure: Task-led service overview · tone: clear · anchor hue: Edumax red · design-system: existing tokens */
.em-service-page .em-service-overview-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-md)}
.em-service-page .em-service-overview-grid-three{grid-template-columns:repeat(3,minmax(0,1fr))}
.em-service-page a.em-service-overview-card{display:flex;flex-direction:column;align-items:flex-start;gap:var(--space-sm);padding:var(--space-lg);border:1px solid var(--color-rule);border-radius:var(--radius-card);color:var(--color-ink);text-decoration:none;background:var(--color-paper);min-width:0}
.em-service-overview-icon{display:grid;place-items:center;width:3rem;height:3rem;border-radius:var(--radius-action);background:var(--color-surface);color:var(--color-accent)}
.em-service-overview-icon>.em-icon{width:1.5rem;height:1.5rem}
.em-content .em-service-page .em-service-overview-card h3{margin:0;color:var(--color-ink)}
.em-content .em-service-page .em-service-overview-card p{margin:0;font-size:var(--text-md)}
.em-service-overview-action{display:flex;align-items:center;justify-content:space-between;gap:var(--space-xs);width:100%;padding-top:var(--space-sm);margin-top:auto;color:var(--color-accent);font-size:var(--text-sm);font-weight:600}
.em-service-page a.em-service-overview-card:hover{border-color:var(--color-accent);background:color-mix(in oklch,var(--color-accent) 3%,var(--color-paper))}
.em-service-page a.em-service-overview-card:hover h3{color:var(--color-accent-hover)}
.em-service-page a.em-service-overview-card:focus-visible{outline:2px solid var(--color-focus);outline-offset:4px}
.em-service-page .em-service-overview-bank{display:flex;align-items:center;justify-content:space-between;gap:var(--space-md);padding:var(--space-md);margin-bottom:var(--space-xl);border:1px solid var(--color-rule);border-radius:var(--radius-card);background:var(--color-surface)}
.em-service-overview-bank>div{display:flex;align-items:flex-start;gap:var(--space-sm);min-width:0}
.em-service-overview-bank>div>.em-icon{color:var(--color-accent);margin-top:var(--space-3xs)}
.em-service-overview-bank a{flex-shrink:0;display:inline-flex;align-items:center;gap:var(--space-xs);min-height:44px;font-size:var(--text-sm)}
.em-service-overview-cta{display:flex;align-items:flex-start;justify-content:center;flex-direction:column;gap:var(--space-sm)}
.em-service-overview-cta>a{display:inline-flex;align-items:center;gap:var(--space-xs);min-height:48px}
.em-service-overview-cta>a:not(.em-button){color:var(--color-on-dark);font-size:var(--text-sm)}
.em-service-page .em-service-overview-cta .em-button{margin-top:0}
@media(max-width:1000px){.em-service-page .em-service-overview-grid-three{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:767px){
.em-service-page .em-service-overview-grid,.em-service-page .em-service-overview-grid-three{grid-template-columns:minmax(0,1fr)}
.em-service-page a.em-service-overview-card{padding:var(--space-md);gap:var(--space-xs)}
.em-service-page .em-service-overview-bank{align-items:flex-start;flex-direction:column;gap:var(--space-xs)}
.em-service-overview-bank a{flex-shrink:1;white-space:normal}
.em-service-overview-cta>a{max-width:100%;white-space:normal}
}

.em-service-page .em-button{max-width:100%;min-width:0;white-space:normal;overflow-wrap:anywhere;text-align:center}
/* IELTS centre actions share the owner's rounded red contact treatment. */
body.edumax-landing .em-whatsapp-fab{position:fixed;z-index:24;right:max(var(--space-md),env(safe-area-inset-right));bottom:calc(max(var(--space-md),env(safe-area-inset-bottom)) + 56px + var(--space-xs));display:grid;place-items:center;width:56px;height:56px;border:1px solid var(--color-accent);border-radius:var(--radius-card);background:var(--color-accent);color:var(--color-on-accent);box-shadow:var(--shadow-photo);text-decoration:none}
body.edumax-landing .em-whatsapp-fab .em-icon{width:25px;height:25px;fill:currentColor;color:inherit}
body.edumax-landing .em-whatsapp-fab:hover{background:var(--color-accent-hover);border-color:var(--color-accent-hover)}
body.edumax-landing .em-whatsapp-fab:focus-visible{outline:3px solid var(--color-focus);outline-offset:4px}
.em-service-page .em-brand-icon{fill:currentColor;stroke:none}
.em-service-center-location .em-service-actions{align-items:center;gap:var(--space-md)}
.em-service-center-location .em-ielts-directions{display:inline-flex;align-items:center;gap:var(--space-xs);min-height:48px;white-space:nowrap}
@media(max-width:767px){body.edumax-landing:has(.em-mobile-assessment:not([hidden])) .em-whatsapp-fab{bottom:calc(5.5rem + env(safe-area-inset-bottom) + var(--space-sm) + 56px + var(--space-xs))}}
