/* The exam resource extension consumes the public site's shared tokens. */
.exam-growth { font-size:16px; line-height:1.65; }
.exam-growth svg { width:20px; height:20px; fill:none; stroke:currentColor; stroke-width:1.7; stroke-linecap:round; stroke-linejoin:round; flex-shrink:0; }
.exam-growth h1,.exam-growth h2 { font-family:var(--font-display); font-weight:400; letter-spacing:-.025em; text-wrap:balance; }
.exam-growth h1 { font-size:clamp(48px,5.2vw,76px); line-height:1.04; margin:0 0 26px; }
.exam-growth h2 { font-size:clamp(34px,3.1vw,46px); line-height:1.13; margin:0 0 22px; }
.exam-growth h3 { font:600 21px/1.4 var(--font-ui); margin:0 0 12px; }
.exam-growth p { margin:0 0 20px; }
.exam-growth a { text-underline-offset:4px; }
.exam-growth :focus-visible { outline:3px solid var(--gold); outline-offset:4px; }
.exam-growth [hidden] { display:none!important; }
.eg-button { display:inline-flex; align-items:center; justify-content:center; gap:16px; min-height:48px; padding:13px 20px; border:1px solid var(--forest); border-radius:var(--radius-sm); background:var(--forest); color:var(--white); font:600 15px/1.4 var(--font-ui); text-decoration:none; cursor:pointer; transition:background var(--transition); }
.eg-button:hover { background:var(--forest-lit); color:var(--white); }
.eg-button.eg-gold { background:var(--gold-ink); border-color:var(--gold-ink); color:var(--on-gold); }
.eg-button.eg-gold:hover { background:var(--gold-dark); }
.eg-button:disabled { opacity:.65; cursor:wait; }
.eg-full { width:100%; }
.eg-link { font-size:15px; font-weight:600; text-decoration:underline; }
.eg-availability { background:var(--forest-pale); border-block:1px solid var(--line); }
.eg-availability>.wrap { display:flex; align-items:center; justify-content:space-between; gap:24px; padding-block:12px; }
.eg-availability p { margin:0; font-size:14px; }
.eg-availability a { display:flex; align-items:center; gap:12px; font-size:14px; font-weight:600; text-decoration:none; }
.eg-hero { display:grid; grid-template-columns:1.12fr 1fr; gap:68px; padding-block:68px 74px; }
.eg-hero>div { align-self:center; }
.eg-lead { font-size:19px; line-height:1.6; max-width:52ch; }
.eg-actions { display:flex; flex-wrap:wrap; align-items:center; gap:20px; margin-top:30px; }
.exam-growth .eg-note { font-size:14px; color:var(--text-mid); margin:24px 0 0; max-width:42ch; }
.eg-invitation { background:var(--forest); color:var(--white); border-radius:var(--radius-sm); overflow:hidden; }
.eg-invitation>img { display:block; width:100%; height:150px; object-fit:cover; object-position:75% 55%; }
.eg-invitation>div { padding:30px 34px; }
.eg-invitation h2 { font-size:36px; line-height:1.14; }
.eg-invitation p,.eg-opportunity p { color:var(--text-on-ink-soft); }
.exam-growth .eg-invitation .eg-small { font-size:13px; margin:18px 0 0; }
.eg-reading { display:grid; grid-template-columns:240px minmax(0,1fr); gap:70px; border-top:1px solid var(--line); padding-block:66px 90px; }
.eg-contents h2 { font:600 17px var(--font-ui); letter-spacing:0; }
.eg-contents nav { display:flex; flex-direction:column; gap:15px; }
.eg-contents nav a { font-size:15px; color:var(--text-mid); text-decoration:none; }
.eg-contents nav a:hover { text-decoration:underline; }
.eg-contents>div { border-top:1px solid var(--line); padding-top:26px; margin-top:34px; font-size:14px; }
.eg-contents>div p { margin-bottom:10px; }
.eg-reading article { min-width:0; }
.eg-reading article>h2 { font-size:38px; max-width:25ch; }
.eg-reading .prose { margin:0; max-width:70ch; font-size:16px; }
.eg-reading .prose h3 { margin-top:38px; }
.eg-byline { font-size:14px; color:var(--text-mid); }
.eg-opportunity { background:var(--forest); color:var(--white); }
.eg-opportunity-grid { display:grid; grid-template-columns:1.1fr 1fr; gap:80px; padding-block:70px; }
.eg-opportunity h2 { font-size:49px; }
.eg-opportunity .eg-lead { font-size:18px; max-width:42ch; }
.exam-growth .eg-capacity { font-size:14px; margin:23px 0 0; max-width:46ch; }
.eg-support>section { border-bottom:1px solid var(--ink-line); padding-block:22px; }
.eg-support>section:first-child { padding-top:0; }
.eg-support>section:last-child { padding-bottom:0; border:0; }
.eg-support h3 { font-size:19px; }
.eg-support p { margin-bottom:0; }
.eg-inquiry { display:grid; grid-template-columns:.85fr 1fr; gap:80px; padding-block:88px; scroll-margin-top:24px; }
.eg-inquiry>div:first-child { padding-top:14px; }
.eg-inquiry h2 { font-size:52px; }
.eg-inquiry .eg-lead { max-width:40ch; font-size:18px; }
.eg-next { border-top:1px solid var(--line); padding-top:26px; margin-top:34px; max-width:40ch; }
.eg-next h3 { font-size:17px; }
.eg-next p { font-size:15px; }
.eg-form-surface { background:var(--white); border:1px solid var(--line); padding:34px; border-radius:var(--radius-sm); min-width:0; }
.eg-progress { display:flex; justify-content:space-between; gap:12px; margin-bottom:28px; padding-bottom:16px; border-bottom:1px solid var(--line); font-size:13px; color:var(--text-mid); }
.eg-progress .current { font-weight:700; color:var(--forest); }
.eg-form-surface fieldset { border:0; padding:0; margin:0; min-width:0; }
.eg-form-surface fieldset+fieldset { margin-top:28px; }
.eg-form-surface .eg-step-heading { font:600 22px/1.4 var(--font-ui); padding:0; margin-bottom:12px; }
.eg-stages>.eg-field>label { display:none; }
.eg-stages .eg-field { margin-top:10px; }
.eg-stages .eg-field>div:not(.eg-error) { display:grid; gap:10px; }
.eg-stages label { display:flex; align-items:center; gap:12px; min-height:56px; padding:14px 16px; border:1px solid var(--line); border-radius:var(--radius-sm); cursor:pointer; font-size:15px; font-weight:600; }
.eg-stages label:has(:checked) { border-color:var(--forest); background:var(--forest-pale); }
.eg-goals .eg-field>div:not(.eg-error) { display:flex; flex-wrap:wrap; gap:8px 20px; margin-top:10px; }
.eg-goals label:not(.eg-field>label) { display:flex; align-items:center; gap:9px; min-height:36px; font-size:14px; font-weight:400; }
.eg-field { margin-top:16px; }
.eg-field>label,.eg-field>legend { display:block; font-size:14px; font-weight:600; }
.eg-field>label>span,.eg-field>legend>span { font-size:12px; font-weight:400; color:var(--text-mid); }
.eg-field input:not([type=checkbox]):not([type=radio]),.eg-field select,.eg-field textarea { width:100%; display:block; padding:12px; margin-top:6px; min-height:48px; border:1px solid var(--line); border-radius:var(--radius-sm); background:var(--paper-raised); color:var(--ink); font:400 16px/1.5 var(--font-ui); caret-color:var(--forest); }
.eg-field textarea { resize:vertical; }
.eg-field input[type=checkbox],.eg-field input[type=radio] { accent-color:var(--forest); width:18px; height:18px; margin:0; flex-shrink:0; }
.eg-field-row { display:grid; grid-template-columns:1fr 1fr; gap:16px; }
.exam-growth .eg-help { font-size:14px; color:var(--text-mid); margin:12px 0 18px; }
.eg-consent .eg-field { display:flex; align-items:flex-start; gap:12px; }
.eg-consent .eg-field>label { order:2; font-size:13px; line-height:1.6; font-weight:400; }
.eg-consent input { margin-top:4px!important; }
.eg-consent .eg-field:has(.eg-error) { flex-wrap:wrap; }
.eg-consent .eg-error { width:100%; order:3; }
.eg-form-actions { justify-content:space-between; }
.eg-back { background:transparent; color:var(--ink); padding:12px 16px; min-height:48px; border:1px solid var(--line); border-radius:var(--radius-sm); font:400 16px var(--font-ui); cursor:pointer; }
.exam-growth .eg-privacy { font-size:13px; color:var(--text-mid); margin:18px 0 0; }
.eg-error { color:var(--danger); font-size:14px; }
.exam-growth .eg-error p { margin:6px 0; }
.eg-notice { background:var(--forest-pale); padding:16px; }
.exam-growth .eg-check { width:48px; height:48px; color:var(--ok); margin-bottom:20px; }
.eg-closing { text-align:center; border-top:1px solid var(--line); padding-block:54px 64px; }
.eg-closing h2 { font-size:38px; }
.eg-closing p { color:var(--text-mid); }
.eg-related { text-align:left; border-block:1px solid var(--line); padding-block:26px; margin:30px auto; max-width:70ch; }
.eg-related li+li { margin-top:10px; }
@media(max-width:1050px) { .eg-hero { gap:34px; } .eg-reading,.eg-opportunity-grid,.eg-inquiry { gap:44px; } .eg-reading { grid-template-columns:200px minmax(0,1fr); } .eg-invitation h2 { font-size:31px; } }
@media(max-width:760px) { .eg-availability>.wrap { flex-direction:column; align-items:flex-start; gap:5px; padding-block:13px; } .eg-availability p,.eg-availability a { font-size:13px; } .eg-hero { grid-template-columns:1fr; gap:32px; padding-block:38px 44px; } .exam-growth h1 { font-size:49px; } .eg-lead { font-size:17px; } .eg-actions { gap:16px; margin-top:24px; } .eg-invitation>div { padding:26px; } .eg-invitation h2 { font-size:34px; } .eg-invitation>img { height:135px; } .eg-reading { grid-template-columns:1fr; gap:28px; padding-block:35px 50px; } .eg-contents nav { flex-direction:row; flex-wrap:wrap; gap:12px 20px; } .eg-contents nav a { font-size:14px; } .eg-contents>div { display:none; } .eg-reading article>h2 { font-size:35px; } .eg-opportunity-grid,.eg-inquiry { grid-template-columns:1fr; gap:36px; padding-block:44px; } .eg-opportunity h2,.eg-inquiry h2 { font-size:42px; } .eg-form-surface { padding:23px; } .eg-progress { font-size:12px; } .eg-field-row { grid-template-columns:1fr; gap:0; } .eg-form-actions .eg-button { font-size:14px; padding-inline:14px; } .eg-closing { padding-block:40px; } .eg-closing h2 { font-size:34px; } }
/* Shared headings set ink explicitly; these two forest surfaces need on-ink. */
.eg-invitation h2,.eg-opportunity h2,.eg-opportunity h3 { color:var(--white); }
