/* Atlas V13 tokens (standalone, for use outside homepage) */
@font-face{font-family:'Aller';src:url('/static/fonts/Aller_Lt.woff2') format('woff2');font-weight:300;font-style:normal;font-display:swap}
@font-face{font-family:'Aller';src:url('/static/fonts/Aller_Rg.woff2') format('woff2');font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:'Aller';src:url('/static/fonts/Aller.woff2') format('woff2');font-weight:700;font-style:normal;font-display:swap}
.atlas{
  --bone:#F4F1EC;--peat:#2A2621;--peat2:#211D18;
  --clay:#E8E2D6;--ochre:#D4C5A9;--terra:#B95A32;--purple:#5e257b;
  --ink:#2A2621;--bone-soft:rgba(244,241,236,.74);--bone-faint:rgba(244,241,236,.52);
  --clay-faint:rgba(232,226,214,.30);--clay-dim:rgba(232,226,214,.55);
  --pad:clamp(20px,5.5vw,88px);--ease:cubic-bezier(.22,1,.36,1);
  font-family:'Aller',system-ui,sans-serif;
}
.atlas *{box-sizing:border-box}
.atlas .wrap{padding-left:var(--pad);padding-right:var(--pad);max-width:1680px;margin:0 auto}
.atlas{background:var(--peat);color:var(--clay);padding:clamp(50px,6.3vh,84px) 0 clamp(40px,5vh,68px);overflow:hidden}
.atlas>.wrap{position:relative}
.atlas-head{display:flex;justify-content:space-between;align-items:flex-end;gap:28px;flex-wrap:wrap;margin-bottom:clamp(14px,2vh,24px)}
.atlas h2{font-size:clamp(13.5px,2.5vw,34px);font-weight:300;letter-spacing:-.01em;color:var(--bone);line-height:1.14;white-space:nowrap}
.atlas h2 b{font-weight:700}
.atlas .kicker{margin-bottom:12px}
.atlas .kicker{color:var(--bone-faint)}
.legend{display:flex;gap:8px 22px;flex-wrap:wrap;align-items:center;margin-bottom:10px;font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--clay-dim)}
.legend span{display:inline-flex;align-items:center;gap:8px;white-space:nowrap}
.lg-pin{width:14px;height:14px;border-radius:50%;background:var(--terra);border:1.5px solid rgba(244,241,236,.75);display:inline-block;flex:none}
.lg-amb{width:8px;height:8px;border-radius:50%;background:var(--ochre);opacity:.75;display:inline-block;flex:none}
.lg-office{width:8px;height:8px;background:var(--purple);outline:1px solid rgba(244,241,236,.55);transform:rotate(45deg);display:inline-block;flex:none}
.map-wrap{position:relative}
/* fit map + timeline in one viewport: cap the map's width so its height fits the space left over */
@media (min-width:921px){
  .map-wrap{width:clamp(648px,calc((100vh - 555px)*3.24),100%);margin:0 auto}
}
/* filler dots: unpublished years, hollow and non-interactive */
.tl-dot.filler{background:transparent;border:1.5px solid rgba(212,197,169,.4);pointer-events:none;cursor:default;display:block}
.tl-dot.filler:hover{transform:none}
.map-wrap svg{width:100%;height:auto;display:block;overflow:visible}
#landPath{fill:var(--clay-faint)}
.map-scroll{overflow:visible}
.map-route{fill:none;stroke:var(--ochre);stroke-width:1.35;stroke-dasharray:1 7;opacity:.75;animation:march 30s linear infinite}
@keyframes march{to{stroke-dashoffset:-640}}
.office-mark{fill:var(--purple);stroke:var(--bone);stroke-width:1.1}
.office-label{font-family:'Aller',sans-serif;font-size:10.5px;letter-spacing:.18em;text-transform:uppercase;fill:var(--clay-dim)}
.amb{fill:var(--ochre);opacity:.72;stroke:rgba(42,38,33,.6);stroke-width:.6}
.amb-halo{fill:var(--ochre);opacity:.10}
.amb.on{opacity:1}
.amb-ring{fill:none;stroke:var(--ochre);stroke-width:1.4;opacity:0;transform-box:fill-box;transform-origin:center}
.amb-ring.on{animation:ringP 1.9s ease-out infinite}
.pin{cursor:pointer;outline:none}
.pin .halo{fill:var(--terra);opacity:.16;transform-box:fill-box;transform-origin:center;transition:opacity .45s}
.pin:hover .halo{opacity:.34}
.pin .dot{fill:var(--terra);stroke:#F4F1EC;stroke-width:1.5;transform-box:fill-box;transform-origin:center;transition:transform .45s var(--ease),opacity .45s;animation:breathe 4.4s ease-in-out infinite;animation-delay:calc(var(--i)*.37s);filter:drop-shadow(0 0 6px rgba(185,90,50,.65))}
@keyframes breathe{0%,100%{transform:scale(1)}50%{transform:scale(1.14)}}
.pin .ring{fill:none;stroke:var(--terra);stroke-width:1.6;opacity:0;transform-box:fill-box;transform-origin:center}
.pin:focus-visible .dot{stroke-width:2.6}
.pin.on .dot{animation:pinPulse 1.9s ease-in-out infinite}
@keyframes pinPulse{0%,100%{transform:scale(1.28)}50%{transform:scale(1.6)}}
.pin.on .halo{opacity:.42}
.pin.on .ring{animation:ringP 1.9s ease-out infinite}
.pin.dim .dot{opacity:.45}
.pin.dim .halo{opacity:.06}
.pin .hit{fill:transparent;stroke:none}
.pin-leader{stroke:rgba(212,197,169,.4);stroke-width:1;fill:none}
.pop-leader{position:absolute;height:3px;pointer-events:none;z-index:4;transform-origin:0 50%;background:repeating-linear-gradient(90deg,rgba(244,241,236,.85) 0 6px,transparent 6px 10px);opacity:0;transition:opacity .4s ease .5s,width .5s ease .5s;filter:drop-shadow(0 0 3px rgba(164,111,79,.6))}
.pop-leader.on{opacity:.8;animation:leaderPulse 2s ease-in-out infinite}
@keyframes leaderPulse{0%,100%{opacity:.55}50%{opacity:.9}}
@keyframes ringP{0%{opacity:.9;transform:scale(.6)}100%{opacity:0;transform:scale(2.1)}}
.map-pop{
  position:absolute;z-index:5;width:min(340px,calc(100vw - 48px));background:var(--bone);color:var(--peat);
  box-shadow:0 18px 50px -18px rgba(0,0,0,.65);opacity:0;pointer-events:none;
  transition:opacity .45s ease;
}
.map-pop.active{opacity:1;pointer-events:auto}
.mp-band{height:5px;background:var(--terra)}
.mp-img{height:118px;overflow:hidden;display:none;background:var(--clay)}
.mp-img.on{display:block}
.mp-img img{width:100%;height:100%;object-fit:cover;display:block;opacity:0;transition:opacity .3s ease}
.mp-img img.loaded{opacity:1}
.mp-head{padding:14px 20px 10px}
.mp-k{font-size:10px;letter-spacing:.2em;text-transform:uppercase;color:rgba(42,38,33,.55);margin-bottom:4px}
.map-pop h3{font-size:18px;font-weight:700;line-height:1.2;margin-bottom:4px;color:var(--peat);max-width:none}
.map-pop .mp-sum{font-size:13px;line-height:1.5;color:rgba(42,38,33,.72)}
.mp-close{position:absolute;top:7px;right:7px;width:26px;height:26px;line-height:1;font-size:15px;color:rgba(42,38,33,.45);background:rgba(244,241,236,.85);border:0;border-radius:50%;display:flex;align-items:center;justify-content:center;z-index:2;transition:color .2s,background .2s;cursor:pointer;font-family:inherit}
.mp-close:hover{color:var(--peat);background:var(--bone)}
.mp-list{list-style:none;max-height:224px;overflow-y:auto;border-top:1px solid rgba(42,38,33,.1);scrollbar-width:thin;scrollbar-color:rgba(42,38,33,.3) transparent}
.mp-list::-webkit-scrollbar{width:5px}
.mp-list::-webkit-scrollbar-thumb{background:rgba(42,38,33,.25);border-radius:3px}
.mp-list li+li{border-top:1px solid rgba(42,38,33,.07)}
.mp-list a,.mp-list .mp-row{display:flex;gap:10px;align-items:baseline;padding:8px 18px;transition:background .25s}
.mp-list a:hover{background:rgba(42,38,33,.05)}
.mp-list li.on a,.mp-list li.on .mp-row{background:rgba(94,37,123,.09)}
.mp-yr{font-size:11px;color:rgba(42,38,33,.5);width:32px;flex:none;font-variant-numeric:tabular-nums}
.mp-pn{font-size:13px;font-weight:700;color:var(--peat);line-height:1.35;min-width:0}
.mp-pn .lnk{color:var(--purple);font-size:11px;margin-left:4px}
.mp-pl{font-size:11.5px;color:rgba(42,38,33,.55);display:block;font-weight:400}
.mp-row .mp-pn{font-weight:400;color:rgba(42,38,33,.66)}
.mp-foot{font-size:11px;color:rgba(42,38,33,.5);padding:8px 18px 10px;border-top:1px solid rgba(42,38,33,.08)}
/* timeline */
.tl-sec{margin-top:clamp(14px,2vh,24px);border-top:1px solid var(--clay-line);padding-top:clamp(12px,1.8vh,20px)}
.tl-head{display:flex;justify-content:space-between;align-items:baseline;gap:18px;margin-bottom:4px;flex-wrap:wrap}
.tl-title{font-size:11px;letter-spacing:.26em;text-transform:uppercase;color:var(--ochre)}
.tl-scroll{overflow-x:auto;overflow-y:hidden;scrollbar-width:thin;scrollbar-color:rgba(232,226,214,.35) transparent;padding-bottom:10px;
  -webkit-overflow-scrolling:touch;cursor:grab}
.tl-scroll.dragging{cursor:grabbing;user-select:none}
.tl-scroll::-webkit-scrollbar{height:5px}
.tl-scroll::-webkit-scrollbar-thumb{background:rgba(232,226,214,.28);border-radius:3px}
.tl-track{display:flex;align-items:flex-end;width:max-content;position:relative;padding-top:8px}
.tl-year{width:52px;flex:none;display:flex;flex-direction:column;align-items:center;position:relative}
.tl-dots{display:flex;flex-direction:column-reverse;align-items:center;gap:4px;min-height:96px;justify-content:flex-start;padding-bottom:8px}
.tl-dot{width:10px;height:10px;border-radius:50%;flex:none;position:relative;transition:transform .35s var(--ease),box-shadow .35s;outline:none;background:var(--terra);border:0;padding:0;cursor:pointer}
.tl-dot.hollow{background:transparent;border:1.5px solid var(--ochre)}
.tl-dot:hover{transform:scale(1.35)}
.tl-dot:focus-visible{box-shadow:0 0 0 2px var(--peat),0 0 0 3.5px var(--bone);outline:none}
.tl-dot.on{transform:scale(1.4);box-shadow:0 0 0 2.5px var(--peat),0 0 0 4px var(--bone)}
.tl-dot.rgn{box-shadow:0 0 0 2px rgba(212,197,169,.75)}
.tl-axis{width:100%;height:1px;background:var(--clay-line);position:relative}
.tl-tick{width:1px;height:7px;background:rgba(232,226,214,.3);margin:0 auto}
.tl-label{font-size:10px;letter-spacing:.08em;color:var(--clay-dim);padding-top:7px;font-variant-numeric:tabular-nums}
.tl-year.decade .tl-tick{height:12px;background:rgba(232,226,214,.5)}
.tl-year.decade .tl-label{color:var(--clay);font-weight:700}
.tl-year.now .tl-label{color:var(--ochre);font-weight:700}
.atlas-foot{margin-top:clamp(10px,1.6vh,18px);font-size:12.5px;color:rgba(232,226,214,.45);display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap}
.atlas-foot a{color:var(--clay-dim);border-bottom:1px solid rgba(232,226,214,.3);padding-bottom:1px;transition:color .3s,border-color .3s}
.atlas-foot a:hover{color:var(--bone);border-color:var(--bone)}
@media (prefers-reduced-motion:reduce){
  .pin .dot{animation:none}
  .pin.on .dot{animation:none;transform:scale(1.4)}
  .pin.on .ring{animation:none;opacity:0}
  .map-route{animation:none}
}

  .atlas-head{flex-direction:column;align-items:flex-start;gap:14px}
  .tl-year{width:46px}
  .map-pop{position:static;width:100%;transform:none !important;margin-top:0;box-shadow:none;max-height:0;overflow:hidden;padding:0;visibility:hidden}
  .map-pop.active{max-height:none;overflow:visible;margin-top:16px;padding:0;visibility:visible}
}
@media (max-width:720px){
  .map-scroll{overflow-x:hidden}
  .map-scroll svg{width:100%;min-width:0}
  .tl-year{width:42px}
  .tl-dots{min-height:88px}
  .tl-dot{width:10px;height:10px}
}
@media (max-width:640px){
  body{font-size:16px}
  .hero-content{bottom:clamp(64px,10vh,120px);max-width:100%}
  .hero-desc{font-size:15px;line-height:1.65;max-width:100%}
  .wgrid{grid-auto-rows:clamp(84px,22vw,110px);gap:10px;padding:0 10px}
  .g-orchid,.g-roos,.g-hein,.g-uco{grid-column:1/13;grid-row:span 3}
  .g-pizza,.g-ikea,.g-wadden,.g-seren,.g-schieb,.g-star,.g-schip{grid-column:1/13;grid-row:span 3}
  .g-q1,.g-q2,.g-q3{grid-column:1/13;grid-row:span 5}
  .wquote{padding:34px 18px}
  .wquote blockquote{font-size:24px;line-height:1.45}

/* Full-width breakout when atlas is inside a Bootstrap container */
.section .atlas{
  width:100vw;
  margin-left:calc(-50vw + 50%);
  position:relative;
}
