:root {
  --slm-max: 1180px;
  --slm-radius: 6px;
}

body.slm-landing-page .entry-header,
body.slm-landing-page .page-header,
body.slm-landing-page .entry-title,
body.slm-landing-page .site-main > article > header {
  display: none !important;
}

body.slm-landing-page .content-area,
body.slm-landing-page .site-main,
body.slm-landing-page .entry-content,
body.slm-landing-page .content-container,
body.slm-landing-page .site-container,
body.slm-landing-page .site-content {
  width: 100% !important;
  max-width: none !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
}

body.slm-landing-page .entry-content > * {
  max-width: none !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
}

.slm-landing {
  --slm-primary: #17395d;
  --slm-accent: #a33d3f;
  --slm-dark: #101a24;
  --slm-paper: #f4f0e8;
  --slm-soft: #e6edf3;
  --slm-text: #1d2730;
  color: var(--slm-text);
  background: #fff;
  font-family: inherit;
  overflow: hidden;
}

.slm-theme-en {
  --slm-primary: #17395d;
  --slm-accent: #a34143;
  --slm-dark: #0d1c2c;
  --slm-paper: #f1ede4;
  --slm-soft: #e1eaf1;
}
.slm-theme-fr {
  --slm-primary: #1c3159;
  --slm-accent: #b23b4a;
  --slm-dark: #11192a;
  --slm-paper: #f8f3e8;
  --slm-soft: #e8edf6;
}
.slm-theme-sv {
  --slm-primary: #173b68;
  --slm-accent: #d2a62c;
  --slm-dark: #10233d;
  --slm-paper: #f6f1df;
  --slm-soft: #e9f2f8;
}

.slm-wrap {
  width: min(var(--slm-max), calc(100% - 40px));
  margin: 0 auto;
}

.slm-language-switcher {
  position: absolute;
  z-index: 20;
  top: 22px;
  right: max(20px, calc((100vw - var(--slm-max)) / 2));
  display: flex;
  gap: 4px;
  padding: 5px;
  background: rgba(8, 16, 24, .62);
  border: 1px solid rgba(255,255,255,.22);
  border-radius: 999px;
  backdrop-filter: blur(8px);
}
.slm-language-switcher a {
  min-width: 34px;
  padding: 6px 8px;
  border-radius: 999px;
  color: #fff !important;
  text-decoration: none !important;
  text-align: center;
  font-size: 12px;
  font-weight: 800;
  letter-spacing: .08em;
}
.slm-language-switcher a:hover,
.slm-language-switcher a.is-active {
  color: var(--slm-dark) !important;
  background: var(--slm-accent);
}

.slm-hero {
  position: relative;
  min-height: min(820px, 88vh);
  display: flex;
  align-items: flex-end;
  background-image: var(--slm-hero-image);
  background-size: cover;
  background-position: center;
  color: #fff;
}
.slm-hero-overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(90deg, rgba(5, 12, 20, .92) 0%, rgba(5, 12, 20, .65) 46%, rgba(5, 12, 20, .15) 100%), linear-gradient(0deg, rgba(5,12,20,.65), transparent 60%);
}
.slm-hero-content {
  position: relative;
  z-index: 2;
  padding-top: 150px;
  padding-bottom: clamp(70px, 10vw, 130px);
}
.slm-kicker,
.slm-eyebrow {
  margin: 0 0 18px;
  color: var(--slm-accent);
  font-size: 13px;
  font-weight: 900;
  letter-spacing: .18em;
  text-transform: uppercase;
}
.slm-hero h1 {
  max-width: 760px;
  margin: 0;
  color: #fff;
  font-size: clamp(52px, 8.4vw, 112px);
  line-height: .91;
  letter-spacing: -.055em;
}
.slm-lead {
  max-width: 700px;
  margin: 30px 0 14px;
  font-size: clamp(20px, 2.2vw, 29px);
  line-height: 1.42;
}
.slm-location {
  margin: 0 0 30px;
  color: rgba(255,255,255,.72);
  font-size: 15px;
  letter-spacing: .05em;
}
.slm-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
}
.slm-button {
  display: inline-flex;
  justify-content: center;
  align-items: center;
  min-height: 50px;
  padding: 13px 22px;
  border: 1px solid transparent;
  border-radius: 3px;
  text-decoration: none !important;
  font-weight: 800;
  transition: transform .18s ease, background .18s ease, color .18s ease;
}
.slm-button:hover { transform: translateY(-2px); }
.slm-button-primary { background: var(--slm-accent); color: var(--slm-dark) !important; }
.slm-theme-en .slm-button-primary,
.slm-theme-fr .slm-button-primary { color: #fff !important; }
.slm-button-ghost { border-color: currentColor; color: inherit !important; background: transparent; }

.slm-facts { background: var(--slm-dark); color: #fff; }
.slm-facts-grid { display: grid; grid-template-columns: repeat(4,1fr); }
.slm-fact { padding: 32px 26px; border-left: 1px solid rgba(255,255,255,.13); }
.slm-fact:last-child { border-right: 1px solid rgba(255,255,255,.13); }
.slm-fact strong { display:block; color: var(--slm-accent); font-size: clamp(25px,3vw,42px); line-height:1; }
.slm-fact span { display:block; margin-top:10px; color:rgba(255,255,255,.76); font-size:14px; line-height:1.45; }

.slm-section { padding: clamp(75px, 9vw, 130px) 0; }
.slm-section h2,
.slm-final-cta h2 { margin:0 0 25px; color:var(--slm-dark); font-size:clamp(38px,5vw,68px); line-height:1.02; letter-spacing:-.04em; }
.slm-copy p { font-size:18px; line-height:1.72; }
.slm-two-column { display:grid; grid-template-columns: minmax(0,.85fr) minmax(0,1.15fr); gap:clamp(40px,7vw,90px); align-items:center; }
.slm-media-card { background:var(--slm-dark); color:#fff; padding:18px; border-radius:var(--slm-radius); box-shadow:0 24px 60px rgba(0,0,0,.16); }
.slm-media-card p { margin:14px 4px 2px; color:rgba(255,255,255,.72); font-size:14px; }
.slm-video { position:relative; aspect-ratio:16/9; overflow:hidden; background:#000; }
.slm-video iframe { position:absolute; inset:0; width:100%; height:100%; }
.slm-video-fallback { display:flex; min-height:320px; align-items:center; justify-content:center; color:#fff !important; background:#111; }

.slm-highlight { background:var(--slm-paper); }
.slm-image-copy { display:grid; grid-template-columns:minmax(0,1.12fr) minmax(0,.88fr); gap:clamp(40px,7vw,95px); align-items:center; }
.slm-image-copy-reverse { grid-template-columns:minmax(0,.88fr) minmax(0,1.12fr); }
.slm-image-panel { margin:0; min-height:540px; overflow:hidden; border-radius:var(--slm-radius); background:var(--slm-soft); }
.slm-image-panel img { width:100%; height:100%; min-height:540px; object-fit:cover; display:block; }

.slm-timeline-section { background:var(--slm-primary); color:#fff; }
.slm-timeline-section h2 { color:#fff; max-width:760px; }
.slm-timeline { display:grid; grid-template-columns:repeat(4,1fr); margin-top:55px; border-top:1px solid rgba(255,255,255,.25); }
.slm-timeline-item { position:relative; padding:45px 28px 0 0; }
.slm-timeline-item:before { content:""; position:absolute; top:-7px; left:0; width:13px; height:13px; border-radius:50%; background:var(--slm-accent); }
.slm-number { display:block; color:var(--slm-accent); font-weight:900; font-size:14px; letter-spacing:.14em; }
.slm-date { margin:13px 0 6px; color:rgba(255,255,255,.58); font-size:12px; font-weight:900; letter-spacing:.1em; }
.slm-timeline h3 { margin:0 0 15px; color:#fff; font-size:25px; }
.slm-timeline p { color:rgba(255,255,255,.8); line-height:1.62; }

.slm-museum-section { background:#fff; }
.slm-tag-row { display:flex; flex-wrap:wrap; gap:8px; margin-top:30px; }
.slm-tag-row span { padding:9px 13px; border:1px solid rgba(16,26,36,.2); border-radius:999px; font-size:13px; font-weight:800; }

.slm-exhibitions { background:var(--slm-soft); }
.slm-card-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:22px; margin-top:45px; }
.slm-card { overflow:hidden; background:#fff; border-radius:var(--slm-radius); box-shadow:0 13px 35px rgba(14,30,45,.09); }
.slm-card img { width:100%; aspect-ratio:16/9; object-fit:cover; display:block; }
.slm-card-body { padding:30px; }
.slm-card h3 { margin:0 0 12px; color:var(--slm-dark); font-size:25px; }
.slm-card p { margin:0; line-height:1.65; }
.slm-card:nth-child(n+2) { display:flex; align-items:flex-end; min-height:330px; background:linear-gradient(150deg,var(--slm-primary),var(--slm-dark)); color:#fff; }
.slm-card:nth-child(n+2) h3 { color:#fff; }

.slm-visit { background:var(--slm-dark); color:#fff; }
.slm-visit h2 { color:#fff; }
.slm-visit-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:1px; margin:45px 0 35px; background:rgba(255,255,255,.16); }
.slm-visit-box { padding:32px; background:var(--slm-dark); }
.slm-visit-box h3 { margin:0 0 20px; color:var(--slm-accent); }
.slm-visit-box p { color:rgba(255,255,255,.78); line-height:1.65; }
.slm-visit-box a { color:#fff !important; }
.slm-actions-center { justify-content:center; }

.slm-final-cta { padding:clamp(85px,11vw,150px) 0; text-align:center; background:var(--slm-paper); }
.slm-final-cta h2 { max-width:920px; margin-left:auto; margin-right:auto; }
.slm-final-cta p:not(.slm-eyebrow) { max-width:660px; margin:0 auto 30px; font-size:20px; }

@media (max-width: 900px) {
  .slm-facts-grid { grid-template-columns:repeat(2,1fr); }
  .slm-fact:nth-child(2) { border-right:1px solid rgba(255,255,255,.13); }
  .slm-two-column,
  .slm-image-copy,
  .slm-image-copy-reverse { grid-template-columns:1fr; }
  .slm-timeline { grid-template-columns:repeat(2,1fr); row-gap:45px; }
  .slm-card-grid { grid-template-columns:1fr; }
  .slm-card:nth-child(n+2) { min-height:240px; }
  .slm-visit-grid { grid-template-columns:1fr; }
}

@media (max-width: 600px) {
  .slm-wrap { width:min(var(--slm-max), calc(100% - 28px)); }
  .slm-language-switcher { top:12px; right:12px; }
  .slm-language-switcher a { min-width:29px; padding:5px 6px; }
  .slm-hero { min-height:760px; background-position:58% center; }
  .slm-hero-overlay { background:linear-gradient(0deg,rgba(5,12,20,.93) 0%,rgba(5,12,20,.68) 58%,rgba(5,12,20,.25) 100%); }
  .slm-hero-content { padding-top:130px; padding-bottom:60px; }
  .slm-hero h1 { font-size:clamp(48px,16vw,72px); }
  .slm-facts-grid { grid-template-columns:1fr; }
  .slm-fact,
  .slm-fact:last-child { border-right:0; border-left:0; border-bottom:1px solid rgba(255,255,255,.13); }
  .slm-timeline { grid-template-columns:1fr; }
  .slm-image-panel,
  .slm-image-panel img { min-height:360px; }
  .slm-actions { flex-direction:column; }
  .slm-button { width:100%; }
}
