.travel-album{
  --ta-accent:#e94073;
  --ta-secondary:#168bb6;
  --ta-paper:#f5f0e7;
  --ta-ink:#14211d;
  --ta-line:color-mix(in srgb,var(--ta-ink) 17%,transparent);
  position:relative;
  overflow:clip;
  background:var(--ta-paper);
  color:var(--ta-ink);
  font-family:Manrope,Arial,sans-serif;
}
.travel-album *{box-sizing:border-box}
.travel-album img,.travel-album video{display:block;max-width:100%}
.travel-album button,.travel-album a{font:inherit}
.ta-loader{position:fixed;z-index:250;inset:0;display:grid;place-items:center;background:var(--ta-ink);color:var(--ta-paper);transition:opacity .55s ease,visibility .55s ease}
.ta-loader>div{width:min(560px,calc(100% - 48px));text-align:center}
.ta-loader span{display:block;margin-bottom:30px;font:700 12px/1.2 'DM Mono',monospace;letter-spacing:.16em;text-transform:uppercase}
.ta-loader b{display:block;margin-top:20px;font:600 12px 'DM Mono',monospace}
.ta-loader__route{position:relative;height:8px;border-radius:999px;background:color-mix(in srgb,var(--ta-paper) 18%,transparent)}
.ta-loader__route:before{content:"";position:absolute;inset:2px;border-top:1px dashed color-mix(in srgb,var(--ta-paper) 65%,transparent)}
.ta-loader__route i{position:absolute;left:0;top:50%;width:30px;height:18px;border-radius:12px 14px 6px 6px;background:var(--ta-accent);box-shadow:0 0 24px color-mix(in srgb,var(--ta-accent) 70%,transparent);transform:translate(-50%,-50%);transition:left .2s ease}
.ta-loader__route i:before,.ta-loader__route i:after{content:"";position:absolute;bottom:-4px;width:7px;height:7px;border-radius:50%;background:var(--ta-paper)}
.ta-loader__route i:before{left:5px}.ta-loader__route i:after{right:5px}
.travel-album-loading body{overflow:hidden}
.travel-album.is-ready .ta-loader{opacity:0;visibility:hidden;pointer-events:none}
.travel-album.is-ready~*{}.travel-album.is-ready{--ta-loaded:1}

.ta-hero{position:relative;min-height:calc(100svh - 78px);display:grid;grid-template-columns:minmax(0,1.05fr) minmax(300px,.95fr);isolation:isolate;background:var(--ta-ink);color:var(--ta-paper)}
.ta-hero__backdrop{position:absolute;z-index:-3;inset:0;overflow:hidden}
.ta-hero__backdrop img{width:100%;height:100%;object-fit:cover;filter:blur(20px) saturate(.88) brightness(.55);transform:scale(1.08)}
.ta-hero:after{content:"";position:absolute;z-index:-2;inset:0;background:linear-gradient(90deg,color-mix(in srgb,var(--ta-ink) 92%,transparent) 0%,color-mix(in srgb,var(--ta-ink) 65%,transparent) 46%,color-mix(in srgb,var(--ta-ink) 30%,transparent) 100%)}
.ta-hero__copy{align-self:end;padding:clamp(52px,8vw,120px) clamp(24px,7vw,105px);padding-right:30px}
.ta-hero__copy>span{display:flex;align-items:center;gap:9px;font:600 11px 'DM Mono',monospace;letter-spacing:.13em;text-transform:uppercase;color:color-mix(in srgb,var(--ta-paper) 75%,transparent)}
.ta-hero__copy h1{max-width:850px;margin:22px 0 24px;font-size:clamp(52px,6vw,104px);font-weight:800;line-height:.87;letter-spacing:-.07em;text-wrap:balance}
.ta-hero__copy p{max-width:580px;margin:0 0 30px;font-size:clamp(16px,1.6vw,22px);line-height:1.55;color:color-mix(in srgb,var(--ta-paper) 78%,transparent)}
.ta-hero__copy a{display:inline-flex;align-items:center;gap:30px;padding:15px 18px;background:var(--ta-accent);color:#fff;text-decoration:none;font-weight:800;text-transform:uppercase;font-size:12px;letter-spacing:.08em}
.ta-hero__copy a i{font-style:normal;font-size:18px;animation:ta-cue 1.8s ease-in-out infinite}
.ta-hero__cover{align-self:center;justify-self:center;width:min(43vw,640px);height:min(78svh,780px);margin:40px clamp(20px,5vw,82px) 40px 20px;padding:12px;background:color-mix(in srgb,var(--ta-paper) 10%,transparent);border:1px solid color-mix(in srgb,var(--ta-paper) 32%,transparent);box-shadow:0 35px 90px rgba(0,0,0,.34);backdrop-filter:blur(10px);transform:rotate(1.5deg)}
.ta-hero__cover img{width:100%;height:100%;object-fit:contain;object-position:center;background:color-mix(in srgb,var(--ta-ink) 75%,transparent)}
.ta-hero__motion{position:absolute;z-index:-1;inset:0;overflow:hidden;pointer-events:none}
.ta-hero__motion i{position:absolute;width:34vw;height:34vw;border:1px solid color-mix(in srgb,var(--ta-paper) 18%,transparent);border-radius:50%;animation:ta-orbit 18s linear infinite}
.ta-hero__motion i:nth-child(1){right:-10vw;top:-18vw}.ta-hero__motion i:nth-child(2){right:-4vw;top:-11vw;animation-duration:23s}.ta-hero__motion i:nth-child(3){right:3vw;top:-3vw;animation-duration:29s}

.ta-routebar{position:sticky;z-index:30;top:0;display:flex;align-items:center;min-height:62px;padding:0 max(18px,calc((100vw - 1320px)/2));background:color-mix(in srgb,var(--ta-paper) 91%,transparent);border-bottom:1px solid var(--ta-line);backdrop-filter:blur(14px)}
.ta-routebar a{color:inherit;text-decoration:none;font:700 10px 'DM Mono',monospace;letter-spacing:.08em;text-transform:uppercase;white-space:nowrap}
.ta-routebar>a{padding:15px}.ta-routebar__map{color:var(--ta-accent)!important}
.ta-routebar>div{display:flex;align-items:center;gap:7px;overflow:auto;scrollbar-width:none;flex:1;padding:0 10px}
.ta-routebar>div::-webkit-scrollbar{display:none}
.ta-routebar>div a{display:flex;align-items:center;gap:7px;padding:9px 12px;border:1px solid transparent;border-radius:999px;transition:.25s}
.ta-routebar>div a span{color:var(--ta-accent)}
.ta-routebar>div a.is-active{border-color:var(--ta-line);background:#fff}

.ta-route{min-height:100svh;display:grid;grid-template-columns:minmax(260px,.38fr) minmax(0,1fr);grid-template-rows:1fr auto;gap:30px;padding:clamp(60px,8vw,125px) max(24px,calc((100vw - 1320px)/2));background:color-mix(in srgb,var(--ta-secondary) 10%,var(--ta-paper))}
.ta-route>header{align-self:center;max-width:440px}
.ta-route>header>span{display:block;min-height:1em;color:var(--ta-accent);font:700 11px 'DM Mono',monospace;letter-spacing:.13em;text-transform:uppercase}
.ta-route h2{margin:15px 0 23px;font-size:clamp(48px,6vw,90px);line-height:.9;letter-spacing:-.065em}
.ta-route p{font-size:16px;line-height:1.75;color:color-mix(in srgb,var(--ta-ink) 70%,transparent)}
.ta-map{position:relative;min-height:620px;border:1px solid var(--ta-line);background:color-mix(in srgb,var(--ta-secondary) 12%,#dce5df);box-shadow:0 30px 80px color-mix(in srgb,var(--ta-ink) 12%,transparent);overflow:hidden}
.ta-map:after,.ta-mini-map:after{content:"";position:absolute;z-index:500;inset:0;pointer-events:none;box-shadow:inset 0 0 70px color-mix(in srgb,var(--ta-ink) 15%,transparent)}
.ta-map .leaflet-tile,.ta-mini-map .leaflet-tile{filter:saturate(.7) sepia(.12) contrast(.95)}
.ta-map .leaflet-control-attribution{font-size:8px;background:color-mix(in srgb,var(--ta-paper) 80%,transparent)}
.ta-map__fallback{display:none;position:absolute;inset:0;place-items:center;font:700 11px 'DM Mono',monospace;letter-spacing:.1em;text-transform:uppercase}
.ta-map.is-unavailable .ta-map__fallback{display:grid}
.ta-route__legend{grid-column:2;display:flex;gap:8px;flex-wrap:wrap}
.ta-route__legend span{padding:7px 10px;border:1px solid var(--ta-line);border-radius:999px;font:600 9px 'DM Mono',monospace;letter-spacing:.08em;text-transform:uppercase;background:var(--ta-paper)}
.ta-route__legend span:before{content:"";display:inline-block;width:12px;height:3px;margin-right:7px;vertical-align:middle;background:var(--ta-accent)}
.ta-route__legend span[data-mode="boat"]:before,.ta-route__legend span[data-mode="ferry"]:before{background:#147ca1}.ta-route__legend span[data-mode="walk"]:before{background:#8e4eac}.ta-route__legend span[data-mode="bike"]:before{background:#368c58}
.ta-map-point{display:grid;place-items:center;width:22px;height:22px;border:3px solid #fff;border-radius:50%;background:var(--ta-accent);box-shadow:0 4px 12px rgba(0,0,0,.28)}
.ta-map-vehicle{display:grid;place-items:center;width:34px;height:34px;border:2px solid #fff;border-radius:50%;background:var(--ta-ink);color:#fff;box-shadow:0 5px 18px rgba(0,0,0,.38);font-size:16px;transform:rotate(var(--ta-bearing,0deg));transition:transform .12s linear}

.ta-film{position:relative}.ta-scene{position:relative;min-height:100svh;padding:clamp(75px,9vw,140px) max(24px,calc((100vw - 1320px)/2));isolation:isolate;border-top:1px solid var(--ta-line);overflow:clip}
.ta-scene:nth-child(even){background:color-mix(in srgb,var(--ta-secondary) 7%,var(--ta-paper))}
.ta-scene__inner{position:relative;z-index:2;display:grid;grid-template-columns:minmax(250px,.34fr) minmax(0,1fr);gap:clamp(35px,6vw,95px);align-items:center}
.ta-scene__copy{position:sticky;top:115px;align-self:start;padding-top:35px}
.ta-scene__copy:before{content:counter(scene,decimal-leading-zero);counter-increment:scene;display:block;margin-bottom:35px;color:var(--ta-accent);font:700 12px 'DM Mono',monospace}
.ta-film{counter-reset:scene}
.ta-scene__kicker,.ta-scene__copy time{display:block;margin:0 0 10px;font:700 10px 'DM Mono',monospace;letter-spacing:.12em;text-transform:uppercase;color:color-mix(in srgb,var(--ta-ink) 58%,transparent)}
.ta-scene__copy h2{margin:17px 0 22px;font-size:clamp(43px,5vw,78px);line-height:.92;letter-spacing:-.06em;text-wrap:balance}
.ta-scene__copy p{margin:0;max-width:500px;font-size:15px;line-height:1.75;color:color-mix(in srgb,var(--ta-ink) 72%,transparent)}
.ta-scene__sky{position:absolute;z-index:0;inset:0;overflow:hidden;pointer-events:none;transform:translate3d(0,calc(var(--ta-parallax,0)*-22px),0)}
.ta-scene__sky i{position:absolute;border-radius:50%;filter:blur(1px);opacity:.3;background:var(--ta-secondary);animation:ta-float 12s ease-in-out infinite}
.ta-scene__sky i:nth-child(1){width:38vw;height:38vw;right:-15vw;top:-17vw}.ta-scene__sky i:nth-child(2){width:20vw;height:20vw;left:28vw;bottom:-8vw;animation-delay:-4s}.ta-scene__sky i:nth-child(3){width:9vw;height:9vw;right:32vw;top:17%;background:var(--ta-accent);animation-delay:-7s}
.ta-scene--sea{background:linear-gradient(165deg,color-mix(in srgb,#6ec8e8 22%,var(--ta-paper)),var(--ta-paper) 60%)}
.ta-scene--sea .ta-scene__sky:after{content:"";position:absolute;left:-10%;right:-10%;bottom:3%;height:17%;border-radius:50% 50% 0 0;background:repeating-radial-gradient(ellipse at 50% 100%,transparent 0 16px,color-mix(in srgb,var(--ta-secondary) 30%,transparent) 17px 19px,transparent 20px 32px);animation:ta-water 8s linear infinite}
.ta-scene--dunes{background:linear-gradient(160deg,#f1e3ba,var(--ta-paper) 65%)}.ta-scene--dunes .ta-scene__sky i{background:#d7ad64}
.ta-scene--meadow{background:linear-gradient(160deg,#dce8c9,var(--ta-paper) 67%)}.ta-scene--meadow .ta-scene__sky i{background:#75a86e}
.ta-scene--harbor{background:linear-gradient(160deg,#cfe3e3,var(--ta-paper) 68%)}
.ta-scene--night{background:#182128;color:#f4f1e9}.ta-scene--night .ta-scene__copy p,.ta-scene--night .ta-scene__kicker,.ta-scene--night .ta-scene__copy time{color:#c7ced0}.ta-scene--night .ta-media{background:#0b1115;border-color:#46525a}
.ta-scene--city .ta-scene__sky:before{content:"";position:absolute;left:0;right:0;bottom:0;height:38%;opacity:.12;background:repeating-linear-gradient(90deg,var(--ta-ink) 0 8%,transparent 8% 12%,var(--ta-ink) 12% 23%,transparent 23% 28%);clip-path:polygon(0 45%,8% 45%,8% 16%,17% 16%,17% 53%,27% 53%,27% 25%,38% 25%,38% 64%,50% 64%,50% 9%,61% 9%,61% 49%,72% 49%,72% 30%,84% 30%,84% 62%,100% 62%,100% 100%,0 100%)}

.ta-montage{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:clamp(8px,1.4vw,18px);align-items:start}
.ta-montage>figure{grid-column:span 6;margin:0;min-width:0}.ta-montage>figure:nth-child(5n+1){grid-column:span 7}.ta-montage>figure:nth-child(5n+2){grid-column:span 5}.ta-montage>figure:nth-child(5n+3){grid-column:2/span 5}.ta-montage>figure:nth-child(5n+4){grid-column:span 6}.ta-montage>figure:nth-child(5n){grid-column:span 12}
.ta-montage--cinema>figure:first-child{grid-column:span 12}.ta-montage--cinema>figure:not(:first-child){grid-column:span 4}
.ta-montage--postcards>figure{grid-column:span 6;padding:10px 10px 34px;background:#fff;box-shadow:0 18px 42px color-mix(in srgb,var(--ta-ink) 13%,transparent);transform:rotate(-1deg)}.ta-montage--postcards>figure:nth-child(even){transform:rotate(1.3deg)}
.ta-montage--panorama>figure{grid-column:span 12}
.ta-montage--reel{display:flex;max-width:100%;overflow-x:auto;scroll-snap-type:x mandatory;padding-bottom:15px;scrollbar-color:var(--ta-accent) transparent}.ta-montage--reel>figure{flex:0 0 min(76vw,760px);scroll-snap-align:center}
.ta-media{position:relative;display:block;width:100%;padding:0;aspect-ratio:var(--ta-ratio);overflow:hidden;border:1px solid var(--ta-line);background:color-mix(in srgb,var(--ta-ink) 7%,var(--ta-paper));cursor:zoom-in;box-shadow:0 14px 38px color-mix(in srgb,var(--ta-ink) 10%,transparent)}
.ta-media img,.ta-media video{width:100%;height:100%;object-fit:var(--ta-fit);object-position:var(--ta-focal-x) var(--ta-focal-y);background:color-mix(in srgb,var(--ta-ink) 6%,var(--ta-paper));transition:filter .3s ease,transform .5s ease}
.ta-media:hover img,.ta-media:hover video{transform:scale(1.012);filter:saturate(1.08)}
.ta-media__video-mark{position:absolute;right:12px;bottom:12px;display:grid;place-items:center;width:38px;height:38px;border-radius:50%;background:color-mix(in srgb,var(--ta-ink) 82%,transparent);color:#fff;font-size:12px;backdrop-filter:blur(5px)}
.ta-montage figcaption{padding:8px 2px 0;font:600 9px/1.5 'DM Mono',monospace;letter-spacing:.04em;color:color-mix(in srgb,var(--ta-ink) 56%,transparent)}
.ta-mini-map{position:relative;height:210px;margin-top:28px;border:1px solid var(--ta-line);background:#dce5df;overflow:hidden}

[data-ta-reveal]{opacity:0;transform:translate3d(0,28px,0);transition:opacity .75s ease,transform .75s cubic-bezier(.2,.75,.2,1)}
[data-ta-reveal].is-visible{opacity:1;transform:none}
.ta-ending{min-height:75svh;display:grid;place-items:center;padding:80px 24px;background:var(--ta-ink);color:var(--ta-paper);text-align:center}
.ta-ending>div{width:min(920px,100%)}.ta-ending h2{margin:0 0 20px;font-size:clamp(52px,8vw,112px);line-height:.88;letter-spacing:-.07em}.ta-ending p{max-width:630px;margin:0 auto 35px;line-height:1.7;color:color-mix(in srgb,var(--ta-paper) 72%,transparent)}
.ta-ending__stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:1px;margin:42px 0;background:color-mix(in srgb,var(--ta-paper) 18%,transparent)}.ta-ending__stats span{padding:24px 12px;background:var(--ta-ink)}.ta-ending__stats b{display:block;font-size:30px;letter-spacing:-.04em}.ta-ending__stats small{display:block;margin-top:5px;font:600 9px 'DM Mono',monospace;letter-spacing:.1em;text-transform:uppercase;color:color-mix(in srgb,var(--ta-paper) 56%,transparent)}
.ta-ending a{display:inline-flex;padding:14px 19px;background:var(--ta-accent);color:#fff;text-decoration:none;font-weight:800}

.ta-lightbox{position:fixed;z-index:300;inset:0;display:none;grid-template-columns:64px minmax(0,1fr) 64px;grid-template-rows:minmax(0,1fr) auto;place-items:center;padding:58px 20px 24px;background:rgba(6,9,10,.97);color:#fff}
.ta-lightbox.is-open{display:grid}.ta-lightbox__stage{grid-column:2;grid-row:1;width:100%;height:100%;display:grid;place-items:center;overflow:auto;overscroll-behavior:contain}.ta-lightbox__stage img,.ta-lightbox__stage video{display:block;max-width:100%;max-height:calc(100vh - 125px);width:auto;height:auto;object-fit:contain}.ta-lightbox.is-zoomed .ta-lightbox__stage{display:block}.ta-lightbox.is-zoomed .ta-lightbox__stage img{max-width:none;max-height:none;margin:auto;cursor:zoom-out}
.ta-lightbox__close,.ta-lightbox__zoom,.ta-lightbox__nav{position:absolute;z-index:2;border:1px solid rgba(255,255,255,.24);border-radius:50%;background:rgba(255,255,255,.1);color:#fff;cursor:pointer;backdrop-filter:blur(8px)}.ta-lightbox__close{right:20px;top:18px;width:44px;height:44px;font-size:25px}.ta-lightbox__zoom{right:73px;top:18px;width:44px;height:44px;font-size:18px}.ta-lightbox__nav{position:static;width:52px;height:52px;font-size:22px}.ta-lightbox__prev{grid-column:1;grid-row:1}.ta-lightbox__next{grid-column:3;grid-row:1}.ta-lightbox__meta{grid-column:1/-1;grid-row:2;display:flex;justify-content:center;gap:22px;min-height:24px;padding-top:14px;font:600 10px 'DM Mono',monospace;color:#bec3c4}

@keyframes ta-cue{50%{transform:translateY(6px)}}
@keyframes ta-orbit{to{transform:rotate(360deg)}}
@keyframes ta-float{50%{transform:translate3d(0,24px,0) scale(1.05)}}
@keyframes ta-water{to{transform:translateX(32px)}}

@media(max-width:980px){
  .ta-hero{grid-template-columns:1fr;min-height:auto;padding-bottom:30px}.ta-hero__copy{grid-row:2;padding:35px 24px 45px}.ta-hero__cover{grid-row:1;width:calc(100% - 40px);height:min(62svh,650px);margin:25px 20px 0;transform:none}.ta-hero:after{background:linear-gradient(0deg,var(--ta-ink) 0%,color-mix(in srgb,var(--ta-ink) 60%,transparent) 60%,color-mix(in srgb,var(--ta-ink) 20%,transparent) 100%)}
  .ta-route{grid-template-columns:1fr;grid-template-rows:auto minmax(520px,70svh) auto}.ta-route>header{max-width:700px}.ta-route__legend{grid-column:1}.ta-map{min-height:520px}
  .ta-scene__inner{grid-template-columns:1fr}.ta-scene__copy{position:relative;top:auto;padding-top:0;max-width:720px}.ta-mini-map{height:280px}
}
@media(max-width:620px){
  .ta-hero__copy h1{font-size:clamp(47px,15vw,78px)}.ta-hero__cover{height:min(55svh,520px)}.ta-routebar{top:0;padding:0 6px}.ta-routebar>div{padding:0}.ta-routebar>div a{padding:8px}.ta-routebar>div a:not(.is-active) span{display:none}.ta-routebar>a:last-child{display:none}
  .ta-route{min-height:auto;padding:65px 14px}.ta-route>header{padding:0 10px}.ta-route h2{font-size:52px}.ta-map{min-height:64svh}.ta-route__legend{padding:0 10px}
  .ta-scene{min-height:auto;padding:78px 14px}.ta-scene__copy{padding:0 10px}.ta-scene__copy h2{font-size:45px}.ta-montage{gap:8px}.ta-montage>figure,.ta-montage>figure:nth-child(n){grid-column:span 6}.ta-montage>figure:nth-child(3n){grid-column:span 12}.ta-montage--cinema>figure:first-child,.ta-montage--panorama>figure{grid-column:span 12}.ta-montage--cinema>figure:not(:first-child){grid-column:span 6}.ta-montage--postcards>figure{padding:6px 6px 24px}.ta-montage--reel>figure{flex-basis:88vw}
  .ta-lightbox{grid-template-columns:46px minmax(0,1fr) 46px;padding:64px 4px 20px}.ta-lightbox__nav{width:42px;height:42px}.ta-lightbox__stage img,.ta-lightbox__stage video{max-height:calc(100svh - 150px)}.ta-lightbox__meta{padding-inline:20px;text-align:center;flex-wrap:wrap;gap:7px}
}
@media(prefers-reduced-motion:reduce){
  .travel-album *{scroll-behavior:auto!important;animation:none!important;transition-duration:.01ms!important}.ta-scene__sky{transform:none!important}[data-ta-reveal]{opacity:1;transform:none}
}
