:root{--xa-ink:#121212;--xa-ink2:#454A4D;--xa-line:#D3D9DC;--xa-paper:#FFFFFF;--xa-paper2:#F3F6F7;--xa-mono:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace}
.xa-k{margin:0;font-family:var(--xa-mono);font-size:1.15rem;font-weight:400;letter-spacing:.06em;text-transform:uppercase;color:var(--xa-ink2)}
.xa-h{margin:0;font-family:var(--font-heading-family);font-weight:var(--font-heading-weight);font-size:clamp(3.4rem,4vw,5.6rem);line-height:1.05;letter-spacing:0;color:var(--xa-ink)}
.xa-lead{margin:1.2rem 0 0;max-width:52ch;font-size:1.65rem;line-height:1.6;color:var(--xa-ink2)}
.xa-btn{display:inline-flex;align-items:center;justify-content:center;min-height:4.8rem;padding:0 2.4rem;border:1px solid var(--xa-ink);border-radius:2px;background:transparent;color:var(--xa-ink);font-family:var(--font-body-family);font-size:1.5rem;font-weight:500;letter-spacing:.04em;text-decoration:none;cursor:pointer}
.xa-btn--solid{background:var(--xa-ink);color:#FFFFFF}
.xa-btn:focus-visible,.xa-pin:focus-visible,.xa-el:focus-visible,.xa-pf a:focus-visible,.xa-link:focus-visible{outline:2px solid var(--xa-ink);outline-offset:3px}
@media(hover:hover){.xa-btn:hover{background:var(--xa-ink);color:#FFFFFF}.xa-btn--solid:hover{opacity:.86}}
.xa-btn[disabled]{opacity:.5;cursor:default}
.xa-link{display:inline-flex;align-items:center;min-height:4.4rem;color:var(--xa-ink);font-size:1.45rem;text-decoration:underline;text-underline-offset:.4rem}
.xa-sec{position:relative;padding:7.2rem 0}
.xa-head{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:1.6rem 4rem;margin-bottom:4.8rem}
.xa-head .xa-k{margin-bottom:1.2rem}
/* Hero */
.xa-hero{position:relative;min-height:max(62rem,calc(100svh - 16rem));overflow:hidden;background:#FFFFFF;border-bottom:1px solid var(--xa-line)}
.xa-hero__map{position:absolute;inset:0;width:100%;height:100%;display:block}
.xa-hero__legend{position:absolute;z-index:3;left:max(2rem,calc((100vw - 140rem)/2 + 5rem));top:50%;transform:translateY(-50%);width:min(50rem,42vw);padding:2.8rem 3.2rem 2.4rem;background:#FFFFFF;border:1px solid var(--xa-ink)}
.xa-hero__title{margin:1.2rem 0 1.2rem;font-family:var(--font-heading-family);font-weight:var(--font-heading-weight);font-size:clamp(4.4rem,5vw,7.6rem);line-height:1;color:var(--xa-ink)}
.xa-hero__sub{margin:0 0 2.4rem;font-size:1.7rem;line-height:1.5;color:var(--xa-ink2)}
.xa-hero__ctas{display:flex;flex-wrap:wrap;gap:1rem}
.xa-key{display:grid;grid-template-columns:1fr 1fr;gap:.6rem 1.6rem;margin:2.4rem 0 0;padding:1.6rem 0 0;border-top:1px solid var(--xa-line);list-style:none}
.xa-key li{display:flex;align-items:center;gap:.8rem;font-family:var(--xa-mono);font-size:1.1rem;letter-spacing:.04em;text-transform:uppercase;color:var(--xa-ink2)}
.xa-key i{display:block;width:2.4rem;height:0;border-top:2px solid var(--c)}
.xa-pin{position:absolute;z-index:4;left:var(--x);top:var(--y);width:4.4rem;height:4.4rem;margin:-2.2rem 0 0 -2.2rem;padding:0;border:0;background:none;cursor:pointer}
.xa-pin__dot{position:absolute;inset:1.1rem;border-radius:50%;background:var(--c);box-shadow:0 0 0 3px #FFFFFF,0 0 0 4px var(--t)}
.xa-pin__dot{font-size:0;color:#FFFFFF}
.xa-pin__lbl{position:absolute;left:50%;top:calc(100% - .2rem);transform:translateX(-50%);padding:.2rem .6rem;border:1px solid var(--xa-line);background:#FFFFFF;font-family:var(--xa-mono);font-size:1.1rem;letter-spacing:.04em;text-transform:uppercase;white-space:nowrap;color:var(--xa-ink)}
.xa-pin[aria-expanded="true"] .xa-pin__dot{box-shadow:0 0 0 3px #FFFFFF,0 0 0 5px var(--xa-ink)}
.xa-hero__end{position:absolute;z-index:2;font-family:var(--xa-mono);font-size:1.2rem;letter-spacing:.18em;text-transform:uppercase;color:var(--xa-ink)}
.xa-compass{position:absolute;z-index:2;right:max(2rem,calc((100vw - 140rem)/2 + 5rem));bottom:3.2rem;width:11rem;height:11rem;color:var(--xa-ink)}
.xa-compass svg{width:100%;height:100%;transform:rotate(var(--rot,0deg))}
.xa-scale{position:absolute;z-index:2;left:max(2rem,calc((100vw - 140rem)/2 + 5rem));bottom:2.4rem;display:flex;align-items:flex-end;gap:.8rem;font-family:var(--xa-mono);font-size:1.05rem;color:var(--xa-ink2)}
.xa-scale i{display:block;width:12rem;height:.6rem;border:1px solid var(--xa-ink);background:linear-gradient(90deg,var(--xa-ink) 25%,#fff 25% 50%,var(--xa-ink) 50% 75%,#fff 75%)}
.xa-card{position:absolute;z-index:6;width:30rem;border:1px solid var(--xa-ink);background:#FFFFFF;color:var(--xa-ink)}
.xa-card__img{display:block;aspect-ratio:4/3;background:#F3F3F3;border-bottom:1px solid var(--xa-line)}
.xa-card__img img{display:block;width:100%;height:100%;object-fit:contain}
.xa-card__body{padding:1.4rem 1.6rem 1.6rem}
.xa-card__name{margin:.4rem 0 .2rem;font-family:var(--font-heading-family);font-weight:var(--font-heading-weight);font-size:2.8rem;line-height:1.1;color:var(--xa-ink)}
.xa-card__mood{display:flex;align-items:center;gap:.8rem;margin:0 0 1.4rem;font-size:1.4rem;color:var(--xa-ink2)}
.xa-card__mood i{width:1rem;height:1rem;border-radius:50%;background:var(--c)}
.xa-card__foot{display:flex;align-items:center;justify-content:space-between;gap:1rem}
.xa-card__price{font-size:1.6rem;font-weight:500}
.xa-card__x{position:absolute;top:.4rem;right:.4rem;display:grid;place-items:center;width:4.4rem;height:4.4rem;border:0;background:#FFFFFF;color:var(--xa-ink);cursor:pointer}
.xa-card__x svg{width:1.6rem;height:1.6rem}
@media(max-width:749px){
.xa-hero{min-height:max(70rem,100svh)}
.xa-hero__legend{position:relative;top:auto;left:auto;transform:none;width:auto;margin:1.6rem 1.5rem 0;padding:2rem 2rem 1.8rem}
.xa-hero__title{font-size:4.2rem}
.xa-hero__sub{margin-bottom:1.8rem;font-size:1.6rem}
.xa-hero__ctas .xa-btn{flex:1 1 100%}
.xa-key{display:none}
.xa-pin{left:var(--xm);top:var(--ym)}
.xa-pin__lbl{display:none}
.xa-pin__dot{inset:.8rem;display:grid;place-items:center;background:var(--t);font-family:var(--xa-mono);font-size:1.1rem;color:#FFFFFF}
.xa-hero__end{display:none}
.xa-compass{width:7.2rem;height:7.2rem;right:auto;left:1.5rem;bottom:1.5rem}
.xa-scale{display:none}
.xa-card{left:1.2rem!important;right:1.2rem;top:auto!important;bottom:1.2rem;width:auto;display:grid;grid-template-columns:11rem 1fr}
.xa-card__img{aspect-ratio:auto;height:100%;border-bottom:0;border-right:1px solid var(--xa-line)}
}
/* Route */
.xa-route{background:var(--xa-paper2);overflow:hidden}
.xa-route__track{position:relative}
.xa-route__svg{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;overflow:visible;clip-path:inset(0 0 calc((1 - var(--p,0)) * 100%) 0)}
.xa-route__svg path{fill:none;stroke:var(--xa-ink);stroke-width:1.6;stroke-dasharray:1 9;stroke-linecap:round}
.xa-route__mark{position:relative;z-index:1;display:flex;align-items:center;gap:1.2rem;width:max-content;margin:0 auto;padding:.8rem 1.4rem;border:1px solid var(--xa-ink);background:var(--xa-paper2)}
.xa-stop{position:relative;z-index:1;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:9.6rem;align-items:center;padding:8rem 0}
.xa-stop:nth-of-type(even) .xa-stop__media{order:2}
.xa-stop__pin{position:absolute;left:50%;top:50%;width:2.2rem;height:2.2rem;margin:-1.1rem 0 0 -1.1rem;border-radius:50%;border:1px solid var(--xa-ink);background:var(--xa-paper2)}
.xa-stop.is-active .xa-stop__pin{background:var(--c);box-shadow:0 0 0 4px var(--xa-paper2),0 0 0 5px var(--xa-ink)}
.xa-stop__media{position:relative;aspect-ratio:4/5;overflow:hidden;background:var(--w)}
.xa-stop__media canvas,.xa-pdp-topo,.xa-band canvas{position:absolute;inset:0;width:100%;height:100%;display:block;pointer-events:none}
.xa-stop__photo{position:absolute;inset:11% 13%;margin:0;border:1rem solid #FFFFFF;background:#F3F3F3;transform:translateY(var(--py,0px)) rotate(var(--rz,-1.5deg));box-shadow:0 1px 2px rgba(0,0,0,.12)}
.xa-stop:nth-of-type(even) .xa-stop__photo{--rz:1.5deg}
.xa-stop__photo img{display:block;width:100%;height:100%;object-fit:contain}
.xa-stop__tag{position:absolute;left:1.6rem;bottom:1.2rem;padding:.3rem .7rem;background:#FFFFFF;color:var(--xa-ink)}
.xa-stop__info{position:relative;padding:2.4rem 0;background:var(--xa-paper2)}
.xa-stop__name{margin:1rem 0 .8rem;font-family:var(--font-heading-family);font-weight:var(--font-heading-weight);font-size:clamp(4rem,4.4vw,6.4rem);line-height:1;color:var(--xa-ink)}
.xa-stop__line{margin:0 0 2.4rem;max-width:46ch;font-size:1.65rem;line-height:1.6;color:var(--xa-ink2)}
.xa-data{display:grid;grid-template-columns:1fr 1fr;margin:0 0 2.4rem;border-top:1px solid var(--xa-ink)}
.xa-data>div{padding:1.2rem 1.2rem 1.2rem 0;border-bottom:1px solid var(--xa-line)}
.xa-data dt{font-family:var(--xa-mono);font-size:1.1rem;letter-spacing:.06em;text-transform:uppercase;color:var(--xa-ink2)}
.xa-data dd{display:flex;align-items:center;gap:.8rem;margin:.4rem 0 0;font-size:1.6rem;color:var(--xa-ink)}
.xa-alt{display:inline-flex;align-items:flex-end;gap:.25rem;height:1.6rem}
.xa-alt i{display:block;width:.5rem;background:var(--xa-line)}
.xa-alt i:nth-child(1){height:20%}.xa-alt i:nth-child(2){height:40%}.xa-alt i:nth-child(3){height:60%}.xa-alt i:nth-child(4){height:80%}.xa-alt i:nth-child(5){height:100%}
.xa-alt i.on{background:var(--t,var(--xa-ink))}
.xa-formula{display:flex;flex-wrap:wrap;align-items:center;gap:.6rem .8rem;margin:0 0 2.8rem;font-family:var(--xa-mono);font-size:1.3rem;line-height:1.4;color:var(--xa-ink)}
.xa-formula span{padding:.5rem .8rem;border:1px solid var(--xa-ink);background:#FFFFFF}
.xa-formula i{font-style:normal;color:var(--xa-ink2)}
.xa-buy{display:flex;flex-wrap:wrap;align-items:center;gap:1.2rem 2rem}
.xa-price{font-size:1.8rem;font-weight:500}
@media(max-width:749px){
.xa-sec{padding:5.6rem 0}
.xa-route__track{padding-left:2.8rem}
.xa-route__mark{margin:0}
.xa-stop{grid-template-columns:1fr;gap:2.4rem;padding:4.8rem 0}
.xa-stop:nth-of-type(even) .xa-stop__media{order:0}
.xa-stop__pin{left:-2.8rem;top:5.6rem;margin:0 0 0 -1.1rem}
.xa-stop__info{padding:0}
.xa-data dd{font-size:1.5rem}
}