/* 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; }
