/* Map-first hero: real coastline, service navigation, original Iceland artwork. */
.site-header { --acid: #b8ff35; height: 5.4rem; background: linear-gradient(#060b08b8,transparent); }
.site-header.is-scrolled { color: #f0f4ef; background: #0a100def; }
.brand-name > span, .site-header.is-scrolled .brand-name > span { color: #b8ff35; }
.language-switch button[aria-pressed='true'] { color: #b8ff35; box-shadow: inset 0 -2px #b8ff35; }
.hero { --acid: #b8ff35; --display: 'Arial Black','Helvetica Neue',Arial,sans-serif; grid-template-columns: minmax(0,.94fr) minmax(0,1.06fr); min-height: max(100svh,52rem); background: #080e0b; }
.hero::before { background: radial-gradient(ellipse at 25% 20%,#253d252e,transparent 60%); animation: none; }
.hero-text { padding: 8rem 1.5rem 5rem var(--gutter); }
.hero .eyebrow { color: #c2dcbb; font-weight: 700; font-size: .8rem; }
.hero h1 { font: 900 clamp(3.6rem,5.6vw,7.5rem)/.93 var(--display); letter-spacing: -.065em; text-transform: uppercase; max-width: 11ch; }
.hero h1 em { color: #b8ff35; font-family: inherit; font-style: normal; font-weight: 900; letter-spacing: inherit; text-shadow: 0 0 55px #b8ff3518; }
.hero-lead { margin: 2rem 0; font-size: 1.1rem; max-width: 30rem; line-height: 1.6; color: #c3cec5; }
.hero .button-light { background: #b8ff35; color: #0a100b; border: 1px solid #b8ff35; border-radius: .5rem; padding: 1rem 1.2rem; font-weight: 750; }
.hero .button-light:hover { background: #d2ff87; }
.hero-actions { gap: 1.3rem; }
.hero .text-link { font-size: .95rem; }
.hero-index { font-size: .75rem; }
.map-stage { min-height: max(100svh,52rem); padding: 8rem 1.7rem 14rem; border-left: 1px solid #d5ffe213; perspective: 1100px; }
.elemental-image { display: block; opacity: 1; background: linear-gradient(90deg,#080e0b78,transparent 35%),url('assets/iceland-elements.webp') 60% center/cover; filter: saturate(.95); }
.map-stage::after { display: block; background: linear-gradient(0deg,#080e0bf5,transparent 48%,#080e0b40),radial-gradient(ellipse at center,transparent 30%,#080e0b70); }
.map-hint { top: 7rem; right: 2rem; writing-mode: initial; font-size: .75rem; letter-spacing: .08em; color: #eaf5e8; }
.iceland-map { width: min(100%,48rem); margin-top: 0; transform-style: preserve-3d; filter: drop-shadow(0 30px 20px #0009); }
.island-shape { animation: none; overflow: visible; }
.map-shadow { opacity: .8; filter: blur(3px); fill: #030b07; stroke: #79ac992e; stroke-width: 3; }
.map-main { opacity: 1; fill: #17372bc9; stroke: #d9f9e8; stroke-width: 1.8; filter: drop-shadow(0 0 9px #9cf0c15c); }
.map-glass { opacity: .45; fill: url(#islandFill); }
.terrain-line { opacity: .45; stroke-width: 1.4; stroke: #ddffed; animation-duration: 25s; }
.terrain-line--two { stroke: #b8ff35; }
.terrain-line--three { stroke: #fe9b7c; }
.map-aurora { display: block; opacity: .5; pointer-events: none; }
.map-particles { display: block; opacity: .5; }
.signal-path { fill: none; stroke: #b8ff35; stroke-width: 1.8; stroke-dasharray: 4 9; animation: signal-run 4s linear infinite; opacity: .75; filter: drop-shadow(0 0 4px #b8ff35); pointer-events: none; }
.map-pin { width: 3.15rem; height: 3.15rem; display: grid; place-items: center; background: #0c2119ed; border: 1px solid #d5ffe080; border-radius: .85rem; color: #e4f9ed; box-shadow: 0 7px 20px #0007,inset 0 1px #ffffff18; transition: transform .25s,background .25s,box-shadow .25s; }
.map-pin::before { display: none; }
.map-pin::after { display: none; }
.pin-icon svg { width: 1.4rem; height: 1.4rem; overflow: visible; }
.map-pin:hover,.map-pin:focus-visible,.map-pin.is-active { background: #b8ff35; color: #0c1d12; border-color: #d4ff8b; box-shadow: 0 0 25px #b8ff354a,0 8px 25px #0006; transform: translate(-50%,-50%) translateZ(18px) scale(1.12); }
.map-pin:focus-visible { outline: 2px solid #fff; outline-offset: 5px; }
.map-pin.is-active::after { display: block; inset: -.4rem; border: 1px solid #b8ff3570; border-radius: 1.1rem; animation: map-selection 2.8s ease-out infinite; }
@keyframes map-selection { 0% { opacity: .6; transform: scale(.97); } 80%,100% { opacity: 0; transform: scale(1.22); } }
.pin-label { display: block; bottom: calc(100% + .55rem); padding: .42rem .62rem; border-radius: .35rem; border: 1px solid #d6ffe433; background: #07140ff0; color: #f0fff3; font-size: .75rem; font-weight: 600; white-space: nowrap; box-shadow: 0 4px 10px #0004; }
.map-card { right: 2rem; bottom: 2rem; width: min(25rem,calc(100% - 4rem)); border: 1px solid #d5ffe233; border-radius: .85rem; background: linear-gradient(135deg,#10261be8,#080e0bf2); box-shadow: 0 20px 50px #0006; padding: 1.25rem 1.5rem; }
.map-card::before { display: block; background: #b8ff35; top: 1.4rem; bottom: 1.4rem; box-shadow: 0 0 15px #b8ff3540; }
.map-card strong { font: 700 1.35rem/1.15 'Helvetica Neue',Arial,sans-serif; text-transform: none; letter-spacing: -.025em; }
.map-card-number { color: #b8ff35; font-size: .75rem; margin-bottom: .6rem; }
.map-card p { color: #c3d5c8; font-size: .95rem; line-height: 1.45; margin: .65rem 0 1rem; }
.map-card button { color: #eef9ef; font-size: .9rem; min-height: 2rem; }
@media (min-width: 1101px) and (max-height: 760px) { .hero,.map-stage { min-height: 50rem; } .hero h1 { font-size: 5.4vw; } }
@media (max-width: 1100px) {
  .hero { grid-template-columns: 1fr; }
  .hero-text { min-height: 0; padding: 9rem var(--gutter) 4rem; }
  .hero h1 { font-size: clamp(4rem,8.5vw,6rem); max-width: 13ch; }
  .map-stage { min-height: 46rem; border-left: 0; border-top: 1px solid #d5ffe21a; padding: 4rem 4rem 13rem; }
  .map-hint { top: 1.3rem; }
  .hero-index { display: none; }
}
@media (max-width: 600px) {
  .site-header { height: 4.8rem; gap: .7rem; }
  .hero-text { padding: 7rem 1.25rem 2.5rem; }
  .hero h1 { font-size: clamp(2.7rem,11vw,4.1rem); line-height: .98; }
  .hero .eyebrow { margin-bottom: 1.4rem; font-size: .75rem; }
  .hero-lead { font-size: 1rem; margin: 1.5rem 0; }
  .hero-actions { gap: 1.1rem; }
  .map-stage { display: flex; flex-direction: column; justify-content: center; min-height: 0; padding: 4.5rem 1.25rem 1.5rem; }
  .map-hint { top: 1.2rem; left: 1.25rem; right: auto; font-size: .75rem; }
  .map-pin { width: 2.6rem; height: 2.6rem; border-radius: .65rem; }
  .pin-icon svg { width: 1.2rem; height: 1.2rem; }
  .pin-label { font-size: .75rem; padding: .3rem .4rem; }
  .map-pin.is-active::after { border-radius: .85rem; }
  .map-card { position: relative; inset: auto; width: 100%; margin-top: 2.5rem; padding: 1.1rem 1.25rem; }
  .map-card strong { font-size: 1.25rem; }
}
@media (prefers-reduced-motion: reduce) {
  .map-stage *, .map-stage *::after { animation: none !important; transition: none !important; }
  .iceland-map { transform: none !important; }
}
