/* R40 — 40 authored de-CH guides, cinematic but accessible editorial refinements.
   Progressive animation: without JavaScript or with reduced motion, everything is visible.
   No third-party animation framework or network asset. */
:root{--j40-motion:cubic-bezier(.16,1,.3,1)}
.journal-hero{isolation:isolate}
.journal-hero::after{content:"";position:absolute;z-index:0;pointer-events:none;top:-70%;left:24%;width:48%;height:205%;transform:rotate(-17deg);background:linear-gradient(90deg,transparent 32%,rgba(247,221,166,.035) 43%,rgba(172,215,244,.10) 50%,rgba(247,221,166,.035) 57%,transparent 69%);opacity:.72}
.journal-hero>.journal-container{z-index:1}
.journal-library-mark{position:absolute;right:0;bottom:-9px;display:flex;align-items:center;gap:17px;min-width:244px;padding:19px 20px 20px;border:1px solid rgba(246,213,159,.3);border-radius:19px;background:linear-gradient(128deg,rgba(24,54,73,.88),rgba(4,15,28,.87));box-shadow:0 20px 75px rgba(0,0,0,.2),inset 0 1px rgba(255,255,255,.08);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px)}
.journal-library-mark::before{content:"";position:absolute;inset:0;border-radius:inherit;pointer-events:none;background:radial-gradient(circle at 15% -20%,rgba(246,213,159,.22),transparent 62%)}
.journal-library-mark strong{font-size:59px;letter-spacing:-4px;font-weight:750;line-height:1;color:#f4d6a3;font-variant-numeric:tabular-nums;white-space:nowrap}
.journal-library-mark strong span{font-size:15px;letter-spacing:-.7px;font-weight:850;margin-left:3px;vertical-align:middle;color:#f9ebd2}
.journal-library-mark>div{display:flex;flex-direction:column;gap:0;line-height:1.4;position:relative}
.journal-library-mark>div>span{font-size:11px;font-weight:800;letter-spacing:1.3px;color:#ebf2f8}
.journal-library-mark small{font-size:10px;color:#a9bdca;margin-top:7px}
.journal-quickpaths-links a{position:relative;overflow:hidden;transition:border-color .26s,background .26s,transform .36s var(--j40-motion),box-shadow .36s}
.journal-quickpaths-links a svg{flex-shrink:0}
.journal-filter{min-height:44px;transition:background .25s,border-color .25s,color .25s,box-shadow .25s}
.journal-filter[aria-pressed=true]{box-shadow:0 5px 18px rgba(231,191,128,.22)}
.journal-card{position:relative;isolation:isolate;contain:layout style}
.journal-card::after{content:"";position:absolute;inset:0;border-radius:inherit;pointer-events:none;box-shadow:inset 0 1px rgba(255,255,255,.065);opacity:1}
.journal-card .journal-card-media{isolation:isolate}
.journal-card .journal-card-media::before{content:"";position:absolute;z-index:2;inset:0;pointer-events:none;background:linear-gradient(115deg,transparent 25%,rgba(255,236,204,.12) 47%,transparent 65%);transform:translateX(-140%);transition:transform .75s var(--j40-motion)}
.journal-card--featured{border-color:rgba(238,208,154,.33);background:radial-gradient(circle at 98% 0,rgba(220,180,110,.10),transparent 65%),linear-gradient(130deg,#142c42,#061724)}
.journal-card h3 a:focus-visible{outline-offset:5px}
.journal-article-hero{position:relative;isolation:isolate;overflow:hidden}
.journal-article-hero::after{content:"";position:absolute;pointer-events:none;inset:0;z-index:-1;background:radial-gradient(ellipse 35% 46% at 94% 22%,rgba(227,186,117,.07),transparent)}
.journal-toc a[aria-current="location"]{color:#ffe3b1;font-weight:760}
.journal-toc li:has(a[aria-current="location"]){border-top-color:rgba(242,199,133,.35);position:relative}
.journal-toc li:has(a[aria-current="location"])::before{content:"";position:absolute;left:-22px;top:0;bottom:0;width:3px;background:linear-gradient(#ffe7b7,#c99558);border-radius:8px}
.journal-mobile-toc{display:none}
.journal-prose h2{position:relative}
.journal-prose h2:target{color:#f3d7a4}
.journal-booking{isolation:isolate}
.journal-booking .journal-cta{position:relative;overflow:hidden}
@media (hover:hover) and (pointer:fine){
  .journal-card:hover .journal-card-media::before{transform:translateX(140%)}
  .journal-quickpaths-links a:hover{transform:translateY(-3px);box-shadow:0 14px 35px rgba(0,0,0,.18)}
  .journal-filter:hover{box-shadow:inset 0 1px rgba(255,255,255,.08)}
}
@media (prefers-reduced-motion:no-preference){
  .journal-page[data-release="R40"] .journal-hero::after{animation:j40-hero-light 11s ease-in-out infinite alternate}
  .journal-page[data-release="R40"] .journal-library-mark{animation:j40-panel-breathe 5.2s ease-in-out infinite alternate}
  .journal-page[data-release="R40"] .journal-mobile-nav:not([hidden]){transform-origin:top;animation:j40-nav-enter .34s var(--j40-motion) both}
}
@keyframes j40-hero-light{from{transform:translateX(-15%) rotate(-17deg);opacity:.2}to{transform:translateX(21%) rotate(-17deg);opacity:.9}}
@keyframes j40-panel-breathe{from{box-shadow:0 16px 48px rgba(0,0,0,.14),inset 0 1px rgba(255,255,255,.07)}to{box-shadow:0 20px 70px rgba(219,176,113,.13),inset 0 1px rgba(255,255,255,.09)}}
@keyframes j40-nav-enter{from{opacity:.65;transform:translateY(-9px) scaleY(.98)}to{opacity:1;transform:none}}
/* Medium widths keep a clean column while the featured counter remains contextual. */
@media (max-width:1130px){.journal-library-mark{min-width:215px;padding:14px}.journal-library-mark strong{font-size:48px}.journal-library-mark>div>span{font-size:10px}.journal-hero-facts{max-width:620px}}
@media (max-width:900px){
  .journal-library-mark{position:relative;bottom:auto;right:auto;width:max-content;max-width:100%;margin-top:28px;min-width:218px}
  .journal-hero-facts{margin-top:34px}
  .journal-mobile-toc{display:block;position:sticky;top:75px;z-index:34;min-width:0;margin-bottom:12px}
  .journal-mobile-toc details{border:1px solid rgba(237,206,158,.38);border-radius:15px;background:rgba(8,29,46,.96);box-shadow:0 12px 38px rgba(0,0,0,.25);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px)}
  .journal-mobile-toc summary{list-style:none;min-height:48px;display:flex;align-items:center;justify-content:space-between;padding:12px 20px;color:#f6d9aa;font-size:13px;font-weight:800;letter-spacing:.35px;cursor:pointer;touch-action:manipulation}
  .journal-mobile-toc summary::-webkit-details-marker{display:none}
  .journal-mobile-toc summary span{font-size:18px;transition:transform .25s var(--j40-motion)}
  .journal-mobile-toc details[open] summary span{transform:rotate(180deg)}
  .journal-mobile-toc ul{list-style:none;padding:3px 13px 13px;margin:0;max-height:min(52vh,380px);overflow:auto;overscroll-behavior:contain}
  .journal-mobile-toc li+li{border-top:1px solid rgba(208,229,244,.09)}
  .journal-mobile-toc li a{display:block;padding:11px 10px;color:#deebf4;font-size:13px;line-height:1.45;border-radius:8px;overflow-wrap:anywhere}
  .journal-mobile-toc li a[aria-current="location"]{color:#f6d9aa;background:rgba(239,200,138,.08)}
  .journal-article-aside .journal-toc{display:none}
  .journal-article-aside{display:block}
  .journal-article-layout{gap:12px}
}
@media (max-width:680px){
  .journal-header{top:0}
  .journal-menu-button{min-width:44px;min-height:44px}
  .journal-mobile-nav a{min-height:44px;display:flex;align-items:center}
  .journal-mobile-nav .journal-cta{justify-content:center}
  .journal-library-mark{margin-top:26px;gap:13px;width:100%;padding:12px 16px;min-width:0;border-radius:14px}
  .journal-library-mark strong{font-size:43px;letter-spacing:-2.7px}
  .journal-library-mark strong span{font-size:13px}
  .journal-library-mark>div>span{font-size:10px;letter-spacing:1.4px}
  .journal-hero-facts{margin-top:30px;padding-top:20px;gap:8px 18px}
  .journal-hero-facts span{font-size:10.5px}
  .journal-filters{scroll-snap-type:x proximity;scroll-padding-inline:18px;overscroll-behavior-inline:contain;-webkit-overflow-scrolling:touch;gap:8px;min-height:48px}
  .journal-filter{scroll-snap-align:start;min-height:44px;padding:10px 15px}
  .journal-quickpaths-links a{min-height:48px}
  .journal-mobile-toc{top:68px;margin-top:-5px;margin-bottom:13px}
  .journal-article-hero h1{overflow-wrap:break-word;text-wrap:balance}
  .journal-article-meta{gap:10px}
  .journal-prose{overflow-wrap:break-word;hyphens:auto}
  .journal-prose h2{scroll-margin-top:147px}
  .journal-faq summary{min-height:48px}
  .journal-article-section{padding-top:25px}
  .journal-card .journal-read-link{min-height:44px;align-items:center}
}
@media (max-width:359px){
  .journal-hero{padding-top:51px}
  .journal-container{width:calc(100% - 30px)}
  .journal-hero h1{font-size:37px}
  .journal-filters{margin-right:-15px}
  .journal-card-body{padding:20px}
  .journal-card h3{font-size:22px}
  .journal-mobile-toc summary{padding-inline:14px}
  .journal-article-hero h1{font-size:33px}
}
@media (prefers-reduced-motion:reduce), print{
  .journal-page[data-release="R40"] .journal-hero::after,
  .journal-page[data-release="R40"] .journal-library-mark,
  .journal-page[data-release="R40"] .journal-mobile-nav:not([hidden]){animation:none!important}
  .journal-card .journal-card-media::before{display:none}
  .journal-quickpaths-links a,.journal-filter,.journal-mobile-toc summary span{transition:none!important}
  .journal-mobile-toc{position:static}
}
@media (prefers-contrast:more){
  .journal-library-mark,.journal-mobile-toc details{border-color:#f0d398;background:#04111f}
  .journal-filter{border-color:#d6e4ef}
  .journal-toc a[aria-current="location"]{text-decoration:underline}
}
