/* Public entry page. The search stays first; editorial content explains the product. */
body.portal-home { background: #fff; }
body.portal-home .workspace { padding: 0; }
#homeView { --home-muted: #526975; --home-line: #dbe5e8; color: var(--ink, #172326); }
#homeView .home-section { width: min(1120px, calc(100% - 64px)); margin-inline: auto; }
#homeView .home-eyebrow { margin: 0 0 12px; color: var(--cadet-dark, #0f7480); font-size: 12px; font-weight: 900; line-height: 1.5; letter-spacing: .1em; }
#homeView h2 { margin: 0; color: var(--cadet-deep, #082f49); font-size: clamp(28px, 2.8vw, 38px); font-weight: 900; line-height: 1.14; letter-spacing: -.025em; }
#homeView h3 { color: var(--cadet-deep, #082f49); font-size: calc(20px * var(--euvimed-font-scale, 1)); line-height: 1.25; }
#homeView p { text-wrap: pretty; }
#homeView .portal-hero { min-height: 0; padding: 0; background: radial-gradient(ellipse at 98% 15%, color-mix(in srgb, var(--cadet, #159aa6) 33%, transparent), transparent 65%), var(--cadet-deep, #082f49); border: 0; }
#homeView .portal-hero::before { height: 3px; background: linear-gradient(90deg, var(--cadet, #159aa6) 0 88%, #f0b351 88%); }
#homeView .portal-hero::after { opacity: .07; background-size: 140px 140px, 280px 280px, 280px 280px; }
#homeView .portal-hero-copy { width: min(1120px, calc(100% - 64px)); margin: 0 auto; padding: 50px 0 33px; }
.home-hero-intro { display: grid; grid-template-columns: minmax(0, 1fr) 280px; gap: 36px; align-items: center; }
#homeView .portal-hero-brand { gap: 13px; margin: 0 0 27px; }
#homeView .portal-hero-brand > span { width: 54px; height: 54px; border-radius: 3px; box-shadow: none; }
#homeView .portal-hero-brand img { width: 48px; height: 48px; }
#homeView .portal-hero-brand > strong { font-size: 39px; letter-spacing: -.025em; }
#homeView .portal-hero-brand small { margin-top: 7px; font-size: 10px; letter-spacing: .12em; }
#homeView .portal-hero .home-eyebrow { color: #8ddedc; }
#homeView .portal-hero h1 { max-width: 770px; margin: 0; color: #fff; font-size: clamp(36px, 4vw, 50px); font-weight: 900; line-height: 1.1; letter-spacing: -.025em; text-wrap: balance; }
#homeView .home-hero-description { max-width: 725px; margin: 19px 0 0; color: #d2e5e9; font-size: calc(17px * var(--euvimed-font-scale, 1)); line-height: 1.6; }
.home-evidence-art { position: relative; width: 280px; height: 280px; color: #9bddd9; }
.home-evidence-art svg { width: 100%; height: 100%; }
.home-evidence-art > img { position: absolute; width: 62px; height: 62px; object-fit: contain; top: 50%; left: 50%; transform: translate(-50%, -50%); }
.home-art-label { position: absolute; min-width: 80px; padding: 7px 11px; border: 1px solid #4d8395; border-radius: 3px; color: #e8f6f6; background: #123f54; font-size: 12px; font-weight: 700; text-align: center; }
.home-art-label-one { top: 43px; right: 8px; }
.home-art-label-two { left: -15px; top: 92px; }
.home-art-label-three { bottom: 37px; right: 3px; }
#homeView .portal-search-wrap { max-width: none; margin: 28px 0 0; }
#homeView .portal-search { min-height: 70px; grid-template-columns: 28px minmax(0, 1fr) auto; gap: 10px; padding: 5px 6px 5px 20px; border: 1px solid #c0dddd; border-radius: 3px; box-shadow: 0 7px 24px #041d2c33; }
#homeView .portal-search:focus-within { outline: 3px solid #83d9db; outline-offset: 3px; box-shadow: none; }
#homeView .portal-search input { height: 56px; font-size: calc(18px * var(--euvimed-font-scale, 1)); }
#homeView .portal-search > i { color: var(--cadet-dark, #0f7480); font-size: 23px; }
#homeView .portal-search button { height: 56px; min-width: 155px; background: var(--cadet-dark, #0f7480); border-radius: 2px; font-size: calc(17px * var(--euvimed-font-scale, 1)); }
#homeView .portal-search button:hover { background: var(--cadet-deep, #082f49); }
.home-search-meta { display: flex; align-items: center; justify-content: space-between; gap: 10px 24px; flex-wrap: wrap; }
#homeView .portal-search-links { gap: 18px; margin-top: 8px; }
#homeView .portal-search-links :is(a,button) { min-height: 40px; font-size: 13px; font-weight: 700; }
.home-example-links { display: flex; align-items: center; flex-wrap: wrap; gap: 5px 14px; margin-top: 8px; font-size: 12px; }
.home-example-links > span { color: #a8c7d1; }
.home-example-links a { color: #e4f4f4; text-decoration-color: #5c99a5; text-underline-offset: 4px; padding-block: 7px; }
#homeView .portal-topics { justify-content: flex-start; margin-top: 10px; }
#homeView .home-sources { padding-block: 38px 30px; border-bottom: 1px solid var(--home-line); }
.home-section-heading { display: flex; align-items: flex-end; justify-content: space-between; gap: 30px; }
#homeView .home-sources h2 { font-size: 25px; }
#homeView .home-section-copy { max-width: 790px; margin: 14px 0 22px; color: var(--home-muted); font-size: calc(15px * var(--euvimed-font-scale, 1)); line-height: 1.6; }
.home-source-grid { display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 3px; }
.home-source-grid a { display: flex; align-items: center; justify-content: center; gap: 10px; min-width: 0; min-height: 66px; padding: 10px 9px; border: 1px solid var(--home-line); border-radius: 3px; color: var(--cadet-deep, #082f49); background: #f9fbfb; text-decoration: none; }
.home-source-grid i { color: var(--cadet-dark, #0f7480); font-size: 19px; }
.home-source-grid strong { font-size: 17px; white-space: nowrap; }
.home-source-grid a:hover { background: var(--cadet-soft, #ddf3f4); border-color: var(--cadet, #159aa6); }
#homeView .home-caption { margin: 13px 0 0; font-size: 12px; color: #647c87; }
#homeView .home-text-link { display: inline-flex; align-items: center; justify-content: flex-start; gap: 9px; min-height: 40px; color: var(--cadet-dark, #0f7480); font-size: 14px; line-height: 1.4; font-weight: 800; text-decoration: none; }
#homeView .home-text-link:hover { text-decoration: underline; text-underline-offset: 4px; }
#homeView .home-workflow { padding-block: 64px; }
.home-section-heading > p { max-width: 440px; margin: 0; color: var(--home-muted); font-size: calc(16px * var(--euvimed-font-scale, 1)); line-height: 1.6; }
.home-step-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 3px; margin-block: 32px 18px; counter-reset: workflow; }
.home-step-grid article { position: relative; min-width: 0; padding: 26px 25px; border: 1px solid var(--home-line); border-radius: 3px; background: #fff; counter-increment: workflow; }
.home-step-grid article::after { position: absolute; top: 19px; right: 21px; content: '0' counter(workflow); color: #d2e0e3; font-size: 34px; font-weight: 900; }
.home-step-icon { width: 45px; height: 45px; display: grid; place-items: center; color: var(--cadet-dark, #0f7480); background: var(--cadet-soft, #ddf3f4); border-radius: 3px; font-size: 21px; }
.home-step-grid h3 { margin: 22px 0 9px; }
.home-step-grid p { margin: 0; color: var(--home-muted); font-size: calc(15px * var(--euvimed-font-scale, 1)); line-height: 1.65; }
.home-suite-band { background: var(--cadet-deep, #082f49); color: #fff; }
#homeView .home-suite-inner { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 75px; align-items: center; padding-block: 64px; }
#homeView .home-suite-copy .home-eyebrow { color: #8ddedc; }
#homeView .home-suite-copy h2 { color: #fff; text-wrap: balance; }
.home-suite-copy > p:not(.home-eyebrow) { margin: 21px 0 27px; color: #cbdee3; font-size: calc(16px * var(--euvimed-font-scale, 1)); line-height: 1.65; }
.home-suite-list { display: grid; gap: 3px; }
.home-suite-list > a { display: grid; grid-template-columns: 48px minmax(0, 1fr) 18px; align-items: center; gap: 17px; padding: 20px 18px; border: 1px solid #45677a; border-radius: 3px; color: #fff; text-decoration: none; background: #ffffff06; transition: background .15s ease, border-color .15s ease; }
.home-suite-list > a:hover { background: #ffffff10; border-color: #8cd5d4; }
.home-app-icon { width: 48px; height: 48px; display: grid; place-items: center; border-radius: 3px; background: #d8efef; color: #16506a; font-size: 25px; }
.home-app-clara { color: #6a496e; background: #eee5f2; }
.home-app-twins { color: #3f6958; background: #e0eee8; }
.home-app-learning { color: #845c21; background: #f7ebd6; }
.home-suite-list strong { display: block; font-size: 19px; }
.home-suite-list small { display: block; margin-top: 4px; color: #c4dbe2; font-size: 14px; line-height: 1.4; }
#homeView .home-button { display: inline-flex; align-items: center; justify-content: center; gap: 13px; min-height: 48px; padding: 12px 19px; border: 1px solid var(--cadet-deep, #082f49); border-radius: 3px; color: #fff; background: var(--cadet-deep, #082f49); font-size: 15px; font-weight: 800; line-height: 1.4; text-decoration: none; }
#homeView .home-button:hover { background: var(--cadet-dark, #0f7480); }
#homeView .home-button-light { color: var(--cadet-deep, #082f49); background: #fff; border-color: #fff; }
#homeView .home-button-light:hover { background: #d9f1ef; }
#homeView .home-audience { padding-block: 64px 42px; }
.home-audience-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 3px; margin-top: 30px; }
.home-audience-grid > a { display: block; min-width: 0; padding: 31px; border: 1px solid var(--home-line); border-radius: 3px; background: #f5f9fa; text-decoration: none; }
.home-audience-grid > a + a { background: #f4f9f7; }
.home-audience-grid > a:hover { border-color: var(--cadet, #159aa6); }
.home-audience-grid > a > i { color: var(--cadet-dark, #0f7480); font-size: 30px; }
.home-audience-grid h3 { margin: 18px 0 10px; }
.home-audience-grid p { margin: 0 0 15px; color: var(--home-muted); font-size: calc(16px * var(--euvimed-font-scale, 1)); line-height: 1.65; }
#homeView .home-transparency { display: flex; align-items: center; gap: 20px; padding: 21px 24px; border: 1px solid #e5dac4; border-left: 3px solid #d9a746; border-radius: 3px; background: #fdfaf3; }
.home-transparency > i { flex: 0 0 auto; font-size: 26px; color: #967027; }
.home-transparency > div { flex: 1; }
#homeView .home-transparency h2 { font-size: 19px; }
.home-transparency p { margin: 5px 0 0; font-size: 14px; color: #665f4d; line-height: 1.6; }
#homeView .home-closing { display: flex; align-items: center; justify-content: space-between; gap: 28px; padding-block: 60px 68px; }
.home-closing p { margin: 12px 0 0; color: var(--home-muted); font-size: 17px; }
.home-closing > div:last-child { display: flex; align-items: center; gap: 20px; }
#homeView :is(a,button,input):focus-visible { outline: 3px solid var(--cadet, #159aa6); outline-offset: 3px; }
#homeView .portal-hero :is(a,button):focus-visible { outline-color: #95e1df; }
@media (max-width: 1050px) {
    .home-hero-intro { grid-template-columns: minmax(0, 1fr) 205px; gap: 22px; }
    .home-evidence-art { width: 205px; height: 230px; }
    .home-evidence-art > img { width: 48px; height: 48px; }
    .home-art-label { min-width: 65px; padding: 5px 7px; font-size: 10px; }
    .home-art-label-two { left: -12px; top: 75px; }
    .home-art-label-one { top: 31px; }
    .home-art-label-three { bottom: 28px; }
    .home-source-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
    #homeView .home-suite-inner { gap: 35px; }
    .home-closing > div:last-child { align-items: flex-start; flex-direction: column; gap: 5px; }
}
@media (max-width: 760px) {
    #homeView .home-section, #homeView .portal-hero-copy { width: calc(100% - 32px); }
    #homeView .portal-hero-copy { padding-block: 34px 26px; }
    .home-hero-intro { display: block; }
    .home-evidence-art { display: none; }
    #homeView .portal-hero-brand { margin-bottom: 25px; }
    #homeView .portal-hero h1 { font-size: clamp(34px, 6.8vw, 45px); text-wrap: pretty; }
    #homeView .home-hero-description { font-size: 17px; }
    #homeView .portal-search { grid-template-columns: 25px minmax(0, 1fr) auto; padding-left: 12px; gap: 5px; }
    #homeView .portal-search input { font-size: 16px; height: 49px; }
    #homeView .portal-search button { grid-column: auto; min-width: 92px; width: auto; height: 49px; padding-inline: 13px; font-size: 15px; }
    #homeView .portal-search button > i { display: none; }
    .home-example-links { font-size: 12px; }
    .home-section-heading { align-items: flex-start; flex-direction: column; gap: 15px; }
    #homeView .home-workflow, #homeView .home-audience { padding-block: 42px; }
    .home-step-grid, .home-audience-grid { grid-template-columns: 1fr; }
    .home-step-grid article { padding: 23px; }
    #homeView .home-suite-inner { grid-template-columns: 1fr; gap: 28px; padding-block: 42px; }
    .home-source-grid a { gap: 7px; padding: 8px; }
    .home-source-grid strong { font-size: 14px; }
    .home-source-grid i { font-size: 17px; }
    .home-suite-list > a { padding: 15px; }
    .home-audience-grid > a { padding: 25px; }
    #homeView .home-transparency { flex-wrap: wrap; align-items: flex-start; padding: 18px; gap: 12px; }
    .home-transparency > div { flex-basis: calc(100% - 43px); }
    .home-transparency > a { margin-left: 39px; }
    #homeView .home-closing { align-items: flex-start; flex-direction: column; padding-block: 42px; }
}
@media (prefers-reduced-motion: reduce) { .home-suite-list > a { transition: none; } }
