/* Generated from esm-page-kit.js. Keep in sync with the shared editor runtime. */

.esm-page .ec-site-card{color:var(--bs-body-color)}
.esm-page .ec-service-card{--ec-content-ink:var(--bs-emphasis-color,var(--bs-body-color));background:var(--ep-surface,var(--bs-body-bg));color:var(--bs-emphasis-color);transition:transform 180ms ease,box-shadow 180ms ease}
.esm-page .ec-service-card:hover{transform:translateY(-3px);box-shadow:0 8px 24px #0002}
.esm-page .ec-service-card:focus-visible,.esm-page .ec-onboarding-step:focus-visible{outline:3px solid var(--bs-primary);outline-offset:3px}
.esm-page .ec-onboarding-step{--ec-content-ink:var(--bs-emphasis-color,var(--bs-body-color));color:var(--bs-emphasis-color);background:var(--ep-surface,var(--bs-body-bg))}
.esm-page .ec-onboarding-step [data-ec-step-icon]{display:grid;place-items:center;width:32px;height:32px;flex-shrink:0;border-radius:50%;border:1px solid var(--bs-border-color)}
.esm-page .ec-onboarding-step[data-ec-complete="true"] [data-ec-step-icon]{background:var(--bs-success);color:#fff;border-color:var(--bs-success)}
@media(prefers-reduced-motion:reduce){.esm-page .ec-service-card{transition:none}.esm-page .ec-service-card:hover{transform:none}}
.esm-page [data-ec-onboarding-layout="checklist"] .row>:is(div,li),.esm-page [data-ec-onboarding-layout="compact"] .row>:is(div,li){width:100%}
.esm-page [data-ec-onboarding-layout="compact"] .ec-onboarding-step{padding:.75rem 1rem!important}
.esm-page [data-ec-onboarding-layout="compact"] .ec-onboarding-step p{font-size:.8125rem}
/* Guided heroes have their own scale instead of ordinary content-block padding. */
.esm-page [data-esm-component="hero"][data-ec-hero-height]{position:relative;isolation:isolate;overflow:hidden;display:flex;align-items:center;padding:clamp(2rem,6vw,6rem)!important;min-height:240px;background-size:cover}
.esm-page [data-ec-hero-height="stage"]{min-height:clamp(360px,55svh,720px)!important}
.esm-page [data-ec-hero-height="immersive"]{min-height:clamp(440px,75svh,960px)!important}
.esm-page .ec-hero-content{position:relative;z-index:2;width:100%;max-width:1200px;margin-inline:auto}
.esm-page .ec-hero-content>.text-center{max-width:960px;margin-inline:auto}
.esm-page .ec-hero-content>.text-start{max-width:850px}
.esm-page [data-ec-hero-type="display"] [data-ec-field="title"]{font-size:clamp(2.5rem,5.5vw,5.5rem)!important;font-weight:700;line-height:1.04;letter-spacing:-.035em;text-wrap:balance;margin-bottom:1.5rem!important}
.esm-page .ec-hero-content [data-ec-field="text"]{font-size:clamp(1.0625rem,1.6vw,1.5rem);line-height:1.5;max-width:58ch;text-wrap:pretty;margin-bottom:1.75rem!important}
.esm-page .ec-hero-content>.text-center [data-ec-field="text"]{margin-inline:auto}
.esm-page .ec-hero-content [data-ec-field="eyebrow"]{font-size:.75rem;letter-spacing:.16em;margin-bottom:1rem;font-weight:600}
.esm-page .ec-hero-media,.esm-page .ec-hero-shade{position:absolute;inset:0;z-index:0;pointer-events:none}
.esm-page .ec-hero-media{inset:-20% 0;transform:translate3d(0,var(--ec-hero-shift,0px),0)}
.esm-page [data-ec-hero-motion="parallax"] .ec-hero-media{will-change:transform}
.esm-page .ec-hero-media img{display:block;width:100%;height:100%!important;max-width:none;object-fit:cover}
.esm-page .ec-hero-shade{z-index:1;background:linear-gradient(110deg,rgba(0,0,0,.68),rgba(0,0,0,.38)),linear-gradient(0deg,rgba(0,0,0,.25),transparent 55%)}
.esm-page [data-ec-hero-overlay="soft"] .ec-hero-shade{background:linear-gradient(110deg,rgba(0,0,0,.48),rgba(0,0,0,.25))}
.esm-page [data-ec-hero-overlay="strong"] .ec-hero-shade{background:linear-gradient(110deg,rgba(0,0,0,.82),rgba(0,0,0,.55))}
.esm-page [data-esm-component="hero"][data-esm-background="photo"] .btn-outline-primary{color:#fff;border-color:#ffffffb3;background:transparent}
.esm-page [data-esm-component="hero"][data-esm-background="photo"] .btn-outline-primary:hover{color:#20252b;background:#fff}
.esm-page .ec-hero-enter .ec-hero-content{animation:ec-hero-entrance 850ms cubic-bezier(.2,.7,.2,1) both}
@keyframes ec-hero-entrance{from{opacity:1;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}
@media(max-width:575px){.esm-page [data-ec-hero-height="immersive"]{min-height:clamp(400px,70svh,640px)!important}.esm-page [data-esm-component="hero"][data-ec-hero-height]{padding:2.5rem 1.5rem!important}.esm-page .ec-hero-content [data-ec-actions] .btn{white-space:normal}}
.esm-page [data-esm-component="hero"][data-ec-hero-padding="compact"]{padding:clamp(1.5rem,3vw,3rem)!important}
.esm-page [data-esm-component="hero"][data-ec-hero-padding="comfortable"]{padding:clamp(2rem,4vw,4rem)!important}
@media(prefers-reduced-motion:reduce){.esm-page .ec-hero-enter .ec-hero-content{animation:none!important}.esm-page .ec-hero-media{transform:none!important}}
@media print{.esm-page [data-esm-component="hero"][data-ec-hero-height]{min-height:0!important;padding:1rem!important}.esm-page .ec-hero-media,.esm-page .ec-hero-shade{display:none!important}}

.esm-page .ec-video-split { display:grid; grid-template-columns:repeat(auto-fit,minmax(min(100%,320px),1fr)); gap:1.5rem; align-items:center; }
.esm-page .ec-video-media,.esm-page .ec-video-copy { min-width:0; overflow-wrap:anywhere; }
.esm-page .ec-video-card { width:100%; max-width:520px; margin-inline:auto; overflow:hidden; }
.esm-page .ec-video-card .ec-video-frame { border-radius:0!important; }
.esm-page .ec-video-right { direction:rtl; }
.esm-page .ec-video-right > * { direction:ltr; }

.esm-page { color:var(--bs-body-color); color:color-mix(in srgb,var(--bs-body-color) 70%,var(--bs-emphasis-color) 30%); font-family:inherit; font-size:1rem; line-height:1.65; width:100%; max-width:none; margin:0; overflow-wrap:anywhere; }
.esm-page [data-esm-component="onboarding"] .ec-onboarding-step{background:transparent;color:var(--bs-primary);font-size:1rem;line-height:1.5}
.esm-page [data-esm-component="onboarding"] .ec-onboarding-step[data-ec-complete="true"]{color:var(--bs-success)}
.esm-page [data-esm-component="onboarding"] .ec-onboarding-icon{display:inline-block;width:auto;height:auto;border:0;background:none;color:inherit;flex:0 0 auto;line-height:1.5}
.esm-page [data-esm-component="onboarding"] .ec-onboarding-panel{margin:0}
.esm-page [data-esm-component="onboarding"] .ec-onboarding-panel> .overflow-hidden>p{color:var(--bs-secondary-color)}
.esm-page [data-esm-component="onboarding"] .ec-onboarding-panel ul{padding-left:0;list-style:none}
.esm-page [data-ec-onboarding-layout="site-default"] li{flex:1 1 220px;width:auto}
.esm-page [data-ec-onboarding-layout="cards"] .ec-onboarding-step{border:1px solid var(--bs-border-color);border-radius:var(--bs-border-radius);padding:1rem;height:100%;background:var(--bs-body-bg)}
.esm-page [data-ec-onboarding-layout="checklist"] li+li .ec-onboarding-step{border-top:1px solid var(--bs-border-color);padding-top:1rem}
.esm-page [data-ec-onboarding-layout="compact"] .ec-onboarding-step{font-size:.875rem}

/* Match ESM section rhythm, including older saved rich blocks with Bootstrap spacing utilities. */
.esm-page .esm-rich-component { margin:0 0 1.75rem !important; padding:1.25rem !important; }
.esm-page .esm-rich-component[data-esm-spacing="compact"] { margin-bottom:1rem !important; padding:1rem !important; }
.esm-page .esm-rich-component:is([data-esm-background="plain"],[data-esm-config*='"background":"plain"']) { padding:0 !important; }
.esm-page .ec-image-card { overflow:hidden; border:1px solid var(--bs-border-color); border-radius:.75rem; background:var(--bs-body-bg); transition:box-shadow .15s ease; }
.esm-page .ec-image-card > img { border-radius:0 !important; }
.esm-page .ec-image-card .card-body { padding:1.25rem; }
.esm-page .ec-image-card:hover { box-shadow:0 .35rem 1rem rgba(0,0,0,.12); }
.esm-page .ec-image-card .ec-card-photo { flex-shrink:0; min-width:0; }
.esm-page .ec-image-card .ec-card-photo > * { border-radius:0 !important; }
.esm-page .ec-image-card .card-body { min-width:0; }
.esm-page .ec-category-cards { flex-direction:row; align-items:center; gap:1rem; padding:1rem; background:var(--bs-tertiary-bg,var(--bs-body-bg)); border:0; }
.esm-page .ec-category-cards .ec-card-photo { width:70px; border-radius:.5rem; overflow:hidden; }
.esm-page .ec-category-cards .card-body { padding:0; flex:1; }
.esm-page .ec-category-cards .card-body h3 { margin-bottom:.25rem; }
.esm-page .ec-card-arrow { display:flex; align-items:center; justify-content:center; flex-shrink:0; width:40px; height:40px; border-radius:50%; color:var(--bs-primary); background:color-mix(in srgb,var(--bs-primary) 12%,transparent); }
.esm-page .ec-floating-cards { background:transparent; border:0; overflow:visible; }
.esm-page .ec-floating-cards .ec-card-photo { border-radius:.75rem; overflow:hidden; }
.esm-page .ec-floating-cards .card-body { position:relative; margin:-1.5rem 1rem 0; background:var(--bs-body-bg); border:1px solid var(--bs-border-color); border-radius:.75rem; text-align:center; box-shadow:0 .25rem .75rem rgba(0,0,0,.12); }
.esm-page .ec-overlay-cards { display:grid; isolation:isolate; background:#20252b; }
.esm-page .ec-overlay-cards .ec-card-photo,.esm-page .ec-overlay-cards .card-body { grid-area:1/1; }
.esm-page .ec-overlay-cards .ec-card-photo { min-height:240px; }
.esm-page .ec-overlay-cards .ec-card-photo > * { height:100%; object-fit:cover; }
.esm-page .ec-overlay-cards .card-body { display:flex; flex-direction:column; justify-content:flex-end; position:relative; background:linear-gradient(transparent,rgba(0,0,0,.92)); padding-top:5rem; --ec-content-ink:#fff; }
.esm-page .ec-circle-cards { background:transparent; border:0; align-items:center; text-align:center; }
.esm-page .ec-circle-cards .ec-card-photo { width:140px; max-width:100%; border-radius:50%; overflow:hidden; border:1px solid var(--bs-border-color); }
@media(max-width:575px) { .esm-page .ec-category-cards { gap:.75rem; } .esm-page .ec-category-cards .ec-card-photo { width:56px; } }
.esm-page .ec-image-card:focus-visible { outline:3px solid var(--bs-primary); outline-offset:3px; }
/* Keep collection typography compact and readable without dimming text on backgrounds. */
.esm-page .ec-image-card .card-body h3 { font-size:1.0625rem; font-weight:600; line-height:1.3; letter-spacing:-.01em; margin:0 0 .375rem; text-wrap:pretty; }
.esm-page .ec-image-card .card-body p { font-size:.9375rem; font-weight:400; line-height:1.5; margin:0; text-wrap:pretty; }
.esm-page [data-esm-component="gallery"] figure > a { display:block; }
.esm-page [data-esm-component="gallery"] figcaption { font-size:.9375rem; font-weight:500; line-height:1.4; margin:.625rem 0 0 !important; padding:0 .125rem; text-wrap:pretty; }
/* Collection rows must fit their section, including inside ESM columns. */
.esm-page .esm-rich-component:is([data-esm-component="gallery"],[data-esm-component="resources"],[data-esm-component="comparison"],[data-esm-component="navigation"]) { container-type:inline-size; min-width:0; max-width:100%; }
.esm-page .esm-rich-component > .row { margin:0; max-width:100%; row-gap:var(--bs-gutter-y,1rem); }
.esm-page .esm-rich-component > .row > [data-ec-item] { margin-top:0; margin-bottom:0; min-width:0; }
@container (max-width:899px) { .esm-page .esm-rich-component > .row > [data-ec-item]:is(.col-md-6,.col-sm-6) { width:50%; } }
@container (max-width:575px) { .esm-page .esm-rich-component > .row > [data-ec-item].col-12 { width:100%; } }
/* Guided backgrounds own their text contrast; buttons retain their own palette. */
.esm-rich-component { --ec-content-ink:var(--bs-emphasis-color,var(--bs-body-color)); --bs-heading-color:var(--ec-content-ink); color:var(--ec-content-ink) !important; }
.esm-rich-component:is([data-esm-background="dark"],[data-esm-background="photo"],[data-esm-config*='"background":"dark"'],[data-esm-config*='"background":"photo"']) { --ec-content-ink:#fff; }
.esm-rich-component:not([data-ec-site-cards]):not([data-ec-workflow-shared]) :is([data-ec-field],.text-muted,.text-body-secondary,.text-body) { color:var(--ec-content-ink) !important; opacity:1 !important; }
.esm-rich-component .card:not(.ec-site-card) { --ec-content-ink:var(--bs-emphasis-color,var(--bs-body-color)); color:var(--ec-content-ink) !important; }
@media print { .esm-rich-component { --ec-content-ink:#111 !important; color:#111 !important; background:#fff !important; } .esm-rich-component .card { --ec-content-ink:#111 !important; } }
.esm-page *, .esm-page *::before, .esm-page *::after { box-sizing:border-box; }
.esm-page { --esm-text:color-mix(in srgb,var(--bs-body-color) 70%,var(--bs-emphasis-color) 30%); }
.esm-page { --bs-primary-bg-subtle:color-mix(in srgb,var(--bs-primary) 12%,var(--bs-body-bg)); --bs-primary-border-subtle:color-mix(in srgb,var(--bs-primary) 35%,var(--bs-border-color)); --bs-primary-text-emphasis:color-mix(in srgb,var(--bs-primary) 35%,var(--bs-emphasis-color)); --bs-primary-text:var(--bs-primary-text-emphasis); }
.esm-page .text-body, .esm-page .text-body-secondary, .esm-page .text-muted, .esm-page .blockquote-footer { color:var(--esm-text,var(--bs-body-color)) !important; }
.esm-page .card:not(.ec-site-card), .esm-page .esm-hero, .esm-page .accordion-button, .esm-page .accordion-button:not(.collapsed) { color:var(--esm-text,var(--bs-body-color)); }
.esm-page .nav-link.active { color:var(--bs-heading-color,var(--bs-body-color)) !important; }
.esm-page :is(h1,h2,h3,h4,h5,h6,p):is(.opacity-50,.opacity-75,.opacity-90) { opacity:1 !important; }
.esm-page h1, .esm-page h2, .esm-page h3, .esm-page strong, .esm-page dt { color:var(--bs-heading-color,var(--bs-body-color)); }
.esm-page h1 { font-size:clamp(1.8rem,4vw,2.6rem); line-height:1.15; letter-spacing:-.035em; margin:0 0 .8rem; }
.esm-page h2 { font-size:1.35rem; line-height:1.3; margin:0 0 .9rem; letter-spacing:-.02em; }
.esm-page h3 { font-size:1rem; line-height:1.4; margin:0 0 .55rem; }
.esm-page p { margin:0 0 .8rem; }
.esm-page p:last-child { margin-bottom:0; }
.esm-page a:not(.ec-site-link) { color:inherit; text-decoration:underline; text-underline-offset:3px; }
.esm-page a:hover { text-decoration-thickness:2px; }
.esm-page .btn:not(.ec-site-link) { color:var(--bs-btn-color); text-decoration:none; }
.esm-page .btn:not(.ec-site-link):hover { color:var(--bs-btn-hover-color,var(--bs-btn-color)); }
.esm-page .btn-primary { --bs-btn-color:var(--esm-primary-ink,#111); --bs-btn-bg:var(--bs-primary); --bs-btn-border-color:var(--bs-primary); --bs-btn-hover-color:var(--esm-primary-ink,#111); --bs-btn-hover-bg:var(--bs-primary); --bs-btn-hover-border-color:var(--bs-primary); --bs-btn-active-color:var(--esm-primary-ink,#111); --bs-btn-active-bg:var(--bs-primary); }
.esm-page .btn-outline-primary { --bs-btn-color:var(--bs-heading-color,var(--bs-body-color)); --bs-btn-border-color:var(--bs-primary); --bs-btn-hover-color:var(--esm-primary-ink,#111); --bs-btn-hover-bg:var(--bs-primary); --bs-btn-hover-border-color:var(--bs-primary); --bs-btn-active-color:var(--esm-primary-ink,#111); --bs-btn-active-bg:var(--bs-primary); }
.esm-page .link-primary { color:color-mix(in srgb,var(--bs-link-color,var(--bs-primary)) 35%,var(--bs-emphasis-color)) !important; }
.esm-page .container:not(.hub-home-content), .esm-page .container-fluid { width:100%; max-width:none; }
.esm-page .esm-section > p, .esm-page > p { max-width:72ch; }
.esm-page img, .esm-page video, .esm-page iframe { max-width:100%; }
.esm-page img { height:auto; }
.esm-page .esm-hero { padding:clamp(1.5rem,4vw,3rem); border:1px solid var(--bs-border-color); border-radius:var(--bs-border-radius-lg,.75rem); background:linear-gradient(135deg,var(--bs-primary-bg-subtle,var(--bs-tertiary-bg)),var(--bs-body-bg)); color:var(--esm-text,var(--bs-body-color)); margin-bottom:1.75rem; }
.esm-page .esm-hero .lead { max-width:60ch; margin-left:auto; margin-right:auto; }
.esm-page .card:not(.ec-site-card), .esm-page .accordion-item, .esm-page .list-group-item { background:var(--bs-tertiary-bg,var(--bs-body-bg)); color:var(--esm-text,var(--bs-body-color)); border-color:var(--bs-border-color); }
.esm-page .card-title, .esm-page .navbar-brand, .esm-page .nav-link { color:var(--bs-heading-color,var(--bs-body-color)); }
.esm-page .accordion-button { background:var(--bs-tertiary-bg,var(--bs-body-bg)); color:var(--esm-text,var(--bs-body-color)); padding:.95rem 1.1rem; border-left:2px solid transparent; box-shadow:none; }
.esm-page .accordion-button:not(.collapsed) { background:var(--bs-tertiary-bg,var(--bs-body-bg)); color:var(--bs-heading-color,var(--bs-body-color)); border-left-color:var(--bs-primary); font-weight:600; box-shadow:none; }
.esm-page .accordion-button:hover { background:var(--bs-secondary-bg,var(--bs-tertiary-bg)); }
.esm-page .accordion-button:focus-visible { outline:2px solid var(--bs-primary); outline-offset:-3px; }
.esm-page .accordion-body { padding:1rem 1.1rem; }
.esm-page :is(.py-5,.my-5):has(>.accordion) { padding-top:1.5rem !important; padding-bottom:1.5rem !important; margin-top:1.5rem !important; margin-bottom:1.5rem !important; }
.esm-page .text-bg-primary { background:var(--bs-primary-bg-subtle,var(--bs-tertiary-bg)) !important; color:var(--esm-text,var(--bs-body-color)) !important; }
.esm-page .text-bg-secondary { background:var(--bs-tertiary-bg) !important; color:var(--esm-text,var(--bs-body-color)) !important; }
.esm-page .card-header, .esm-page .bg-primary-subtle { background:var(--bs-tertiary-bg,var(--bs-body-bg)) !important; color:var(--bs-heading-color,var(--bs-body-color)) !important; border-top:2px solid var(--bs-primary); border-bottom:1px solid var(--bs-border-color); padding:.85rem 1.1rem !important; }
.esm-page :is(.card-header,.bg-primary-subtle) :is(h2,h3,h4,h5,h6,strong) { color:var(--bs-heading-color,var(--bs-body-color)) !important; margin-bottom:0; }
.esm-page .esm-schedule-grid { align-items:start; }
.esm-page .esm-schedule-card { height:auto !important; font-variant-numeric:tabular-nums; box-shadow:none !important; }
.esm-page .esm-schedule-card :is(.card-body,.p-4) { padding:1rem 1.1rem !important; }
.esm-page .esm-schedule-card :is(.py-3,td,th,.list-group-item) { padding-top:.65rem !important; padding-bottom:.65rem !important; }
.esm-page .esm-schedule-wide { width:100% !important; flex:0 0 100%; grid-column:1 / -1; }
.esm-page .esm-schedule-heading { text-align:left !important; }
.esm-page .accordion-button::after, .esm-page .accordion-button:not(.collapsed)::after { background-image:none; background-color:currentColor; mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='m2 5 6 6 6-6' fill='none' stroke='black' stroke-width='1.5'/%3E%3C/svg%3E") center/contain no-repeat; }
.esm-page :is(h1,h2,h3,h4,h5,h6).text-primary { color:var(--bs-heading-color,var(--bs-body-color)) !important; }
.esm-page { container-type:inline-size; }
.esm-page .row > * { min-width:0; }
@container (max-width:899px) { .esm-page .row > :is(.col-md-3,.col-md-4) { width:50%; } }
@container (max-width:575px) { .esm-page .row > :is(.col-6,.col-md-3,.col-md-4,.col-md-6,.col-md-8) { width:100%; } .esm-page .navbar-expand-lg .navbar-collapse { flex-basis:100%; flex-grow:1; } .esm-page .navbar-expand-lg .navbar-nav { flex-direction:column; } }
.esm-page .esm-header { border-top:4px solid var(--bs-primary); padding:1.5rem 0; border-bottom:1px solid var(--bs-border-color); margin-bottom:1.8rem; }
.esm-page .esm-eyebrow { font-size:.72rem; font-weight:700; letter-spacing:.16em; text-transform:uppercase; color:var(--bs-body-color); margin-bottom:.75rem; }
.esm-page .esm-meta { font-size:.85rem; color:inherit; margin-bottom:.8rem; }
.esm-page .esm-intro { font-size:1.05rem; max-width:48rem; }
.esm-page .esm-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(min(100%,17rem),1fr)); gap:1.25rem; margin:0 0 1.75rem; align-items:stretch; }
.esm-page .esm-section { margin:0 0 1.75rem; padding:0; min-width:0; }
.esm-page .esm-grid > .esm-section { margin:0; }
.esm-page .esm-column { min-width:0; }
.esm-page .esm-grid > .esm-column > .esm-card:only-child { height:100%; margin:0; }
.esm-page .esm-card { padding:1.25rem; border:1px solid var(--bs-border-color); border-radius:var(--bs-border-radius-lg,.75rem); background:var(--bs-tertiary-bg,var(--bs-body-bg)); min-width:0; }
.esm-page .esm-dates { margin:0; }
.esm-page .esm-date { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:.8rem; padding:.8rem 0; border-bottom:1px solid var(--bs-border-color); align-items:baseline; }
.esm-page .esm-date:first-child { padding-top:0; }
.esm-page .esm-date:last-child { border-bottom:0; padding-bottom:0; }
.esm-page .esm-date dt { font-weight:500; font-size:.9rem; margin:0; }
.esm-page .esm-date dd { font-weight:650; font-size:.9rem; margin:0; text-align:right; }
.esm-page .esm-note { border-left:3px solid var(--bs-primary); padding:.85rem 1rem; background:var(--bs-tertiary-bg,var(--bs-body-bg)); margin:1rem 0; font-size:.9rem; }
.esm-page .esm-note-information { border-left-color:var(--bs-info); }
.esm-page .esm-note-requirement { border-left-color:var(--bs-primary); }
.esm-page .esm-note-warning { border-left-color:var(--bs-warning); }
.esm-page .esm-service-callout { background:#fff6df; color:#000; border-left:6px solid #ffc72c; padding:1rem 1.25rem; margin:0 0 1.75rem; }
.esm-page .esm-service-callout p { margin:0; color:inherit; }
.esm-page .esm-service-callout :is(strong,em,span) { color:inherit; }
.esm-page .esm-details { margin:0; }
.esm-page .esm-detail { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,2fr); gap:1rem; padding:.65rem 0; border-bottom:1px solid var(--bs-border-color); }
.esm-page .esm-detail dt { font-weight:500; margin:0; }
.esm-page .esm-detail dd { margin:0; }
.esm-page .esm-resource-link { display:inline-block; font-weight:600; margin:.25rem 0; }
.esm-page .esm-policy-clause { margin:1.25rem 0; padding:0; scroll-margin-top:7rem; }
.esm-page .esm-policy-contents { margin:0 0 1.5rem; }
.esm-page .esm-faq-item { border-bottom:1px solid var(--bs-border-color); padding:.9rem 0; }
.esm-page .esm-faq-question { cursor:pointer; font-weight:650; color:var(--bs-heading-color,var(--bs-body-color)); }
.esm-page .esm-faq-question:focus-visible { outline:2px solid var(--bs-primary); outline-offset:5px; border-radius:3px; }
.esm-page .esm-faq-answer { padding:.75rem 0 0; }
.esm-page ul, .esm-page ol { padding-left:1.2rem; margin:0; }
.esm-page li { padding-left:.2rem; margin:0 0 .45rem; }
.esm-page li:last-child { margin-bottom:0; }
.esm-page address { font-style:normal; margin:0; }
.esm-page .esm-caption { font-size:.82rem; margin-top:.75rem; color:inherit; }
.esm-page .esm-table-wrap { max-width:100%; overflow-x:auto; }
.esm-page table { width:100%; border-collapse:collapse; font-size:.9rem; color:inherit; }
.esm-page caption { caption-side:top; text-align:left; font-weight:600; color:inherit; padding:0 0 .6rem; }
.esm-page th, .esm-page td { padding:.75rem .6rem; border-bottom:1px solid var(--bs-border-color); vertical-align:top; white-space:normal; }
.esm-page th { text-align:left; font-weight:650; color:var(--bs-heading-color,var(--bs-body-color)); background:var(--bs-tertiary-bg,var(--bs-body-bg)); }
.esm-page .esm-steps { list-style:none; counter-reset:esm-step; padding:0; }
.esm-page .esm-steps li { position:relative; padding:0 0 1.2rem 2.8rem; counter-increment:esm-step; }
.esm-page .esm-steps li::before { content:counter(esm-step,decimal-leading-zero); position:absolute; left:0; top:0; font-weight:700; font-size:.8rem; border-bottom:2px solid var(--bs-primary); padding-bottom:.3rem; }
.esm-page .esm-footer { border-top:1px solid var(--bs-border-color); padding-top:1rem; margin-top:2rem; font-size:.82rem; color:inherit; }
@media (max-width:420px) { .esm-page .esm-date, .esm-page .esm-detail { grid-template-columns:1fr; gap:.2rem; } .esm-page .esm-date dd { text-align:left; } .esm-page .esm-card { padding:1rem; } }
/* Default groups use typography and whitespace. Framed panels are an explicit choice. */
.esm-page :is(.card,.esm-card):not(.esm-framed):not(.ec-site-card) { background:transparent; border:0; border-radius:0; box-shadow:none !important; padding:0; }
.esm-page .card:not(.esm-framed):not(.ec-site-card) > .card-body { padding:0; }
.esm-page .card-header, .esm-page .bg-primary-subtle { background:transparent !important; border:0; padding:0 0 .75rem !important; }
.esm-page :is(.card-header,.bg-primary-subtle) :is(h2,h3,h4,h5,h6,strong) { text-align:left; }
.esm-page .esm-framed:not(.ec-site-card) { padding:1.25rem; border:1px solid var(--bs-border-color); border-radius:var(--bs-border-radius-lg,.75rem); background:var(--bs-tertiary-bg); }
.esm-page .accordion { --bs-accordion-bg:transparent; --bs-accordion-border-width:0; --bs-accordion-btn-focus-box-shadow:none; border:0; border-radius:0; }
.esm-page .accordion .accordion-item { background:transparent; border:0; border-bottom:1px solid var(--bs-border-color); border-radius:0; }
.esm-page .accordion .accordion-header { margin:0; }
.esm-page .accordion .accordion-button, .esm-page .accordion .accordion-button:not(.collapsed) { background:transparent !important; color:var(--bs-heading-color,var(--esm-text,var(--bs-body-color))) !important; border:0; border-radius:0; padding:1rem 0; font-size:1rem; line-height:1.45; font-weight:600; box-shadow:none; gap:1rem; }
.esm-page .accordion .accordion-button:hover { color:var(--bs-heading-color,var(--bs-body-color)); text-decoration:underline; text-underline-offset:.2em; }
.esm-page .accordion .accordion-button::after { width:.95rem; height:.95rem; flex-shrink:0; }
.esm-page .accordion .accordion-body { padding:0 2rem 1.1rem 0; color:var(--esm-text,var(--bs-body-color)); }
@media print {
 .esm-page { --esm-text:#111; --bs-body-color:#111; --bs-heading-color:#111; --bs-secondary-color:#444; --bs-body-bg:#fff; --bs-tertiary-bg:#fff; --bs-border-color:#bbb; --bs-primary:#333; max-width:none; margin:0; font-size:10pt; line-height:1.45; color:#111 !important; background:#fff !important; opacity:1 !important; animation:none !important; transform:none !important; }
 .esm-page .doc-reveal { opacity:1 !important; animation:none !important; transform:none !important; }
 .esm-page *, .esm-page *::before, .esm-page *::after { transition:none !important; }
 .esm-page h1 { font-size:22pt; } .esm-page h2 { font-size:13pt; } .esm-page h3 { font-size:10pt; }
 .esm-page .esm-header { padding:0 0 12pt; margin-bottom:14pt; border-top:0; }
 .esm-page .esm-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:14pt; margin-bottom:0; align-items:start; break-inside:avoid; }
 .esm-page .esm-grid > .esm-section, .esm-page .esm-section { margin-bottom:14pt; }
 .esm-page .esm-card { padding:10pt; border-radius:0; }
 .esm-page .esm-note-information, .esm-page .esm-note-requirement, .esm-page .esm-note-warning { border-left-color:#333; }
 .esm-page .esm-detail { break-inside:avoid; }
 .esm-page .esm-card, .esm-page .esm-note, .esm-page .esm-date, .esm-page tr, .esm-page .esm-steps li { break-inside:avoid; page-break-inside:avoid; }
 .esm-page h1, .esm-page h2, .esm-page h3 { break-after:avoid; page-break-after:avoid; }
 .esm-page p, .esm-page li { orphans:3; widows:3; }
 .esm-page .esm-table-wrap { overflow:visible; } .esm-page thead { display:table-header-group; }
 .esm-page a { color:#111 !important; } .esm-page a[href^="http"]::after { content:" (" attr(href) ")"; font-size:8pt; }
 .esm-page .esm-screen-only { display:none !important; }
 .esm-page .esm-faq-item { break-inside:avoid; }
 .esm-page .esm-faq-item::details-content { display:block !important; content-visibility:visible !important; }
 .esm-page .esm-faq-item > .esm-faq-answer { display:block !important; }
 .esm-page .esm-faq-question { list-style:none; cursor:default; }
 .esm-page .esm-faq-question::marker { content:""; }
 .esm-page .esm-hero, .esm-page .card:not(.ec-site-card), .esm-page .accordion-item { background:#fff !important; color:#111 !important; box-shadow:none !important; }
 .esm-page .collapse { display:block !important; height:auto !important; }
 .esm-page .btn { color:#111 !important; background:#fff !important; border:1px solid #bbb; }
}
/* The next panel overlaps; later sections keep their normal flow and page width. */
[data-ec-overlap-panel]{position:relative;z-index:2;margin-top:calc(-1 * var(--ec-panel-overlap))!important}
[data-ec-overlap-panel="subtle"]{--ec-panel-overlap:64px}
[data-ec-overlap-panel="deep"]{--ec-panel-overlap:112px}
.esm-page [data-esm-component="hero"][data-ec-hero-overlap="subtle"]{padding-bottom:max(6rem,96px)!important}
.esm-page [data-esm-component="hero"][data-ec-hero-overlap="deep"]{padding-bottom:max(9rem,144px)!important}
@media(max-width:767px){[data-ec-overlap-panel]{--ec-panel-overlap:24px}.esm-page [data-esm-component="hero"][data-ec-hero-overlap]:not([data-ec-hero-overlap="none"]){padding-bottom:4rem!important}}
@media print{[data-ec-overlap-panel]{margin-top:0!important}}

.esm-page [data-esm-component="logo"]{display:flex;justify-content:center;background:transparent!important}
.esm-page [data-esm-component="logo"][hidden],.esm-page [data-ec-logo][hidden]{display:none!important}
.esm-page .ec-brand-logo{width:fit-content;box-sizing:border-box;flex-shrink:0;max-width:100%;padding:12px;border-radius:16px;line-height:0;background:#fff;align-self:center}
.esm-page .ec-brand-logo img{display:block;width:var(--ec-logo-width,160px);max-width:100%;height:auto;object-fit:contain;filter:none!important}
.esm-page [data-ec-logo-surface="transparent"]{padding:0;background:transparent}
.esm-page [data-ec-logo-surface="dark"]{background:#17191c}
.esm-page [data-ec-logo-surface="theme"]{background:var(--bs-body-bg);border:1px solid var(--bs-border-color)}
.esm-page .ec-hero-brand-above>.ec-brand-logo{margin:0 auto 1.5rem}
.esm-page .ec-hero-brand-split{display:flex;align-items:center;justify-content:center;width:100%;max-width:1000px;margin-inline:auto;gap:clamp(1.5rem,3.5vw,3rem)}
.esm-page .ec-hero-brand-copy{min-width:0;flex:1 1 0;width:auto;max-width:100%}
.esm-page [data-ec-brand-side="beside-right"]>.ec-brand-logo{order:2}
@media(max-width:767px){.esm-page .ec-hero-brand-split{flex-direction:column;width:100%;gap:1.5rem}.esm-page .ec-hero-brand-copy{flex:0 1 auto;width:100%}.esm-page [data-ec-brand-side="beside-right"]>.ec-brand-logo{order:0}.esm-page .ec-brand-logo img{max-height:132px;width:auto;max-width:min(100%,var(--ec-logo-width,160px))}}
.esm-page [data-ec-logo-editor]:has([data-ec-logo][hidden])::after{content:"Show logo: choose a logo in settings";font-size:.875rem;color:var(--bs-secondary-color);line-height:1.4}
.esm-page .ec-hero-brand-above [data-ec-field="text"]{margin-inline:auto}

.esm-page .ec-hero-brand-above>.ec-brand-logo{width:fit-content!important;margin-inline:auto!important}
.esm-page .ec-hero-brand-above>.ec-brand-logo img{margin-inline:auto}
.esm-page .ec-block-enter{animation:ec-block-arrival .55s cubic-bezier(.22,1,.36,1) both;animation-delay:var(--ec-arrival-delay,0ms)}
@keyframes ec-block-arrival{from{opacity:1;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}
@media(prefers-reduced-motion:reduce){.esm-page .ec-block-enter{animation:none!important}}
@media print{.esm-page .ec-block-enter{animation:none!important;opacity:1!important;transform:none!important}}

/* Portal and every Hub canvas/preview share these authored controls. */
.esm-page .btn{min-height:44px;display:inline-flex;align-items:center;justify-content:center;gap:8px;border-radius:8px;font-size:14px;line-height:1.5;padding:10px 16px}
.esm-page :is(.card,.ec-image-card,.ec-onboarding-panel){border-radius:12px;box-shadow:none!important}
.esm-page .ec-site-card{border:1px solid var(--bs-border-color);border-radius:12px;background:var(--bs-body-bg);color:var(--bs-emphasis-color);text-decoration:none;transition:background-color 160ms ease,border-color 160ms ease}
.esm-page .ec-site-card:hover{background:var(--bs-tertiary-bg);transform:none;box-shadow:none}
.esm-page .ec-site-card :is(.btn-round,.ec-card-arrow){width:44px;height:44px;min-width:44px;min-height:44px;padding:0;color:var(--bs-primary);background:color-mix(in srgb,var(--bs-primary) 12%,transparent)}
.esm-page .ec-site-card:is(:hover,:focus-visible) :is(.btn-round,.ec-card-arrow){color:var(--esm-primary-ink,#111);background:var(--bs-primary)}
.esm-page .ec-service-card:hover{transform:none;box-shadow:none}
.esm-page :is(a,button,input,select,textarea,summary):focus-visible{outline:2px solid var(--bs-primary);outline-offset:3px}
.esm-page .ec-block-enter{animation:ec-block-arrival 220ms ease both;animation-delay:0ms}
@keyframes ec-block-arrival{from{opacity:.3}to{opacity:1}}
.hub-home-hero .ec-hero-content{animation:none!important}
@media(prefers-reduced-motion:reduce){.esm-page .ec-block-enter{animation:none!important}.esm-page .ec-site-card{transition:none}}

/* Reserve guided logo space before decode; late media must not move hero copy. */
.esm-page [data-ec-logo][data-ec-logo-reserved]{--ec-logo-max-width:260px;--ec-logo-max-height:132px;display:flex;align-items:center;justify-content:center;width:min(100%,calc(var(--ec-logo-max-width) + 24px))!important;height:calc(var(--ec-logo-max-height) + 24px);flex-shrink:0}
.esm-page [data-ec-logo-size="compact"][data-ec-logo-reserved]{--ec-logo-max-width:160px;--ec-logo-max-height:80px}
.esm-page [data-ec-logo-size="feature"][data-ec-logo-reserved]{--ec-logo-max-width:360px;--ec-logo-max-height:180px}
.esm-page [data-ec-logo-reserved] img{width:100%!important;max-width:100%!important;height:100%;max-height:100%;object-fit:contain;visibility:visible}
.esm-page [data-ec-logo-reserved][data-ec-logo-ready="true"] img{visibility:visible}
