.header { display:flex; align-items:center; flex-wrap:wrap; gap:var(--space-2); padding-block:var(--space-3); border-bottom:1px solid var(--line); }
.brand { text-decoration:none; font-size:var(--h3); font-weight:var(--bold); letter-spacing:var(--tracking); margin-right:auto; display:flex; align-items:center; gap:var(--space-1); }
.brand-mark { width:1.5rem; height:1.5rem; border:5px solid var(--accent); border-radius:var(--small-radius); transform:rotate(-12deg); }
.nav { display:flex; gap:var(--space-2); flex-wrap:wrap; width:100%; order:3; font-size:var(--small); }
.nav a { padding-block:var(--space-1); text-decoration:none; }
.nav a:hover,.nav a[aria-current=page] { text-decoration:underline; }
.languages { display:flex; gap:.25rem; }
.languages button { min-width:44px; min-height:44px; border:1px solid var(--line); border-radius:var(--small-radius); background:var(--surface); color:var(--text); cursor:pointer; font-size:var(--small); }
.languages button[aria-pressed=true] { background:var(--accent-soft); border-color:var(--accent); }
.hero { padding-block:var(--space-6); max-width:58rem; }
.eyebrow { color:var(--accent); font-size:var(--small); font-weight:var(--bold); margin-bottom:var(--space-3); }
.hero h1 span { color:var(--accent); }
.intro { color:var(--muted); max-width:39rem; margin-top:var(--space-3); font-size:var(--h3); line-height:1.5; }
.section-heading { display:flex; align-items:baseline; justify-content:space-between; gap:var(--space-2); flex-wrap:wrap; margin-bottom:var(--space-3); }
.section-heading p { color:var(--muted); }
.cards { display:grid; gap:var(--space-2); }
.card { display:flex; flex-direction:column; text-decoration:none; background:var(--surface); border:1px solid var(--line); border-radius:var(--radius); padding:var(--space-3); min-height:19rem; }
.card:hover { border-color:var(--accent); }
.card-top { display:flex; align-items:center; justify-content:flex-end; color:var(--accent); margin-bottom:var(--space-1); }
.card-logo-area { height:232px; display:flex; align-items:center; justify-content:center; margin-bottom:var(--space-3); }
.card-logo { display:block; width:100%; max-width:290px; height:auto; }
.card p { color:var(--muted); margin-top:var(--space-2); margin-bottom:var(--space-3); }
.card-link { color:var(--accent); font-weight:var(--medium); margin-top:auto; }
.footer { margin-top:var(--space-6); border-top:1px solid var(--line); padding-block:var(--space-4); display:flex; flex-wrap:wrap; justify-content:space-between; gap:var(--space-3); font-size:var(--small); color:var(--muted); }
.footer nav { display:flex; flex-wrap:wrap; gap:var(--space-3); }
.placeholder { min-height:55vh; }
.status { display:inline-block; background:var(--accent-soft); color:var(--accent); border-radius:var(--small-radius); padding:var(--space-1) var(--space-2); margin-top:var(--space-4); font-size:var(--small); font-weight:var(--medium); }
.project { border:1px solid var(--line); border-radius:var(--radius); padding:var(--space-3); max-width:42rem; margin-top:var(--space-4); }
.project p { margin-top:var(--space-2); color:var(--muted); }
.back { display:inline-block; margin-top:var(--space-4); }
@media(min-width:48rem) { .nav { width:auto; order:initial; } .cards { grid-template-columns:repeat(3,minmax(0,1fr)); } .card { padding:var(--space-3); } }

/* Phase 2 components; colors and type stay in tokens.css. */
.compact { padding-block:var(--space-5); }
.two-column { grid-template-columns:1fr; }
.entry-card { min-height:14rem; }
.section-block { margin-top:var(--space-5); }
.section-copy { color:var(--muted); margin-block:var(--space-3); max-width:48rem; }
.link-grid { list-style:none; padding:0; display:grid; gap:var(--space-2); margin-top:var(--space-3); }
.link-grid a { display:block; padding:var(--space-2); border:1px solid var(--line); border-radius:var(--small-radius); background:var(--surface); }
.reference-frame { width:100%; border:1px solid var(--line); border-radius:var(--small-radius); display:block; margin-top:var(--space-3); min-height:50rem; }
@media(min-width:48rem) { .two-column,.link-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } }

.brand-icon { flex: none; color: var(--accent); }

/* Startpage viewport photo and inline shield; shared pages retain their styling. */
body:has(.home-hero) { isolation:isolate; }
body:has(.home-hero)::before { content:""; position:fixed; inset:0; z-index:-1; pointer-events:none; background-image:linear-gradient(to bottom, var(--bg) 0%, var(--bg) 12%, transparent 85%), linear-gradient(to right, var(--bg) 0%, var(--bg) 35%, transparent 100%), url("/sigvora-assets/legacy/static/sigvora-entry-dawn.webp"); background-size:cover; background-position:right center; background-repeat:no-repeat; opacity:.47; }
.brand-shield path { stroke:var(--accent); }
.brand-shield text { fill:var(--text); }
@media(max-width:47.99rem) { body:has(.home-hero)::before { opacity:.29; background-position:right center; } }
@media(prefers-color-scheme:dark) { body:has(.home-hero)::before { opacity:.25; } }
@media(prefers-color-scheme:dark) and (max-width:47.99rem) { body:has(.home-hero)::before { opacity:.20; } }

/* Startpage geometry: shared content grid and an 8px spacing rhythm. */
.home-page { --space-section:56px; display:flex; flex-direction:column; min-height:100vh; }
.home-page .wrap { width:min(var(--max), calc(100% - 128px)); margin-left:max(24px, calc((100% - var(--max) - 80px) / 2)); margin-right:104px; }
.home-page .header { padding-block:16px; flex:none; }
.home-page main { flex:1; display:flex; flex-direction:column; justify-content:center; padding-block:var(--space-section); }
.home-hero { padding:0; max-width:58rem; margin-bottom:var(--space-section); }
.home-hero .eyebrow { margin-bottom:16px; }
.home-hero h1#hero-title { font-size:clamp(2.25rem, 4vw, 3.75rem); line-height:1.05; }
.home-hero p.intro { font-size:1.05rem; max-width:46rem; margin-top:16px; }
.home-page h2#areas-title { font-size:clamp(1.5rem, 2.4vw, 2rem); }
.home-page .section-heading { align-items:baseline; gap:16px; margin-bottom:24px; }
.home-page .cards { display:grid; width:100%; grid-template-columns:repeat(3,minmax(0,1fr)); gap:24px; align-items:end; }
.home-page .home-glass-card { background:transparent; border:0; box-shadow:none; backdrop-filter:none; padding:0; min-height:0; height:150px; border-radius:var(--small-radius); transition:transform .15s ease; }
.home-page .home-glass-card:hover,.home-page .home-glass-card:focus-visible { transform:translateY(-2px); }
.home-page .home-glass-card:focus-visible { outline:3px solid var(--focus); outline-offset:5px; }
.home-page .card-logo-area { height:150px; margin:0; display:flex; align-items:flex-end; justify-content:center; }
.home-page .home-glass-card:first-child .card-logo-area { justify-content:flex-start; }
.home-page .home-glass-card:last-child .card-logo-area { justify-content:flex-end; }
.home-page .card-logo { flex:none; height:150px; width:auto; max-width:100%; object-fit:contain; object-position:center bottom; }
.home-page .footer { flex:none; margin-top:0; padding-block:24px; gap:24px; }
.home-dock { position:fixed; z-index:20; right:16px; top:50%; transform:translateY(-50%); display:flex; flex-direction:column; gap:8px; width:60px; max-height:calc(100svh - 32px); }
.home-side-nav { display:flex; flex-direction:column; align-items:flex-end; gap:8px; min-height:0; }
.home-side-tab { display:flex; align-items:center; justify-content:center; width:100%; height:152px; min-height:0; padding:8px; border:1px solid var(--accent); border-radius:var(--small-radius); background:transparent; color:var(--text); text-decoration:none; box-shadow:none; backdrop-filter:none; }
.home-side-tab span { writing-mode:vertical-rl; transform:rotate(180deg); white-space:nowrap; font-size:var(--small); font-weight:var(--bold); }
.home-side-tab:hover { text-decoration:underline; }
.home-dock :focus-visible { outline:3px solid var(--focus); outline-offset:-4px; }
.home-languages { flex-direction:column; align-items:flex-end; gap:8px; }
.home-languages button { display:grid; place-items:center; width:100%; min-width:0; height:40px; min-height:40px; padding:8px; border:1px solid var(--accent); background:transparent; color:var(--text); box-shadow:none; backdrop-filter:none; }
.home-languages button[aria-pressed=true] { border:2px solid var(--accent); background:transparent; box-shadow:none; }
.home-languages svg { display:block; border-radius:3px; border:1px solid var(--line); }
@media(max-width:47.99rem) {
 .home-page .wrap { width:calc(100% - 96px); margin-left:16px; margin-right:80px; }
 .home-page .cards { grid-template-columns:1fr; }
 .home-page .home-glass-card .card-logo-area { justify-content:center; }
 .home-dock { width:48px; }
 .home-side-tab { height:128px; }
 .home-side-tab span { font-size:.7rem; }
}
@media(max-height:650px) { .home-side-tab { height:96px; } .home-side-tab span { font-size:.65rem; } .home-languages button { height:32px; min-height:32px; padding:0; } }
/* Temporary white silhouettes keep the navy PNG logos visible in dark mode. */
@media(prefers-color-scheme:dark) { .home-page .card-logo { filter:brightness(0) invert(1); } }
@media(prefers-reduced-motion:reduce) { .home-page .home-glass-card { transition:none; } }

/* Preview homepage layout; common components, scoped to this page. */
/* Retain the original ship, sky and sun photograph and its original treatment. */
body.home-layout-refresh::before { background-image:linear-gradient(to bottom, var(--bg) 0%, var(--bg) 12%, transparent 85%), linear-gradient(to right, var(--bg) 0%, var(--bg) 35%, transparent 100%), url("/sigvora-assets/legacy/ui-assets/sigvora-entry-dawn.webp"); background-size:cover; background-position:right center; background-repeat:no-repeat; opacity:.47; }
@media(max-width:47.99rem) { body.home-layout-refresh::before { opacity:.29; } }

body.home-layout-refresh main { display:block; flex:none; padding:0; }
body.home-layout-refresh main::before,body.home-layout-refresh main::after { display:none; }
body.home-layout-refresh .home-hero { max-width:none; padding:96px 0 72px; margin:0; text-align:center; }
body.home-layout-refresh .home-group-eyebrow { color:var(--home-layout-gold); text-transform:uppercase; letter-spacing:0.3em; font-size:0.8rem; margin:0 0 24px; }
body.home-layout-refresh .home-hero h1#hero-title { color:var(--text); }
body.home-layout-refresh .home-hero h1#hero-title em { color:var(--home-layout-gold); font-style:italic; }
body.home-layout-refresh .home-heading-ornament { display:flex; justify-content:center; align-items:center; gap:12px; height:6px; margin:24px 0; }
body.home-layout-refresh .home-heading-ornament span { width:60px; height:1px; background:var(--home-layout-gold); }
body.home-layout-refresh .home-heading-ornament i { display:block; width:6px; height:6px; background:var(--home-layout-gold); transform:rotate(45deg); }
body.home-layout-refresh .home-hero p.intro { max-width:560px; margin:0 auto; color:var(--home-layout-copy); }
body.home-layout-refresh .section-heading { display:none; }
body.home-layout-refresh .cards,body.home-layout-refresh .home-europe-principles { display:grid; width:100%; max-width:none; grid-template-columns:repeat(3,minmax(0,1fr)); gap:32px; align-items:stretch; margin:0; }
body.home-layout-refresh .cards .home-glass-card { height:auto; min-height:0; display:flex; flex-direction:column; align-items:center; background:var(--home-layout-glass); backdrop-filter:blur(8px); -webkit-backdrop-filter:blur(8px); border:1px solid var(--home-layout-card-line); border-top:2px solid var(--home-layout-gold); border-radius:4px; padding:40px 28px; text-align:center; transition:transform 0.3s,box-shadow 0.3s; }
body.home-layout-refresh .cards .home-glass-card:hover,body.home-layout-refresh .cards .home-glass-card:focus-visible { transform:translateY(-4px); box-shadow:var(--home-layout-shadow); }
body.home-layout-refresh .cards .home-glass-card .card-logo-area { width:80px; height:80px; flex:none; display:flex; justify-content:center; align-items:center; margin:0 auto; }
body.home-layout-refresh .cards .home-glass-card .card-logo { width:80px; height:80px; max-width:80px; object-fit:contain; object-position:center; }
body.home-layout-refresh .card-title { width:100%; margin:24px 0 0; text-align:center; }
body.home-layout-refresh .card-brand-name { color:var(--home-layout-gold); }
body.home-layout-refresh .cards .home-europe-description { color:var(--home-layout-copy); line-height:1.6; margin:16px 0 0; max-width:none; text-align:center; }
body.home-layout-refresh .home-values-divider { height:1px; background:var(--home-layout-gold); margin:72px 0 48px; }
body.home-layout-refresh .home-europe-principles { direction:ltr; }
body.home-layout-refresh .home-principle-number { display:block; color:var(--home-layout-gold); font-family:var(--font-heading); font-size:0.9rem; margin:0 0 12px; }
body.home-layout-refresh .home-europe-principles article { text-align:left; }
body.home-layout-refresh .home-europe-principles h2 { color:var(--text); margin:0 0 16px; }
body.home-layout-refresh .home-europe-principles p { color:var(--home-layout-copy); line-height:1.6; }
body.home-layout-refresh footer.footer { margin-top:96px; border-top:1px solid var(--home-layout-footer-line) !important; }
@media(max-width:899px) {
 body.home-layout-refresh .cards,body.home-layout-refresh .home-europe-principles { grid-template-columns:minmax(0,1fr); }
}
@media(prefers-reduced-motion:reduce) {
 body.home-layout-refresh .cards .home-glass-card { transition:none; }
 body.home-layout-refresh .cards .home-glass-card:hover,body.home-layout-refresh .cards .home-glass-card:focus-visible { transform:none; }
}
