/* Shared action language: corporate pages keep their own layouts and photography. */
:root { --lf-accent:#174777; --lf-accent-soft:#f1f5f9; --lf-focus:#174777; }
.lf-accent { color:var(--lf-accent); font-style:normal; }
a:focus-visible,button:focus-visible,summary:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible { outline:2px solid var(--lf-focus); outline-offset:4px; }
:is(.lf-link,.tp-link,.sv-link,.sd-link,.st-link,.co-link,.text-link,.student-support-link) { text-decoration-line:underline; text-decoration-thickness:1px; text-underline-offset:7px; text-decoration-color:#888; transition:color .2s ease,text-decoration-color .2s ease,border-color .2s ease; }
:is(.lf-link,.tp-link,.sv-link,.sd-link,.st-link,.co-link,.text-link,.student-support-link):hover { color:var(--lf-accent); text-decoration-color:var(--lf-accent); }
a:is(.lf-link,.tp-link,.sv-link,.sd-link,.st-link,.co-link,.text-link) { min-height:44px; display:inline-flex; align-items:center; justify-content:flex-start; gap:0; }
:is(.lf-link,.tp-link,.sv-link,.sd-link,.st-link,.co-link,.text-link)::after { content:none; }
a:is(.btn,.st-button),button.btn { transition:background-color .2s ease,color .2s ease,border-color .2s ease; }
a:is(.btn,.st-button):hover,button.btn:hover { background:var(--lf-accent); color:#fff; border-color:var(--lf-accent); }
body[data-editorial-unified] a:is(.tp-service,.sv-service,.lf-journal-feature,.tp-feature,.tp-audience > a) { transition:background-color .2s ease; }
a:is(.tp-service,.sv-service,.lf-journal-feature,.tp-feature):hover { background:#f7f8fa; }
a:is(.tp-service,.sv-service) h3,a:is(.lf-journal-feature,.tp-feature) h3,.vb-article h3 a,.article-related a { text-decoration:underline; text-decoration-thickness:1px; text-underline-offset:5px; text-decoration-color:#b8b8b8; }
.tp-service-static h3,.sv-service-static h3 { text-decoration:none; }
body[data-editorial-unified] .lf-hero-actions .ui-primary { min-height:46px; padding:10px 22px; border:1px solid var(--lf-accent); background:var(--lf-accent); color:#fff; text-decoration:none; width:auto; }
body[data-editorial-unified] .lf-hero-actions .ui-primary:hover { background:#102f50; border-color:#102f50; }
.ceo-article .article-records strong { color:var(--lf-accent); }
/* Existing standalone project brands retain their color systems and forms. */
.lifinity-base-project-content a { text-decoration:underline; text-underline-offset:5px; text-decoration-thickness:1px; }
body[data-editorial-unified] .vb-feed-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:32px 22px; }
body[data-editorial-unified] .vb-feed-grid .vb-article-photo { width:100%; height:auto; aspect-ratio:16/10; }
body[data-editorial-unified] .vb-feed-grid .vb-article-photo img { width:100%; height:100%; object-fit:cover; }
body[data-editorial-unified] .vb-feed-grid .vb-portrait-frame img { width:auto; aspect-ratio:4/5; }
body[data-editorial-unified] #article-list { scroll-margin-top:96px; }
body[data-editorial-unified] .vb-pagination { display:flex; flex-wrap:wrap; align-items:center; justify-content:center; gap:8px; padding:32px 0 0; }
body[data-editorial-unified] .vb-pagination :is(a,button,span) { display:inline-flex; align-items:center; justify-content:center; min-width:44px; height:44px; padding:0 12px; border:1px solid #aaa; background:#fff; color:#333; font:400 12px/1.5 var(--lf-sans); text-decoration:none; }
body[data-editorial-unified] .vb-pagination [aria-current="page"] { background:#111; color:#fff; border-color:#111; }
body[data-editorial-unified] .vb-pagination button:disabled { color:#999; border-color:#ddd; background:#fafafa; cursor:default; }
body[data-editorial-unified] .vb-pagination a:hover { border-color:var(--lf-accent); color:var(--lf-accent); background:var(--lf-accent-soft); }
body[data-editorial-unified] .vb-pagination [aria-hidden] { min-width:18px; padding:0; border:0; }
body[data-editorial-unified] .vb-magazine [hidden] { display:none!important; }
/* Students see the actual fields of work before philosophy. */
body[data-page="students"] .st-activity-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:34px 36px; }
body[data-page="students"] .st-activity { min-width:0; border-bottom:1px solid #ccc; padding-bottom:24px; }
body[data-page="students"] .st-activity figure { margin:0 0 18px; }
body[data-page="students"] .st-activity img { display:block; width:100%; height:auto; aspect-ratio:16/9; max-height:240px; object-fit:cover; object-position:center 20%; }
body[data-page="students"] .st-activity figcaption { color:#777; font-size:9px; text-align:right; margin-top:5px; }
body[data-page="students"] .st-activity-number { color:var(--lf-accent); font:500 11px/1.8 var(--st-sans); letter-spacing:.08em; margin:0 0 8px; }
body[data-page="students"] .st-activity h3 { font:600 22px/1.8 var(--st-sans); margin:0 0 12px; }
body[data-page="students"] .st-activity > div > p:last-child { font-size:14px; line-height:2; margin:0; }
body[data-page="students"] .st-activity-note { color:#666; font-size:11px; line-height:1.9; margin-top:20px; }
body[data-page="students"] .st-inline-apply { display:flex; align-items:center; justify-content:space-between; gap:22px; margin-top:30px; padding:22px 0; border-top:1px solid #ccc; }
body[data-page="students"] .st-inline-apply p { font-size:14px; }
body[data-page="students"] .st-inline-apply .st-button { min-width:190px; min-height:46px; padding:10px 20px; font-size:12px; }
body[data-page="students"] .st-outcomes { gap:30px; }
body[data-page="students"] .st-outcome { border:1px solid #ccc; border-top:2px solid var(--lf-accent); padding:28px; }
body[data-page="students"] .st-story-quote { border-left:2px solid var(--lf-accent); margin:0 0 24px; padding:0 0 0 18px; }
body[data-page="students"] .st-story-quote p { font:500 18px/1.9 var(--font-heading); margin:0 0 8px; }
body[data-page="students"] .st-story-quote cite { font:400 9px/1.8 var(--st-sans); color:#777; }
body[data-page="students"] .st-before-join { max-width:760px; margin:28px 0; border-top:1px solid #bbb; }
body[data-page="students"] .st-before-join h3 { margin:22px 0 16px; font:600 19px/1.8 var(--st-sans); }
body[data-page="students"] .st-before-join dl > div { display:grid; grid-template-columns:135px minmax(0,1fr); gap:20px; padding:16px 0; border-bottom:1px solid #ddd; font:400 13px/2 var(--st-sans); }
body[data-page="students"] .st-before-join dt { font-weight:600; }
body[data-page="students"] .st-before-join dd { margin:0; }
@media(max-width:1199px) { body[data-editorial-unified] .vb-feed-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media(max-width:899px) { body[data-editorial-unified] .vb-feed-grid { grid-template-columns:repeat(3,minmax(0,1fr)); } }
@media(max-width:699px) {
 body[data-editorial-unified] .vb-feed-grid { grid-template-columns:minmax(0,1fr); gap:28px; }
 body[data-page="students"] .lf-hero .lf-service-logo,body[data-page="students"] .st-hero-brand { display:none; }
 body[data-page="students"] .lf-hero .lf-breadcrumb { margin-bottom:16px; }
 body[data-page="students"] .lf-hero .lf-eyebrow { margin-bottom:16px; }
 body[data-page="students"] .lf-hero h1 { line-height:1.5; margin-bottom:20px; }
 body[data-page="students"] .lf-hero-copy p { margin-bottom:14px; font-size:14px; line-height:1.9; }
 body[data-page="students"] .lf-hero-actions { gap:14px; margin-top:20px; }
 body[data-page="students"] .lf-hero-actions .lf-link { width:100%; }
 body[data-page="students"] .lf-hero-actions .ui-primary { justify-content:center; }
 body[data-page="students"] .lf-hero-photo > img { max-height:210px; }
 body[data-page="students"] .st-activity-grid { grid-template-columns:minmax(0,1fr); gap:28px; }
 body[data-page="students"] .st-activity img { max-height:200px; }
 body[data-page="students"] .st-activity h3 { font-size:20px; }
 body[data-page="students"] .st-inline-apply { align-items:flex-start; flex-direction:column; gap:14px; padding:20px 0; }
 body[data-page="students"] .st-inline-apply .st-button { width:100%; min-height:46px; justify-content:center; }
 body[data-page="students"] .st-outcome { padding:22px; }
 body[data-page="students"] .st-before-join dl > div { grid-template-columns:minmax(0,1fr); gap:5px; padding:14px 0; }
}
@media(prefers-reduced-motion:reduce) { a,button { scroll-behavior:auto; transition:none!important; } }
/* Flow connectors have diagram meaning, rather than a link-arrow affordance. */
body[data-editorial-unified] .vb-ecosystem > :not(:last-child)::after { content:""; width:16px; height:0; border-top:1px solid #aaa; }
@media(max-width:699px) { body[data-editorial-unified] .vb-ecosystem > :not(:last-child)::after { content:""; width:0; height:16px; border-top:0; border-left:1px solid #aaa; left:47px; top:auto; bottom:-9px; } }
body[data-editorial-unified] :is(.lf-link,.tp-link,.sv-link,.sd-link,.st-link,.co-link,.text-link):not(.ui-primary),
body :is(.text-link,.student-support-link) { border-bottom:0; }
aside.lifinity-base-project .lifinity-base-project-content a { text-decoration:underline; text-underline-offset:5px; }
body[data-editorial-unified] :is(.lf-link,.tp-link,.sv-link,.sd-link,.st-link,.co-text-link,.text-link):hover { color:var(--lf-accent); text-decoration-color:var(--lf-accent); }
body[data-editorial-unified] a:is(.btn,.st-button,.co-button):hover,body[data-editorial-unified] button.btn:hover { background:var(--lf-accent); color:#fff; border-color:var(--lf-accent); }
body[data-editorial-unified] .co-text-link { min-height:44px; display:inline-flex; align-items:center; text-decoration:underline; text-underline-offset:7px; border-bottom:0; }
.lf-breadcrumb a,main :is(p,dd,li) > a:not([class]) { text-decoration:underline; text-decoration-thickness:1px; text-underline-offset:4px; }
body[data-editorial-unified] #vb-stories-title { width:fit-content; max-width:100%; }
body[data-editorial-unified] #vb-stories-title:focus-visible { outline:2px solid var(--lf-focus); outline-offset:5px; }
