/* Aarau Taxi R55 — Motion Chapters / Alpine Welcome. Additive and self-hosted. */
:root{--r55-gold:#f0cf98;--r55-deep:#061321;--r55-muted:#aebccc;--r55-line:rgba(236,202,152,.24);--r55-ease:cubic-bezier(.2,.8,.25,1)}
/* First-visit opening, progressive enhancement on R54's fail-safe guard. */
.r54-splash{background:radial-gradient(circle at 50% 36%,#1c3249 0%,#071827 45%,#020913 100%)}
.r54-splash-stage{isolation:isolate}
.r55-splash-horizon{position:absolute;z-index:-1;inset:-20% -70%;pointer-events:none;opacity:.38;background:repeating-radial-gradient(ellipse at 50% 120%,transparent 0 38px,rgba(228,201,163,.19) 39px 40px,transparent 41px 71px);mask-image:linear-gradient(0deg,black,transparent 78%);transform:perspective(340px) rotateX(62deg)}
.r55-splash-compass{position:absolute;inset:-13%;border:1px solid rgba(238,205,154,.11);border-radius:50%;pointer-events:none}
.r55-splash-compass::before,.r55-splash-compass::after{content:"";position:absolute;inset:8%;border-radius:50%;border:1px solid rgba(241,218,181,.11)}
.r55-splash-compass::after{inset:21%;border-style:dashed;border-color:rgba(255,213,152,.18)}
.r55-splash-star{position:absolute;width:5px;height:5px;border-radius:50%;background:#ffebc1;box-shadow:0 0 17px rgba(255,222,167,.75);top:11%;left:9%}
.r55-splash-star:nth-child(2){top:77%;left:84%;width:4px;height:4px;opacity:.6}
.r55-splash-star:nth-child(3){top:23%;left:88%;width:3px;height:3px;opacity:.5}
.r55-splash-bottom{position:absolute;left:clamp(18px,4vw,60px);bottom:max(25px,env(safe-area-inset-bottom));font:700 10px/1.4 system-ui,sans-serif;letter-spacing:.3em;color:#c7b79e;max-width:55%;text-align:left}
.r55-splash-label{display:block;margin-top:14px;font-size:9px;letter-spacing:.23em;color:#e6c99e;opacity:.85}
html.r54-splash-active .r55-splash-compass{animation:r55-compass 8s linear infinite}
html.r54-splash-active .r55-splash-star{animation:r55-star 2.5s ease-in-out infinite alternate}
html.r54-splash-active .r55-splash-horizon{animation:r55-horizon 2s ease-out both}
@keyframes r55-compass{to{transform:rotate(360deg)}}
@keyframes r55-star{to{opacity:.25;transform:scale(.58)}}
@keyframes r55-horizon{from{opacity:0;transform:perspective(340px) rotateX(62deg) translateY(80px)}to{opacity:.38;transform:perspective(340px) rotateX(62deg)}}
/* Editorial homepage extension. One self-contained card deck, native scroll snapping. */
.r55-collection{position:relative;isolation:isolate;overflow:hidden;background:linear-gradient(160deg,#102436,#05111e 68%);padding:clamp(72px,10vw,125px) 0;color:#f4f4ef;border-block:1px solid rgba(234,200,155,.12)}
.r55-collection::before{content:"";position:absolute;pointer-events:none;right:-20%;top:-35%;width:75%;aspect-ratio:1;background:radial-gradient(circle,rgba(225,184,120,.13),transparent 64%)}
.r55-container{width:min(1200px,calc(100% - 44px));margin-inline:auto}
.r55-collection-head{display:flex;justify-content:space-between;align-items:flex-end;gap:25px;margin-bottom:24px}
.r55-kicker{font:700 10px/1.6 system-ui,sans-serif;letter-spacing:.25em;text-transform:uppercase;color:#eccc96}
.r55-collection h2{font:550 clamp(37px,5.5vw,70px)/1.1 system-ui,sans-serif;letter-spacing:-.055em;max-width:720px;margin:13px 0 14px;color:#fff}
.r55-collection h2 em{color:var(--r55-gold);font-style:normal}
.r55-collection-lead{font:400 14px/1.8 system-ui,sans-serif;color:var(--r55-muted);max-width:560px;margin:0}
.r55-collection-actions{display:flex;gap:10px;align-items:center;flex-shrink:0}
.r55-collection-arrow{appearance:none;display:grid;place-items:center;min-width:48px;height:48px;border-radius:50%;border:1px solid var(--r55-line);background:#142535;color:#f5ddb4;font-size:23px;cursor:pointer;transition:background .25s,border-color .25s,transform .25s}
.r55-collection-arrow:hover:not(:disabled){border-color:#e2bb84;background:#23394b;transform:translateY(-2px)}
.r55-collection-arrow:disabled{opacity:.34;cursor:default}
.r55-collection-arrow:focus-visible,.r55-filter:focus-visible,.r55-chapter:focus-visible,.r55-backtop:focus-visible{outline:3px solid #ffdfad;outline-offset:4px}
.r55-filters{display:flex;flex-wrap:wrap;gap:9px;margin-bottom:27px}
.r55-filter{border:1px solid rgba(236,202,152,.2);border-radius:100px;padding:10px 17px;background:transparent;color:#cad4dc;cursor:pointer;min-height:43px;font:700 11px/1 system-ui,sans-serif;letter-spacing:.04em;transition:background .25s,color .25s,border-color .25s}
.r55-filter[aria-pressed="true"]{background:linear-gradient(120deg,#efcd91,#c39757);border-color:transparent;color:#091724}
.r55-gallery{display:flex;gap:16px;overflow-x:auto;overscroll-behavior-inline:contain;scroll-snap-type:x mandatory;scroll-padding-inline:2px;scrollbar-width:none;-webkit-overflow-scrolling:touch;padding:0 0 20px;margin:0;touch-action:pan-x pan-y}
.r55-gallery::-webkit-scrollbar{display:none}
.r55-card{position:relative;isolation:isolate;display:flex;flex:0 0 clamp(270px,31%,355px);min-height:412px;scroll-snap-align:start;border:1px solid rgba(231,201,158,.2);border-radius:19px;overflow:hidden;color:#fff!important;text-decoration:none;flex-direction:column;justify-content:flex-end;padding:24px;transition:transform .5s var(--r55-ease),border-color .35s,box-shadow .35s}
.r55-card img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2;filter:saturate(.84) brightness(.8);transition:transform .75s var(--r55-ease),filter .5s}
.r55-card::before{content:"";position:absolute;z-index:-1;inset:0;background:linear-gradient(to bottom,rgba(2,10,17,.18),rgba(2,11,19,.26) 42%,rgba(2,9,16,.97) 100%)}
.r55-card::after{content:"";position:absolute;inset:-40%;transform:translateX(-160%) rotate(-20deg);background:linear-gradient(90deg,transparent,rgba(255,229,189,.16),transparent);pointer-events:none}
.r55-card:hover,.r55-card:focus-visible{border-color:rgba(245,211,160,.74);transform:translateY(-5px);box-shadow:0 25px 45px rgba(0,0,0,.26)}
.r55-card:hover img,.r55-card:focus-visible img{transform:scale(1.07);filter:saturate(1) brightness(.88)}
.r55-card:hover::after{animation:r55-sheen-card .95s ease-out forwards}
@keyframes r55-sheen-card{to{transform:translateX(160%) rotate(-20deg)}}
.r55-card small{color:#f1d09e;letter-spacing:.23em;font:700 10px/1.6 system-ui,sans-serif;margin-bottom:12px}
.r55-card strong{font:600 clamp(24px,3vw,33px)/1.13 system-ui,sans-serif;letter-spacing:-.04em;max-width:90%}
.r55-card p{font:400 13px/1.7 system-ui,sans-serif;color:#ccd6df;margin:12px 0 0;max-width:95%}
.r55-card .r55-card-arrow{position:absolute;right:24px;bottom:25px;font-size:24px;color:#f1d5a8}
.r55-card[hidden]{display:none!important}
.r55-gallery-status{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-top:5px;min-height:22px;color:#b4c3cf;font:700 11px/1.5 system-ui,sans-serif;letter-spacing:.15em}
.r55-gallery-rail{height:2px;border-radius:12px;background:rgba(237,207,157,.14);flex:1;overflow:hidden;max-width:250px}
.r55-gallery-fill{display:block;height:100%;width:100%;transform:scaleX(0);transform-origin:left;background:linear-gradient(90deg,#b8874d,#f9ddab);transition:transform .12s linear}
/* Chapter sticky navigation for new service and destination pages. */
.r55-chapters{position:sticky;top:0;z-index:70;background:rgba(5,18,30,.93);border-block:1px solid rgba(235,196,143,.2);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);color:#e8eef2}
.r55-chapters-inner{min-height:62px;display:flex;align-items:center;gap:25px}
.r55-chapters-label{color:#e6ba7f;font:750 10px/1.4 system-ui,sans-serif;letter-spacing:.22em;white-space:nowrap}
.r55-chapters-nav{display:flex;align-items:center;gap:7px;overflow-x:auto;scrollbar-width:none;overscroll-behavior-inline:contain;-webkit-overflow-scrolling:touch;flex:1;min-width:0}
.r55-chapters-nav::-webkit-scrollbar{display:none}
.r55-chapter{display:inline-flex;flex:0 0 auto;align-items:center;gap:8px;white-space:nowrap;text-decoration:none;color:#a9bac7!important;font:650 11px/1.4 system-ui,sans-serif;letter-spacing:.03em;border:1px solid transparent;border-radius:100px;padding:9px 13px;min-height:41px;transition:border-color .25s,background .25s,color .25s}
.r55-chapter b{font-size:10px;font-weight:600;color:#b49365}
.r55-chapter:hover,.r55-chapter[aria-current="location"]{color:#fae2b5!important;border-color:rgba(240,207,153,.37);background:rgba(242,210,161,.09)}
.r55-chapters-cta{display:inline-flex;white-space:nowrap;align-items:center;gap:9px;text-decoration:none;font:700 11px/1.4 system-ui,sans-serif;letter-spacing:.03em;color:#061423!important;background:#efcd96;padding:10px 17px;min-height:43px;border-radius:7px;transition:filter .2s,transform .2s}
.r55-chapters-cta:hover{filter:brightness(1.1);transform:translateY(-1px)}
.r54-page .r54-section,.r54-page .r54-journey,.r54-page .r54-faq-section,.r54-page .r54-related,.r54-page .r55-story{scroll-margin-top:74px}
/* Expandable itinerary storytelling: native disclosure, keyboard friendly. */
.r55-story{position:relative;overflow:hidden;padding:clamp(72px,9vw,116px) 0;background:radial-gradient(ellipse at 50% -10%,rgba(231,191,124,.1),transparent 55%),#0a1b2b;border-block:1px solid rgba(228,197,153,.14)}
.r55-story-head{text-align:center;max-width:780px;margin:0 auto 37px}
.r55-story h2{font:550 clamp(36px,4.5vw,58px)/1.14 system-ui,sans-serif;letter-spacing:-.055em;margin:12px 0 14px}
.r55-story h2 em{font-style:normal;color:var(--r55-gold)}
.r55-story-head p{font:400 14px/1.8 system-ui,sans-serif;color:#b7c4d0;margin:0 auto;max-width:640px}
.r55-steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.r55-step{position:relative;background:linear-gradient(150deg,rgba(243,216,181,.065),rgba(255,255,255,.016));border:1px solid rgba(238,206,163,.19);border-radius:15px;padding:24px;min-height:224px;transition:border-color .3s,transform .4s var(--r55-ease),background .3s}
.r55-step[open]{border-color:rgba(238,206,163,.57);background:rgba(246,209,159,.08)}
.r55-step:hover{transform:translateY(-3px);border-color:rgba(244,203,144,.42)}
.r55-step summary{cursor:pointer;display:flex;align-items:start;flex-direction:column;gap:10px;list-style:none;position:relative;padding-right:20px}
.r55-step summary::-webkit-details-marker{display:none}
.r55-step summary:focus-visible{outline:2px solid #ffe0aa;outline-offset:5px;border-radius:4px}
.r55-step-num{font:550 43px/.95 system-ui,sans-serif;letter-spacing:-.06em;color:#e2ba83}
.r55-step-title{font:700 19px/1.25 system-ui,sans-serif;color:#f6f4ef;letter-spacing:-.02em}
.r55-step summary::after{content:"+";position:absolute;right:0;top:2px;font-size:23px;color:#e2ba83;transition:transform .25s}
.r55-step[open] summary::after{transform:rotate(45deg)}
.r55-step p{font:400 13px/1.78 system-ui,sans-serif;color:#bccbd5;margin:13px 0 0}
.r55-story-hint{text-align:center;font:400 12px/1.5 system-ui,sans-serif;color:#aab8c6;margin:23px 0 0}
.r55-backtop{position:fixed;z-index:62;bottom:max(22px,env(safe-area-inset-bottom));left:max(17px,env(safe-area-inset-left));width:48px;height:48px;display:grid;place-items:center;border-radius:50%;border:1px solid rgba(248,217,169,.38);background:#16293b;color:#ffe3b5;font-size:20px;cursor:pointer;box-shadow:0 12px 35px rgba(0,0,0,.25);opacity:0;visibility:hidden;transform:translateY(12px);pointer-events:none;transition:opacity .28s,transform .28s,visibility .28s}
.r55-backtop.is-visible{opacity:1;visibility:visible;transform:translateY(0);pointer-events:auto}
@media(max-width:850px){.r55-chapters-label,.r55-chapters-cta{display:none}.r55-chapters-inner{width:100%;padding-inline:14px;min-height:57px}.r55-chapter{padding:8px 12px}.r55-steps{grid-template-columns:1fr;gap:12px}.r55-step{min-height:0;padding:20px 22px}.r55-step-num{font-size:34px}.r55-step-title{font-size:18px}.r55-step summary{flex-direction:row;align-items:center;gap:17px}}
@media(max-width:650px){.r55-container{width:calc(100% - 38px)}.r55-collection{padding:68px 0 78px}.r55-collection-head{gap:13px;align-items:flex-end}.r55-collection h2{font-size:clamp(35px,10.5vw,51px)}.r55-collection-actions{gap:7px}.r55-collection-arrow{min-width:43px;height:43px}.r55-card{flex-basis:min(84vw,330px);min-height:365px;padding:21px}.r55-card strong{font-size:27px}.r55-filters{flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none;padding:4px 0 10px}.r55-filter{white-space:nowrap;flex:0 0 auto}.r55-chapters{backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}.r55-story{padding:68px 0}.r55-story h2{font-size:37px}.r55-splash-bottom{font-size:9px;max-width:52%}}
@media(max-width:360px){.r55-container{width:calc(100% - 30px)}.r55-card{flex-basis:88vw}.r55-splash-bottom{left:15px;letter-spacing:.16em}.r55-collection-head{align-items:center}.r55-collection-arrow{min-width:41px;height:41px}}
@media(max-height:590px) and (orientation:landscape){.r55-splash-bottom{display:none}.r55-splash-label{display:none}}
@media(prefers-reduced-motion:reduce){.r55-collection *, .r55-story *, .r55-chapters *, .r55-splash-compass,.r55-splash-star,.r55-splash-horizon,.r55-backtop{transition:none!important;animation:none!important;scroll-behavior:auto!important}.r55-card:hover{transform:none}.r55-step:hover{transform:none}}
@media(prefers-reduced-transparency:reduce){.r55-chapters{background:#071826;backdrop-filter:none;-webkit-backdrop-filter:none}}
html.r49-lite .r55-splash-horizon,html.r49-lite .r55-splash-compass,html.r49-lite .r55-card::after{animation:none!important}
/* Supplemental internal links appear on every landing page, with real labels. */
.r55-footer-links{display:flex;flex-wrap:wrap;gap:9px;padding:0 0 30px;margin:0 0 24px;border-bottom:1px solid rgba(232,207,169,.12)}
.r55-footer-links a{display:inline-flex;align-items:center;min-height:40px;border:1px solid rgba(238,204,159,.2);border-radius:100px;padding:9px 13px;font:650 11px/1.4 system-ui,sans-serif;letter-spacing:.025em;text-decoration:none;color:#cfd7de;transition:border-color .24s,background .24s,color .24s}
.r55-footer-links a:hover{border-color:rgba(244,210,164,.67);background:rgba(241,204,154,.09);color:#fff0d4}
@media(max-width:650px){.r55-splash-bottom{bottom:auto;top:max(23px,env(safe-area-inset-top));left:20px;max-width:92%;font-size:8px;letter-spacing:.17em}}
@media(max-height:590px) and (orientation:landscape){.r55-splash-bottom{display:none}}
/* Prevent intermediate tablet header overflow with the expanded, corrected navigation. */
@media(min-width:851px) and (max-width:960px){
  .r54-page .r54-header{height:73px}
  .r54-page .r54-nav-main,.r54-page .r54-nav-cta{display:none}
  .r54-page .r54-menu-toggle{display:block}
  .r54-page .r54-mobile-nav{top:73px}
}
