/*! Svenskhet.se Pass 25.6 — Production Experience
 * Canonical runtime bundle. Source order is intentional and preserves the
 * sealed Pass 25.5.8.1 visual cascade without legacy network requests.
 */

/* ===== SOURCE: assets/css/public-experience.css ===== */
/* Svenskhet.se Pass 25 — National Public Experience */
:root {
    --experience-ink: #0a2426;
    --experience-ink-rgb: 10, 36, 38;
    --experience-paper: #f5f0e4;
    --experience-cream: #fffaf0;
    --experience-signal: #efb94f;
    --experience-red: #b54632;
    --experience-lake: #77aeb0;
    --experience-mist: #dbe9e5;
    --experience-shadow: 0 38px 110px rgba(5, 24, 26, .18);
    --experience-shadow-soft: 0 18px 60px rgba(5, 24, 26, .11);
    --experience-radius: clamp(22px, 2.4vw, 38px);
    --experience-grid: rgba(16, 43, 45, .075);
    --safe-bottom: env(safe-area-inset-bottom, 0px);
}

html {
    scroll-padding-top: calc(var(--header-height) + 34px);
}

body {
    min-width: 320px;
    overflow-x: clip;
    background:
        radial-gradient(circle at 8% 18%, rgba(109,149,153,.08), transparent 26rem),
        radial-gradient(circle at 92% 72%, rgba(214,179,94,.08), transparent 28rem),
        var(--paper);
}

body::before {
    content: "";
    position: fixed;
    z-index: -2;
    inset: 0;
    pointer-events: none;
    opacity: .3;
    background-image:
        linear-gradient(var(--experience-grid) 1px, transparent 1px),
        linear-gradient(90deg, var(--experience-grid) 1px, transparent 1px);
    background-size: 56px 56px;
    mask-image: linear-gradient(to bottom, transparent, #000 14%, #000 82%, transparent);
}

main {
    position: relative;
    isolation: isolate;
}

main > section,
main > article > section,
main > article > div {
    scroll-margin-top: calc(var(--header-height) + 28px);
}

.experience-ready body {
    --experience-enter-opacity: 0;
}

.experience-ready body.experience-entered {
    --experience-enter-opacity: 1;
}

.site-progress {
    position: fixed;
    z-index: 3000;
    inset: 0 0 auto;
    height: 3px;
    pointer-events: none;
    transform: scaleX(var(--progress, 0));
    transform-origin: left;
    background: linear-gradient(90deg, var(--falu), var(--gold), var(--lake));
    box-shadow: 0 0 18px rgba(214,179,94,.55);
}

/* Header */
.site-header {
    background: rgba(250,248,241,.86);
    transition: min-height .25s ease, box-shadow .25s ease, background .25s ease;
}

.site-header::after {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    bottom: -1px;
    height: 1px;
    background: linear-gradient(90deg, transparent, rgba(166,63,47,.48), rgba(214,179,94,.52), transparent);
    transform: scaleX(.72);
    opacity: .7;
}

.site-header.is-condensed {
    background: rgba(250,248,241,.95);
    box-shadow: 0 12px 38px rgba(7,29,31,.09);
}

.site-header.is-condensed .site-header__inner {
    min-height: 68px;
}

.site-header.is-condensed .brand__mark {
    width: 29px;
}

.site-header__context {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    margin-left: 14px;
    padding-left: 14px;
    border-left: 1px solid var(--line);
    color: rgba(16,43,45,.52);
    font-size: 9px;
    font-weight: 900;
    letter-spacing: .12em;
    text-transform: uppercase;
}

.site-header__context::before {
    content: "";
    width: 6px;
    height: 6px;
    border-radius: 50%;
    background: var(--falu);
    box-shadow: 0 0 0 5px rgba(166,63,47,.11);
}

.header-action,
.menu-toggle {
    min-width: 44px;
    min-height: 44px;
    border-radius: 999px;
    transition: background .2s ease, transform .2s ease;
}

@media (hover: hover) {
    .header-action:hover,
    .menu-toggle:hover {
        background: rgba(16,43,45,.07);
        transform: translateY(-1px);
    }
}

.mobile-nav {
    max-height: calc(100dvh - var(--header-height));
    overflow-y: auto;
    color: var(--paper-soft);
    background:
        radial-gradient(circle at 78% 10%, rgba(214,179,94,.19), transparent 24rem),
        linear-gradient(145deg, #071d1f, #15383b 72%, #102b2d);
    box-shadow: 0 36px 90px rgba(5,20,22,.36);
}

.mobile-nav__grid {
    padding-block: 30px max(42px, calc(26px + var(--safe-bottom)));
}

.mobile-nav a {
    min-height: 58px;
    display: grid;
    grid-template-columns: 34px 1fr auto;
    align-items: center;
    border-bottom: 1px solid rgba(255,255,255,.11);
}

.mobile-nav a::after {
    content: "↗";
    color: rgba(255,255,255,.35);
}

/* Native search command palette */
.search-dialog {
    width: 100%;
    max-width: none;
    height: 100%;
    max-height: none;
    margin: 0;
    padding: 0;
    color: var(--paper-soft);
    background: transparent;
    border: 0;
}

.search-dialog::backdrop {
    background: rgba(4,18,20,.82);
    backdrop-filter: blur(15px) saturate(.7);
}

.search-dialog__panel {
    position: relative;
    width: min(980px, calc(100% - 36px));
    margin: clamp(78px, 11vh, 150px) auto 40px;
    padding: clamp(28px, 5vw, 72px);
    overflow: hidden;
    border: 1px solid rgba(255,255,255,.16);
    border-radius: var(--experience-radius);
    background:
        radial-gradient(circle at var(--pointer-x, 82%) var(--pointer-y, 15%), rgba(214,179,94,.2), transparent 26rem),
        linear-gradient(145deg, rgba(9,37,39,.98), rgba(5,22,24,.99));
    box-shadow: 0 70px 180px rgba(0,0,0,.45);
}

.search-dialog__panel::before {
    content: "";
    position: absolute;
    inset: 0;
    pointer-events: none;
    opacity: .16;
    background-image:
        linear-gradient(rgba(255,255,255,.16) 1px, transparent 1px),
        linear-gradient(90deg, rgba(255,255,255,.16) 1px, transparent 1px);
    background-size: 46px 46px;
    mask-image: radial-gradient(circle at 72% 20%, #000, transparent 72%);
}

.search-dialog__topline,
.search-dialog__form,
.search-dialog__suggestions {
    position: relative;
    z-index: 1;
}

.search-dialog__topline {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: clamp(40px, 7vw, 84px);
}

.search-dialog__topline .icon-button {
    width: 48px;
    height: 48px;
    display: grid;
    place-items: center;
    color: #fff;
    border: 1px solid rgba(255,255,255,.23);
    border-radius: 50%;
    font-size: 26px;
}

.search-dialog__form label {
    display: block;
    margin-bottom: 14px;
    color: rgba(255,255,255,.58);
    font-size: 10px;
    font-weight: 900;
    letter-spacing: .14em;
    text-transform: uppercase;
}

.search-dialog .search-field {
    display: grid;
    grid-template-columns: 1fr auto;
    border-bottom: 1px solid rgba(255,255,255,.35);
}

.search-dialog .search-field input {
    min-width: 0;
    min-height: 90px;
    padding: 0;
    color: #fff;
    background: transparent;
    border: 0;
    outline: 0;
    font-family: var(--serif);
    font-size: clamp(30px, 5vw, 64px);
}

.search-dialog .search-field input::placeholder {
    color: rgba(255,255,255,.24);
}

.search-dialog .search-field button {
    padding: 0 8px 0 34px;
    color: var(--gold);
    background: transparent;
    border: 0;
    font-size: 16px;
    font-weight: 900;
    cursor: pointer;
}

.search-dialog__suggestions {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-top: 28px;
}

.search-dialog__suggestions a {
    padding: 9px 13px;
    color: rgba(255,255,255,.72);
    border: 1px solid rgba(255,255,255,.17);
    border-radius: 999px;
    font-size: 11px;
    font-weight: 800;
}

/* Global experience dock */
.experience-dock {
    position: fixed;
    z-index: 1200;
    right: 18px;
    top: 50%;
    display: grid;
    gap: 5px;
    padding: 8px;
    color: var(--paper-soft);
    border: 1px solid rgba(255,255,255,.15);
    border-radius: 24px;
    background: rgba(7,29,31,.92);
    box-shadow: 0 22px 70px rgba(4,20,22,.28);
    backdrop-filter: blur(18px);
    transform: translateY(-50%);
    transition: opacity .25s ease, transform .25s ease;
}

.experience-dock__status {
    width: 48px;
    height: 48px;
    display: grid;
    place-items: center;
    border-bottom: 1px solid rgba(255,255,255,.12);
}

.experience-dock__status i {
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background: var(--gold);
    box-shadow: 0 0 0 6px rgba(214,179,94,.12), 0 0 24px rgba(214,179,94,.75);
}

.experience-dock__status span {
    position: absolute;
    right: 62px;
    width: max-content;
    padding: 8px 10px;
    color: var(--paper-soft);
    border-radius: 8px;
    background: var(--ink-deep);
    opacity: 0;
    transform: translateX(8px);
    pointer-events: none;
    font-size: 9px;
    font-weight: 900;
    letter-spacing: .1em;
    text-transform: uppercase;
    transition: .2s;
}

.experience-dock a,
.experience-dock button {
    position: relative;
    width: 48px;
    height: 48px;
    display: grid;
    place-items: center;
    color: inherit;
    background: transparent;
    border: 0;
    border-radius: 16px;
    cursor: pointer;
}

.experience-dock a > span,
.experience-dock button > span {
    font-size: 20px;
}

.experience-dock a > b,
.experience-dock button > b {
    position: absolute;
    right: 62px;
    width: max-content;
    padding: 8px 10px;
    color: var(--paper-soft);
    border-radius: 8px;
    background: var(--ink-deep);
    opacity: 0;
    transform: translateX(8px);
    pointer-events: none;
    font-size: 9px;
    letter-spacing: .08em;
    text-transform: uppercase;
    transition: .2s;
}

.experience-dock a[aria-current],
.experience-dock button.is-confirmed {
    color: var(--ink-deep);
    background: var(--gold);
}

@media (hover: hover) {
    .experience-dock a:hover,
    .experience-dock button:hover {
        color: var(--ink-deep);
        background: var(--paper-soft);
    }
    .experience-dock a:hover > b,
    .experience-dock button:hover > b,
    .experience-dock__status:hover span {
        opacity: 1;
        transform: none;
    }
}

.experience-dock.is-near-footer {
    opacity: .36;
}

/* Universal controls */
.button,
.content-actions > a,
.save-item-form button,
.search-form-actions button,
.explorer-filters button {
    border-radius: 999px;
}

.button {
    position: relative;
    overflow: hidden;
}

.button::before {
    content: "";
    position: absolute;
    inset: 0;
    opacity: 0;
    background: linear-gradient(110deg, transparent 20%, rgba(255,255,255,.25) 48%, transparent 74%);
    transform: translateX(-100%);
    transition: transform .55s ease, opacity .2s ease;
}

@media (hover: hover) {
    .button:hover::before {
        opacity: 1;
        transform: translateX(100%);
    }
}

:where(a, button, input, textarea, select, summary, [tabindex]):focus-visible {
    outline: 3px solid var(--experience-signal);
    outline-offset: 4px;
    box-shadow: 0 0 0 7px rgba(239,185,79,.18);
}

/* Home */
.hero--home {
    min-height: min(940px, calc(100svh - 22px));
    background:
        radial-gradient(circle at var(--pointer-x, 77%) var(--pointer-y, 18%), rgba(214,179,94,.2), transparent 30rem),
        radial-gradient(circle at 15% 72%, rgba(109,149,153,.13), transparent 30rem),
        linear-gradient(145deg, #f7f3e9 0%, #ede6d6 58%, #d8e4df 100%);
}

.hero--home .hero__contours {
    opacity: .72;
    background-size: 66px 66px;
    mask-image: linear-gradient(90deg, rgba(0,0,0,.3), #000 50%, rgba(0,0,0,.2));
}

.hero--home .hero__grid {
    min-height: min(920px, calc(100svh - 30px));
    grid-template-columns: minmax(0, .95fr) minmax(420px, 1.05fr);
    gap: clamp(30px, 5vw, 90px);
}

.hero--home .hero__copy {
    max-width: 760px;
}

.hero--home .hero__copy h1 {
    max-width: 820px;
    margin: 14px 0 25px;
    font-size: clamp(76px, 10.8vw, 170px);
    line-height: .76;
    letter-spacing: -.072em;
}

.hero--home .hero__copy h1 em {
    display: inline-block;
    color: var(--falu);
    text-shadow: 0 18px 50px rgba(166,63,47,.14);
}

.hero__lede {
    max-width: 680px;
    font-size: clamp(21px, 2.2vw, 31px);
    line-height: 1.35;
}

.hero__actions {
    align-items: center;
}

.hero__stats {
    display: grid;
    grid-template-columns: repeat(3, minmax(0,1fr));
    margin-top: clamp(42px, 7vw, 78px);
    border-block: 1px solid var(--line);
}

.hero__stats div {
    min-height: 105px;
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding: 18px 22px;
    border-right: 1px solid var(--line);
}

.hero__stats div:last-child {
    border-right: 0;
}

.hero__stats strong {
    font-family: var(--serif);
    font-size: clamp(32px, 3vw, 48px);
    font-weight: 400;
    line-height: 1;
}

.hero__stats span {
    margin-top: 8px;
    color: rgba(16,43,45,.52);
    font-size: 9px;
    font-weight: 900;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.atlas-stage {
    min-height: 720px;
    border-radius: 50% 50% 45% 55% / 45% 53% 47% 55%;
    background:
        radial-gradient(circle at 50% 50%, rgba(255,255,255,.62), rgba(255,255,255,.12) 55%, transparent 72%);
    transform: perspective(1100px) rotateX(calc(var(--tilt-x, 0) * 2.2deg)) rotateY(calc(var(--tilt-y, 0) * 2.2deg));
    transition: transform .18s ease-out;
}

.atlas-stage::before,
.atlas-stage::after {
    border-color: rgba(16,43,45,.16);
    box-shadow: inset 0 0 0 1px rgba(255,255,255,.3);
}

.atlas-stage__gridlines {
    position: absolute;
    inset: 7%;
    border-radius: 50%;
    opacity: .28;
    background-image:
        linear-gradient(rgba(16,43,45,.18) 1px, transparent 1px),
        linear-gradient(90deg, rgba(16,43,45,.18) 1px, transparent 1px);
    background-size: 34px 34px;
    mask-image: radial-gradient(circle, #000, transparent 72%);
}

.atlas-stage__pulse {
    position: absolute;
    left: 50%;
    top: 50%;
    width: 70%;
    aspect-ratio: 1;
    border: 1px solid rgba(166,63,47,.24);
    border-radius: 50%;
    transform: translate(-50%,-50%);
    animation: experience-pulse 4.8s ease-out infinite;
}

.atlas-stage__status {
    position: absolute;
    left: 7%;
    bottom: 10%;
    z-index: 4;
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 11px 14px;
    border: 1px solid rgba(16,43,45,.14);
    border-radius: 999px;
    background: rgba(250,248,241,.76);
    box-shadow: var(--experience-shadow-soft);
    backdrop-filter: blur(12px);
    font-size: 9px;
    font-weight: 900;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.atlas-stage__status i {
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background: #4f8068;
    box-shadow: 0 0 0 5px rgba(79,128,104,.13);
}

.experience-rails {
    display: grid;
    grid-template-columns: repeat(4, minmax(0,1fr));
    margin-top: 26px;
    border: 1px solid var(--line);
    background: rgba(255,255,255,.28);
}

.experience-rails a {
    min-height: 76px;
    display: grid;
    align-content: center;
    gap: 3px;
    padding: 14px 16px;
    border-right: 1px solid var(--line);
}

.experience-rails a:last-child {
    border-right: 0;
}

.experience-rails span {
    color: var(--falu);
    font-size: 9px;
    font-weight: 900;
    letter-spacing: .1em;
}

.experience-rails strong {
    font-family: var(--serif);
    font-size: 19px;
    font-weight: 400;
}

.experience-gateway {
    position: relative;
    z-index: 2;
    padding: clamp(60px, 8vw, 120px) 0;
    color: var(--paper-soft);
    background:
        radial-gradient(circle at 90% 10%, rgba(214,179,94,.16), transparent 28rem),
        linear-gradient(145deg, #061a1c, #102f31 66%, #173f42);
}

.experience-gateway__head {
    display: grid;
    grid-template-columns: 1fr minmax(250px, .55fr);
    gap: 50px;
    align-items: end;
    margin-bottom: 42px;
}

.experience-gateway__head h2 {
    margin: 0;
    font-family: var(--serif);
    font-size: clamp(50px, 7vw, 105px);
    font-weight: 400;
    line-height: .88;
    letter-spacing: -.05em;
}

.experience-gateway__head p:last-child {
    color: rgba(255,255,255,.62);
}

.experience-gateway__grid {
    display: grid;
    grid-template-columns: repeat(3,minmax(0,1fr));
    border-top: 1px solid rgba(255,255,255,.17);
    border-left: 1px solid rgba(255,255,255,.17);
}

.experience-gateway__card {
    position: relative;
    min-height: 360px;
    display: flex;
    flex-direction: column;
    padding: clamp(24px,3vw,42px);
    overflow: hidden;
    border-right: 1px solid rgba(255,255,255,.17);
    border-bottom: 1px solid rgba(255,255,255,.17);
    transition: background .3s ease, transform .3s ease;
}

.experience-gateway__card::before {
    content: "";
    position: absolute;
    inset: 0;
    opacity: .18;
    background:
        radial-gradient(circle at 72% 18%, var(--card-glow, var(--gold)), transparent 22rem),
        linear-gradient(135deg, transparent, rgba(255,255,255,.05));
}

.experience-gateway__card > * {
    position: relative;
    z-index: 1;
}

.experience-gateway__card > span {
    color: var(--gold);
    font-size: 10px;
    font-weight: 900;
    letter-spacing: .12em;
}

.experience-gateway__card h3 {
    margin: auto 0 16px;
    font-family: var(--serif);
    font-size: clamp(40px,4vw,62px);
    font-weight: 400;
    line-height: .9;
}

.experience-gateway__card p {
    max-width: 420px;
    color: rgba(255,255,255,.64);
}

.experience-gateway__card b {
    margin-top: 28px;
    font-size: 12px;
}

.experience-gateway__card--map { --card-glow: #7bb7bc; }
.experience-gateway__card--search { --card-glow: #d6b35e; }
.experience-gateway__card--portal { --card-glow: #b64a37; }

@media (hover: hover) {
    .experience-gateway__card:hover {
        z-index: 2;
        background: rgba(255,255,255,.06);
        transform: translateY(-8px);
    }
}

/* Section rhythm and cards */
.section {
    position: relative;
}

@supports (content-visibility: auto) {
    main > section:not(:first-child),
    main > article > section:not(:first-child) {
        content-visibility: auto;
        contain-intrinsic-size: 900px;
    }
}

.section-heading h2 {
    text-wrap: balance;
}

.portal-card,
.feature-card,
.journey-card,
.latest-card,
.entry-card,
.relation-card,
.entity-nearby__grid > a,
.story-module-card {
    border-radius: 24px;
}

.portal-card,
.entry-card,
.journey-card,
.latest-card,
.relation-card,
.entity-nearby__grid > a {
    overflow: hidden;
}

@media (hover: hover) {
    .portal-card:hover,
    .entry-card:hover,
    .journey-card:hover,
    .latest-card:hover,
    .relation-card:hover,
    .entity-nearby__grid > a:hover {
        box-shadow: var(--experience-shadow-soft);
    }
}

/* Portal */
.portal-hero {
    min-height: min(900px, calc(100svh - 20px));
    background:
        radial-gradient(circle at var(--pointer-x, 78%) var(--pointer-y, 17%), rgba(214,179,94,.18), transparent 30rem),
        linear-gradient(145deg, #071d1f, #14393b 68%, #1f4d4e);
}

.portal-hero__grid {
    min-height: 770px;
}

.portal-hero__copy h1 {
    max-width: 980px;
    font-size: clamp(70px, 9.6vw, 148px);
    line-height: .78;
    letter-spacing: -.065em;
    text-wrap: balance;
}

.portal-hero__object {
    transform: perspective(1000px) rotateX(calc(var(--tilt-x, 0) * 1.7deg)) rotateY(calc(var(--tilt-y, 0) * 1.7deg));
    transition: transform .18s ease-out;
}

.portal-hero__media {
    border-radius: 42% 58% 52% 48% / 48% 43% 57% 52%;
    box-shadow: 0 45px 110px rgba(0,0,0,.34);
}

.portal-hero__media picture,
.portal-hero__picture,
.portal-hero__picture .media-presentation__visual {
    border-radius: inherit;
}

.portal-subnav {
    position: sticky;
    z-index: 30;
    bottom: 14px;
    width: min(1100px, calc(100% - 34px));
    margin: -66px auto 20px;
    padding: 8px;
    border: 1px solid rgba(255,255,255,.16);
    border-radius: 999px;
    background: rgba(6,25,27,.86);
    box-shadow: 0 24px 70px rgba(0,0,0,.26);
    backdrop-filter: blur(16px);
}

.portal-subnav a {
    min-height: 42px;
    display: inline-grid;
    place-items: center;
    padding: 0 16px;
    border-radius: 999px;
}

.portal-subnav a.is-active,
.portal-subnav a[aria-current="location"] {
    color: var(--ink-deep);
    background: var(--gold);
}

.portal-experience-rail {
    position: relative;
    overflow: hidden;
    padding-block: clamp(70px,9vw,130px);
    color: var(--paper-soft);
    background:
        radial-gradient(circle at 12% 20%, rgba(214,179,94,.14), transparent 28rem),
        linear-gradient(145deg, #071d1f, #14383a);
}

.portal-experience-rail::before {
    content: "";
    position: absolute;
    inset: 0;
    opacity: .13;
    background-image:
        linear-gradient(rgba(255,255,255,.15) 1px, transparent 1px),
        linear-gradient(90deg, rgba(255,255,255,.15) 1px, transparent 1px);
    background-size: 48px 48px;
    pointer-events: none;
}

.portal-experience-rail__inner {
    position: relative;
    z-index: 1;
    display: grid;
    grid-template-columns: minmax(260px,.72fr) minmax(0,1.28fr);
    gap: clamp(35px,7vw,100px);
    align-items: end;
}

.portal-experience-rail h2 {
    max-width: 750px;
    margin: 0;
    font-family: var(--serif);
    font-size: clamp(48px,6vw,92px);
    font-weight: 400;
    line-height: .84;
    letter-spacing: -.05em;
}

.portal-experience-rail__links {
    display: grid;
    grid-template-columns: repeat(3,minmax(0,1fr));
    border-top: 1px solid rgba(255,255,255,.18);
    border-left: 1px solid rgba(255,255,255,.18);
}

.portal-experience-rail__links a,
.portal-experience-rail__links button {
    min-height: 220px;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    padding: 26px;
    color: #fff;
    border: 0;
    border-right: 1px solid rgba(255,255,255,.18);
    border-bottom: 1px solid rgba(255,255,255,.18);
    background: rgba(255,255,255,.04);
    cursor: pointer;
    font: inherit;
    text-align: left;
    transition: background .2s ease, transform .2s ease;
}

.portal-experience-rail__links span {
    color: var(--gold);
    font-size: 9px;
    font-weight: 900;
    letter-spacing: .12em;
}

.portal-experience-rail__links strong {
    margin: auto 0 10px;
    font-family: var(--serif);
    font-size: clamp(25px,2.5vw,38px);
    font-weight: 400;
    line-height: .95;
}

.portal-experience-rail__links small {
    color: rgba(255,255,255,.6);
    font-size: 12px;
    line-height: 1.45;
}

@media (hover: hover) {
    .portal-experience-rail__links a:hover,
    .portal-experience-rail__links button:hover {
        background: rgba(214,179,94,.12);
        transform: translateY(-3px);
    }
}

/* Entity */
.entity-hero {
    min-height: 650px;
    background:
        radial-gradient(circle at var(--pointer-x, 82%) var(--pointer-y, 14%), rgba(214,179,94,.19), transparent 28rem),
        linear-gradient(145deg, #082123, #153b3d 68%, #1d4a4b);
}

.entity-hero__grid {
    min-height: 650px;
    align-items: center;
}

.entity-hero__copy h1 {
    max-width: 1000px;
    font-size: clamp(64px, 9vw, 138px);
    line-height: .8;
    letter-spacing: -.06em;
    text-wrap: balance;
}

.entity-hero__copy > p:not(.eyebrow) {
    max-width: 790px;
    font-size: clamp(19px, 2vw, 27px);
}

.entity-facts {
    overflow: hidden;
    border: 1px solid rgba(255,255,255,.19);
    border-radius: 28px;
    background: rgba(7,29,31,.48);
    box-shadow: 0 28px 80px rgba(0,0,0,.2);
    backdrop-filter: blur(14px);
}

.entity-facts div {
    padding: 21px 24px;
}

.entity-media-lead {
    position: relative;
    padding-top: 26px;
}

.entity-media-lead__figure {
    border-radius: 38px;
}

.entity-integrity-bar {
    position: relative;
    overflow: hidden;
}

.entity-integrity-bar::before {
    content: "";
    position: absolute;
    inset: 0;
    opacity: .2;
    background-image: linear-gradient(90deg, transparent, rgba(214,179,94,.3), transparent);
}

.entity-layout {
    grid-template-columns: minmax(190px,.32fr) minmax(0,1fr);
    gap: clamp(38px,6vw,105px);
}

.entity-toc {
    top: calc(var(--header-height) + 30px);
    padding: 22px;
    border: 1px solid var(--line);
    border-radius: 20px;
    background: rgba(250,248,241,.76);
    box-shadow: 0 16px 50px rgba(7,29,31,.07);
    backdrop-filter: blur(12px);
}

.entity-toc a {
    position: relative;
    padding: 10px 10px 10px 18px;
    border-radius: 10px;
}

.entity-toc a::before {
    content: "";
    position: absolute;
    left: 3px;
    top: 50%;
    width: 6px;
    height: 6px;
    border-radius: 50%;
    background: var(--line);
    transform: translateY(-50%);
}

.entity-toc a.is-active,
.entity-toc a[aria-current="location"] {
    color: var(--paper-soft);
    background: var(--ink);
}

.entity-toc a.is-active::before,
.entity-toc a[aria-current="location"]::before {
    background: var(--gold);
    box-shadow: 0 0 0 4px rgba(214,179,94,.15);
}

.entity-main > section {
    border-radius: 28px;
}

.entity-main > .prose {
    padding: clamp(28px,4.5vw,65px);
    border: 1px solid var(--line);
    background: rgba(255,255,255,.36);
    box-shadow: 0 24px 80px rgba(7,29,31,.06);
}

.entity-main .prose p {
    max-width: 78ch;
    font-family: var(--serif);
    font-size: clamp(19px,1.7vw,24px);
    line-height: 1.72;
}

.entity-journey-rail {
    display: grid;
    grid-template-columns: minmax(0,1.2fr) minmax(260px,.8fr);
    gap: 1px;
    overflow: hidden;
    color: var(--paper-soft);
    background: rgba(255,255,255,.14);
    border-radius: 28px;
}

.entity-journey-rail > div,
.entity-journey-rail > nav {
    padding: clamp(26px,4vw,46px);
    background: var(--ink-deep);
}

.entity-journey-rail h2 {
    margin: 0;
    font-family: var(--serif);
    font-size: clamp(40px,5vw,70px);
    font-weight: 400;
    line-height: .9;
}

.entity-journey-rail p {
    color: rgba(255,255,255,.62);
}

.entity-journey-rail nav {
    display: grid;
    align-content: center;
    gap: 9px;
    background: #14383a;
}

.entity-journey-rail a,
.entity-journey-rail button {
    min-height: 50px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 0 15px;
    color: #fff;
    border: 1px solid rgba(255,255,255,.17);
    border-radius: 999px;
    background: transparent;
    cursor: pointer;
    font: inherit;
    font-size: 11px;
    font-weight: 800;
}

/* Search */
.search-page--national {
    background:
        radial-gradient(circle at 88% 4%, rgba(109,149,153,.15), transparent 30rem),
        var(--paper);
}

.search-hero-grid {
    position: relative;
    min-height: 420px;
}

.search-page--national h1 {
    letter-spacing: -.065em;
}

.search-page__form--national {
    position: relative;
    overflow: hidden;
    border-radius: 32px;
    box-shadow: var(--experience-shadow);
}

.search-page__form--national::before {
    content: "";
    position: absolute;
    inset: 0;
    pointer-events: none;
    opacity: .15;
    background-image:
        linear-gradient(rgba(255,255,255,.14) 1px, transparent 1px),
        linear-gradient(90deg, rgba(255,255,255,.14) 1px, transparent 1px);
    background-size: 42px 42px;
    mask-image: linear-gradient(90deg, transparent, #000);
}

.search-page__form--national > * {
    position: relative;
    z-index: 1;
}

[data-mobile-filter] {
    position: relative;
}

.mobile-filter-toggle {
    display: none;
}

.search-experience-summary {
    display: grid;
    grid-template-columns: auto minmax(0,1fr) auto;
    gap: 18px;
    align-items: center;
    margin: 18px 0 34px;
    padding: 18px 22px;
    color: var(--paper-soft);
    border-radius: 22px;
    background: linear-gradient(135deg, #0b292b, #173f41);
    box-shadow: 0 18px 55px rgba(7,29,31,.12);
}

.search-experience-summary > span {
    min-width: 70px;
    font-family: var(--serif);
    font-size: clamp(36px,4vw,60px);
    line-height: .8;
}

.search-experience-summary p {
    display: grid;
    gap: 4px;
    margin: 0;
}

.search-experience-summary strong {
    font-size: 13px;
}

.search-experience-summary small {
    color: rgba(255,255,255,.58);
}

.search-experience-summary a {
    min-height: 42px;
    display: inline-grid;
    place-items: center;
    padding: 0 14px;
    color: #fff;
    border: 1px solid rgba(255,255,255,.18);
    border-radius: 999px;
    font-size: 10px;
    font-weight: 900;
    text-transform: uppercase;
}

.search-result {
    transition: padding .25s ease, background .25s ease, transform .25s ease;
}

.search-result--with-media {
    grid-template-columns: 160px 48px minmax(0,1fr) 100px 28px;
}

.search-result__media {
    width: 160px;
    aspect-ratio: 1.45;
    overflow: hidden;
    border-radius: 16px;
}

.search-result__media img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

@media (hover: hover) {
    .search-result:hover {
        padding-inline: 18px;
        background: rgba(255,255,255,.46);
        transform: translateX(3px);
    }
}

/* Map */
.explorer-head {
    position: relative;
    overflow: hidden;
    color: var(--paper-soft);
    background:
        radial-gradient(circle at 76% 18%, rgba(214,179,94,.17), transparent 27rem),
        linear-gradient(145deg, #071d1f, #173f41);
}

.explorer-head::after {
    content: "";
    position: absolute;
    inset: 0;
    opacity: .18;
    background-image:
        linear-gradient(rgba(255,255,255,.14) 1px, transparent 1px),
        linear-gradient(90deg, rgba(255,255,255,.14) 1px, transparent 1px);
    background-size: 54px 54px;
    pointer-events: none;
}

.explorer-head .shell {
    position: relative;
    z-index: 1;
    padding-block: clamp(90px,10vw,150px);
}

.explorer-head h1 {
    max-width: 1050px;
    font-size: clamp(58px,8.5vw,130px);
    line-height: .82;
    letter-spacing: -.06em;
}

.map-experience-toolbar {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
    margin-bottom: 18px;
    padding: 14px 18px;
    border: 1px solid var(--line);
    border-radius: 18px;
    background: rgba(255,255,255,.45);
}

.map-experience-toolbar > div {
    display: flex;
    align-items: baseline;
    gap: 8px;
}

.map-experience-toolbar > div span {
    font-family: var(--serif);
    font-size: 34px;
    line-height: 1;
}

.map-experience-toolbar > div small {
    color: rgba(16,43,45,.55);
    font-size: 9px;
    font-weight: 900;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.map-experience-toolbar p {
    margin: 0;
    color: rgba(16,43,45,.62);
    font-size: 12px;
}

.map-experience-toolbar nav {
    display: flex;
    gap: 8px;
}

.map-experience-toolbar a {
    min-height: 38px;
    display: inline-grid;
    place-items: center;
    padding: 0 13px;
    border: 1px solid var(--line);
    border-radius: 999px;
    font-size: 10px;
    font-weight: 900;
    text-transform: uppercase;
}

.map-layout {
    align-items: start;
}

.map-stage {
    overflow: hidden;
    border: 1px solid rgba(255,255,255,.15);
    border-radius: 34px;
    background:
        radial-gradient(circle at 50% 42%, rgba(109,149,153,.2), transparent 22rem),
        linear-gradient(150deg, #102e30, #071c1e);
    box-shadow: var(--experience-shadow);
}

.map-stage::before {
    content: "";
    position: absolute;
    inset: 0;
    opacity: .14;
    background-image:
        linear-gradient(rgba(255,255,255,.17) 1px, transparent 1px),
        linear-gradient(90deg, rgba(255,255,255,.17) 1px, transparent 1px);
    background-size: 36px 36px;
    pointer-events: none;
}

.map-stage__land {
    filter: drop-shadow(0 30px 35px rgba(0,0,0,.28));
}

.map-marker > span:first-child {
    box-shadow: 0 0 0 5px rgba(255,255,255,.12), 0 0 26px rgba(214,179,94,.5);
}

.map-marker__popup {
    border-radius: 18px;
    box-shadow: 0 24px 70px rgba(0,0,0,.32);
}

.map-list {
    border-radius: 28px;
    background: rgba(255,255,255,.42);
    box-shadow: 0 22px 70px rgba(7,29,31,.08);
}

.map-list article {
    transition: background .2s ease, transform .2s ease;
}

.map-list article.is-active {
    background: var(--winter);
    transform: translateX(-4px);
}

/* Explore */
.page-explore .discovery-hero {
    min-height: min(850px, calc(100svh - 20px));
    background:
        radial-gradient(circle at var(--pointer-x, 72%) var(--pointer-y, 22%), rgba(214,179,94,.18), transparent 28rem),
        linear-gradient(145deg, #071d1f, #163d3f 66%, #244f4d);
}

.page-explore .discovery-hero h1 {
    font-size: clamp(70px,10vw,150px);
    line-height: .78;
    letter-spacing: -.065em;
}

.experience-paths {
    display: grid;
    grid-template-columns: repeat(4,minmax(0,1fr));
    margin-top: 34px;
    border-top: 1px solid rgba(255,255,255,.17);
    border-left: 1px solid rgba(255,255,255,.17);
}

.experience-paths a {
    min-height: 150px;
    display: flex;
    flex-direction: column;
    padding: 20px;
    border-right: 1px solid rgba(255,255,255,.17);
    border-bottom: 1px solid rgba(255,255,255,.17);
}

.experience-paths span {
    color: var(--gold);
    font-size: 9px;
    font-weight: 900;
    letter-spacing: .1em;
}

.experience-paths strong {
    margin-top: auto;
    font-family: var(--serif);
    font-size: 28px;
    font-weight: 400;
}

/* Story */
.story-page[data-reading-progress] {
    position: relative;
}

.story-reading-indicator {
    position: sticky;
    z-index: 40;
    top: calc(var(--header-height) + 12px);
    width: max-content;
    margin: 0 18px 0 auto;
    padding: 8px 12px;
    color: var(--paper-soft);
    border-radius: 999px;
    background: rgba(7,29,31,.82);
    backdrop-filter: blur(12px);
    font-size: 9px;
    font-weight: 900;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.story-hero {
    background:
        radial-gradient(circle at 82% 13%, rgba(214,179,94,.16), transparent 28rem),
        linear-gradient(145deg, #071d1f, #183b3d);
}

.story-hero h1 {
    letter-spacing: -.06em;
    text-wrap: balance;
}

.story-reading-width {
    max-width: 860px;
}

.story-chapter .prose {
    font-family: var(--serif);
    font-size: clamp(19px,1.65vw,24px);
    line-height: 1.75;
}

.story-experience-endcap {
    color: var(--paper-soft);
    background:
        radial-gradient(circle at 15% 25%, rgba(214,179,94,.13), transparent 24rem),
        linear-gradient(145deg, #071d1f, #163a3c);
}

.story-experience-endcap__grid {
    display: grid;
    grid-template-columns: minmax(0,1.2fr) minmax(260px,.8fr);
    gap: 50px;
    align-items: end;
}

.story-experience-endcap h2 {
    margin: 0;
    font-family: var(--serif);
    font-size: clamp(50px,7vw,100px);
    font-weight: 400;
    line-height: .85;
}

.story-experience-endcap nav {
    display: grid;
    gap: 9px;
}

.story-experience-endcap a,
.story-experience-endcap button {
    min-height: 52px;
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 0 16px;
    color: #fff;
    border: 1px solid rgba(255,255,255,.18);
    border-radius: 999px;
    background: transparent;
    cursor: pointer;
    font: inherit;
    font-size: 11px;
    font-weight: 800;
}

/* Media */
.media-presentation__visual {
    position: relative;
    overflow: hidden;
    background: linear-gradient(135deg, var(--winter), var(--linen));
}

.media-presentation__visual::after {
    content: "";
    position: absolute;
    inset: 0;
    pointer-events: none;
    box-shadow: inset 0 0 0 1px rgba(255,255,255,.18);
}

.media-presentation__visual img {
    transition: transform .65s var(--ease), filter .3s ease;
}

@media (hover: hover) {
    a:hover .media-presentation__visual img,
    figure:hover .media-presentation__visual img {
        transform: scale(1.025);
    }
}

.media-presentation__mode {
    border-radius: 999px;
    box-shadow: 0 12px 30px rgba(0,0,0,.18);
    backdrop-filter: blur(10px);
}

.media-presentation__broken {
    min-height: 220px;
    background:
        linear-gradient(rgba(16,43,45,.08) 1px, transparent 1px),
        linear-gradient(90deg, rgba(16,43,45,.08) 1px, transparent 1px),
        var(--winter);
    background-size: 32px 32px;
}

/* Footer */
.site-footer {
    position: relative;
    overflow: hidden;
    padding-bottom: calc(26px + var(--safe-bottom));
}

.site-footer::before {
    content: "";
    position: absolute;
    left: -10%;
    right: -10%;
    top: -180px;
    height: 260px;
    border-radius: 50%;
    background: var(--paper);
}

.site-footer > * {
    position: relative;
    z-index: 1;
}

.site-footer__top {
    padding-top: 120px;
}

.site-footer__top h2 {
    text-wrap: balance;
}

.footer-discovery .search-field {
    border-radius: 999px;
    overflow: hidden;
}

.site-network-card {
    border-radius: 18px;
}

/* Accessible live region */
.experience-live {
    position: fixed;
    width: 1px;
    height: 1px;
    overflow: hidden;
    clip: rect(0 0 0 0);
    clip-path: inset(50%);
    white-space: nowrap;
}

@keyframes experience-pulse {
    0% { opacity: .65; transform: translate(-50%,-50%) scale(.72); }
    70%,100% { opacity: 0; transform: translate(-50%,-50%) scale(1.14); }
}

@media (max-width: 1260px) {
    .experience-dock {
        right: 10px;
    }
    .site-header__context {
        display: none;
    }
    .hero--home .hero__grid {
        grid-template-columns: 1fr 1fr;
    }
    .portal-subnav {
        overflow-x: auto;
        justify-content: flex-start;
        scrollbar-width: none;
    }
}

@media (max-width: 1000px) {
    .hero--home .hero__grid,
    .experience-gateway__head,
    .entity-journey-rail,
    .story-experience-endcap__grid {
        grid-template-columns: 1fr;
    }
    .hero--home .hero__grid {
        padding-bottom: 90px;
    }
    .atlas-stage {
        width: min(720px,100%);
        margin-inline: auto;
    }
    .experience-gateway__grid,
    .portal-experience-rail {
        grid-template-columns: 1fr 1fr;
    }
    .experience-gateway__card:last-child,
    .portal-experience-rail a:last-child {
        grid-column: 1 / -1;
    }
    .entity-layout {
        grid-template-columns: 1fr;
    }
    .entity-toc {
        position: sticky;
        z-index: 25;
        top: calc(var(--header-height) + 8px);
        display: flex;
        flex-wrap: nowrap;
        gap: 5px;
        overflow-x: auto;
        padding: 8px;
        border-radius: 999px;
        scrollbar-width: none;
    }
    .entity-toc > span {
        display: none;
    }
    .entity-toc a {
        flex: 0 0 auto;
        min-height: 40px;
        display: inline-grid;
        place-items: center;
        padding: 0 14px;
    }
    .entity-toc a::before {
        display: none;
    }
    .search-result--with-media {
        grid-template-columns: 130px 42px minmax(0,1fr) 72px 24px;
    }
    .search-result__media {
        width: 130px;
    }
}

@media (max-width: 760px) {
    :root {
        --experience-radius: 24px;
    }
    html {
        scroll-padding-top: calc(var(--header-height) + 16px);
    }
    body {
        padding-bottom: calc(70px + var(--safe-bottom));
    }
    body::before {
        background-size: 42px 42px;
    }
    .site-header__actions .header-action--contact,
    .site-header__actions .header-action--link:not(.header-action--contact) {
        display: none;
    }
    .experience-dock {
        left: 10px;
        right: 10px;
        top: auto;
        bottom: max(8px, var(--safe-bottom));
        grid-template-columns: repeat(5,1fr);
        gap: 2px;
        padding: 6px;
        border-radius: 22px;
        transform: none;
    }
    .experience-dock__status {
        display: none;
    }
    .experience-dock a,
    .experience-dock button {
        width: auto;
        height: 54px;
        gap: 2px;
        display: flex;
        flex-direction: column;
        justify-content: center;
    }
    .experience-dock a > span,
    .experience-dock button > span {
        font-size: 18px;
        line-height: 1;
    }
    .experience-dock a > b,
    .experience-dock button > b {
        position: static;
        display: block;
        padding: 0;
        color: inherit;
        background: transparent;
        opacity: 1;
        transform: none;
        font-size: 7px;
        line-height: 1;
    }
    .experience-dock.is-near-footer {
        opacity: 1;
    }
    .search-dialog__panel {
        width: calc(100% - 20px);
        margin: 10px auto;
        padding: 24px;
        min-height: calc(100dvh - 20px);
        display: flex;
        flex-direction: column;
        justify-content: center;
    }
    .search-dialog__topline {
        position: absolute;
        inset: 22px 22px auto;
    }
    .search-dialog .search-field {
        grid-template-columns: 1fr;
    }
    .search-dialog .search-field input {
        min-height: 74px;
        font-size: 31px;
    }
    .search-dialog .search-field button {
        min-height: 52px;
        padding: 0;
        text-align: left;
    }
    .hero--home {
        min-height: auto;
    }
    .hero--home .hero__grid {
        min-height: auto;
        padding-top: 76px;
    }
    .hero--home .hero__copy h1 {
        font-size: clamp(68px,22vw,105px);
        line-height: .78;
    }
    .hero__lede {
        font-size: 20px;
    }
    .hero__actions {
        display: grid;
        grid-template-columns: 1fr;
    }
    .hero__actions .button {
        width: 100%;
        justify-content: space-between;
    }
    .hero__stats {
        grid-template-columns: 1fr;
    }
    .hero__stats div {
        min-height: 78px;
        border-right: 0;
        border-bottom: 1px solid var(--line);
    }
    .hero__stats div:last-child {
        border-bottom: 0;
    }
    .experience-rails {
        grid-template-columns: 1fr 1fr;
    }
    .experience-rails a:nth-child(2n) {
        border-right: 0;
    }
    .experience-rails a:nth-child(-n+2) {
        border-bottom: 1px solid var(--line);
    }
    .atlas-stage {
        min-height: 490px;
        margin-inline: -11px;
    }
    .atlas-stage__gridlines,
    .atlas-stage__pulse {
        display: none;
    }
    .atlas-stage__status {
        left: 18px;
        bottom: 18px;
    }
    .experience-gateway__head,
    .experience-gateway__grid,
    .portal-experience-rail,
    .experience-paths {
        grid-template-columns: 1fr;
    }
    .experience-gateway__card,
    .portal-experience-rail a {
        grid-column: auto !important;
    }
    .experience-gateway__card {
        min-height: 280px;
    }
    .portal-hero,
    .entity-hero,
    .page-explore .discovery-hero {
        min-height: auto;
    }
    .portal-hero__grid,
    .entity-hero__grid {
        min-height: auto;
        padding-block: 70px 110px;
    }
    .portal-hero__copy h1,
    .entity-hero__copy h1,
    .page-explore .discovery-hero h1,
    .explorer-head h1 {
        font-size: clamp(54px,18vw,86px);
        line-height: .82;
    }
    .portal-subnav {
        bottom: calc(72px + var(--safe-bottom));
        width: calc(100% - 20px);
        margin-top: -54px;
    }
    .portal-subnav a {
        min-width: max-content;
        min-height: 38px;
        padding-inline: 13px;
    }
    .entity-media-lead__figure,
    .entity-main > section,
    .entity-facts {
        border-radius: 20px;
    }
    .entity-media-lead__figure img {
        height: min(66vh,500px);
    }
    .entity-media-lead__figure figcaption {
        display: grid;
    }
    .entity-media-lead__figure small {
        text-align: left;
    }
    .entity-toc {
        top: calc(var(--header-height) + 5px);
        margin-inline: -4px;
    }
    .entity-main > .prose {
        padding: 25px;
    }
    .entity-main .prose p,
    .story-chapter .prose {
        font-size: 19px;
    }
    .mobile-filter-toggle {
        min-height: 50px;
        display: flex;
        justify-content: space-between;
        align-items: center;
        width: 100%;
        margin-top: 18px;
        padding: 0 15px;
        color: #fff;
        border: 1px solid rgba(255,255,255,.21);
        border-radius: 999px;
        background: rgba(255,255,255,.06);
        font: inherit;
        font-size: 10px;
        font-weight: 900;
        letter-spacing: .08em;
        text-transform: uppercase;
    }
    .mobile-filter-toggle::after {
        content: "+";
        font-size: 18px;
    }
    [data-mobile-filter].is-open .mobile-filter-toggle::after {
        content: "−";
    }
    [data-filter-panel][hidden] {
        display: none !important;
    }
    .search-experience-summary {
        grid-template-columns: auto 1fr;
    }
    .search-experience-summary a {
        grid-column: 1 / -1;
    }
    .search-filter-grid {
        grid-template-columns: 1fr;
    }
    .search-result,
    .search-result--with-media {
        grid-template-columns: 1fr 30px;
        gap: 12px;
        padding: 24px 0;
    }
    .search-result__media {
        width: 100%;
        aspect-ratio: 1.8;
        grid-column: 1 / -1;
    }
    .search-result__index,
    .search-result__quality {
        display: none;
    }
    .search-result__main {
        grid-column: 1;
    }
    .search-result__arrow {
        grid-column: 2;
        grid-row: 2;
    }
    .map-experience-toolbar {
        align-items: flex-start;
        flex-direction: column;
    }
    .map-experience-toolbar nav {
        width: 100%;
    }
    .map-experience-toolbar a {
        flex: 1;
    }
    .map-stage {
        min-height: 500px;
        border-radius: 22px;
    }
    .map-list {
        border-radius: 20px;
    }
    .story-reading-indicator {
        top: calc(var(--header-height) + 6px);
        margin-right: 10px;
    }
    .site-footer::before {
        top: -125px;
        height: 190px;
    }
    .site-footer__top {
        padding-top: 90px;
    }
}

@media (pointer: coarse) {
    :where(a, button, input, select, textarea, summary) {
        min-height: 44px;
    }
    .portal-card,
    .entry-card,
    .relation-card,
    .search-result {
        touch-action: manipulation;
    }
}

@media (prefers-reduced-motion: reduce) {
    .atlas-stage,
    .portal-hero__object,
    .experience-gateway__card,
    .search-result,
    .media-presentation__visual img {
        transform: none !important;
    }
    .atlas-stage__pulse,
    .site-progress {
        display: none;
    }
}

@media (prefers-contrast: more) {
    :root {
        --line: rgba(16,43,45,.42);
    }
    .eyebrow,
    small,
    .search-result__context span {
        color: currentColor;
    }
    .experience-dock,
    .search-dialog__panel {
        border-width: 2px;
    }
}

@media print {
    .site-header,
    .site-footer,
    .experience-dock,
    .site-progress,
    .content-actions,
    .portal-subnav,
    .entity-toc {
        display: none !important;
    }
    body {
        padding: 0;
        color: #000;
        background: #fff;
    }
    main,
    main > * {
        content-visibility: visible !important;
    }
    a[href]::after {
        content: " (" attr(href) ")";
        font-size: 9pt;
    }
}


/* Svenskhet.se Pass 25.1 — Legendary Sweden identity and modal architecture */
:root {
    --experience-ink: #08283a;
    --experience-ink-rgb: 8, 40, 58;
    --experience-paper: #f7f2e8;
    --experience-cream: #fffaf1;
    --experience-signal: #f5c443;
    --experience-red: #c84732;
    --experience-lake: #2582a8;
    --experience-aurora: #1aa2a0;
    --experience-blue: #155b8f;
    --experience-night: #061b2a;
    --experience-mist: #dceaf0;
    --experience-grid: rgba(21, 91, 143, .075);
    --experience-shadow: 0 42px 130px rgba(4, 26, 44, .22);
    --experience-shadow-soft: 0 18px 64px rgba(4, 26, 44, .13);
}

body {
    background:
        radial-gradient(circle at 10% 14%, rgba(37,130,168,.14), transparent 28rem),
        radial-gradient(circle at 88% 16%, rgba(245,196,67,.13), transparent 24rem),
        radial-gradient(circle at 76% 76%, rgba(200,71,50,.09), transparent 28rem),
        linear-gradient(180deg, #fbf7ee 0%, #f3eee3 48%, #f8f4eb 100%);
}

body::before {
    opacity: .42;
    background-image:
        linear-gradient(rgba(21,91,143,.07) 1px, transparent 1px),
        linear-gradient(90deg, rgba(21,91,143,.07) 1px, transparent 1px),
        radial-gradient(circle at 50% 30%, rgba(245,196,67,.14) 0 1px, transparent 2px);
    background-size: 64px 64px,64px 64px,128px 128px;
}

.site-header {
    border-bottom-color: rgba(21,91,143,.16);
    background: rgba(251,247,238,.9);
    box-shadow: 0 10px 40px rgba(8,40,58,.06);
}

.brand__mark {
    border-color: rgba(21,91,143,.28);
    background: linear-gradient(160deg, rgba(255,255,255,.86), rgba(220,234,240,.78));
    box-shadow: inset 0 0 0 1px rgba(255,255,255,.55), 0 8px 22px rgba(8,40,58,.10);
}
.brand__mark svg { overflow: visible; }
.brand__sweden {
    fill: var(--experience-blue);
    stroke: #08283a;
    stroke-width: 1.1;
    stroke-linejoin: round;
    filter: drop-shadow(0 2px 2px rgba(8,40,58,.15));
}
.brand__point { fill: var(--experience-signal); stroke: #fffaf1; stroke-width: .8; }
.brand__word { color: #08283a; }
.brand__domain { color: var(--experience-red); }

/* Native dialog must be absent when closed. Pass 25's :not([hidden]) rule made it a non-modal overlay. */
.search-dialog { display: none; position: fixed; z-index: 5000; inset: 0; width: 100vw; height: 100dvh; max-width: none; max-height: none; margin: 0; padding: 0; border: 0; background: transparent; overflow: auto; }
.search-dialog[open] { display: grid; place-items: start center; }
.search-dialog::backdrop { background: rgba(2,17,28,.78); backdrop-filter: blur(18px) saturate(.82); }
body.search-is-open { overflow: hidden !important; overscroll-behavior: none; }

.search-dialog__panel {
    pointer-events: auto;
    width: min(1040px, calc(100vw - 48px));
    min-height: min(560px, calc(100dvh - 96px));
    margin: clamp(36px, 8vh, 96px) auto;
    padding: clamp(34px, 5vw, 78px);
    border: 1px solid rgba(255,255,255,.18);
    border-radius: clamp(26px,3vw,48px);
    background:
        radial-gradient(circle at 82% 12%, rgba(245,196,67,.23), transparent 24rem),
        radial-gradient(circle at 10% 88%, rgba(37,130,168,.26), transparent 30rem),
        linear-gradient(145deg, rgba(8,40,58,.985), rgba(5,27,43,.995));
    box-shadow: 0 70px 190px rgba(0,0,0,.52), inset 0 1px rgba(255,255,255,.09);
}
.search-dialog__panel::after {
    content: "";
    position: absolute;
    inset: 18px;
    border: 1px solid rgba(245,196,67,.12);
    border-radius: calc(clamp(26px,3vw,48px) - 12px);
    pointer-events: none;
}
.search-dialog__close {
    position: relative;
    width: 54px !important;
    height: 54px !important;
    border-color: rgba(255,255,255,.3) !important;
    background: rgba(255,255,255,.055);
    transition: transform .2s ease, background .2s ease, border-color .2s ease;
}
.search-dialog__close span,
.search-dialog__close span::after {
    content: "";
    position: absolute;
    width: 20px;
    height: 2px;
    border-radius: 999px;
    background: #fff;
    transform: rotate(45deg);
}
.search-dialog__close span::after { transform: rotate(90deg); }
.search-dialog__close:hover { transform: rotate(4deg) scale(1.04); background: rgba(200,71,50,.22); border-color: rgba(245,196,67,.6) !important; }
.search-dialog .search-field { border-bottom-color: rgba(245,196,67,.52); }
.search-dialog .search-field input { color: #fffdf7; text-shadow: 0 4px 30px rgba(0,0,0,.24); }
.search-dialog .search-field input::placeholder { color: rgba(220,234,240,.32); }
.search-dialog .search-field button { color: var(--experience-signal); }
.search-dialog__suggestions a { color: rgba(255,255,255,.84); border-color: rgba(255,255,255,.2); background: rgba(255,255,255,.035); }
.search-dialog__suggestions a:hover { color: #071b2a; background: var(--experience-signal); border-color: var(--experience-signal); }

/* Deeper, more vibrant public surfaces */
.hero--home {
    background:
        radial-gradient(circle at 78% 24%, rgba(245,196,67,.24), transparent 28%),
        radial-gradient(circle at 20% 78%, rgba(37,130,168,.28), transparent 34%),
        linear-gradient(135deg, #061b2a 0%, #082f47 48%, #0b5163 100%);
}
.hero--home::after,
.portal-hero::after,
.entity-hero::after {
    content: "";
    position: absolute;
    inset: 0;
    pointer-events: none;
    background:
        linear-gradient(115deg, transparent 35%, rgba(255,255,255,.07) 49%, transparent 62%),
        radial-gradient(circle at var(--pointer-x,75%) var(--pointer-y,30%), rgba(245,196,67,.15), transparent 24rem);
    mix-blend-mode: screen;
}
.portal-hero {
    background:
        radial-gradient(circle at 84% 14%, rgba(245,196,67,.18), transparent 28rem),
        radial-gradient(circle at 8% 88%, rgba(37,130,168,.28), transparent 32rem),
        linear-gradient(145deg, #061b2a, #0a3345 58%, #0b5260);
    box-shadow: inset 0 -1px rgba(255,255,255,.08);
}
.portal-hero__media {
    border: 1px solid rgba(245,196,67,.25);
    box-shadow: 0 45px 120px rgba(0,0,0,.32), 0 0 0 12px rgba(255,255,255,.025);
}
.portal-hero__copy h1,
.entity-hero__copy h1 { text-shadow: 0 14px 50px rgba(0,0,0,.28); }
.portal-hero__object,
.entity-hero__facts,
.card,
.panel {
    border-color: rgba(21,91,143,.16);
    box-shadow: var(--experience-shadow-soft);
}
.button--primary,
.button:not(.button--ghost) {
    background: linear-gradient(135deg, #f6cd57, #efad2f);
    color: #08283a;
    box-shadow: 0 14px 34px rgba(239,173,47,.24);
}
.eyebrow { color: var(--experience-red); }
.experience-dock {
    background: linear-gradient(180deg, rgba(6,27,42,.96), rgba(8,50,66,.96));
    border-color: rgba(245,196,67,.22);
    box-shadow: 0 28px 90px rgba(4,22,35,.38), inset 0 1px rgba(255,255,255,.08);
}
.experience-dock a[aria-current="page"], .experience-dock button:hover, .experience-dock a:hover { color: #08283a; background: var(--experience-signal); }

@media (max-width:760px) {
    .search-dialog__panel { width: calc(100vw - 16px); min-height: calc(100dvh - 16px); margin: 8px; padding: 26px 22px; border-radius: 28px; }
    .search-dialog__panel::after { inset: 10px; border-radius: 20px; }
    .search-dialog__topline { inset: 24px 24px auto; }
    .search-dialog__close { width: 48px !important; height: 48px !important; }
}

/* ===== SOURCE: assets/css/legendary-swedish-identity.css ===== */
/* Svenskhet.se Pass 25.1 — Legendary Swedish Identity & Modal Repair */
:root {
    --sweden-night:#061a2b;--sweden-deep:#082f4d;--sweden-blue:#0b4f78;--sweden-sea:#16789b;
    --sweden-sky:#62b4d3;--sweden-yellow:#f5c84c;--sweden-sun:#ffe59a;--sweden-falu:#c74634;
    --sweden-copper:#db7255;--sweden-birch:#f3ede1;--sweden-snow:#fffdf8;--sweden-granite:#7e8e95;
    --sweden-forest:#245f55;--ink:#0b3042;--ink-deep:#061a2b;--paper:#f3ede1;--paper-soft:#fffdf8;
    --linen:#e7ddcd;--winter:#d9e9ee;--lake:#4e9fc0;--lake-deep:#176483;--pine:#245f55;--moss:#6d806f;
    --falu:#c74634;--falu-dark:#842d24;--gold:#f5c84c;--blue:#0b4f78;--line:rgba(11,48,66,.16);
    --experience-ink:#082f4d;--experience-ink-rgb:8,47,77;--experience-paper:#f3ede1;--experience-cream:#fffdf8;
    --experience-signal:#f5c84c;--experience-red:#c74634;--experience-lake:#62b4d3;--experience-mist:#d9e9ee;
    --experience-shadow:0 44px 130px rgba(4,24,39,.22);--experience-shadow-soft:0 20px 65px rgba(4,24,39,.13);
    --experience-grid:rgba(11,79,120,.075);
}
html{background:var(--sweden-birch)}
body{color:var(--ink);background:radial-gradient(circle at 82% 6%,rgba(245,200,76,.12),transparent 26rem),radial-gradient(circle at 8% 52%,rgba(98,180,211,.11),transparent 32rem),linear-gradient(180deg,var(--sweden-snow),var(--sweden-birch))}
body::before{opacity:.24;background-image:linear-gradient(rgba(11,79,120,.11) 1px,transparent 1px),linear-gradient(90deg,rgba(11,79,120,.11) 1px,transparent 1px);background-size:64px 64px;mask-image:linear-gradient(to bottom,transparent,#000 9%,#000 88%,transparent)}
body::after{content:"";position:fixed;z-index:-1;inset:0;pointer-events:none;background:linear-gradient(115deg,transparent 0 13%,rgba(199,70,52,.035) 13.1% 13.25%,transparent 13.35%),radial-gradient(circle at 92% 24%,rgba(245,200,76,.12),transparent 18rem)}
::selection{color:var(--sweden-night);background:var(--sweden-yellow)}

/* Sweden sigil */
.brand{align-items:center;letter-spacing:-.035em}
.brand__mark--sweden{width:31px;height:47px;margin-right:12px;padding:3px;border-radius:14px 14px 10px 10px;background:linear-gradient(155deg,var(--sweden-night),var(--sweden-blue));box-shadow:0 8px 24px rgba(6,26,43,.22),inset 0 0 0 1px rgba(255,255,255,.12);filter:none}
.brand__mark--sweden svg{width:100%;height:100%;overflow:visible}.brand__land{fill:rgba(255,253,248,.96);stroke:var(--sweden-yellow);stroke-width:8}.brand__route{fill:none;stroke:var(--sweden-falu);stroke-width:17;stroke-linecap:round}.brand__nodes circle{fill:var(--sweden-yellow);stroke:var(--sweden-night);stroke-width:8}
.brand__word{color:var(--sweden-night);font-size:29px}.brand__domain{color:var(--sweden-falu)}.site-header__context{color:rgba(8,47,77,.57)}.site-header__context::before{background:var(--sweden-falu);box-shadow:0 0 0 5px rgba(199,70,52,.12)}

/* Header */
.site-header{border-bottom:1px solid rgba(11,79,120,.12);background:rgba(255,253,248,.9);box-shadow:0 10px 45px rgba(6,26,43,.045)}
.site-header::after{height:2px;background:linear-gradient(90deg,transparent 3%,var(--sweden-blue) 24%,var(--sweden-yellow) 50%,var(--sweden-falu) 76%,transparent 97%);opacity:.62}
.site-header.is-condensed{background:rgba(255,253,248,.97);box-shadow:0 16px 55px rgba(6,26,43,.1)}
.primary-nav a::after{background:linear-gradient(90deg,var(--sweden-blue),var(--sweden-falu))}.primary-nav a[aria-current="page"]{color:var(--sweden-falu)}
.header-action--contact{color:var(--sweden-falu)}.header-action--contact span:first-child{color:var(--sweden-yellow)}.header-action:hover,.menu-toggle:hover{background:rgba(11,79,120,.08)}
.site-progress{background:linear-gradient(90deg,var(--sweden-blue),var(--sweden-sky),var(--sweden-yellow),var(--sweden-falu))}

/* Native search modal: fail-closed */
dialog.search-dialog:not([open]){display:none!important}
dialog.search-dialog[open]{display:grid!important;place-items:center;width:100%;height:100%;max-width:none;max-height:none;padding:28px;overflow:auto;background:transparent;border:0}
dialog.search-dialog::backdrop{background:radial-gradient(circle at 80% 16%,rgba(98,180,211,.18),transparent 30rem),rgba(3,17,29,.86);backdrop-filter:blur(18px) saturate(.72)}
.search-dialog__panel{position:relative;width:min(1080px,100%);min-height:min(630px,calc(100dvh - 56px));max-height:calc(100dvh - 56px);margin:auto;padding:0;display:grid;grid-template-columns:minmax(245px,.64fr) minmax(0,1.36fr);overflow:hidden;color:var(--sweden-snow);border:1px solid rgba(255,255,255,.18);border-radius:clamp(26px,3vw,46px);background:radial-gradient(circle at 74% 14%,rgba(245,200,76,.17),transparent 24rem),linear-gradient(145deg,var(--sweden-deep),var(--sweden-night) 68%);box-shadow:0 70px 190px rgba(0,0,0,.56),inset 0 1px rgba(255,255,255,.08);transform:none}
.search-dialog__panel::before{opacity:.12;background-size:58px 58px;mask-image:linear-gradient(90deg,transparent 10%,#000 45%,#000 100%)}
.search-dialog__atlas{position:relative;min-height:100%;display:grid;place-items:center;overflow:hidden;border-right:1px solid rgba(255,255,255,.11);background:linear-gradient(180deg,rgba(98,180,211,.12),transparent 44%),linear-gradient(150deg,rgba(11,79,120,.78),rgba(6,26,43,.72))}
.search-dialog__atlas::after{content:"";position:absolute;inset:auto -18% -22% -18%;height:55%;background:radial-gradient(ellipse,rgba(245,200,76,.19),transparent 64%)}
.search-dialog__atlas svg{position:relative;z-index:2;width:min(54%,180px);filter:drop-shadow(0 28px 45px rgba(0,0,0,.35))}.search-dialog__atlas-land{fill:rgba(255,253,248,.08);stroke:rgba(255,253,248,.8);stroke-width:5}.search-dialog__atlas-route{fill:none;stroke:var(--sweden-falu);stroke-width:11;stroke-linecap:round}.search-dialog__atlas-points circle{fill:var(--sweden-yellow);stroke:var(--sweden-night);stroke-width:5}
.search-dialog__atlas>span{position:absolute;z-index:3;left:28px;bottom:28px;color:var(--sweden-yellow);font-size:9px;font-weight:900;letter-spacing:.22em}.search-dialog__atlas-rings i{position:absolute;inset:20%;border:1px solid rgba(255,255,255,.13);border-radius:50%}.search-dialog__atlas-rings i:nth-child(2){inset:31%;border-color:rgba(245,200,76,.22)}.search-dialog__atlas-rings i:nth-child(3){inset:42%;border-style:dashed}
.search-dialog__content{position:relative;z-index:2;display:flex;flex-direction:column;padding:clamp(30px,5vw,68px);overflow:auto}.search-dialog__topline{margin:0 0 clamp(48px,8vh,88px);align-items:flex-start}.search-dialog__topline>div>p:last-child{max-width:430px;margin:-8px 0 0;color:rgba(255,255,255,.5);font-size:13px}.search-dialog__close-form{margin:0}
.search-dialog__close{min-height:44px;display:inline-flex;align-items:center;gap:12px;padding:8px 10px 8px 15px;color:var(--sweden-snow);border:1px solid rgba(255,255,255,.22);border-radius:999px;background:rgba(255,255,255,.045);cursor:pointer;font-size:10px;font-weight:900;letter-spacing:.12em;text-transform:uppercase}.search-dialog__close i{position:relative;width:26px;height:26px;border-radius:50%;background:rgba(255,255,255,.08)}.search-dialog__close i::before,.search-dialog__close i::after{content:"";position:absolute;left:7px;top:12px;width:12px;height:1.5px;background:currentColor;transform:rotate(45deg)}.search-dialog__close i::after{transform:rotate(-45deg)}.search-dialog__close:hover,.search-dialog__close:focus-visible{color:var(--sweden-night);background:var(--sweden-yellow);border-color:var(--sweden-yellow)}
.search-dialog__form label{color:rgba(255,255,255,.61)}.search-dialog .search-field{border-bottom-color:rgba(255,255,255,.32)}.search-dialog .search-field input{min-height:88px;color:var(--sweden-snow);font-size:clamp(34px,4.6vw,62px)}.search-dialog .search-field input::placeholder{color:rgba(255,255,255,.28)}.search-dialog .search-field button{color:var(--sweden-yellow)}.search-dialog__suggestions a{color:rgba(255,255,255,.76);border-color:rgba(255,255,255,.18);background:rgba(255,255,255,.025)}.search-dialog__suggestions a:hover,.search-dialog__suggestions a:focus-visible{color:var(--sweden-night);background:var(--sweden-yellow);border-color:var(--sweden-yellow)}
.search-dialog__footer{margin-top:auto;padding-top:34px;display:flex;justify-content:space-between;gap:20px;color:rgba(255,255,255,.42);font-size:9px;font-weight:900;letter-spacing:.12em;text-transform:uppercase}.search-dialog__footer span:first-child{display:flex;align-items:center;gap:9px}.search-dialog__footer i{width:7px;height:7px;border-radius:50%;background:var(--sweden-yellow);box-shadow:0 0 0 6px rgba(245,200,76,.1)}
body.search-is-open{overflow:hidden}

/* Dock */
.experience-dock{color:var(--sweden-snow);border-color:rgba(255,255,255,.14);background:linear-gradient(180deg,rgba(6,26,43,.96),rgba(8,47,77,.94));box-shadow:0 25px 80px rgba(3,17,29,.32),inset 0 1px rgba(255,255,255,.08)}.experience-dock__status i{background:var(--sweden-yellow);box-shadow:0 0 0 6px rgba(245,200,76,.12),0 0 25px rgba(245,200,76,.72)}.experience-dock a[aria-current],.experience-dock button.is-confirmed{color:var(--sweden-night);background:var(--sweden-yellow)}

/* Atmospheric page depth */
[data-public-page="HOME"] main,[data-public-page="PORTAL"] main,[data-public-page="ENTITY"] main,[data-public-page="STORY"] main,[data-public-page="EXHIBITION"] main,[data-public-page="EXPLORE"] main,[data-public-page="SEARCH"] main,[data-public-page="MAP"] main{overflow:clip}
[data-public-page="HOME"] main::before,[data-public-page="PORTAL"] main::before,[data-public-page="ENTITY"] main::before,[data-public-page="STORY"] main::before,[data-public-page="EXPLORE"] main::before,[data-public-page="SEARCH"] main::before,[data-public-page="MAP"] main::before{content:"";position:absolute;z-index:-1;width:52vw;height:52vw;right:-22vw;top:18vh;border:1px solid rgba(11,79,120,.1);border-radius:50%;box-shadow:inset 0 0 0 7vw rgba(98,180,211,.025),inset 0 0 0 15vw rgba(245,200,76,.018)}

/* Home */
.hero--home{color:var(--sweden-snow);background:radial-gradient(circle at 78% 23%,rgba(245,200,76,.23),transparent 25rem),radial-gradient(circle at 13% 76%,rgba(199,70,52,.18),transparent 29rem),linear-gradient(126deg,#041827 0%,#082f4d 51%,#0b5f7b 100%)}
.hero--home::before{content:"";position:absolute;inset:0;opacity:.25;background:linear-gradient(rgba(255,255,255,.08) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.08) 1px,transparent 1px);background-size:72px 72px;mask-image:linear-gradient(90deg,#000,transparent 82%)}.hero--home::after{height:30%;background:linear-gradient(180deg,transparent,rgba(3,17,29,.38));clip-path:polygon(0 70%,9% 48%,18% 61%,30% 31%,42% 57%,55% 20%,69% 55%,82% 35%,100% 65%,100% 100%,0 100%)}
.hero--home .eyebrow{color:var(--sweden-yellow)}.hero--home h1{text-shadow:0 25px 55px rgba(0,0,0,.22)}.hero--home h1 em{color:var(--sweden-copper)}.hero--home .hero__lede{color:rgba(255,255,255,.72)}.hero--home .button--primary{color:var(--sweden-night);background:var(--sweden-yellow);box-shadow:0 18px 44px rgba(245,200,76,.2)}.hero--home .button--ghost{color:var(--sweden-snow);border-color:rgba(255,255,255,.3)}
.atlas-stage{filter:drop-shadow(0 40px 70px rgba(0,0,0,.22))}.atlas-stage__halo{background:radial-gradient(circle,rgba(245,200,76,.5) 0,rgba(98,180,211,.15) 30%,transparent 67%)}.sweden-silhouette__land{fill:rgba(255,253,248,.08);stroke:rgba(255,253,248,.82)}.sweden-silhouette__river{stroke:var(--sweden-sky)}.sweden-silhouette__route{stroke:var(--sweden-falu)}.sweden-silhouette__points circle{fill:var(--sweden-yellow)}.floating-note{border-left-color:var(--sweden-falu);box-shadow:0 18px 55px rgba(3,17,29,.19)}.experience-rails a{border-color:rgba(255,255,255,.14);background:rgba(255,255,255,.035)}.experience-rails a:hover{color:var(--sweden-night);background:var(--sweden-yellow)}
.national-command{background:radial-gradient(circle at 88% 20%,rgba(245,200,76,.15),transparent 25rem),linear-gradient(135deg,var(--sweden-night),var(--sweden-deep) 55%,var(--sweden-blue))}.national-command::after{content:"";position:absolute;inset:0;pointer-events:none;opacity:.13;background-image:repeating-radial-gradient(ellipse at 82% 55%,transparent 0 32px,rgba(255,255,255,.18) 33px 34px,transparent 35px 62px)}
.experience-gateway__card{border-top-width:5px;box-shadow:0 24px 70px rgba(6,26,43,.1)}.experience-gateway__card--map{border-top-color:var(--sweden-sky)}.experience-gateway__card--search{border-top-color:var(--sweden-yellow)}.experience-gateway__card--portal{border-top-color:var(--sweden-falu)}.portal-card{box-shadow:0 18px 55px rgba(6,26,43,.09)}.portal-card:hover{box-shadow:0 34px 95px rgba(6,26,43,.17)}

/* Portal */
.portal-hero{background:radial-gradient(circle at 75% 16%,rgba(245,200,76,.19),transparent 24rem),radial-gradient(circle at 12% 82%,rgba(199,70,52,.16),transparent 28rem),linear-gradient(135deg,var(--sweden-night),var(--sweden-deep) 58%,var(--sweden-blue))}.portal-hero::before{opacity:.22;background-size:72px 72px}.portal-hero__media,.portal-hero__visual,.portal-hero figure{box-shadow:0 45px 120px rgba(0,0,0,.35),0 0 0 1px rgba(255,255,255,.12)}.portal-hero h1,.portal-hero h2{text-shadow:0 24px 55px rgba(0,0,0,.28)}.portal-hero em{color:var(--sweden-yellow)}.portal-section-nav{background:rgba(6,26,43,.91);border-color:rgba(255,255,255,.13);box-shadow:0 22px 70px rgba(3,17,29,.2)}.portal-section-nav a.is-active{color:var(--sweden-night);background:var(--sweden-yellow)}.portal-map,.portal-timeline,.portal-gallery,.portal-perspectives{position:relative}.portal-map::before,.portal-timeline::before,.portal-gallery::before,.portal-perspectives::before{content:"";position:absolute;left:0;top:0;width:84px;height:4px;background:linear-gradient(90deg,var(--sweden-blue),var(--sweden-yellow),var(--sweden-falu))}

/* Entity / story */
.entity-hero,.story-hero,.exhibition-hero{background:radial-gradient(circle at 84% 18%,rgba(245,200,76,.2),transparent 25rem),linear-gradient(132deg,var(--sweden-night),var(--sweden-deep) 58%,var(--sweden-blue))}.entity-hero::before,.story-hero::before,.exhibition-hero::before{opacity:.16;background-size:68px 68px}.entity-hero__media,.story-hero__media,.exhibition-hero__media{box-shadow:0 42px 110px rgba(0,0,0,.33)}.entity-fact-grid>*,.fact-grid>*,.story-fact-grid>*{box-shadow:0 14px 42px rgba(6,26,43,.07)}

/* Search, map, explore */
.explorer-head,.search-hero,.discovery-hero{color:var(--sweden-snow);background:radial-gradient(circle at 82% 12%,rgba(245,200,76,.22),transparent 24rem),radial-gradient(circle at 14% 86%,rgba(199,70,52,.16),transparent 27rem),linear-gradient(132deg,var(--sweden-night),var(--sweden-deep) 54%,var(--sweden-blue))}.explorer-head h1 em,.search-hero h1 em,.discovery-hero h1 em{color:var(--sweden-yellow)}.discovery-card{box-shadow:0 19px 58px rgba(6,26,43,.1)}.discovery-card:hover{box-shadow:0 35px 95px rgba(6,26,43,.18);transform:translateY(-7px)}.discovery-card--lake{border-top:5px solid var(--sweden-sky)}.discovery-card--gold{border-top:5px solid var(--sweden-yellow)}.discovery-card--red{border-top:5px solid var(--sweden-falu)}.discovery-card--green{border-top:5px solid var(--sweden-forest)}.discovery-card--berry{border-top:5px solid var(--sweden-copper)}.discovery-card--ink{border-top:5px solid var(--sweden-blue)}
.map-stage{background:radial-gradient(circle at 70% 28%,rgba(245,200,76,.18),transparent 22rem),linear-gradient(145deg,#082f4d,#0b4f78);box-shadow:inset 0 0 0 1px rgba(255,255,255,.08),0 30px 90px rgba(6,26,43,.16)}.map-stage__land{fill:rgba(255,253,248,.07);stroke:rgba(255,253,248,.64)}.map-marker span{background:var(--sweden-yellow);box-shadow:0 0 0 6px rgba(245,200,76,.13),0 0 22px rgba(245,200,76,.55)}.map-experience-toolbar{border-top:4px solid var(--sweden-yellow);box-shadow:0 16px 50px rgba(6,26,43,.08)}.search-result{transition:transform .28s var(--ease),box-shadow .28s var(--ease),border-color .28s ease}.search-result:hover{transform:translateY(-4px);box-shadow:0 24px 70px rgba(6,26,43,.13);border-color:rgba(11,79,120,.28)}

.legendary-contact-cta{background:radial-gradient(circle at 78% 24%,rgba(245,200,76,.25),transparent 28rem),radial-gradient(circle at 16% 82%,rgba(199,70,52,.2),transparent 29rem),linear-gradient(135deg,var(--sweden-night),var(--sweden-deep) 55%,var(--sweden-blue))}.site-footer{background:var(--sweden-night)}.site-footer__bottom a{color:var(--sweden-yellow)}
:where(a,button,input,textarea,select,summary):focus-visible{outline-color:var(--sweden-yellow)}
.legendary-card{position:relative;isolation:isolate;overflow:hidden}.legendary-card::after{content:"";position:absolute;z-index:-1;width:280px;height:280px;left:calc(var(--card-x,78%) - 140px);top:calc(var(--card-y,20%) - 140px);border-radius:50%;pointer-events:none;opacity:0;background:radial-gradient(circle,rgba(245,200,76,.2),transparent 67%);transition:opacity .3s ease}.legendary-card:hover::after,.legendary-card:focus-visible::after{opacity:1}

@media (prefers-reduced-motion:no-preference){.search-dialog[open] .search-dialog__panel{animation:legendary-dialog-in .34s cubic-bezier(.2,.78,.2,1) both}.search-dialog[open]::backdrop{animation:legendary-backdrop-in .25s ease both}.search-dialog__atlas-rings i{animation:legendary-ring 8s ease-in-out infinite}.search-dialog__atlas-rings i:nth-child(2){animation-delay:-2.6s}.search-dialog__atlas-rings i:nth-child(3){animation-delay:-5.2s}}
@keyframes legendary-dialog-in{from{opacity:0;transform:translateY(18px) scale(.985)}to{opacity:1;transform:none}}@keyframes legendary-backdrop-in{from{opacity:0}to{opacity:1}}@keyframes legendary-ring{0%,100%{transform:scale(.96);opacity:.35}50%{transform:scale(1.04);opacity:.8}}
@media(max-width:1180px){.site-header__context{display:none}.brand__word{font-size:26px}}
@media(max-width:760px){dialog.search-dialog[open]{padding:0;place-items:stretch}.search-dialog__panel{width:100%;min-height:100dvh;max-height:none;grid-template-columns:1fr;border:0;border-radius:0}.search-dialog__atlas{min-height:170px;border-right:0;border-bottom:1px solid rgba(255,255,255,.11)}.search-dialog__atlas svg{width:64px}.search-dialog__atlas-rings i{inset:16% 32%}.search-dialog__atlas-rings i:nth-child(2){inset:25% 38%}.search-dialog__atlas-rings i:nth-child(3){inset:34% 44%}.search-dialog__atlas>span{left:20px;bottom:16px}.search-dialog__content{min-height:calc(100dvh - 170px);padding:24px 20px max(32px,calc(20px + env(safe-area-inset-bottom)))}.search-dialog__topline{margin-bottom:40px}.search-dialog__topline>div>p:last-child{display:none}.search-dialog__close span{display:none}.search-dialog__close{padding:8px}.search-dialog .search-field{grid-template-columns:1fr}.search-dialog .search-field input{min-height:78px;font-size:clamp(30px,10vw,46px)}.search-dialog .search-field button{min-height:52px;padding:0;text-align:left}.search-dialog__footer{margin-top:28px}.brand__mark--sweden{width:27px;height:41px}.brand__word{font-size:24px}.brand__domain{font-size:12px}.experience-dock{background:rgba(6,26,43,.96)}}
@media(max-width:520px){.search-dialog__suggestions a{padding:8px 10px;font-size:10px}.search-dialog__footer span:last-child{display:none}}

/* ===== SOURCE: assets/css/award-winning-sweden.css ===== */
/* Svenskhet.se Pass 25.2 — Award-winning Sweden: blue/yellow public facelift */
:root {
    --swe-blue-950:#001f3a;
    --swe-blue-900:#002b52;
    --swe-blue-800:#003d73;
    --swe-blue-700:#005293;
    --swe-blue-600:#1677b7;
    --swe-blue-400:#63b8e6;
    --swe-blue-200:#cfeaf7;
    --swe-yellow-500:#fecb00;
    --swe-yellow-300:#ffdd58;
    --swe-yellow-100:#fff2b5;
    --swe-red-500:#c74634;
    --swe-coral-400:#ee7b61;
    --swe-violet-500:#6a68ad;
    --swe-snow:#fffdf7;
    --swe-ivory:#f5f0e5;
    --swe-mist:#e8f2f6;
    --swe-slate:#60798a;
    --swe-ink:#062d4a;
    --swe-line:rgba(0,61,115,.16);
    --swe-shadow:0 42px 120px rgba(0,31,58,.18);
    --swe-shadow-soft:0 18px 60px rgba(0,31,58,.11);

    /* Eliminate the inherited green cast without breaking legacy selectors. */
    --sweden-night:var(--swe-blue-950);
    --sweden-deep:var(--swe-blue-900);
    --sweden-blue:var(--swe-blue-700);
    --sweden-sea:var(--swe-blue-600);
    --sweden-sky:var(--swe-blue-400);
    --sweden-yellow:var(--swe-yellow-500);
    --sweden-sun:var(--swe-yellow-100);
    --sweden-falu:var(--swe-red-500);
    --sweden-copper:var(--swe-coral-400);
    --sweden-birch:var(--swe-ivory);
    --sweden-snow:var(--swe-snow);
    --sweden-granite:var(--swe-slate);
    --sweden-forest:var(--swe-blue-800);
    --ink:var(--swe-ink);
    --ink-deep:var(--swe-blue-950);
    --paper:var(--swe-ivory);
    --paper-soft:var(--swe-snow);
    --linen:#e9dfcf;
    --winter:var(--swe-mist);
    --lake:var(--swe-blue-400);
    --lake-deep:var(--swe-blue-700);
    --pine:var(--swe-blue-800);
    --moss:var(--swe-blue-600);
    --gold:var(--swe-yellow-500);
    --blue:var(--swe-blue-700);
    --line:var(--swe-line);
    --experience-ink:var(--swe-blue-900);
    --experience-ink-rgb:0,43,82;
    --experience-paper:var(--swe-ivory);
    --experience-cream:var(--swe-snow);
    --experience-signal:var(--swe-yellow-500);
    --experience-red:var(--swe-red-500);
    --experience-lake:var(--swe-blue-400);
    --experience-mist:var(--swe-mist);
    --experience-shadow:var(--swe-shadow);
    --experience-shadow-soft:var(--swe-shadow-soft);
}

html { background:var(--swe-ivory); }
body {
    color:var(--swe-ink);
    background:
        radial-gradient(circle at 84% 5%,rgba(254,203,0,.13),transparent 26rem),
        radial-gradient(circle at 6% 48%,rgba(99,184,230,.10),transparent 34rem),
        linear-gradient(180deg,var(--swe-snow),var(--swe-ivory));
}
body::before {
    opacity:.2;
    background-image:
        linear-gradient(rgba(0,82,147,.10) 1px,transparent 1px),
        linear-gradient(90deg,rgba(0,82,147,.10) 1px,transparent 1px);
    background-size:72px 72px;
}
::selection { color:var(--swe-blue-950); background:var(--swe-yellow-300); }

/* A cleaner national header: bright, precise, unmistakably Swedish. */
.site-header {
    background:rgba(255,253,247,.94);
    border-bottom-color:rgba(0,82,147,.13);
    box-shadow:0 12px 45px rgba(0,31,58,.055);
}
.site-header::after {
    height:3px;
    opacity:1;
    background:linear-gradient(90deg,
        transparent 0 4%,
        var(--swe-blue-700) 4% 48%,
        var(--swe-yellow-500) 48% 53%,
        var(--swe-blue-700) 53% 96%,
        transparent 96% 100%);
}
.brand__mark--sweden {
    background:linear-gradient(155deg,var(--swe-blue-950),var(--swe-blue-700));
    box-shadow:0 9px 26px rgba(0,43,82,.2),inset 0 0 0 1px rgba(255,255,255,.15);
}
.brand__word { color:var(--swe-blue-950); }
.brand__domain { color:var(--swe-red-500); }
.primary-nav a[aria-current="page"] { color:var(--swe-blue-700); }
.primary-nav a::after { background:linear-gradient(90deg,var(--swe-blue-700),var(--swe-yellow-500)); }
.header-action--contact { color:var(--swe-red-500); }
.site-progress { background:linear-gradient(90deg,var(--swe-blue-700),var(--swe-blue-400),var(--swe-yellow-500),var(--swe-red-500)); }

/* Shared dark stages. No green aliases, no muddy gradients. */
.hero--home,
.portal-hero,
.entity-hero,
.story-hero,
.exhibition-hero,
.discovery-hero,
.page-explore .discovery-hero,
.explorer-head,
.search-hero,
.national-command,
.legendary-contact-cta {
    color:var(--swe-snow);
    background:
        radial-gradient(circle at 78% 17%,rgba(254,203,0,.22),transparent 27rem),
        radial-gradient(circle at 12% 84%,rgba(199,70,52,.16),transparent 30rem),
        linear-gradient(132deg,var(--swe-blue-950) 0%,var(--swe-blue-900) 52%,var(--swe-blue-700) 100%) !important;
}
.hero--home::before,
.portal-hero::before,
.entity-hero::before,
.story-hero::before,
.exhibition-hero::before,
.discovery-hero::before,
.explorer-head::before {
    opacity:.2;
    background-size:76px 76px;
}
.eyebrow--light,
.hero--home .eyebrow,
.portal-hero .eyebrow,
.entity-hero .eyebrow,
.story-hero .eyebrow,
.explorer-head .eyebrow,
.discovery-hero .eyebrow { color:var(--swe-yellow-300); }

/* All legacy accent classes resolve to a blue/yellow/red national system. */
.accent-lake .portal-hero,
.accent-blue .portal-hero,
.accent-green .portal-hero,
.accent-pine .portal-hero,
.accent-ink .portal-hero { background:linear-gradient(132deg,var(--swe-blue-950),var(--swe-blue-900) 54%,var(--swe-blue-700)) !important; }
.accent-gold .portal-hero { background:linear-gradient(132deg,var(--swe-blue-950),#51420a 62%,var(--swe-yellow-500)) !important; }
.accent-red .portal-hero,
.accent-berry .portal-hero { background:linear-gradient(132deg,var(--swe-blue-950),#652b3a 60%,var(--swe-red-500)) !important; }
.discovery-card--green { border-top-color:var(--swe-blue-400) !important; }

/* PORTAL HERO: strict containment. The photo can never escape its frame. */
.portal-hero {
    min-height:auto;
    overflow:hidden;
    isolation:isolate;
}
.portal-hero__grid {
    min-height:clamp(700px,78svh,880px);
    grid-template-columns:minmax(0,1.08fr) minmax(380px,.92fr);
    gap:clamp(52px,7vw,116px);
    padding-block:clamp(90px,9vw,138px) clamp(120px,11vw,170px);
}
.portal-hero__copy { position:relative; z-index:4; min-width:0; }
.portal-hero__copy h1 {
    max-width:920px;
    font-size:clamp(72px,8.4vw,140px);
    line-height:.82;
    letter-spacing:-.065em;
    text-shadow:0 25px 65px rgba(0,23,45,.35);
}
.portal-hero__statement {
    max-width:760px;
    color:rgba(255,255,255,.79);
    font-size:clamp(25px,2.25vw,38px);
}
.portal-hero__object {
    position:relative;
    z-index:2;
    width:min(590px,42vw);
    max-width:100%;
    aspect-ratio:4 / 5;
    justify-self:end;
    display:block;
    overflow:hidden;
    border:1px solid rgba(255,255,255,.18);
    border-radius:46% 54% 50% 50% / 40% 45% 55% 60%;
    background:linear-gradient(150deg,rgba(255,255,255,.12),rgba(255,255,255,.025));
    box-shadow:0 48px 135px rgba(0,19,38,.42),0 0 0 14px rgba(255,255,255,.025);
    transform:none !important;
    transition:none !important;
    contain:layout paint;
}
.portal-hero__object::before {
    content:"";
    position:absolute;
    z-index:3;
    inset:0;
    pointer-events:none;
    background:
        linear-gradient(180deg,rgba(0,31,58,.02),transparent 48%,rgba(0,31,58,.45)),
        radial-gradient(circle at 74% 28%,transparent 0 22%,rgba(0,31,58,.09) 45%,rgba(0,31,58,.25) 100%);
}
.portal-hero__media {
    position:absolute !important;
    z-index:1;
    inset:0 !important;
    width:100%;
    height:100%;
    overflow:hidden;
    opacity:1;
    border-radius:inherit !important;
    box-shadow:none !important;
}
.portal-hero__picture,
.portal-hero__picture picture,
.portal-hero__picture .media-presentation__visual,
.portal-hero__picture img,
.portal-hero__media picture,
.portal-hero__media img {
    display:block;
    width:100% !important;
    height:100% !important;
    max-width:100% !important;
    max-height:100% !important;
    border-radius:inherit !important;
}
.portal-hero__picture img,
.portal-hero__media img {
    object-fit:cover !important;
    object-position:center !important;
    transform:none !important;
    scale:1 !important;
}
.portal-hero__media > small {
    z-index:5;
    left:28px;
    right:28px;
    bottom:20px;
    color:rgba(255,255,255,.76);
    text-shadow:0 1px 8px rgba(0,0,0,.7);
}
.portal-orbit {
    position:absolute;
    z-index:4;
    inset:8%;
    width:auto;
    aspect-ratio:auto;
    pointer-events:none;
}
.portal-orbit__ring { border-color:rgba(255,255,255,.24); }
.portal-orbit__ring--2 { border-color:rgba(254,203,0,.38); }
.portal-orbit__core {
    width:34%;
    color:var(--swe-blue-950);
    background:rgba(255,253,247,.94);
    box-shadow:0 22px 80px rgba(0,31,58,.26),0 0 0 12px rgba(255,255,255,.08);
}
.portal-orbit__point { background:var(--swe-yellow-500); border-color:rgba(255,255,255,.86); box-shadow:0 0 0 9px rgba(254,203,0,.12),0 0 35px rgba(254,203,0,.42); }
.portal-subnav {
    background:rgba(0,31,58,.9);
    border-color:rgba(255,255,255,.15);
    box-shadow:0 24px 80px rgba(0,23,45,.28);
}
.portal-subnav a.is-active,
.portal-subnav a[aria-current="location"] { color:var(--swe-blue-950); background:var(--swe-yellow-500); }

/* Give subsequent portal sections visual rhythm instead of one dark green slab. */
.portal-contract,
.portal-fact-band,
.portal-featured,
.portal-story-section,
.portal-gallery-section { position:relative; }
.portal-contract { background:var(--swe-snow); }
.portal-fact-band { background:linear-gradient(180deg,var(--swe-mist),var(--swe-snow)); }
.portal-map { background:linear-gradient(145deg,var(--swe-blue-950),var(--swe-blue-800)) !important; }
.timeline-section { background:linear-gradient(180deg,var(--swe-blue-900),var(--swe-blue-950)) !important; }
.national-coverage { background:linear-gradient(140deg,var(--swe-blue-950),var(--swe-blue-800)) !important; }
.portal-gallery-section { background:var(--swe-snow) !important; }
.portal-perspectives { background:linear-gradient(180deg,var(--swe-ivory),var(--swe-snow)); }
.portal-map::before,
.portal-timeline::before,
.portal-gallery::before,
.portal-perspectives::before { background:linear-gradient(90deg,var(--swe-blue-400),var(--swe-yellow-500),var(--swe-red-500)); }

/* SEARCH: dark command deck, bright result gallery, no green lower wash. */
.search-page--national {
    color:var(--swe-snow);
    background:
        radial-gradient(circle at 88% 8%,rgba(254,203,0,.18),transparent 25rem),
        linear-gradient(180deg,var(--swe-blue-950) 0 660px,var(--swe-ivory) 660px 100%) !important;
}
.search-hero-grid { min-height:390px; padding-top:24px; }
.search-page--national h1 { color:var(--swe-snow); text-shadow:0 24px 60px rgba(0,19,38,.32); }
.search-page__lede { color:rgba(255,255,255,.72) !important; }
.search-signal span,
.search-signal i { border-color:rgba(254,203,0,.34); }
.search-signal b { color:var(--swe-yellow-500); }
.search-page__form--national {
    color:var(--swe-snow);
    border:1px solid rgba(255,255,255,.15);
    border-radius:30px;
    background:
        radial-gradient(circle at 82% 8%,rgba(254,203,0,.12),transparent 19rem),
        linear-gradient(145deg,var(--swe-blue-900),var(--swe-blue-950)) !important;
    box-shadow:0 34px 100px rgba(0,23,45,.38);
}
.search-page__form--national select,
.search-page__form--national .search-filter-grid input,
.search-page__form--national .search-check {
    color:var(--swe-snow);
    border-color:rgba(255,255,255,.18);
    background:rgba(255,255,255,.055) !important;
}
.search-page__form--national .search-command { border-bottom-color:rgba(255,255,255,.32); }
.search-page__form--national .search-command input { color:var(--swe-snow); }
.search-page__form--national .search-command button,
.search-form-actions button { color:var(--swe-blue-950); background:var(--swe-yellow-500); }
.search-experience-summary {
    color:var(--swe-blue-950);
    border:1px solid rgba(0,82,147,.14);
    border-radius:24px;
    background:rgba(255,253,247,.96);
    box-shadow:var(--swe-shadow-soft);
}
.search-experience-summary small,
.search-experience-summary p { color:rgba(6,45,74,.66); }
.search-experience-summary a { color:var(--swe-blue-700); border-color:rgba(0,82,147,.22); }
.search-results {
    margin-top:54px;
    padding:clamp(28px,4vw,58px);
    color:var(--swe-ink);
    border:1px solid rgba(0,82,147,.13);
    border-radius:34px;
    background:rgba(255,253,247,.97);
    box-shadow:var(--swe-shadow);
}
.search-result { border-bottom-color:rgba(0,82,147,.14); }
.search-result:hover { border-color:rgba(0,82,147,.27); box-shadow:0 25px 70px rgba(0,43,82,.13); }
.search-facets span { color:var(--swe-blue-900); border-color:rgba(0,82,147,.18); background:var(--swe-mist); }

/* EXPLORE: blue editorial opening, light experience cards. */
.page-explore .discovery-hero {
    background:
        radial-gradient(circle at 78% 20%,rgba(254,203,0,.22),transparent 28rem),
        radial-gradient(circle at 10% 85%,rgba(199,70,52,.14),transparent 28rem),
        linear-gradient(138deg,var(--swe-blue-950),var(--swe-blue-900) 55%,var(--swe-blue-700)) !important;
}
.page-explore .discovery-hero h1 { text-shadow:0 26px 65px rgba(0,23,45,.32); }
.discovery-principles,
.discovery-grid-section { background:var(--swe-snow); }
.discovery-card { background:var(--swe-snow); border-color:rgba(0,82,147,.14); }
.discovery-card:hover { box-shadow:0 35px 95px rgba(0,43,82,.17); }

/* MAP: Swedish-blue atlas, calm markers, no nested scroll, readable editorial cards. */
.explorer-workspace {
    padding:56px 0 130px;
    background:
        radial-gradient(circle at 90% 12%,rgba(254,203,0,.11),transparent 28rem),
        linear-gradient(180deg,var(--swe-snow),var(--swe-ivory)) !important;
}
.explorer-filters {
    border-color:rgba(0,82,147,.14);
    border-radius:24px;
    background:rgba(255,253,247,.96);
    box-shadow:var(--swe-shadow-soft);
}
.explorer-filters input,
.explorer-filters select { border-color:rgba(0,82,147,.16); background:var(--swe-snow); }
.map-experience-toolbar {
    margin:24px 0;
    padding:18px 20px;
    border:1px solid rgba(0,82,147,.14);
    border-top:4px solid var(--swe-yellow-500);
    border-radius:20px;
    background:rgba(255,253,247,.96);
    box-shadow:var(--swe-shadow-soft);
}
.map-layout {
    display:grid;
    grid-template-columns:minmax(0,1.42fr) minmax(360px,.58fr);
    align-items:start;
    gap:24px;
    min-height:0;
    border:0;
    background:transparent;
}
.map-stage {
    position:sticky;
    top:calc(var(--header-height) + 22px);
    min-height:780px;
    overflow:hidden;
    isolation:isolate;
    border:1px solid rgba(255,255,255,.18);
    border-radius:38px;
    background:
        radial-gradient(circle at 72% 24%,rgba(254,203,0,.17),transparent 22rem),
        radial-gradient(circle at 18% 86%,rgba(99,184,230,.17),transparent 27rem),
        linear-gradient(145deg,var(--swe-blue-900),var(--swe-blue-950) 72%) !important;
    box-shadow:0 42px 125px rgba(0,31,58,.25),inset 0 1px rgba(255,255,255,.08);
}
.map-stage::before {
    z-index:0;
    opacity:.13;
    background-image:
        linear-gradient(rgba(255,255,255,.16) 1px,transparent 1px),
        linear-gradient(90deg,rgba(255,255,255,.16) 1px,transparent 1px);
    background-size:42px 42px;
}
.map-stage::after {
    content:"";
    position:absolute;
    z-index:0;
    inset:8% 12%;
    pointer-events:none;
    border:1px solid rgba(254,203,0,.15);
    border-radius:50%;
    box-shadow:inset 0 0 0 90px rgba(99,184,230,.018),0 0 0 70px rgba(255,255,255,.012);
}
.map-stage__chrome {
    position:absolute;
    z-index:8;
    top:24px;
    left:26px;
    right:26px;
    display:flex;
    justify-content:space-between;
    align-items:flex-start;
    gap:20px;
    pointer-events:none;
}
.map-stage__chrome span { color:var(--swe-yellow-300); font-size:10px; font-weight:950; letter-spacing:.17em; text-transform:uppercase; }
.map-stage__chrome strong { display:block; margin-top:5px; color:var(--swe-snow); font-family:var(--serif); font-size:25px; font-weight:400; }
.map-stage__chrome small { max-width:190px; color:rgba(255,255,255,.5); text-align:right; line-height:1.45; }
.map-stage__land {
    z-index:1;
    width:34%;
    height:82%;
    left:33%;
    top:10%;
    fill:rgba(255,253,247,.96) !important;
    stroke:var(--swe-yellow-500) !important;
    stroke-width:2;
    filter:drop-shadow(0 28px 55px rgba(0,15,30,.35));
}
.map-marker {
    z-index:4;
    width:18px;
    height:18px;
    display:grid;
    place-items:center;
    text-decoration:none;
}
.map-marker > span:first-child {
    width:8px;
    height:8px;
    border:1.5px solid rgba(255,255,255,.95);
    background:var(--swe-yellow-500);
    box-shadow:0 0 0 3px rgba(0,82,147,.42),0 4px 15px rgba(0,15,30,.42);
    opacity:.78;
    transition:transform .18s ease,opacity .18s ease,background .18s ease,box-shadow .18s ease;
}
.map-stage--dense .map-marker > span:first-child { width:6px; height:6px; border-width:1px; box-shadow:0 0 0 2px rgba(0,82,147,.36); opacity:.67; }
.map-stage.has-map-focus .map-marker:not(.is-active) > span:first-child { opacity:.24; }
.map-marker:hover > span:first-child,
.map-marker:focus-visible > span:first-child,
.map-marker.is-active > span:first-child {
    opacity:1;
    background:var(--swe-red-500);
    transform:scale(2.1);
    box-shadow:0 0 0 4px rgba(255,255,255,.92),0 0 0 9px rgba(254,203,0,.18),0 10px 30px rgba(0,15,30,.48);
}
.map-marker b {
    left:20px;
    top:-10px;
    z-index:9;
    max-width:220px;
    padding:8px 11px;
    color:var(--swe-blue-950);
    border:1px solid rgba(0,82,147,.17);
    border-radius:10px;
    background:rgba(255,253,247,.97);
    box-shadow:0 14px 38px rgba(0,31,58,.18);
}
.map-marker__popup {
    z-index:10;
    border:1px solid rgba(0,82,147,.15);
    background:var(--swe-snow);
    box-shadow:0 25px 75px rgba(0,31,58,.24);
}
.map-stage__legend {
    position:absolute;
    z-index:8;
    left:26px;
    bottom:24px;
    display:flex;
    align-items:center;
    gap:16px;
    padding:10px 13px;
    color:rgba(255,255,255,.68);
    border:1px solid rgba(255,255,255,.14);
    border-radius:999px;
    background:rgba(0,31,58,.68);
    backdrop-filter:blur(12px);
    font-size:9px;
    font-weight:900;
    letter-spacing:.08em;
    text-transform:uppercase;
}
.map-stage__legend i { width:8px; height:8px; border:2px solid #fff; border-radius:50%; background:var(--swe-yellow-500); box-shadow:0 0 0 3px rgba(0,82,147,.5); }
.map-list {
    max-height:none !important;
    overflow:visible !important;
    display:grid;
    gap:14px;
    border-radius:0;
    background:transparent;
    box-shadow:none;
}
.map-list article {
    display:grid;
    grid-template-columns:118px minmax(0,1fr);
    gap:18px;
    padding:16px;
    overflow:hidden;
    border:1px solid rgba(0,82,147,.13);
    border-radius:22px;
    background:rgba(255,253,247,.97);
    box-shadow:0 14px 42px rgba(0,43,82,.075);
    content-visibility:auto;
    contain-intrinsic-size:150px;
    transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease;
}
.map-list article:hover,
.map-list article.is-active {
    background:var(--swe-snow);
    border-color:rgba(0,82,147,.28);
    box-shadow:0 22px 65px rgba(0,43,82,.13);
    transform:translateX(-5px);
}
.map-list__media { width:118px; height:132px; border-radius:16px; }
.map-list__media img { width:100%; height:100%; object-fit:cover; }
.map-list article h2 { margin:5px 0 8px; color:var(--swe-blue-950); font-size:clamp(24px,2vw,34px); line-height:1; }
.map-list article p { color:rgba(6,45,74,.67); font-size:14px; line-height:1.5; }
.map-list article > div > span { color:var(--swe-red-500); }
.map-list__credit { color:rgba(6,45,74,.58); }

/* Cards, buttons and data surfaces: sharper and more luxurious. */
.button--primary,
.hero--home .button--primary { color:var(--swe-blue-950); background:var(--swe-yellow-500); box-shadow:0 18px 48px rgba(254,203,0,.2); }
.button--primary:hover { background:var(--swe-yellow-300); transform:translateY(-2px); }
.portal-card,
.entry-card,
.relation-card,
.discovery-card,
.search-result,
.experience-gateway__card { border-color:rgba(0,82,147,.13); box-shadow:0 18px 60px rgba(0,43,82,.09); }
.portal-card:hover,
.entry-card:hover,
.relation-card:hover,
.discovery-card:hover,
.search-result:hover,
.experience-gateway__card:hover { box-shadow:0 34px 95px rgba(0,43,82,.16); }

.site-footer { background:linear-gradient(145deg,var(--swe-blue-950),var(--swe-blue-900)); }
.site-footer__bottom a { color:var(--swe-yellow-300); }
.experience-dock { background:linear-gradient(180deg,rgba(0,31,58,.97),rgba(0,61,115,.95)); }
.experience-dock__status i { background:var(--swe-yellow-500); }

@media (max-width:1180px) {
    .portal-hero__grid { grid-template-columns:minmax(0,1fr) minmax(320px,.72fr); gap:48px; }
    .portal-hero__object { width:min(470px,40vw); }
    .map-layout { grid-template-columns:minmax(0,1.15fr) minmax(330px,.85fr); }
}

@media (max-width:960px) {
    .portal-hero__grid { grid-template-columns:1fr; min-height:auto; padding-block:80px 115px; }
    .portal-hero__object { order:0; width:min(760px,100%); aspect-ratio:16 / 10; justify-self:start; border-radius:34px; }
    .portal-orbit { inset:10%; }
    .portal-orbit__core { width:28%; }
    .map-layout { grid-template-columns:1fr; }
    .map-stage { position:relative; top:auto; min-height:680px; }
    .map-list { grid-template-columns:repeat(2,minmax(0,1fr)); }
    .map-list article { grid-template-columns:96px minmax(0,1fr); }
    .map-list__media { width:96px; height:112px; }
}

@media (max-width:720px) {
    .portal-hero__grid { padding-block:64px 96px; }
    .portal-hero__copy h1 { font-size:clamp(54px,17vw,84px); }
    .portal-hero__statement { font-size:22px; }
    .portal-hero__object { aspect-ratio:4 / 3; border-radius:24px; }
    .portal-orbit__core { width:34%; }
    .search-page--national { background:linear-gradient(180deg,var(--swe-blue-950) 0 760px,var(--swe-ivory) 760px 100%) !important; }
    .search-results { padding:22px 18px; border-radius:24px; }
    .map-stage { min-height:560px; border-radius:24px; }
    .map-stage__chrome { top:18px; left:18px; right:18px; }
    .map-stage__chrome small { display:none; }
    .map-stage__land { width:42%; left:29%; }
    .map-stage__legend { left:18px; bottom:18px; }
    .map-list { grid-template-columns:1fr; }
    .map-list article { grid-template-columns:92px minmax(0,1fr); padding:13px; border-radius:18px; }
    .map-list__media { width:92px; height:100px; border-radius:13px; }
}

@media (prefers-reduced-motion:reduce) {
    .portal-hero__object,
    .portal-hero__picture img,
    .portal-hero__media img,
    .map-marker > span:first-child { transform:none !important; transition:none !important; }
}

/* Ensure the media popup is not contaminated by the legacy generic marker-span rule. */
.map-marker__popup {
    width:280px !important;
    height:auto !important;
    min-height:0 !important;
    padding:0 !important;
    border-radius:18px !important;
    opacity:0;
}
.map-marker:hover .map-marker__popup,
.map-marker:focus-visible .map-marker__popup,
.map-marker.is-active .map-marker__popup { opacity:1; }
.map-marker__popup .map-marker__media { width:100% !important; height:150px !important; border:0 !important; border-radius:17px 17px 0 0 !important; box-shadow:none !important; }
.map-marker__popup strong,
.map-marker__popup small { width:auto !important; height:auto !important; border:0 !important; border-radius:0 !important; background:transparent !important; box-shadow:none !important; }

/* ===== SOURCE: assets/css/legendary-polish.css ===== */
/* Svenskhet.se Pass 25.3 — visual alignment, contrast, sharing and network polish */
:root {
    --swe-yellow-ink:#6d4d00;
    --swe-yellow-deep:#8a6200;
    --swe-yellow-soft:#fff3b2;
    --swe-blue-050:#f4f9fc;
    --swe-blue-100:#e4f1f8;
    --swe-blue-300:#98cdea;
    --swe-coral-500:#e6674f;
}

body[data-experience-refinement="25.6"] { --experience-signal:var(--swe-yellow-500); }

/* One coordinate system for land, islands, markers and the cartographic rings. */
.map-stage::after { display:none !important; }
.map-stage__projection {
    position:absolute;
    z-index:1;
    top:8%;
    left:50%;
    height:84%;
    aspect-ratio:330 / 670;
    transform:translateX(-50%);
    pointer-events:none;
}
.map-stage__projection::before,
.map-stage__projection::after {
    content:"";
    position:absolute;
    z-index:-1;
    pointer-events:none;
    border:1px solid rgba(254,203,0,.18);
    border-radius:50%;
}
.map-stage__projection::before { inset:12% -95%; box-shadow:0 0 0 56px rgba(99,184,230,.025); }
.map-stage__projection::after { inset:27% -52%; border-color:rgba(255,255,255,.11); }
.map-stage__land {
    position:absolute !important;
    inset:0 !important;
    width:100% !important;
    height:100% !important;
    overflow:visible;
    pointer-events:none;
}
.map-stage__mainland,
.map-stage__island {
    fill:rgba(255,253,247,.97);
    stroke:var(--swe-yellow-500);
    stroke-width:2;
    vector-effect:non-scaling-stroke;
}
.map-stage__island { fill:rgba(255,243,178,.94); }
.map-stage__projection .map-marker {
    left:var(--x);
    top:var(--y);
    pointer-events:auto;
}
.map-stage__projection .map-marker > span:first-child {
    background:var(--swe-coral-500);
    box-shadow:0 0 0 2px rgba(255,255,255,.98),0 0 0 5px rgba(254,203,0,.22),0 6px 18px rgba(0,20,40,.42);
}
.map-stage--dense .map-stage__projection .map-marker > span:first-child {
    width:5px;
    height:5px;
    opacity:.82;
}
.map-stage__projection .map-marker:hover > span:first-child,
.map-stage__projection .map-marker:focus-visible > span:first-child,
.map-stage__projection .map-marker.is-active > span:first-child {
    background:var(--swe-yellow-500);
    box-shadow:0 0 0 4px rgba(255,255,255,.98),0 0 0 10px rgba(22,119,183,.24),0 14px 34px rgba(0,20,40,.52);
}

/* Yellow is a signal surface, not low-contrast body text on paper. */
.portal-contract { color:var(--swe-blue-950); }
.portal-contract p span { color:var(--swe-blue-700); }
.portal-contract li b {
    display:inline-grid;
    min-width:30px;
    min-height:30px;
    place-items:center;
    padding:4px 7px;
    color:var(--swe-blue-950) !important;
    border-radius:999px;
    background:var(--swe-yellow-500);
}
.portal-fact-band {
    color:var(--swe-blue-950) !important;
    background:
        radial-gradient(circle at 85% 10%,rgba(254,203,0,.18),transparent 20rem),
        linear-gradient(180deg,var(--swe-blue-100),var(--swe-snow)) !important;
    border-color:rgba(0,82,147,.14) !important;
}
.portal-fact-band article { border-color:rgba(0,82,147,.13) !important; }
.portal-fact-band strong { color:var(--swe-blue-800) !important; text-shadow:none; }
.portal-fact-band span { color:var(--swe-yellow-ink) !important; }
.portal-fact-band p { color:#35566d !important; }
.section--paper .eyebrow:not(.eyebrow--light),
.section--linen .eyebrow:not(.eyebrow--light),
.portal-contract .eyebrow,
.portal-fact-band .eyebrow,
.site-network .eyebrow { color:var(--swe-blue-700); }
.public-alert--info { border-color:var(--swe-blue-600); background:var(--swe-blue-050); }
.collection-count strong,
.collection-empty > span { color:var(--swe-yellow-300); }
.my-sweden-hero {
    background:
        radial-gradient(circle at 78% 16%,rgba(254,203,0,.2),transparent 24rem),
        linear-gradient(135deg,var(--swe-blue-950),var(--swe-blue-700)) !important;
}

/* Network footer: three flagship properties lead, the rest remain complete and compact. */
.site-network__grid { grid-template-columns:repeat(6,minmax(0,1fr)); gap:14px; }
.site-network-card { min-width:0; }
.site-network-card--priority {
    grid-column:span 2;
    min-height:190px;
    padding:25px;
    color:var(--swe-snow);
    border-color:rgba(255,255,255,.16);
    background:
        radial-gradient(circle at 82% 18%,rgba(254,203,0,.18),transparent 12rem),
        linear-gradient(145deg,var(--swe-blue-900),var(--swe-blue-700));
    box-shadow:0 25px 70px rgba(0,31,58,.22);
}
.site-network-card--priority .site-network-card__mark {
    color:var(--swe-blue-950);
    background:var(--swe-yellow-500);
    box-shadow:0 14px 35px rgba(0,20,40,.25);
}
.site-network-card--priority .site-network-card__copy > span,
.site-network-card--priority .site-network-card__copy small { color:rgba(255,255,255,.7); }
.site-network-card--priority .site-network-card__arrow { color:var(--swe-yellow-300); }
.site-network-card--ploppbox { --network-accent:#8f7cff; }
.site-network-card--house { --network-accent:#60c7d8; }
.site-network-card--vastoscope { --network-accent:#f39c6b; }
.site-network-card--venue { --network-accent:#67b79b; }

/* Share engine — canonical, accessible, and deliberately part of the editorial journey. */
.share-engine {
    position:relative;
    z-index:5;
    padding:clamp(54px,7vw,92px) 0;
    color:var(--swe-snow);
    background:
        radial-gradient(circle at 86% 10%,rgba(254,203,0,.2),transparent 24rem),
        radial-gradient(circle at 7% 100%,rgba(230,103,79,.17),transparent 28rem),
        linear-gradient(132deg,var(--swe-blue-950),var(--swe-blue-800));
    overflow:hidden;
}
.share-engine::before {
    content:"";
    position:absolute;
    inset:0;
    opacity:.15;
    pointer-events:none;
    background-image:linear-gradient(rgba(255,255,255,.12) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.12) 1px,transparent 1px);
    background-size:54px 54px;
    mask-image:linear-gradient(90deg,#000,transparent 82%);
}
.share-engine__rail { position:relative; display:grid; grid-template-columns:minmax(240px,.7fr) minmax(0,1.3fr); gap:clamp(32px,5vw,80px); align-items:center; }
.share-engine__identity { display:flex; align-items:center; gap:22px; }
.share-engine__sigil { width:78px; aspect-ratio:1; display:grid; place-items:center; flex:none; color:var(--swe-blue-950); border-radius:24px; background:var(--swe-yellow-500); font-family:var(--serif); font-size:30px; box-shadow:0 20px 55px rgba(0,15,30,.3); }
.share-engine__identity p { margin:0 0 7px; color:var(--swe-yellow-300); font-size:9px; font-weight:950; letter-spacing:.18em; }
.share-engine__identity h2 { margin:0; font-family:var(--serif); font-size:clamp(34px,4vw,58px); font-weight:400; line-height:.95; }
.share-engine__actions { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); border:1px solid rgba(255,255,255,.15); border-radius:24px; overflow:hidden; background:rgba(0,31,58,.42); backdrop-filter:blur(16px); }
.share-engine__actions button { min-width:0; min-height:132px; display:flex; flex-direction:column; align-items:flex-start; justify-content:flex-end; gap:6px; padding:20px; color:var(--swe-snow); border:0; border-right:1px solid rgba(255,255,255,.12); background:transparent; text-align:left; cursor:pointer; }
.share-engine__actions button:last-child { border-right:0; }
.share-engine__actions button:hover,.share-engine__actions button:focus-visible { color:var(--swe-blue-950); background:var(--swe-yellow-500); }
.share-engine__actions button > span { margin-bottom:auto; font-size:24px; }
.share-engine__actions strong { font-size:13px; }
.share-engine__actions small { color:rgba(255,255,255,.58); line-height:1.35; }
.share-engine__actions button:hover small,.share-engine__actions button:focus-visible small { color:rgba(0,31,58,.7); }
.share-engine__status { grid-column:1/-1; min-height:1.4em; margin:0; color:var(--swe-yellow-300); font-size:11px; font-weight:800; }
.share-engine__dialog { width:100%; max-width:none; height:100%; max-height:none; margin:0; padding:0; border:0; background:transparent; }
.share-engine__dialog::backdrop { background:rgba(0,20,40,.82); backdrop-filter:blur(16px) saturate(.75); }
.share-engine__dialog-panel { width:min(980px,calc(100% - 32px)); max-height:calc(100dvh - 48px); margin:24px auto; padding:clamp(24px,4vw,48px); overflow:auto; color:var(--swe-blue-950); border:1px solid rgba(255,255,255,.3); border-radius:32px; background:var(--swe-snow); box-shadow:0 60px 180px rgba(0,20,40,.48); }
.share-engine__dialog-panel > header { display:flex; justify-content:space-between; gap:24px; align-items:flex-start; }
.share-engine__dialog-panel > header p { margin:0 0 6px; color:var(--swe-yellow-ink); font-size:9px; font-weight:950; letter-spacing:.17em; text-transform:uppercase; }
.share-engine__dialog-panel > header h2 { margin:0; font-family:var(--serif); font-size:clamp(44px,6vw,76px); font-weight:400; }
.share-engine__dialog-panel > header button { display:flex; align-items:center; gap:10px; min-height:44px; padding:0 14px; color:var(--swe-blue-950); border:1px solid rgba(0,82,147,.17); border-radius:999px; background:var(--swe-blue-050); cursor:pointer; }
.share-engine__dialog-panel > header button i { width:16px; height:16px; position:relative; }
.share-engine__dialog-panel > header button i::before,.share-engine__dialog-panel > header button i::after { content:""; position:absolute; left:7px; top:1px; width:2px; height:14px; background:currentColor; transform:rotate(45deg); }
.share-engine__dialog-panel > header button i::after { transform:rotate(-45deg); }
.share-engine__preview { display:grid; grid-template-columns:90px 1fr; gap:22px; margin:28px 0; padding:24px; border-left:6px solid var(--swe-yellow-500); background:linear-gradient(135deg,var(--swe-blue-050),var(--swe-blue-100)); }
.share-engine__preview-mark { width:76px; aspect-ratio:1; display:grid; place-items:center; color:var(--swe-snow); border-radius:23px; background:var(--swe-blue-800); font-family:var(--serif); font-size:27px; }
.share-engine__preview small,.share-engine__preview b { color:var(--swe-yellow-ink); font-size:9px; font-weight:950; letter-spacing:.13em; text-transform:uppercase; }
.share-engine__preview h3 { margin:7px 0; font-family:var(--serif); font-size:clamp(28px,4vw,48px); font-weight:400; line-height:1; }
.share-engine__preview p { max-width:720px; color:#49677a; }
.share-engine__social { display:grid; grid-template-columns:repeat(4,1fr); border-top:1px solid var(--swe-line); border-left:1px solid var(--swe-line); }
.share-engine__social a,.share-engine__social button { min-height:76px; display:flex; align-items:center; gap:12px; padding:14px; color:var(--swe-blue-950); border:0; border-right:1px solid var(--swe-line); border-bottom:1px solid var(--swe-line); background:transparent; font-weight:800; cursor:pointer; }
.share-engine__social span { width:34px; height:34px; display:grid; place-items:center; border-radius:10px; color:var(--swe-snow); background:var(--swe-blue-700); font-size:11px; }
.share-engine__social a:hover,.share-engine__social button:hover { background:var(--swe-yellow-soft); }
.share-engine__utilities { display:grid; grid-template-columns:repeat(2,1fr); margin-top:22px; border-top:1px solid var(--swe-line); }
.share-engine__utilities button { display:flex; justify-content:space-between; align-items:center; gap:15px; padding:18px 4px; color:var(--swe-blue-950); border:0; border-bottom:1px solid var(--swe-line); background:transparent; text-align:left; cursor:pointer; }
.share-engine__utilities button:nth-child(odd) { margin-right:24px; }
.share-engine__utilities small { color:#60798a; }
.share-engine__dialog-panel > footer { display:flex; justify-content:space-between; gap:24px; margin-top:24px; color:#60798a; font-size:11px; }
.share-engine__dialog-panel > footer p { max-width:650px; margin:0; }
.share-engine__dialog-panel > footer span { color:var(--swe-yellow-ink); font-weight:900; }

@media (max-width:1100px) {
    .site-network__grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
    .site-network-card--priority { grid-column:span 1; }
    .share-engine__rail { grid-template-columns:1fr; }
}
@media (max-width:760px) {
    .map-stage__projection { top:9%; height:80%; }
    .map-stage__projection::before { inset:14% -58%; }
    .site-network__grid { grid-template-columns:1fr; }
    .share-engine__actions { grid-template-columns:1fr 1fr; }
    .share-engine__actions button:nth-child(2) { border-right:0; }
    .share-engine__actions button:nth-child(-n+2) { border-bottom:1px solid rgba(255,255,255,.12); }
    .share-engine__social { grid-template-columns:1fr 1fr; }
    .share-engine__utilities { grid-template-columns:1fr; }
    .share-engine__utilities button:nth-child(odd) { margin-right:0; }
    .share-engine__dialog-panel > footer { display:block; }
}
@media print {
    .share-engine,.share-engine__dialog,.experience-dock,.site-header,.site-footer { display:none !important; }
}

/* ===== SOURCE: assets/css/pass25-4-map-footer.css ===== */
/* Svenskhet.se Pass 25.4 — exact national map + readable network footer */

/* -------------------------------------------------------------------------
   /karta: one official coordinate frame for counties, islands and markers.
   ------------------------------------------------------------------------- */
.page-map .map-stage__projection {
    position:absolute !important;
    z-index:2;
    top:8% !important;
    left:50% !important;
    width:auto !important;
    height:84% !important;
    aspect-ratio:var(--map-view-w) / var(--map-view-h) !important;
    transform:translateX(-50%) !important;
    pointer-events:none;
    isolation:isolate;
}

.page-map .map-stage__projection::before,
.page-map .map-stage__projection::after {
    display:none !important;
}

.page-map .map-stage__land {
    position:absolute !important;
    z-index:1;
    inset:0 !important;
    width:100% !important;
    height:100% !important;
    overflow:visible;
    fill:none !important;
    stroke:none !important;
    filter:drop-shadow(0 28px 48px rgba(0,18,38,.32));
    pointer-events:none;
}

.page-map .map-stage__county {
    fill:rgba(255,253,247,.96);
    fill-rule:evenodd;
    stroke:rgba(0,82,147,.42);
    stroke-width:1.15;
    stroke-linejoin:round;
    vector-effect:non-scaling-stroke;
}

.page-map .map-stage__county:nth-child(3n+2) { fill:rgba(246,249,252,.97); }
.page-map .map-stage__county:nth-child(3n+3) { fill:rgba(255,248,219,.96); }

.page-map .map-stage__projection .map-marker {
    z-index:5;
    left:var(--x) !important;
    top:var(--y) !important;
    pointer-events:auto;
}

.page-map .map-stage__projection .map-marker > span:first-child {
    width:7px;
    height:7px;
    border:1.5px solid #fff;
    background:var(--swe-coral-500);
    box-shadow:0 0 0 2px rgba(254,203,0,.28),0 5px 15px rgba(0,20,40,.38);
}

.page-map .map-stage--dense .map-stage__projection .map-marker > span:first-child {
    width:5px;
    height:5px;
    border-width:1px;
    box-shadow:0 0 0 1.5px rgba(254,203,0,.32),0 4px 12px rgba(0,20,40,.32);
    opacity:.88;
}

.page-map .map-stage__projection .map-marker:hover > span:first-child,
.page-map .map-stage__projection .map-marker:focus-visible > span:first-child,
.page-map .map-stage__projection .map-marker.is-active > span:first-child {
    background:var(--swe-yellow-500);
    transform:scale(2.25);
    box-shadow:0 0 0 3px #fff,0 0 0 8px rgba(0,82,147,.28),0 12px 30px rgba(0,20,40,.48);
}

.page-map .map-stage__chrome { z-index:8; }
.page-map .map-stage__legend { z-index:8; }

/* -------------------------------------------------------------------------
   Independent network: complete names, real card width, balanced rows.
   ------------------------------------------------------------------------- */
.site-network__grid {
    grid-template-columns:repeat(12,minmax(0,1fr)) !important;
    gap:16px !important;
}

.site-network-card--priority {
    grid-column:span 4 !important;
}

.site-network-card:not(.site-network-card--priority) {
    grid-column:span 3;
    min-height:142px;
    grid-template-columns:54px minmax(0,1fr) 26px;
    gap:15px;
    padding:20px;
}

.site-network-card:nth-child(8) { grid-column:2 / span 3; }
.site-network-card:nth-child(9) { grid-column:5 / span 3; }
.site-network-card:nth-child(10) { grid-column:8 / span 3; }

.site-network-card__copy strong,
.site-network-card__copy > span,
.site-network-card__copy small {
    overflow:visible;
    max-width:none;
    white-space:normal;
    text-overflow:clip;
}

.site-network-card__copy strong {
    font-size:clamp(17px,1.2vw,22px);
    line-height:1.08;
}

.site-network-card__copy > span {
    overflow-wrap:anywhere;
    line-height:1.35;
}

.site-network-card__copy small {
    display:-webkit-box;
    margin-top:8px;
    line-height:1.45;
    -webkit-box-orient:vertical;
    -webkit-line-clamp:2;
    line-clamp:2;
    overflow:hidden;
}

.site-network-card:not(.site-network-card--priority) .site-network-card__mark {
    width:54px;
    height:54px;
    border-radius:17px;
    font-size:15px;
}

@media (max-width:1200px) {
    .site-network__grid { grid-template-columns:repeat(6,minmax(0,1fr)) !important; }
    .site-network-card--priority,
    .site-network-card:not(.site-network-card--priority) { grid-column:span 2 !important; }
    .site-network-card:nth-child(10) { grid-column:3 / span 2 !important; }
    .site-network-card:nth-child(8),
    .site-network-card:nth-child(9) { grid-column:span 2 !important; }
}

@media (max-width:760px) {
    .page-map .map-stage__projection { top:9% !important; height:78% !important; }
    .site-network__grid { grid-template-columns:1fr !important; }
    .site-network-card,
    .site-network-card--priority,
    .site-network-card:not(.site-network-card--priority),
    .site-network-card:nth-child(8),
    .site-network-card:nth-child(9),
    .site-network-card:nth-child(10) { grid-column:1 !important; }
    .site-network-card:not(.site-network-card--priority) { min-height:118px; }
}

/* ===== SOURCE: assets/css/pass25-5-interactive-atlas.css ===== */
/* Svenskhet.se Pass 25.5 — interactive atlas + link integrity polish */

.page-map .map-stage {
    --map-control-bg: rgba(5, 35, 68, .92);
    --map-control-line: rgba(255, 255, 255, .18);
}

.page-map .map-stage__projection {
    position: absolute !important;
    z-index: 2;
    inset: 7% 10% 8% !important;
    width: auto !important;
    height: auto !important;
    aspect-ratio: auto !important;
    transform: none !important;
    overflow: hidden;
    border-radius: 34px;
    outline: 0;
    touch-action: pan-y;
    cursor: default;
}

.page-map .map-stage__projection.is-zoomed {
    touch-action: none;
    cursor: grab;
}

.page-map .map-stage__projection.is-dragging { cursor: grabbing; }

.page-map .map-stage__projection:focus-visible {
    box-shadow: inset 0 0 0 3px var(--swe-yellow-500), 0 0 0 5px rgba(0, 82, 147, .45);
}

.page-map .map-stage__pan {
    position: absolute;
    inset: 0;
    display: grid;
    place-items: center;
    transform: translate3d(var(--map-pan-x, 0px), var(--map-pan-y, 0px), 0);
    will-change: transform;
}

.page-map .map-stage__zoom {
    position: relative;
    height: 100%;
    width: auto;
    aspect-ratio: var(--map-view-w) / var(--map-view-h);
    transform: scale(var(--map-scale, 1));
    transform-origin: 50% 50%;
    will-change: transform;
}

.page-map .map-stage__zoom .map-stage__land {
    position: absolute !important;
    inset: 0 !important;
    width: 100% !important;
    height: 100% !important;
}

.page-map .map-stage__zoom .map-marker {
    left: var(--x) !important;
    top: var(--y) !important;
}

/* Old marker-local labels/popups are retained as safe server-rendered data sources only. */
.page-map .map-marker > b { display: none !important; }
.page-map .map-marker__popup,
.page-map .map-marker:hover .map-marker__popup,
.page-map .map-marker:focus-visible .map-marker__popup,
.page-map .map-marker.is-active .map-marker__popup {
    display: none !important;
}

.page-map .map-stage__controls {
    position: absolute;
    z-index: 24;
    right: 28px;
    bottom: 28px;
    display: grid;
    grid-template-columns: 44px minmax(66px, auto) 44px;
    align-items: center;
    overflow: hidden;
    border: 1px solid var(--map-control-line);
    border-radius: 18px;
    background: var(--map-control-bg);
    color: #fff;
    box-shadow: 0 18px 50px rgba(0, 18, 38, .34);
    backdrop-filter: blur(18px);
}

.page-map .map-stage__controls button,
.page-map .map-stage__controls output {
    min-height: 44px;
    display: grid;
    place-items: center;
    border: 0;
    border-right: 1px solid var(--map-control-line);
    background: transparent;
    color: inherit;
    font: 800 13px/1 var(--sans);
}

.page-map .map-stage__controls button {
    cursor: pointer;
    font-size: 22px;
}

.page-map .map-stage__controls button:hover,
.page-map .map-stage__controls button:focus-visible {
    color: #001f3f;
    background: var(--swe-yellow-500);
    outline: 0;
}

.page-map .map-stage__controls output {
    padding-inline: 10px;
    font-size: 11px;
    letter-spacing: .06em;
}

.page-map .map-stage__controls .map-stage__reset {
    grid-column: 1 / -1;
    min-height: 38px;
    border-top: 1px solid var(--map-control-line);
    border-right: 0;
    font-size: 10px;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.page-map .map-stage__tooltip {
    position: absolute;
    z-index: 40;
    width: min(300px, calc(100% - 28px));
    overflow: hidden;
    border: 1px solid rgba(0, 82, 147, .28);
    border-radius: 18px;
    background: rgba(255, 253, 247, .98);
    color: #052c4f;
    box-shadow: 0 24px 70px rgba(0, 18, 38, .32);
    pointer-events: none;
    transform: translate(-50%, calc(-100% - 18px));
    transform-origin: 50% 100%;
    animation: map-tooltip-in .16s ease-out;
}

.page-map .map-stage__tooltip[data-placement="below"] {
    transform: translate(-50%, 18px);
    transform-origin: 50% 0;
}

.page-map .map-stage__tooltip[hidden] { display: none !important; }
.page-map .map-stage__tooltip .map-marker__media { width: 100% !important; height: 150px !important; }
.page-map .map-stage__tooltip .map-marker__media .media-presentation__visual { width: 100%; height: 100%; }
.page-map .map-stage__tooltip strong,
.page-map .map-stage__tooltip small {
    display: block;
    padding-inline: 15px;
}
.page-map .map-stage__tooltip strong {
    padding-top: 13px;
    font-family: var(--serif);
    font-size: 20px;
    line-height: 1.1;
}
.page-map .map-stage__tooltip small {
    padding-top: 6px;
    padding-bottom: 14px;
    color: rgba(5, 44, 79, .68);
    font-size: 9px;
    line-height: 1.45;
}

.page-map .map-stage__help {
    position: absolute;
    z-index: 9;
    right: 32px;
    top: 104px;
    max-width: 245px;
    margin: 0;
    color: rgba(255,255,255,.72);
    font-size: 11px;
    line-height: 1.45;
    text-align: right;
}

@keyframes map-tooltip-in {
    from { opacity: 0; scale: .97; }
    to { opacity: 1; scale: 1; }
}

/* Footer link integrity: clear interactive feedback without altering the layout. */
.site-footer__links a[data-footer-link] {
    text-decoration-thickness: 1px;
    text-underline-offset: .22em;
}
.site-footer__links a[data-footer-link]:hover,
.site-footer__links a[data-footer-link]:focus-visible {
    color: var(--swe-yellow-300);
    text-decoration-color: currentColor;
}

@media (max-width: 900px) {
    .page-map .map-stage__projection { inset: 10% 5% 13% !important; }
    .page-map .map-stage__controls { right: 18px; bottom: 18px; }
    .page-map .map-stage__help { display: none; }
}

@media (max-width: 720px) {
    .page-map .map-stage__projection { inset: 12% 2% 17% !important; border-radius: 22px; }
    .page-map .map-stage__controls {
        right: 12px;
        bottom: 12px;
        grid-template-columns: 40px 58px 40px;
    }
    .page-map .map-stage__tooltip { display: none !important; }
}

@media (prefers-reduced-motion: reduce) {
    .page-map .map-stage__pan,
    .page-map .map-stage__zoom,
    .page-map .map-stage__tooltip { transition: none !important; animation: none !important; }
}

/* Pass 25.5.1 — reliable drag-pan on mouse, pen and touch. */
.page-map .map-stage__projection.is-zoomed {
    user-select: none;
    -webkit-user-select: none;
    overscroll-behavior: contain;
}
.page-map .map-stage__projection.is-zoomed,
.page-map .map-stage__projection.is-zoomed .map-marker,
.page-map .map-stage__projection.is-zoomed .map-stage__land {
    cursor: grab;
    -webkit-user-drag: none;
}
.page-map .map-stage__projection.is-dragging,
.page-map .map-stage__projection.is-dragging .map-marker,
.page-map .map-stage__projection.is-dragging .map-stage__land {
    cursor: grabbing !important;
}
.page-map .map-stage__projection.is-dragging .map-marker {
    pointer-events: none;
}
.page-map .map-stage__projection.is-dragging + .map-stage__tooltip,
.page-map .map-stage__projection.is-dragging ~ .map-stage__tooltip {
    visibility: hidden;
}

/* Pass 25.5.2 — persistent knowledge card with explicit entity/source/license actions. */
.page-map .map-stage__tooltip[data-mode="pinned"] {
    pointer-events: auto;
    width: min(340px, calc(100% - 28px));
    border-color: rgba(255, 205, 0, .58);
    box-shadow: 0 28px 84px rgba(0, 18, 38, .42), 0 0 0 1px rgba(255, 255, 255, .4) inset;
}

.page-map .map-stage__tooltip:focus-visible {
    outline: 3px solid var(--swe-yellow-500);
    outline-offset: 4px;
}

.page-map .map-stage__tooltip-source-visual {
    display: block;
    color: inherit;
    text-decoration: none;
    overflow: hidden;
}

.page-map .map-stage__tooltip-source-visual:focus-visible {
    outline: 3px solid var(--swe-yellow-500);
    outline-offset: -3px;
}

.page-map .map-stage__tooltip-source-visual .map-marker__media {
    transition: transform .24s ease, filter .24s ease;
}

.page-map .map-stage__tooltip-source-visual:hover .map-marker__media,
.page-map .map-stage__tooltip-source-visual:focus-visible .map-marker__media {
    transform: scale(1.018);
    filter: saturate(1.06) contrast(1.03);
}

.page-map .map-stage__tooltip-close {
    position: absolute;
    z-index: 3;
    top: 10px;
    right: 10px;
    width: 34px;
    height: 34px;
    display: grid;
    place-items: center;
    border: 1px solid rgba(255,255,255,.72);
    border-radius: 50%;
    background: rgba(4, 35, 68, .88);
    color: #fff;
    font: 500 24px/1 var(--sans);
    cursor: pointer;
    box-shadow: 0 10px 24px rgba(0,18,38,.24);
}

.page-map .map-stage__tooltip-close:hover,
.page-map .map-stage__tooltip-close:focus-visible {
    color: #001f3f;
    background: var(--swe-yellow-500);
    outline: 0;
}

.page-map .map-stage__tooltip-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    padding: 4px 15px 16px;
}

.page-map .map-stage__tooltip-actions a,
.page-map .map-stage__tooltip-actions button {
    min-height: 36px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 9px 12px;
    border: 1px solid rgba(5, 44, 79, .18);
    border-radius: 999px;
    background: transparent;
    color: #052c4f;
    font: 800 9px/1.15 var(--sans);
    letter-spacing: .055em;
    text-decoration: none;
    text-transform: uppercase;
    cursor: pointer;
}

.page-map .map-stage__tooltip-actions .map-stage__tooltip-primary {
    flex: 1 1 100%;
    border-color: #005293;
    background: #005293;
    color: #fff;
}

.page-map .map-stage__tooltip-actions a:hover,
.page-map .map-stage__tooltip-actions a:focus-visible,
.page-map .map-stage__tooltip-actions button:hover,
.page-map .map-stage__tooltip-actions button:focus-visible {
    border-color: var(--swe-yellow-500);
    background: var(--swe-yellow-500);
    color: #001f3f;
    outline: 0;
}

.page-map .map-marker[aria-expanded="true"] span:first-child {
    transform: scale(1.32);
    box-shadow: 0 0 0 9px rgba(255,205,0,.24), 0 0 28px rgba(255,205,0,.48);
}

.page-map .map-list__credit a {
    white-space: nowrap;
}

@media (max-width: 720px) {
    .page-map .map-stage__tooltip[data-mode="preview"] { display: none !important; }
    .page-map .map-stage__tooltip[data-mode="pinned"] {
        display: block !important;
        position: absolute;
        left: 12px !important;
        right: 12px !important;
        top: auto !important;
        bottom: 72px;
        width: auto;
        max-height: min(58vh, 520px);
        overflow: auto;
        transform: none !important;
        border-radius: 20px;
    }
    .page-map .map-stage__tooltip[data-mode="pinned"] .map-marker__media {
        height: 120px !important;
    }
    .page-map .map-stage__tooltip-actions {
        position: sticky;
        bottom: 0;
        background: rgba(255,253,247,.98);
    }
}

@media (prefers-reduced-motion: reduce) {
    .page-map .map-stage__tooltip-source-visual .map-marker__media { transition: none !important; }
}


/* Pass 25.5.3 — pinned atlas cards remain fully actionable at every zoom level. */
.page-map .map-stage__tooltip[data-mode="pinned"] {
    max-height: calc(100% - 32px);
    overflow-x: hidden;
    overflow-y: auto;
    overscroll-behavior: contain;
    scrollbar-gutter: stable;
}

.page-map .map-stage__tooltip[data-mode="pinned"] .map-stage__tooltip-actions {
    position: sticky;
    z-index: 4;
    bottom: 0;
    margin-top: 2px;
    border-top: 1px solid rgba(5, 44, 79, .12);
    background: linear-gradient(180deg, rgba(255,253,247,.88), rgba(255,253,247,.99) 22%);
    backdrop-filter: blur(12px);
}

.page-map .map-stage__tooltip[data-layout="docked"] {
    width: min(350px, calc(100% - 36px));
    max-height: calc(100% - 36px);
    transform: none !important;
    transform-origin: center;
    border-radius: 20px;
}

.page-map .map-stage__tooltip[data-layout="docked"] .map-marker__media {
    height: clamp(126px, 24vh, 190px) !important;
}

.page-map .map-stage__tooltip[data-layout="docked"] strong {
    padding-top: 12px;
    font-size: clamp(20px, 2vw, 27px);
}

.page-map .map-stage__tooltip[data-layout="docked"] small {
    padding-bottom: 10px;
    line-height: 1.35;
}

.page-map .map-stage__tooltip-preview-hint {
    display: block;
    padding: 0 15px 13px;
    color: #005293;
    font: 800 9px/1.2 var(--sans);
    letter-spacing: .07em;
    text-transform: uppercase;
}

@media (max-height: 760px) and (min-width: 721px) {
    .page-map .map-stage__tooltip[data-mode="pinned"] .map-marker__media {
        height: 132px !important;
    }
    .page-map .map-stage__tooltip[data-mode="pinned"] strong {
        font-size: 20px;
    }
    .page-map .map-stage__tooltip[data-mode="pinned"] small {
        padding-top: 4px;
        padding-bottom: 8px;
    }
    .page-map .map-stage__tooltip-actions {
        padding-bottom: 10px;
    }
}

@media (max-width: 720px) {
    .page-map .map-stage__tooltip[data-mode="pinned"] {
        max-height: min(58vh, 520px);
    }
}

/* Pass 25.5.4 — the complete map viewport is a drag surface, not only markers. */
.page-map .map-stage__projection {
    pointer-events: auto !important;
}

.page-map .map-stage__projection .map-stage__pan,
.page-map .map-stage__projection .map-stage__zoom {
    pointer-events: auto !important;
}

.page-map .map-stage__projection .map-stage__land {
    pointer-events: none !important;
}

.page-map .map-stage__projection.is-zoomed {
    cursor: grab !important;
}

.page-map .map-stage__projection.is-dragging {
    cursor: grabbing !important;
}

/* Pass 25.5.8 — preview card owns pointer input so its pin control is real. */
.page-map .map-stage__tooltip[data-mode="preview"] {
    pointer-events: auto;
    cursor: default;
}

.page-map .map-stage__tooltip[data-mode="preview"] .map-stage__tooltip-preview-hint {
    width: 100%;
    min-height: 42px;
    margin: 0;
    padding: 11px 15px 13px;
    border: 0;
    border-top: 1px solid rgba(5, 44, 79, .12);
    background: rgba(255, 253, 247, .98);
    color: #005293;
    text-align: left;
    cursor: pointer;
    touch-action: manipulation;
}

.page-map .map-stage__tooltip[data-mode="preview"] .map-stage__tooltip-preview-hint:hover,
.page-map .map-stage__tooltip[data-mode="preview"] .map-stage__tooltip-preview-hint:focus-visible {
    background: var(--swe-yellow-500);
    color: #001f3f;
    outline: 0;
}

/* ===== PASS 26: NATIONAL TRUST, PARTICIPATION & GROWTH ===== */
body[data-trust-pass="26"] .site-footer__links a[data-footer-link="evidence"]::after {
    content: "26";
    display: inline-grid;
    place-items: center;
    min-width: 1.8em;
    height: 1.8em;
    margin-left: .5rem;
    border-radius: 999px;
    background: var(--gold);
    color: var(--navy);
    font-size: .62rem;
    font-weight: 900;
}

.trust-hero {
    position: relative;
    overflow: hidden;
    color: #fff;
    background:
        radial-gradient(circle at 78% 18%, rgba(255,206,52,.22), transparent 23rem),
        linear-gradient(135deg, #071f39 0%, #0b3f68 56%, #125a78 100%);
}
.trust-hero::after {
    content: "";
    position: absolute;
    inset: 0;
    pointer-events: none;
    opacity: .16;
    background-image: linear-gradient(rgba(255,255,255,.22) 1px, transparent 1px), linear-gradient(90deg, rgba(255,255,255,.22) 1px, transparent 1px);
    background-size: 52px 52px;
    mask-image: linear-gradient(90deg, transparent, #000 35%, #000);
}
.trust-hero__grid {
    position: relative;
    z-index: 1;
    display: grid;
    grid-template-columns: minmax(0, 1.4fr) minmax(260px, .6fr);
    gap: clamp(2rem, 6vw, 7rem);
    align-items: center;
    min-height: clamp(520px, 68vh, 760px);
    padding-block: clamp(7rem, 12vw, 11rem) clamp(5rem, 9vw, 8rem);
}
.trust-hero h1 { max-width: 900px; margin: .35rem 0 1.4rem; font-size: clamp(3.3rem, 8vw, 7.8rem); line-height: .91; letter-spacing: -.07em; }
.trust-hero__grid > div > p:last-child { max-width: 760px; font-size: clamp(1.08rem, 2vw, 1.42rem); line-height: 1.7; color: rgba(255,255,255,.82); }
.trust-hero__seal {
    position: relative;
    display: grid;
    gap: .7rem;
    justify-items: center;
    padding: clamp(2rem, 5vw, 4rem) 1.5rem;
    border: 1px solid rgba(255,255,255,.28);
    border-radius: 50% 50% 46% 54% / 48% 52% 48% 52%;
    text-align: center;
    background: rgba(3,25,47,.38);
    box-shadow: inset 0 0 0 9px rgba(255,255,255,.035), 0 35px 80px rgba(0,0,0,.24);
    backdrop-filter: blur(12px);
}
.trust-hero__seal::before,.trust-hero__seal::after { content: ""; position: absolute; border: 1px solid rgba(255,205,44,.38); border-radius: 50%; inset: -16px; }
.trust-hero__seal::after { inset: 18px; border-style: dashed; opacity: .55; }
.trust-hero__seal span { font-family: var(--serif); font-size: clamp(4rem, 8vw, 7rem); line-height: 1; color: var(--gold); }
.trust-hero__seal strong { letter-spacing: .18em; font-size: .8rem; }
.trust-hero__seal small { max-width: 250px; color: rgba(255,255,255,.68); line-height: 1.6; }

.trust-metrics { padding: clamp(4rem, 8vw, 8rem) 0; background: var(--experience-cream); }
.trust-metric-grid { display: grid; grid-template-columns: repeat(6,minmax(0,1fr)); border: 1px solid var(--line); border-radius: var(--experience-radius); overflow: hidden; box-shadow: var(--experience-shadow-soft); }
.trust-metric-grid article { min-height: 175px; padding: 1.7rem 1.35rem; display: flex; flex-direction: column; justify-content: space-between; background: rgba(255,255,255,.72); border-right: 1px solid var(--line); }
.trust-metric-grid article:last-child { border-right: 0; }
.trust-metric-grid strong { font-family: var(--serif); font-size: clamp(2.2rem, 4vw, 4.5rem); line-height: 1; color: var(--navy); }
.trust-metric-grid span { font-size: .78rem; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; color: rgba(10,36,38,.62); }
.trust-runtime-note { margin: 1.2rem 0 0; padding: 1rem 1.2rem; border-left: 4px solid var(--gold); background: rgba(255,205,44,.13); }

.trust-process__steps { list-style: none; padding: 0; margin: 3rem 0 0; display: grid; gap: 1px; border: 1px solid var(--line); background: var(--line); border-radius: var(--experience-radius); overflow: hidden; }
.trust-process__steps li { display: grid; grid-template-columns: 90px minmax(0,1fr); gap: 1.5rem; padding: clamp(1.5rem, 3vw, 2.5rem); background: var(--experience-cream); }
.trust-process__steps span { font-family: var(--serif); font-size: 2.5rem; color: var(--falu); }
.trust-process__steps h3 { margin: 0 0 .5rem; font-size: clamp(1.25rem, 2vw, 1.8rem); }
.trust-process__steps p { margin: 0; max-width: 880px; color: var(--muted); line-height: 1.7; }

.trust-ledgers__grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: clamp(1.5rem,4vw,4rem); }
.trust-ledgers__grid > article { padding: clamp(2rem,5vw,4.5rem); border: 1px solid var(--line); border-radius: var(--experience-radius); background: rgba(255,255,255,.76); box-shadow: var(--experience-shadow-soft); }
.trust-ledgers__grid h2 { margin: .4rem 0 1rem; font-size: clamp(2rem,4vw,4rem); line-height: 1; }
.trust-ledgers__grid > article > p:not(.eyebrow) { color: var(--muted); line-height: 1.75; }
.trust-distribution { margin: 2rem 0 0; display: grid; gap: .55rem; }
.trust-distribution div { display: flex; align-items: center; justify-content: space-between; gap: 1rem; padding: .8rem 0; border-bottom: 1px solid var(--line); }
.trust-distribution dt { font-weight: 750; }
.trust-distribution dd { margin: 0; min-width: 3rem; text-align: right; font-family: var(--serif); font-size: 1.35rem; color: var(--navy); }

.trust-recent__grid { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 1rem; }
.trust-recent__grid a { min-height: 235px; padding: 1.5rem; display: flex; flex-direction: column; border: 1px solid var(--line); border-radius: 20px; background: var(--experience-cream); color: inherit; text-decoration: none; transition: transform .2s ease, box-shadow .2s ease, border-color .2s ease; }
.trust-recent__grid a:hover,.trust-recent__grid a:focus-visible { transform: translateY(-4px); border-color: rgba(11,63,104,.4); box-shadow: var(--experience-shadow-soft); }
.trust-recent__grid small { color: var(--falu); font-weight: 850; letter-spacing: .1em; text-transform: uppercase; }
.trust-recent__grid h3 { margin: .7rem 0; font-size: clamp(1.35rem,2vw,2rem); line-height: 1.05; }
.trust-recent__grid p { color: var(--muted); }
.trust-recent__grid span { margin-top: auto; font-weight: 800; color: var(--navy); }

.trust-participation-band { color: #fff; background: #071f39; }
.trust-participation-band__grid { display: grid; grid-template-columns: minmax(0,1.3fr) minmax(260px,.7fr); gap: 4rem; align-items: center; padding-block: clamp(4rem,8vw,8rem); }
.trust-participation-band h2 { margin: .3rem 0 1rem; font-size: clamp(2.5rem,5vw,5.5rem); line-height: .95; }
.trust-participation-band p { max-width: 720px; color: rgba(255,255,255,.72); line-height: 1.7; }
.trust-participation-band nav { display: grid; gap: .9rem; align-content: start; }
.trust-participation-band nav > a:not(.button) { color: #fff; font-weight: 800; }

.entity-trust-panel { position: relative; color: #fff; background: linear-gradient(125deg,#082b4d,#0d486b); overflow: hidden; }
.entity-trust-panel::after { content: ""; position: absolute; inset: 0; pointer-events: none; background: radial-gradient(circle at 85% 18%,rgba(255,205,44,.2),transparent 22rem); }
.entity-trust-panel--under_review { background: linear-gradient(125deg,#4a1e21,#7b322f); }
.entity-trust-panel--partial { background: linear-gradient(125deg,#16364c,#225c72); }
.entity-trust-panel__grid { position: relative; z-index: 1; display: grid; grid-template-columns: minmax(0,1.2fr) minmax(270px,.6fr) minmax(260px,.7fr); gap: clamp(2rem,5vw,5rem); align-items: start; padding-block: clamp(3.5rem,7vw,6rem); }
.entity-trust-panel__intro h2 { margin: .25rem 0 1rem; font-size: clamp(2.4rem,5vw,5rem); line-height: .95; }
.entity-trust-panel__intro > p:not(.eyebrow) { max-width: 680px; color: rgba(255,255,255,.76); line-height: 1.7; }
.entity-trust-panel__actions { display: flex; flex-wrap: wrap; gap: .7rem 1.3rem; margin-top: 1.5rem; }
.entity-trust-panel__actions a { color: #fff; font-weight: 800; }
.entity-trust-panel__metrics { margin: 0; display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); border: 1px solid rgba(255,255,255,.22); border-radius: 22px; overflow: hidden; }
.entity-trust-panel__metrics div { min-height: 120px; display: flex; flex-direction: column; justify-content: space-between; padding: 1.2rem; border-right: 1px solid rgba(255,255,255,.14); border-bottom: 1px solid rgba(255,255,255,.14); }
.entity-trust-panel__metrics div:nth-child(2n) { border-right: 0; }
.entity-trust-panel__metrics div:nth-last-child(-n+2) { border-bottom: 0; }
.entity-trust-panel__metrics dt { font-size: .72rem; letter-spacing: .09em; text-transform: uppercase; color: rgba(255,255,255,.62); }
.entity-trust-panel__metrics dd { margin: 0; font-family: var(--serif); font-size: 2.6rem; color: var(--gold); }
.entity-trust-panel__status { padding: 1.4rem; border-left: 3px solid var(--gold); background: rgba(0,0,0,.14); }
.entity-trust-panel__status p { margin-top: 0; font-weight: 750; }
.entity-trust-panel__status small { color: rgba(255,255,255,.62); }
.entity-trust-panel__status ul { list-style: none; padding: 1rem 0 0; margin: 1rem 0 0; border-top: 1px solid rgba(255,255,255,.17); }
.entity-trust-panel__status li { display: flex; justify-content: space-between; gap: 1rem; padding: .35rem 0; }
.entity-trust-panel__status li span { color: rgba(255,255,255,.74); }
.entity-trust-panel__status li b { color: var(--gold); }

.contribution-target-card { display: grid; gap: .35rem; margin: 0 0 1.4rem; padding: 1.2rem 1.3rem; border: 1px solid rgba(11,63,104,.2); border-left: 5px solid var(--gold); border-radius: 14px; background: rgba(11,63,104,.055); }
.contribution-target-card span { font-size: .68rem; font-weight: 900; letter-spacing: .12em; color: var(--falu); }
.contribution-target-card strong { font-size: 1.2rem; }
.contribution-target-card a { width: fit-content; font-weight: 800; }
.contribution-target-card small { color: var(--muted); }
.public-form-card label > small { display: block; margin-top: .45rem; color: var(--muted); line-height: 1.5; }
.contribution-review-note { margin: 1.5rem 0; padding: 1.35rem; border-radius: 16px; background: var(--experience-mist); }
.contribution-review-note strong { display: block; margin-bottom: .6rem; }
.contribution-review-note ol { margin: 0; padding-left: 1.2rem; color: var(--muted); line-height: 1.7; }
.contribution-status-steps { list-style: none; margin: 2rem 0; padding: 0; display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 1px; background: rgba(255,255,255,.2); border: 1px solid rgba(255,255,255,.2); border-radius: 18px; overflow: hidden; }
.contribution-status-steps li { min-height: 105px; padding: 1rem; display: flex; flex-direction: column; justify-content: space-between; background: rgba(0,0,0,.16); opacity: .48; }
.contribution-status-steps li.is-active { opacity: 1; }
.contribution-status-steps li.is-done { background: rgba(255,205,44,.14); }
.contribution-status-steps span { font-family: var(--serif); color: var(--gold); font-size: 1.4rem; }
.contribution-status-steps strong { font-size: .76rem; letter-spacing: .07em; text-transform: uppercase; }
.status-actions { display: flex; align-items: center; gap: 1.2rem; flex-wrap: wrap; }
.status-actions > a:not(.button) { color: #fff; font-weight: 800; }

.collection-toolbar { display: flex; justify-content: space-between; align-items: end; gap: 2rem; margin-bottom: 2rem; }
.collection-toolbar h2 { margin: .25rem 0 0; font-size: clamp(2rem,4vw,4rem); }
.collection-list--notes article { align-items: stretch; gap: 2rem; }
.collection-list__copy { flex: 1; }
.collection-list__copy blockquote { margin: 1rem 0 0; padding: 1rem 1.2rem; border-left: 4px solid var(--gold); background: rgba(255,205,44,.09); color: var(--muted); }
.collection-list__tools { width: min(100%,340px); display: grid; align-content: center; gap: .7rem; }
.collection-list__tools details { border: 1px solid var(--line); border-radius: 14px; background: rgba(255,255,255,.55); }
.collection-list__tools summary { cursor: pointer; padding: .9rem 1rem; font-weight: 800; }
.collection-list__tools details form { padding: 0 1rem 1rem; }
.collection-list__tools textarea { width: 100%; margin-top: .4rem; resize: vertical; }
.collection-list__tools > form button { background: none; border: 0; color: var(--falu); font-weight: 800; cursor: pointer; }
.recently-viewed .section-heading > div:last-child { max-width: 460px; }
.recently-viewed [data-clear-recent] { padding: 0; border: 0; background: none; color: var(--falu); font-weight: 850; cursor: pointer; }
.recently-viewed__grid { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 1rem; }
.recently-viewed__grid > a { position: relative; min-height: 180px; padding: 1.3rem; display: flex; flex-direction: column; border: 1px solid var(--line); border-radius: 18px; background: var(--experience-cream); color: inherit; text-decoration: none; }
.recently-viewed__grid small { font-size: .68rem; letter-spacing: .1em; text-transform: uppercase; color: var(--falu); font-weight: 900; }
.recently-viewed__grid strong { margin: .75rem 2rem .8rem 0; font-size: 1.22rem; line-height: 1.15; }
.recently-viewed__grid span { margin-top: auto; color: var(--muted); font-size: .82rem; }
.recently-viewed__grid b { position: absolute; top: 1.2rem; right: 1.2rem; color: var(--navy); }

@media (max-width: 1100px) {
    .trust-metric-grid { grid-template-columns: repeat(3,minmax(0,1fr)); }
    .trust-metric-grid article:nth-child(3n) { border-right: 0; }
    .trust-metric-grid article:nth-child(-n+3) { border-bottom: 1px solid var(--line); }
    .trust-recent__grid,.recently-viewed__grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
    .entity-trust-panel__grid { grid-template-columns: 1fr 1fr; }
    .entity-trust-panel__intro { grid-column: 1 / -1; }
}
@media (max-width: 760px) {
    .trust-hero__grid,.trust-participation-band__grid,.trust-ledgers__grid { grid-template-columns: 1fr; }
    .trust-hero__grid { min-height: auto; }
    .trust-hero__seal { max-width: 320px; justify-self: center; }
    .trust-metric-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
    .trust-metric-grid article { min-height: 135px; border-right: 1px solid var(--line); border-bottom: 1px solid var(--line); }
    .trust-metric-grid article:nth-child(2n) { border-right: 0; }
    .trust-process__steps li { grid-template-columns: 58px minmax(0,1fr); gap: .8rem; }
    .trust-recent__grid,.recently-viewed__grid { grid-template-columns: 1fr; }
    .entity-trust-panel__grid { grid-template-columns: 1fr; }
    .entity-trust-panel__intro { grid-column: auto; }
    .contribution-status-steps { grid-template-columns: repeat(2,minmax(0,1fr)); }
    .collection-toolbar { align-items: flex-start; flex-direction: column; }
    .collection-list--notes article { flex-direction: column; }
    .collection-list__tools { width: 100%; }
}
@media (prefers-reduced-motion: reduce) {
    .trust-recent__grid a { transition: none; }
    .trust-recent__grid a:hover,.trust-recent__grid a:focus-visible { transform: none; }
}
.corrections-hero{color:#fff;background:linear-gradient(132deg,#071f38 0%,#0b3f68 68%,#154f79 100%);border-bottom:7px solid var(--gold);}.corrections-hero__grid{min-height:520px;display:grid;grid-template-columns:minmax(0,1.2fr) minmax(260px,.45fr);gap:clamp(2rem,6vw,7rem);align-items:center;padding-top:clamp(4rem,8vw,8rem);padding-bottom:clamp(4rem,8vw,8rem);}.corrections-hero h1{max-width:850px;margin:.6rem 0 1rem;font-family:var(--serif);font-size:clamp(3.2rem,8vw,7.8rem);line-height:.88;letter-spacing:-.055em;}.corrections-hero p{max-width:760px;color:rgba(255,255,255,.76);font-size:clamp(1rem,1.5vw,1.25rem);line-height:1.7;}.corrections-hero__metric{min-height:280px;display:flex;flex-direction:column;justify-content:center;padding:2rem;border:1px solid rgba(255,255,255,.25);border-radius:26px;background:rgba(0,0,0,.15);box-shadow:0 24px 60px rgba(0,0,0,.18);}.corrections-hero__metric strong{font-family:var(--serif);font-size:clamp(4rem,8vw,7rem);line-height:.8;color:var(--gold);}.corrections-hero__metric span{margin-top:1rem;font-weight:900;letter-spacing:.08em;text-transform:uppercase;}.corrections-hero__metric small{margin-top:1rem;color:rgba(255,255,255,.62);line-height:1.55;}.corrections-list{display:grid;gap:1.25rem;}.correction-card{padding:clamp(1.4rem,3vw,2.5rem);border:1px solid var(--line);border-left:6px solid var(--gold);border-radius:20px;background:var(--experience-cream);box-shadow:0 12px 32px rgba(15,38,55,.06);scroll-margin-top:120px;}.correction-card>header,.correction-card>footer{display:flex;justify-content:space-between;align-items:center;gap:1rem;flex-wrap:wrap;}.correction-card>header span{color:var(--falu);font-size:.72rem;font-weight:900;letter-spacing:.12em;text-transform:uppercase;}.correction-card time,.correction-card>footer span{color:var(--muted);font-size:.78rem;}.correction-card h3{margin:.8rem 0;font-family:var(--serif);font-size:clamp(1.8rem,3vw,3.1rem);font-weight:500;}.correction-card>p{max-width:900px;line-height:1.75;}.correction-card details{margin:1rem 0;padding:1rem 1.15rem;border:1px solid var(--line);border-radius:14px;background:rgba(255,255,255,.55);}.correction-card summary{cursor:pointer;font-weight:850;}.correction-card>footer{margin-top:1.4rem;padding-top:1rem;border-top:1px solid var(--line);}.correction-card>footer a{font-weight:850;}.corrections-empty{padding:clamp(2rem,6vw,5rem);border:1px dashed var(--line);border-radius:22px;text-align:center;background:rgba(255,255,255,.45);}.corrections-empty h3{margin-top:0;font-family:var(--serif);font-size:clamp(2rem,4vw,4rem);}.entity-correction-ledger{padding:clamp(3rem,6vw,6rem) 0;background:#fff5cf;border-top:1px solid rgba(11,63,104,.16);border-bottom:1px solid rgba(11,63,104,.16);}.entity-correction-ledger>.shell>header{display:flex;justify-content:space-between;align-items:end;gap:2rem;margin-bottom:1.5rem;}.entity-correction-ledger h2{max-width:760px;margin:.25rem 0 0;font-family:var(--serif);font-size:clamp(2rem,4vw,4.2rem);line-height:.96;}.entity-correction-ledger__list{display:grid;gap:1rem;}.entity-correction-ledger__list article{padding:1.4rem;border:1px solid rgba(11,63,104,.18);border-left:5px solid var(--falu);border-radius:16px;background:rgba(255,255,255,.72);}.entity-correction-ledger__list article>div{display:flex;justify-content:space-between;gap:1rem;color:var(--muted);font-size:.72rem;font-weight:850;letter-spacing:.08em;text-transform:uppercase;}.entity-correction-ledger__list h3{margin:.7rem 0;font-family:var(--serif);font-size:1.8rem;}.entity-correction-ledger__list p{line-height:1.7;}.entity-correction-ledger__list details{margin-top:1rem;}.entity-correction-ledger__list summary{cursor:pointer;font-weight:850;}.status-resolution{margin:1.5rem 0;padding:1.4rem;border:1px solid rgba(255,205,44,.42);border-left:5px solid var(--gold);border-radius:18px;background:rgba(255,205,44,.12);text-align:left;}.status-resolution h2{margin:.35rem 0 .7rem;font-family:var(--serif);font-size:clamp(1.7rem,3vw,2.8rem);}.status-resolution p{margin:0;}.status-resolution small{display:block;margin-top:.8rem;color:rgba(255,255,255,.68);}@media (max-width:760px){.corrections-hero__grid{grid-template-columns:1fr;min-height:auto;}.corrections-hero__metric{min-height:220px;}.entity-correction-ledger>.shell>header{align-items:flex-start;flex-direction:column;}}

/* Pass 28 — Source Watch, Verification Calendar & Evidence Renewal */
.source-watch-public{position:relative;overflow:hidden;border-block:1px solid rgba(11,53,88,.14)}
.source-watch-public::before{content:"";position:absolute;inset:-35% auto auto 62%;width:32rem;aspect-ratio:1;border:1px solid rgba(11,53,88,.12);border-radius:50%;box-shadow:0 0 0 3rem rgba(255,205,0,.055),0 0 0 8rem rgba(11,53,88,.025);pointer-events:none}
.source-watch-public__grid{position:relative;display:grid;grid-template-columns:minmax(0,1.15fr) minmax(17rem,.8fr) minmax(15rem,.65fr);gap:clamp(1.5rem,4vw,4.5rem);align-items:start}
.source-watch-public h2{max-width:16ch;margin:.35rem 0 1rem;font-size:clamp(2rem,4vw,4.2rem);line-height:.98}
.source-watch-public__metrics{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem;margin:0}
.source-watch-public__metrics div{min-height:7.75rem;padding:1rem;border:1px solid rgba(11,53,88,.16);background:rgba(255,255,255,.66);display:flex;flex-direction:column;justify-content:space-between}
.source-watch-public__metrics dt{font-size:.72rem;letter-spacing:.08em;text-transform:uppercase;color:#42596b}
.source-watch-public__metrics dd{margin:0;font-family:var(--font-display,Georgia,serif);font-size:2.4rem;line-height:1;color:#0b3558}
.source-watch-public aside{padding:1.25rem;border-left:.3rem solid #ffcd00;background:#0b3558;color:#fff;box-shadow:0 1rem 3rem rgba(5,31,53,.16)}
.source-watch-public aside strong{display:block;margin-bottom:.5rem;font-size:1.15rem}
.source-watch-public aside p{color:rgba(255,255,255,.82)}
.source-watch-public aside small{display:block;margin-top:1rem;color:#ffdf5e}
.entity-source-freshness{margin-top:1rem;padding:1rem;border:1px solid rgba(11,53,88,.15);background:rgba(255,255,255,.55)}
.entity-source-freshness>span{display:block;margin-bottom:.35rem;font-size:.67rem;font-weight:800;letter-spacing:.11em;color:#496071}
.entity-source-freshness>strong{display:block;color:#0b3558}
.entity-source-freshness p{margin:.35rem 0;color:#334a5c;font-size:.88rem;line-height:1.45}
.entity-source-freshness small{color:#607382}
.entity-source-freshness--overdue,.entity-source-freshness--under_review{border-color:rgba(161,64,39,.35);background:rgba(255,235,215,.62)}
.entity-source-freshness--due_soon{border-color:rgba(159,117,0,.35);background:rgba(255,244,194,.58)}
@media(max-width:900px){.source-watch-public__grid{grid-template-columns:1fr 1fr}.source-watch-public__grid>div{grid-column:1/-1}.source-watch-public aside{grid-column:1/-1}}
@media(max-width:600px){.source-watch-public__grid,.source-watch-public__metrics{grid-template-columns:1fr}.source-watch-public__metrics div{min-height:6.5rem}.source-watch-public h2{font-size:2.35rem}}
