/* Transparent pencil artwork matches the texture of the opening portraits. */
.home-practical .practical-introduction{font-size:17px;line-height:1.8;max-width:42ch;margin:-28px 0 30px;color:var(--muted)}
.arrival-copy>.arrival-secondary{display:flex;align-items:center;gap:20px;width:fit-content;margin-top:15px;font-size:12px;color:var(--muted)}
.arrival-secondary .arrow{width:25px}
.vehicle-art{overflow:visible;mix-blend-mode:multiply}
.arrival-visual>.editorial-vehicle{width:100%;height:clamp(240px,34vh,390px)}
.arrival-vehicle{width:148px;height:70px;background:none;border-radius:0;transform:translate(-50%,-86%) rotate(var(--vehicle-angle,0deg));will-change:left,top,transform}
.arrival-vehicle::before{content:'';position:absolute;inset:42% 5% 4%;background:var(--paper);border-radius:50%;opacity:.9}
.arrival-vehicle .vehicle-art{fill:none;stroke:var(--ink);transition:none}
.arrival-vehicle .vehicle-plane,.arrival-vehicle.vehicle-is-car .vehicle-plane{opacity:var(--jet-opacity,1);transform:translateY(var(--jet-lift,-6px))}
.arrival-vehicle .vehicle-car,.arrival-vehicle.vehicle-is-car .vehicle-car{opacity:var(--car-opacity,0);transform:none}
.arrival-journey.is-horizontal #arrival-hotel .arrival-copy>p:not(.eyebrow){font-size:15px}
.hotel-distinctions{display:grid;grid-template-columns:repeat(3,1fr);gap:30px;padding:32px 0;margin:40px 0 24px;border-block:1px solid var(--line)}
.hotel-distinctions strong{display:block;font:35px/1.15 var(--serif);font-weight:400;letter-spacing:-.03em}
.hotel-distinctions strong i{font-size:27px}
.hotel-distinctions span{display:block;margin-top:14px;font-size:12px;color:var(--muted)}
.clinic-region-invitation{display:grid;grid-template-columns:1fr auto;gap:40px;align-items:center;border-block:1px solid var(--line);padding:48px 0;margin:40px 0}
.clinic-region-invitation h3{font-size:39px;margin:0 0 20px}
.clinic-region-invitation p{font-size:17px;max-width:56ch}
.clinic-region-invitation .button{min-width:230px}

.region-hero{display:grid;grid-template-columns:.9fr 1.1fr;gap:4vw;align-items:center;margin:35px 0 70px;min-height:580px}
.region-hero h1{font-size:clamp(66px,6.3vw,102px);line-height:1.02;margin:28px 0 30px}
.region-hero .lead{font-size:22px;line-height:1.6}
.region-hero>div>p:not(.lead,.eyebrow){font-size:16px;line-height:1.8;color:var(--muted);max-width:40ch;margin-top:22px}
.region-hero .button{width:fit-content;margin-top:32px}
.regional-map{position:relative;margin:0;color:var(--ink)}
.regional-map svg{width:100%;height:auto;overflow:visible}
.map-terrain{fill:none;stroke:var(--bronze);stroke-width:.8;opacity:.4}
.map-borders{fill:none;stroke:var(--bronze);stroke-width:1;stroke-dasharray:3 6;opacity:.65}
.map-rhine{fill:none;stroke:#718b88;stroke-width:2;opacity:.65}
.map-links{fill:none;stroke:var(--bronze);stroke-width:1;stroke-dasharray:1 8}
.map-country{font:13px var(--sans);letter-spacing:.18em;fill:var(--bronze)}
.river-label{font:italic 16px var(--serif);fill:#718b88}
.region-map-pin circle{fill:var(--ink)}
.region-map-pin .pin-hit-area{fill:transparent;stroke:none}
.region-map-pin .pin-halo{fill:none;stroke:var(--bronze);stroke-width:.8;opacity:0;transition:opacity .3s}
.region-map-pin text{font:24px var(--serif);fill:var(--ink)}
.region-map-pin .map-pin-note{font:11px var(--sans);fill:var(--muted)}
.map-basel>circle{r:7}
.map-basel>text:not(.map-pin-note){font-size:31px;font-style:italic}
.map-basel .pin-halo{r:18;opacity:.7}
.region-map-pin:hover .pin-halo,.region-map-pin:focus .pin-halo{opacity:1}
.map-north path{fill:none;stroke:var(--bronze);stroke-width:1}
.map-north text{font:10px var(--sans);fill:var(--bronze)}
.regional-map figcaption{font-size:10px;line-height:1.7;text-align:right;color:var(--muted);margin-top:5px}
.region-journey{border-block:1px solid var(--line)}
.region-scene{display:grid;grid-template-columns:1fr 1fr;gap:7vw;align-items:center;padding:80px var(--gutter);min-height:580px}
.region-scene+.region-scene{border-top:1px solid var(--line)}
.region-copy h2{font-size:clamp(48px,4.5vw,72px);line-height:1.06;margin:25px 0 32px}
.region-copy>p:not(.eyebrow){font-size:18px;line-height:1.8;max-width:45ch}
.region-copy>.text-link{width:fit-content;gap:40px;margin-top:30px}
.region-visual{margin:0;min-width:0}
.region-visual>img,.region-visual>svg{width:100%;height:350px;object-fit:cover}
.region-visual figcaption{font:italic 23px/1.4 var(--serif);color:var(--bronze);text-align:right;margin-top:22px}
.regional-sketch{fill:none;stroke:var(--ink);stroke-width:1.2;stroke-linecap:round;stroke-linejoin:round}
.regional-sketch .sketch-light{stroke:var(--bronze);stroke-width:.8;opacity:.55}
.region-controls{display:none}
.region-journey.is-horizontal .journey-track{padding:0;gap:0}
.region-journey.is-horizontal .region-scene{height:100%;width:100vw;min-height:0;border:0;padding:calc(var(--header-h) + 40px) var(--gutter) 165px}
.region-journey.is-horizontal .region-copy h2{font-size:clamp(47px,4.7vw,77px)}
.region-journey.is-horizontal .region-copy>p:not(.eyebrow){font-size:17px}
.region-journey.is-horizontal .region-visual>img,.region-journey.is-horizontal .region-visual>svg{height:clamp(260px,38vh,390px)}
.region-journey.is-horizontal .region-controls{display:grid;grid-template-columns:repeat(5,1fr) 1.2fr;align-items:start;gap:15px;position:absolute;left:var(--gutter);right:var(--gutter);bottom:32px;padding-top:22px}
.region-thread{position:absolute;inset:0 0 auto;height:1px;background:var(--line)}
.region-thread>span{display:block;width:100%;height:1px;background:var(--bronze);transform:scaleX(0);transform-origin:left}
.region-controls>a{font:18px/1.3 var(--serif);color:var(--muted)}
.region-controls>a>small{display:block;font:9px/1.4 var(--sans);margin-bottom:11px}
.region-controls>a[aria-current]{color:var(--ink)}
.region-controls>a[aria-current]>small{color:var(--bronze)}
.region-controls>.region-continue{align-self:end;justify-self:end;font:12px/1.5 var(--sans);display:flex;gap:22px;padding-bottom:3px}
.region-details .content-section{padding-bottom:65px}
.region-details>.content-section>.lead{max-width:66ch}
.region-place-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:50px 65px;margin-top:55px}
.region-place-grid.three{grid-template-columns:repeat(3,minmax(0,1fr));gap:35px}
.region-place{border-top:1px solid var(--line);padding-top:24px}
.region-place>.eyebrow{font-size:10px;margin-bottom:23px}
.region-place h3{font-size:36px;line-height:1.12;margin-bottom:25px}
.region-place>p{font-size:17px;line-height:1.8;max-width:50ch}
.place-links{margin-top:23px}
.place-links .text-link{font-size:12px;gap:20px;min-height:45px}
.place-links .text-link+.text-link{margin-top:8px}
.place-links .arrow{width:25px}
.region-source-links{display:flex;flex-wrap:wrap;gap:20px 45px;margin:0 0 22px}
.region-source-links .text-link{font-size:12px;gap:20px}
.region-source-links .arrow{width:23px}
.region-details .fineprint{font-size:12px;line-height:1.8;margin-top:25px}
.regional-note{margin-top:55px;border-block:1px solid var(--line)}
.regional-note summary{display:flex;align-items:center;justify-content:space-between;padding:23px 0;font:26px/1.4 var(--serif)}
.regional-note>div{padding:10px 0 30px;max-width:76ch}
.regional-note>div>p{font-size:16px;line-height:1.8}
.regional-note .text-link{font-size:12px;width:fit-content;gap:30px;margin-top:20px}
.travel-pair{display:grid;grid-template-columns:1fr 1fr;gap:65px;margin-top:50px}
.travel-pair>article{border-top:1px solid var(--line);padding-top:30px}
.travel-time{display:block;font:60px/1.15 var(--serif);color:var(--bronze);letter-spacing:-.04em;margin-bottom:30px}
.travel-time i{font-size:35px}
.travel-pair h3{font-size:40px;margin-bottom:22px}
.travel-pair p{font-size:18px;line-height:1.8;max-width:45ch}
.travel-pair .text-link{font-size:13px;margin-top:22px}
.region-closing{padding-bottom:90px!important}

@media(min-width:1000px) and (max-height:800px){
 .arrival-vehicle{width:132px;height:63px}
 .arrival-visual>.editorial-vehicle{height:230px}
 .arrival-journey.is-horizontal #arrival-hotel .arrival-copy>p:not(.eyebrow){font-size:13px;line-height:1.7}
 .region-journey.is-horizontal .region-scene{padding-top:calc(var(--header-h) + 20px);padding-bottom:145px}
 .region-journey.is-horizontal .region-copy h2{font-size:48px;margin:20px 0 25px}
 .region-journey.is-horizontal .region-copy>p:not(.eyebrow){font-size:15px;line-height:1.75}
 .region-journey.is-horizontal .region-visual>img,.region-journey.is-horizontal .region-visual>svg{height:270px}
 .region-journey.is-horizontal .region-controls{bottom:22px}
}
@media(max-width:999px){
 .home-practical .practical-introduction{margin-top:0}
 .region-hero{grid-template-columns:1fr;gap:35px;margin-top:35px}
 .region-hero h1{font-size:74px}
 .region-hero>div>p:not(.lead,.eyebrow){max-width:60ch}
 .regional-map{max-width:700px;width:100%;margin:auto}
 .region-scene{min-height:500px;gap:4vw}
 .region-copy h2{font-size:45px}
 .region-copy>p:not(.eyebrow){font-size:16px}
 .region-visual>img,.region-visual>svg{height:270px}
 .region-visual figcaption{font-size:20px}
 .region-place-grid.three{grid-template-columns:1fr 1fr}
 .hotel-distinctions strong{font-size:29px}.hotel-distinctions strong i{font-size:23px}
 .clinic-region-invitation{grid-template-columns:1fr}
 .clinic-region-invitation .button{width:fit-content}
}
@media(max-width:599px){
 .region-hero{gap:35px;margin:35px 0 55px}
 .region-hero h1{font-size:60px;margin:25px 0 28px}
 .region-hero .lead{font-size:19px}
 .region-hero>div>p:not(.lead,.eyebrow){font-size:15px}
 .region-hero .button{font-size:12px;width:100%;margin-top:28px}
 .regional-map{width:100%}
 .region-map-pin text{font-size:29px}.region-map-pin .map-pin-note{font-size:15px}
 .map-country{font-size:17px;letter-spacing:.1em}
 .map-basel>text:not(.map-pin-note){font-size:35px}
 .regional-map figcaption{font-size:9px;margin-top:15px;text-align:left}
 .region-scene{display:flex;flex-direction:column;align-items:stretch;padding:55px var(--gutter);min-height:0;gap:35px}
 .region-copy h2{font-size:44px;margin:20px 0 27px}
 .region-copy>p:not(.eyebrow){font-size:17px}
 .region-copy .text-link{font-size:13px;gap:25px;max-width:100%}
 .region-visual>img,.region-visual>svg{height:auto;aspect-ratio:1.4}
 .region-visual figcaption{font-size:20px;text-align:left;margin-top:17px}
 .region-details .content-section{padding-bottom:45px}
 .hotel-distinctions{grid-template-columns:1fr;gap:25px;padding:27px 0;margin:35px 0 20px}
 .hotel-distinctions>div{display:grid;grid-template-columns:1fr 1fr;gap:18px;align-items:center}
 .hotel-distinctions strong{font-size:28px}.hotel-distinctions strong i{font-size:23px}
 .hotel-distinctions span{font-size:11px;line-height:1.7;margin:0}
 .region-source-links{display:grid;gap:5px;margin:20px 0}
 .region-source-links .text-link{width:100%;max-width:none}
 .region-place-grid,.region-place-grid.three{grid-template-columns:1fr;gap:35px;margin-top:40px}
 .region-place h3{font-size:33px;margin-bottom:22px}
 .region-place>p{font-size:16px;line-height:1.8}
 .region-place>.eyebrow{margin-bottom:19px}
 .travel-pair{grid-template-columns:1fr;gap:40px;margin-top:35px}
 .travel-time{font-size:52px;margin-bottom:22px}.travel-time i{font-size:30px}
 .travel-pair h3{font-size:36px}.travel-pair p{font-size:16px}
 .regional-note summary{font-size:24px;gap:20px}
 .regional-note>div>p{font-size:15px}
 .clinic-region-invitation{padding:35px 0;gap:25px;margin-top:30px}
 .clinic-region-invitation h3{font-size:34px}.clinic-region-invitation p{font-size:16px}
 .clinic-region-invitation .button{width:100%}
 .arrival-visual>.editorial-vehicle{height:auto;aspect-ratio:1.7}
}
@media(prefers-reduced-motion:reduce){.region-map-pin .pin-halo{transition:none}}
@media print{.region-controls{display:none!important}.region-scene{width:100%!important;height:auto!important;padding:40px!important}.regional-map{max-width:600px}.region-place{break-inside:avoid}}
