
:root{--bg:#0b0c0e;--panel:#121417;--line:#2a2d31;--text:#f2efe9;--muted:#aaa69e;--accent:#f59f28;--shell:min(1420px,calc(100% - 40px));font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color-scheme:dark}*{box-sizing:border-box}html{scroll-behavior:smooth;overflow-x:hidden}body{margin:0;background:var(--bg);color:var(--text);line-height:1.6;overflow-x:hidden}
h1,h2,h3{overflow-wrap:break-word;word-break:break-word}img{display:block;max-width:100%}a{color:inherit}.skip{position:fixed;left:16px;top:-60px;background:#fff;color:#000;padding:10px 14px;z-index:999}.skip:focus{top:16px}.shell{width:var(--shell);margin-inline:auto}.site-header{height:72px;position:fixed;inset:0 0 auto;z-index:50;display:flex;align-items:center;padding:0 max(20px,calc((100vw - 1420px)/2));gap:30px;background:linear-gradient(#090a0cdd,#090a0c99 70%,transparent);transition:.25s}.site-header.is-solid{background:#090a0cf2;border-bottom:1px solid #ffffff12;backdrop-filter:blur(16px)}.brand{position:relative;text-decoration:none;line-height:1;padding:6px 10px;margin:-6px -10px;border-radius:10px}



@media(prefers-reduced-motion:reduce){}.brand strong{font-size:18px;letter-spacing:-.6px}.brand strong span{font-size:.72em;color:var(--accent);margin:0 1px}.brand small{display:block;color:var(--muted);font-size:9px;letter-spacing:1.7px;text-transform:uppercase;margin-top:6px}.main-nav{margin-left:auto;display:flex;gap:21px;align-items:center}.main-nav a{text-decoration:none;font-size:11px;letter-spacing:1.15px;text-transform:uppercase;color:#dedad2;position:relative}.main-nav a:after{content:"";position:absolute;left:0;right:100%;bottom:-8px;height:1px;background:var(--accent);transition:.2s}.main-nav a:hover:after,.main-nav a.is-active:after{right:0}.menu-button{display:none;position:relative;margin-left:auto;background:none;border:1px solid #ffffff40;color:white;border-radius:999px;padding:8px 13px}
.menu-button::before{content:'';position:absolute;inset:-2px;border-radius:inherit;padding:2px;background:conic-gradient(from 0deg,transparent 0deg,transparent 305deg,var(--accent) 335deg,#fff 350deg,transparent 360deg);-webkit-mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);-webkit-mask-composite:xor;mask-composite:exclude;pointer-events:none}
.hero{min-height:100svh;position:relative;display:grid;align-items:end;background-image:var(--hero);background-size:cover;background-position:center}.hero__shade{position:absolute;inset:0;background:linear-gradient(90deg,#030405e8 0%,#0304059a 42%,#03040525 70%),linear-gradient(0deg,#08090b 0%,transparent 45%)}.hero__content{position:relative;z-index:2;width:var(--shell);margin:0 auto;padding:160px 0 12vh}.eyebrow{color:var(--accent);font-size:11px;letter-spacing:2.4px;text-transform:uppercase;font-weight:700}.hero h1{font-size:clamp(62px,10vw,150px);line-height:.73;letter-spacing:-.085em;margin:28px 0 30px;max-width:800px;text-transform:uppercase;-webkit-hyphens:auto;hyphens:auto}.hero h1 span{display:block}.hero h1 em{font-style:normal;color:var(--accent);font-size:.63em;display:inline-block;margin-right:.05em}.hero__content>p:not(.eyebrow){max-width:590px;font-size:clamp(16px,1.4vw,21px);color:#e7e2da}.button{display:inline-flex;align-items:center;gap:6px;margin-top:18px;border:1px solid var(--accent,#f59f28);border-radius:999px;background:none;color:var(--accent,#f59f28);text-decoration:none;padding:13px 22px;text-transform:uppercase;letter-spacing:1.4px;font-size:10px;font-weight:600;cursor:pointer;transition:.2s}.button:hover,.button:focus-visible{background:var(--accent,#f59f28);color:#181109}.button.is-playing{background:var(--accent,#f59f28);color:#181109}.hero__down{position:absolute;z-index:2;right:max(20px,calc((100vw - 1420px)/2));bottom:38px;text-decoration:none;border:1px solid #ffffff55;width:44px;height:44px;border-radius:50%;display:grid;place-items:center}.intro{display:grid;grid-template-columns:minmax(260px,.65fr) 1.65fr;gap:clamp(36px,7vw,120px);padding-block:clamp(90px,11vw,170px);align-items:center}.intro__portrait{max-width:440px;aspect-ratio:1;overflow:hidden;border-radius:50% 50% 48% 52% / 44% 46% 54% 56%;background:#16181b}.intro__portrait img{width:100%;height:100%;object-fit:cover}.intro h2,.portfolio__head h2,.closing h2{font-size:clamp(36px,5vw,72px);line-height:1.02;letter-spacing:-.045em;margin:16px 0 30px}.intro__copy>p:not(.eyebrow){max-width:900px;color:#c1bdb6}.intro__thanks{font-size:12px;text-transform:uppercase;letter-spacing:1.2px;border-left:2px solid var(--accent);padding-left:16px}.portfolio{padding:40px 0 120px}.portfolio__head{display:grid;grid-template-columns:1.2fr .8fr;gap:50px;align-items:end;border-top:1px solid var(--line);padding-top:70px}.portfolio__head>p{color:var(--muted);max-width:580px}.filters{display:flex;gap:8px;flex-wrap:wrap;padding:40px 0 70px}.filters button{border:1px solid var(--line);background:transparent;color:#ddd8d0;border-radius:999px;padding:9px 14px;font-size:10px;letter-spacing:1px;text-transform:uppercase}.filters button.is-active,.filters button:hover{border-color:var(--accent);background:var(--accent);color:#17120b}.project-list{display:grid;gap:clamp(80px,11vw,170px)}.project{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(300px,.65fr);gap:clamp(28px,5vw,78px);align-items:start}.project:nth-child(even){grid-template-columns:minmax(300px,.65fr) minmax(0,1.55fr)}.project:nth-child(even) .project__media{order:2}.project[hidden]{display:none}.project__media{position:sticky;top:94px;min-width:0}.project__meta{display:flex;justify-content:space-between;border-bottom:1px solid var(--line);padding-bottom:10px;color:var(--muted);font-size:10px;letter-spacing:1.4px}.project h2{font-size:clamp(28px,3.4vw,55px);line-height:1.02;letter-spacing:-.04em;margin:24px 0 24px;text-wrap:balance}.project__captions{display:flex;flex-wrap:wrap;gap:7px;margin-bottom:18px}.project__captions span{font-size:9px;text-transform:uppercase;letter-spacing:1px;border:1px solid var(--line);padding:5px 8px}.project details{border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:14px 0}.project summary{cursor:pointer;text-transform:uppercase;letter-spacing:1.2px;font-size:10px;color:#ddd8d0}.project__text{padding-top:14px;color:var(--muted);font-size:14px}.project__text p{margin:0 0 13px}.compare{position:relative;background:#050506;overflow:hidden;isolation:isolate;min-height:330px;aspect-ratio:3/2;box-shadow:0 30px 90px #0008}.compare img{width:100%;height:100%;object-fit:contain;position:absolute;inset:0}.compare__base{z-index:1}.compare__after{--position:50%;position:absolute;inset:0;z-index:2;clip-path:inset(0 0 0 var(--position))}.compare__line{--position:50%;position:absolute;z-index:4;top:0;bottom:0;left:var(--position);width:2px;background:#fff;transform:translateX(-1px);pointer-events:none}.compare__line span{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:42px;height:42px;border-radius:50%;background:#fff;color:#111;display:grid;place-items:center;font-weight:900}.compare__range{position:absolute;z-index:5;inset:0;width:100%;height:100%;opacity:0;cursor:ew-resize}.compare__tag{position:absolute;z-index:4;top:14px;background:#060708c9;border:1px solid #ffffff2a;padding:5px 8px;font-size:9px;letter-spacing:1.2px}.compare__tag--left{left:14px}.compare__tag--right{right:14px}.triptych__tabs{display:flex;gap:7px;margin-bottom:10px}.triptych__tab{background:transparent;border:1px solid var(--line);border-radius:999px;color:white;padding:8px 14px;font-size:9px;letter-spacing:1px}.triptych__tab.is-active{background:var(--accent);border-color:var(--accent);color:#111}.triptych__stage{position:relative;aspect-ratio:3/2;background:#050506;box-shadow:0 30px 90px #0008}.triptych__image{display:none;width:100%;height:100%;object-fit:contain}.triptych__image.is-active{display:block}.closing{padding:80px 0 140px;border-top:1px solid var(--line)}.closing p:not(.eyebrow){color:var(--muted);max-width:720px}footer{border-top:1px solid var(--line);padding:28px 0;color:var(--muted);font-size:12px}footer .shell{display:flex;gap:25px;justify-content:space-between}footer strong{color:white}.placeholder{min-height:100svh;display:grid;place-items:center;padding:90px 20px}.placeholder__card{max-width:760px;border:1px solid var(--line);border-radius:16px;padding:clamp(30px,7vw,90px);background:var(--panel)}
@media(max-width:1050px){.main-nav{position:fixed;inset:72px 16px auto;background:#101216f7;border:1px solid var(--line);padding:20px;display:none;grid-template-columns:1fr 1fr}.main-nav.is-open{display:grid}.menu-button{display:block}.project,.project:nth-child(even){grid-template-columns:1fr}.project:nth-child(even) .project__media{order:0}.project__media{position:relative;top:0}.portfolio__head{grid-template-columns:1fr}.intro{grid-template-columns:1fr}.intro__portrait{max-width:290px}.site-header{padding-inline:20px}}
@media(max-width:650px){:root{--shell:calc(100% - 24px)}.site-header{height:64px}.main-nav{inset:64px 10px auto;grid-template-columns:1fr}.hero__content{padding-bottom:16vh}.hero__shade{background:linear-gradient(0deg,#08090b 0%,#03040570 60%),linear-gradient(90deg,#030405dd 0%,transparent)}.hero h1{font-size:clamp(58px,22vw,100px)}.hero__down{display:none}.portfolio{padding-top:0}.filters{padding-bottom:45px}.project-list{gap:85px}.compare{min-height:240px;aspect-ratio:4/3}.project h2{font-size:34px}.intro{padding-block:85px}.portfolio__head{padding-top:55px}footer .shell{flex-direction:column}}

/* Switzerland gallery */
.page-hero{min-height:78svh;position:relative;display:grid;align-items:end;background-image:var(--page-hero);background-size:cover;background-position:center}.page-hero__shade{position:absolute;inset:0;background:linear-gradient(90deg,#030405e6 0%,#03040586 48%,transparent 78%),linear-gradient(0deg,#0b0c0e 0%,transparent 46%)}.page-hero__content{position:relative;z-index:2;padding:170px 0 11vh}.page-hero h1{font-size:clamp(54px,8.3vw,126px);line-height:.82;letter-spacing:-.075em;margin:24px 0 30px;max-width:1100px;-webkit-hyphens:auto;hyphens:auto}.page-hero h1 span{color:var(--accent)}.page-hero__content>p:not(.eyebrow){max-width:660px;color:#e2ded6;font-size:clamp(16px,1.4vw,20px)}.section-nav{position:sticky;top:72px;z-index:35;background:#0b0c0ef0;border-bottom:1px solid var(--line);backdrop-filter:blur(14px)}.section-nav .shell{display:flex;gap:10px;overflow:auto;padding-block:12px}.section-nav a{padding:9px 16px;text-decoration:none;text-transform:uppercase;letter-spacing:1.3px;font-size:10px;white-space:nowrap;color:#d5d0c8;border:1px solid var(--line);border-radius:999px;transition:.2s}.section-nav a:hover{border-color:var(--accent);background:var(--accent);color:#17120b}.swiss-intro{display:grid;grid-template-columns:.78fr 1.22fr;gap:clamp(40px,8vw,130px);padding-block:clamp(90px,11vw,160px);border-bottom:1px solid var(--line)}.swiss-intro h2,.snapshot-section__head h2,.four-seasons h2{font-size:clamp(42px,6vw,88px);line-height:.96;letter-spacing:-.055em;margin:14px 0 0}.swiss-intro__text{color:#c4c0b9}.swiss-intro__text p{margin:0 0 22px}.snapshot-section{padding:clamp(80px,9vw,135px) 0}.snapshot-section__head{display:grid;grid-template-columns:1fr .72fr;gap:50px;align-items:end;margin-bottom:55px}.snapshot-section__head>p{color:var(--muted);max-width:620px}.snapshot-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-auto-rows:105px;gap:10px}.snapshot{margin:0;grid-row:span 2;overflow:hidden;background:#15171a}.snapshot--portrait{grid-row:span 3}.snapshot--panorama{grid-column:span 2;grid-row:span 2}.snapshot--feature{grid-column:span 2;grid-row:span 4}.snapshot__button{display:block;width:100%;height:100%;border:0;padding:0;background:#15171a;color:white;cursor:zoom-in;position:relative;overflow:hidden}.snapshot img{width:100%;height:100%;object-fit:cover;transition:transform .45s ease,filter .45s ease}.snapshot__button:hover img,.snapshot__button:focus-visible img{transform:scale(1.035);filter:brightness(1.08)}.snapshot__button:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}.snapshot__number{position:absolute;right:9px;bottom:8px;background:#090a0cc7;border:1px solid #ffffff20;border-radius:6px;padding:3px 6px;font-size:8px;letter-spacing:1.3px}.four-seasons{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(320px,.9fr);gap:clamp(35px,7vw,110px);align-items:center;padding-block:clamp(90px,11vw,165px);border-top:1px solid var(--line)}.four-seasons__image{background:white;padding:clamp(8px,1vw,16px)}.four-seasons__image img{width:100%}.four-seasons h3{font-size:clamp(15px,1.5vw,21px);line-height:1.35;color:#c7c2ba;margin:28px 0;text-transform:uppercase}.poem{color:#ded9d1;border-left:2px solid var(--accent);padding-left:22px}.poem p{margin:0;min-height:1.55em}.lightbox{width:100vw;height:100vh;height:100dvh;max-width:none;max-height:none;margin:0;padding:0;border:0;background:#050607;color:white;overflow:hidden}.lightbox::backdrop{background:#050607}.lightbox[open]{display:grid;grid-template-rows:minmax(0,1fr) auto;justify-items:center}.lightbox figure{margin:0;width:min(96vw,2200px);height:100%;max-width:100%;display:grid;grid-template-rows:minmax(0,1fr) auto;place-items:center}.lightbox figure img{max-width:100%;max-height:100%;object-fit:contain}.lightbox figcaption{padding:12px 60px 0;color:#bbb6ae;font-size:11px;letter-spacing:1.1px;text-transform:uppercase;max-height:22vh;overflow-y:auto}
.lightbox__caption-text{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.lightbox figcaption.is-expanded .lightbox__caption-text{display:block;-webkit-line-clamp:unset;overflow:visible}
.lightbox__counter{white-space:nowrap;opacity:.8}
.lightbox__more-toggle{display:block;margin-top:6px;background:none;border:0;padding:0;color:var(--accent,#f79e1b);font:inherit;font-size:10px;letter-spacing:.9px;text-transform:uppercase;cursor:pointer;text-decoration:underline;text-underline-offset:3px}
.lightbox__more-toggle:hover{color:#fff}
.lightbox__print-add{display:inline-flex;align-items:center;gap:6px;margin-top:8px;border:1px solid var(--accent,#f79e1b);background:none;color:var(--accent,#f79e1b);padding:8px 14px;border-radius:999px;font:inherit;font-size:10.5px;letter-spacing:.08em;text-transform:uppercase;cursor:pointer;transition:.2s}
.lightbox__print-add:hover,.lightbox__print-add:focus-visible{background:var(--accent,#f79e1b);color:#181109}
.lightbox__print-add:disabled{opacity:.6;cursor:default;background:none;color:var(--accent,#f79e1b)}
.lightbox__close,.lightbox__nav{position:fixed;z-index:3;border:1px solid #ffffff38;background:#090a0cc8;color:white;display:grid;place-items:center;cursor:pointer}.lightbox__close{right:22px;top:20px;width:46px;height:46px;border-radius:50%;font-size:30px}.lightbox__nav{top:50%;width:48px;height:70px;transform:translateY(-50%);font-size:44px}.lightbox__nav--prev{left:18px}.lightbox__nav--next{right:18px}.lightbox__close:hover,.lightbox__nav:hover{background:white;color:black}
@media(max-width:1050px){.snapshot-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.swiss-intro,.snapshot-section__head,.four-seasons{grid-template-columns:1fr}.four-seasons__image{max-width:700px}.section-nav{top:72px}}
@media(max-width:650px){.page-hero{min-height:72svh}.page-hero__content{padding-top:130px}.page-hero h1{font-size:clamp(46px,15vw,75px)}.section-nav{top:64px}.snapshot-grid{grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-rows:82px;gap:6px}.snapshot--panorama,.snapshot--feature{grid-column:span 2}.snapshot--feature{grid-row:span 3}.snapshot__number{font-size:7px}.lightbox__nav{width:38px;height:58px}.lightbox__nav--prev{left:6px}.lightbox__nav--next{right:6px}.lightbox__close{right:10px;top:10px}.lightbox figcaption{padding-inline:45px;max-height:17vh}.swiss-intro{padding-block:75px}.snapshot-section__head{margin-bottom:35px}}


/* Reliable photographic hero layers */
.hero__image,.page-hero__image{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:0}.hero__image{object-position:center}.hero__shade,.page-hero__shade{z-index:1}.hero__shade{background:linear-gradient(90deg,#030405d8 0%,#03040582 43%,#03040512 75%),linear-gradient(0deg,#08090b 0%,transparent 47%)}
/* Complete travel journal */
.travel-hero{min-height:82svh}.travel-hero .page-hero__image{object-position:center 56%}.travel-intro{display:grid;grid-template-columns:.72fr 1.28fr;gap:clamp(40px,8vw,130px);padding-block:clamp(90px,11vw,160px);border-bottom:1px solid var(--line)}.travel-intro h2,.travel-overview__head h2,.journey__head h2{font-size:clamp(40px,6vw,86px);line-height:.96;letter-spacing:-.055em;margin:14px 0 0}.travel-intro__text{color:#c4c0b9}.travel-intro__text p{margin:0 0 22px}.travel-overview{padding-block:clamp(80px,9vw,145px)}.travel-overview__head,.journey__head{display:grid;grid-template-columns:1fr .72fr;gap:50px;align-items:end;margin-bottom:55px}.travel-overview__head>p,.journey__head>p{color:var(--muted);max-width:620px}.travel-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.travel-card{position:relative;min-height:330px;overflow:hidden;text-decoration:none;background:#15171a;display:flex;align-items:flex-end;padding:24px}.travel-card img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .5s ease,filter .5s ease}.travel-card__shade{position:absolute;inset:0;background:linear-gradient(0deg,#060708e8 0%,#06070840 62%,transparent)}.travel-card>div,.travel-card__number{position:relative;z-index:2}.travel-card__number{position:absolute;top:18px;right:18px;font-size:10px;letter-spacing:1.4px;border:1px solid #ffffff40;border-radius:999px;padding:5px 8px}.travel-card h3{font-size:clamp(22px,2.2vw,36px);line-height:1;letter-spacing:-.035em;margin:0 0 8px}.travel-card p{margin:0;color:#c9c4bc;font-size:11px;text-transform:uppercase;letter-spacing:1px}.travel-card:hover img{transform:scale(1.04);filter:brightness(1.08)}.travel-card--empty{border:1px solid var(--line);min-height:220px}.journey{padding-block:clamp(85px,10vw,155px);border-top:1px solid var(--line);scroll-margin-top:125px}.journey__badge{display:inline-block;margin-left:10px;border:1px solid var(--accent);border-radius:999px;padding:2px 7px;font-size:8px}.journey__empty{color:var(--muted);border:1px solid var(--line);border-radius:16px;padding:28px}.travel-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-auto-rows:110px;gap:10px}.travel-shot{margin:0;grid-row:span 2;overflow:hidden;background:#15171a}.travel-shot--portrait{grid-row:span 3}.travel-shot--panorama{grid-column:span 2;grid-row:span 2}.travel-shot--feature{grid-column:span 2;grid-row:span 4}.travel-shot__button{display:block;width:100%;height:100%;border:0;padding:0;background:#15171a;color:white;cursor:zoom-in;position:relative;overflow:hidden}.travel-shot img{width:100%;height:100%;object-fit:cover;transition:transform .45s ease,filter .45s ease}.travel-shot__button:hover img,.travel-shot__button:focus-visible img{transform:scale(1.035);filter:brightness(1.08)}.travel-shot__button:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}.travel-shot__button span{position:absolute;right:9px;bottom:8px;background:#090a0cc7;border:1px solid #ffffff20;border-radius:6px;padding:3px 6px;font-size:8px;letter-spacing:1.3px}@media(max-width:1050px){.travel-intro,.travel-overview__head,.journey__head{grid-template-columns:1fr}.travel-cards{grid-template-columns:repeat(2,minmax(0,1fr))}.travel-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:650px){.travel-hero{min-height:76svh}.travel-intro{padding-block:75px}.travel-cards{grid-template-columns:1fr}.travel-card{min-height:300px}.travel-grid{grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-rows:84px;gap:6px}.travel-shot--panorama,.travel-shot--feature{grid-column:span 2}.travel-shot--feature{grid-row:span 3}.journey__head{margin-bottom:35px}}


/* Van Journey and Non-RAW galleries */
.van-hero .page-hero__image{object-position:center 60%}.nonraw-hero .page-hero__image{object-position:center 48%}.analog-hero .page-hero__image{object-position:center 38%}.gallery-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-auto-rows:110px;gap:10px}.gallery-shot{margin:0;grid-row:span 2;overflow:hidden;background:#15171a}.gallery-shot--portrait{grid-row:span 3}.gallery-shot--panorama{grid-column:span 2;grid-row:span 2}.gallery-shot--feature{grid-column:span 2;grid-row:span 4}.gallery-shot__button{display:block;width:100%;height:100%;border:0;padding:0;background:#15171a;color:white;cursor:zoom-in;position:relative;overflow:hidden}.gallery-shot img{width:100%;height:100%;object-fit:cover;transition:transform .45s ease,filter .45s ease}.gallery-shot__button:hover img,.gallery-shot__button:focus-visible img{transform:scale(1.035);filter:brightness(1.08)}.gallery-shot__button span{position:absolute;right:9px;bottom:8px;background:#090a0cc7;border:1px solid #ffffff20;border-radius:6px;padding:3px 6px;font-size:8px;letter-spacing:1.3px}.van-makeover{background:linear-gradient(180deg,#0b0c0e,#101216)}.nonraw-intro{display:grid;grid-template-columns:.8fr 1.2fr;gap:clamp(40px,8vw,130px);padding-block:clamp(90px,11vw,150px);border-bottom:1px solid var(--line)}.nonraw-intro h2{font-size:clamp(42px,6vw,86px);line-height:.96;letter-spacing:-.055em;margin:14px 0 0}.nonraw-intro>p{color:var(--muted);max-width:650px}.nonraw-list{padding-block:clamp(70px,9vw,140px);display:grid;gap:clamp(65px,8vw,130px)}.nonraw-card{display:block;margin-bottom:clamp(56px,8vw,110px)}.nonraw-card button{position:relative;display:block;width:100%;border:0;padding:0;background:#0a0b0d;cursor:zoom-in;overflow:hidden;text-align:center}.nonraw-card img{display:block;width:100%;max-height:82vh;object-fit:contain;margin:0 auto;transition:transform .5s ease}.nonraw-card button:hover img{transform:scale(1.01)}.nonraw-card h2{font-size:clamp(28px,3.6vw,52px);line-height:1.02;letter-spacing:-.04em;margin:22px 0 12px}.nonraw-card p{color:var(--muted);max-width:760px}
.nonraw-card__number{position:absolute;right:9px;bottom:8px;background:#090a0cc7;border:1px solid #ffffff20;border-radius:6px;padding:3px 6px;font-size:8px;letter-spacing:1.3px;color:var(--accent)}.archive-portals{padding-block:clamp(90px,10vw,150px);display:grid;grid-template-columns:1fr 1fr;gap:14px;border-top:1px solid var(--line)}.archive-portal{position:relative;min-height:430px;display:flex;align-items:flex-end;padding:34px;text-decoration:none;overflow:hidden;background:#15171a}.archive-portal img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .5s ease,filter .5s ease}.archive-portal__shade{position:absolute;inset:0;background:linear-gradient(0deg,#060708ed 0%,#06070842 65%,transparent)}.archive-portal>div{position:relative;z-index:2}.archive-portal h2{font-size:clamp(42px,5vw,78px);line-height:.9;letter-spacing:-.06em;margin:12px 0}.archive-portal p:last-child{color:#d0cbc3}.archive-portal:hover img{transform:scale(1.035);filter:brightness(1.08)}.four-seasons--complete{grid-template-columns:minmax(0,1.15fr) minmax(320px,.85fr)}.four-seasons--complete .four-seasons__image{padding:0;background:transparent}.season-composite{display:block;width:100%;border:0;padding:0;background:transparent;cursor:zoom-in}.season-composite img{display:block;width:100%}.four-seasons h2 span{color:var(--accent)}.season-note{color:#c8c3bb}.season-poem{margin-top:28px;border-top:1px solid var(--line);padding-top:18px}.season-poem summary{cursor:pointer;color:#e5e0d7;text-transform:uppercase;font-size:10px;letter-spacing:1.2px}.season-poem[open] summary{margin-bottom:24px}@media(max-width:1050px){.gallery-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.nonraw-intro{grid-template-columns:1fr}.archive-portals{grid-template-columns:1fr}.four-seasons--complete{grid-template-columns:1fr}}@media(max-width:650px){.gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-rows:84px;gap:6px}.gallery-shot--panorama,.gallery-shot--feature{grid-column:span 2}.gallery-shot--feature{grid-row:span 3}.archive-portal{min-height:340px;padding:24px}.nonraw-intro{padding-block:75px}.nonraw-card h2{font-size:32px}.nonraw-list{gap:55px}}

/* Video gallery, social links and shared photo likes */
.video-section{padding-block:clamp(85px,10vw,155px);border-top:1px solid var(--line);scroll-margin-top:125px}.video-section__head{display:grid;grid-template-columns:1fr .72fr;gap:50px;align-items:end;margin-bottom:55px}.video-section__head h2,.social-section__head h2{font-size:clamp(40px,6vw,86px);line-height:.96;letter-spacing:-.055em;margin:14px 0 0}.video-section__head>div:last-child>p,.social-section__head>p:last-child{color:var(--muted);max-width:620px}.video-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px}.video-card{background:var(--panel);border:1px solid var(--line);border-radius:16px;overflow:hidden;min-width:0}.video-card__player{position:relative;aspect-ratio:16/9;background:#050506;overflow:hidden}
.legal-page-top{padding-top:8rem}
.contact-image-wrap{display:flex;justify-content:center}.contact-card-image{width:min(100%, 1180px);height:auto;border-radius:24px;box-shadow:0 25px 70px rgba(0,0,0,.14)}
.ratio-916{aspect-ratio:0.5625}.ratio-169{aspect-ratio:1.7778}.ratio-075{aspect-ratio:0.75}.ratio-07516{aspect-ratio:0.7516}.ratio-06667{aspect-ratio:0.6667}.ratio-05626{aspect-ratio:0.5626}.ratio-04164{aspect-ratio:0.4164}.ratio-05{aspect-ratio:0.5}.ratio-14982{aspect-ratio:1.4982}.video-card__player button{appearance:none;border:0;padding:0;margin:0;width:100%;height:100%;display:block;background:#050506;color:#fff;cursor:pointer;position:relative}.video-card__player img{width:100%;height:100%;object-fit:cover;transition:transform .35s ease}.video-card__player button:hover img{transform:scale(1.035)}.video-card__shade{position:absolute;inset:0;background:linear-gradient(0deg,#050607a8,transparent 60%)}.video-card__play{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:64px;height:64px;border-radius:50%;display:grid;place-items:center;padding-left:4px;background:#fff;color:#111;font-size:22px;box-shadow:0 16px 45px #0009}.video-card iframe{width:100%;height:100%;border:0;display:block}.video-card__copy{padding:22px}.video-card__copy .eyebrow{margin:0 0 10px}.video-card__copy h3{font-size:clamp(20px,2vw,30px);line-height:1.08;letter-spacing:-.035em;margin:0 0 24px}.video-card__copy a{font-size:10px;text-transform:uppercase;letter-spacing:1.2px;text-decoration:none;border-bottom:1px solid var(--accent);padding-bottom:4px}.social-section{padding-block:clamp(80px,9vw,135px);border-top:1px solid var(--line)}.social-section__head{max-width:900px;margin-bottom:45px}.social-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}.social-card{min-height:240px;padding:34px;text-decoration:none;border:1px solid var(--line);border-radius:16px;display:flex;flex-direction:column;justify-content:flex-end;position:relative;overflow:hidden;background:var(--panel)}.social-card:before{content:"";position:absolute;inset:0;opacity:.45;transition:.25s}.social-card--youtube:before{background:radial-gradient(circle at 80% 20%,#ff2d2d 0,transparent 42%)}.social-card--xhs:before{background:radial-gradient(circle at 80% 20%,#ff3152 0,transparent 42%)}.social-card:hover:before{opacity:.7}.social-card>*{position:relative}.social-card span{font-size:10px;letter-spacing:1.5px;text-transform:uppercase;color:#ddd8d0}.social-card strong{font-size:clamp(28px,4vw,52px);line-height:1;margin:14px 0}.social-card small{color:var(--muted);font-size:12px}.footer-socials{display:flex;gap:16px}.footer-socials a{text-decoration:none;color:#ddd8d0}.footer-socials a:hover{color:var(--accent)}.lightbox figure{grid-template-rows:minmax(0,1fr) auto auto}.lightbox__like{display:none;align-items:center;gap:9px;margin:8px 0 0;border:1px solid #ffffff38;background:#090a0cc8;color:#fff;border-radius:999px;padding:9px 14px;font:inherit;font-size:11px;letter-spacing:.9px;text-transform:uppercase;cursor:pointer}.lightbox__like.is-ready{display:inline-flex}.lightbox__like:hover,.lightbox__like.is-liked{background:#fff;color:#111}.lightbox__like:disabled{cursor:wait;opacity:.65}.lightbox__heart{font-size:18px;line-height:1}.lightbox__count{min-width:1.2em;text-align:center;font-variant-numeric:tabular-nums}
@media(max-width:1000px){.video-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.video-section__head{grid-template-columns:1fr}.social-grid{grid-template-columns:1fr}}
@media(max-width:650px){.video-grid{grid-template-columns:1fr}.video-section__head{margin-bottom:35px}.video-card__play{width:56px;height:56px}.social-card{min-height:200px;padding:26px}.footer-socials{flex-wrap:wrap}.lightbox__like{margin-top:5px}}
.heart-burst{position:fixed;z-index:80;pointer-events:none;color:#ff5d7a;font-size:20px;left:0;top:0;transform:translate(-50%,-50%) rotate(0deg);animation:heart-float 1.1s ease-out forwards;text-shadow:0 0 8px #ff5d7a66}
@keyframes heart-float{0%{opacity:0;transform:translate(-50%,-50%) translateY(0) scale(.5) rotate(0deg)}18%{opacity:1;transform:translate(-50%,-50%) translateY(-14px) scale(1.05) rotate(calc(var(--rot,0deg)*.3))}100%{opacity:0;transform:translate(calc(-50% + var(--dx,0px)),-50%) translateY(-130px) scale(.85) rotate(var(--rot,0deg))}}
@media(prefers-reduced-motion:reduce){.heart-burst{display:none}}

/* v1.14 slider likes */
.media-like,.lightbox__like{display:inline-flex;align-items:center;gap:8px;margin-top:13px;border:1px solid #ffffff2b;background:#101216;color:#eee7df;border-radius:999px;padding:9px 14px;font:inherit;font-size:11px;letter-spacing:.8px;text-transform:uppercase;cursor:pointer;transition:.2s}.media-like:hover,.lightbox__like:hover{border-color:#f47fa6;transform:translateY(-1px)}.media-like.is-liked,.lightbox__like.is-liked{border-color:#f47fa6;color:#ff9fbc;background:#22131a}.media-like__heart,.lightbox__heart{font-size:20px;line-height:1}.media-like__count,.lightbox__count{min-width:1.5ch;color:#fff;font-weight:700}.media-like:disabled,.lightbox__like:disabled{opacity:.55;cursor:wait}.project__media>.media-like{margin-left:4px}
.lightbox figure{grid-template-rows:minmax(0,1fr) auto}
.lightbox__controls{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 16px 14px}
.lightbox__nav{position:static;width:40px;height:40px;border-radius:50%;font-size:24px;flex-shrink:0}
.lightbox__actions{display:flex;align-items:center;gap:10px;flex:1;justify-content:center;flex-wrap:wrap}
.lightbox__print-add{margin-top:0;padding:7px 12px;font-size:9.5px}
.lightbox__like{position:relative;margin:0;width:40px;height:40px;padding:0;border-radius:50%;justify-content:center;flex-shrink:0}
.lightbox__heart{font-size:19px}
.lightbox__count{position:absolute;top:-4px;right:-4px;min-width:1.4em;height:1.4em;padding:0 3px;border-radius:999px;background:var(--accent,#f79e1b);color:#181109;font-size:9.5px;font-weight:800;display:flex;align-items:center;justify-content:center;line-height:1}
.lightbox__count[hidden]{display:none}
@media(max-width:480px){.lightbox__controls{padding:8px 10px 12px;gap:6px}.lightbox__nav{width:36px;height:36px;font-size:20px}.lightbox__print-add{padding:6px 10px;font-size:9px}}

/* v1.14 mobile admin */
.admin-main{min-height:100svh;padding:110px 0 80px}.admin-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(280px,.55fr);gap:30px;align-items:start}.admin-card{background:var(--panel);border:1px solid var(--line);padding:clamp(20px,4vw,42px)}.admin-card h1{font-size:clamp(38px,7vw,78px);line-height:.95;letter-spacing:-.055em;margin:12px 0 22px;-webkit-hyphens:auto;hyphens:auto}.admin-form{display:grid;gap:16px}.admin-form label{display:grid;gap:7px;color:#d7d2ca;font-size:11px;letter-spacing:1px;text-transform:uppercase}.admin-form input,.admin-form select,.admin-form textarea{width:100%;border:1px solid #ffffff25;background:#090a0c;color:#fff;padding:13px;border-radius:4px;font:inherit;text-transform:none;letter-spacing:0}.admin-form textarea{min-height:110px;resize:vertical}.admin-form button{border:0;background:var(--accent);color:#181109;padding:14px 18px;font-weight:800;text-transform:uppercase;letter-spacing:1px;cursor:pointer}.admin-preview{width:100%;max-height:460px;object-fit:contain;background:#08090a;border:1px solid var(--line);margin-bottom:18px}.admin-status{min-height:28px;color:#f4b55b}.admin-note{color:var(--muted);font-size:13px}.admin-checklist{padding-left:20px;color:#c8c3bb}.admin-checklist li{margin:8px 0}@media(max-width:800px){.admin-grid{grid-template-columns:1fr}.admin-main{padding-top:88px}.admin-card{padding:20px}}

/* v1.15 story and editing text */
.project__text h3{margin:1.05rem 0 .35rem;font-size:.82rem;letter-spacing:.12em;text-transform:uppercase;color:var(--accent,#b58b5b)}
.project__text h3:first-child{margin-top:0}
.project__text p+h3{margin-top:1.35rem}



/* v2.0.0: R2 photographs first + continent/country/topic destination index */
.destination-continents{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(2rem,6vw,7rem);padding-bottom:clamp(4rem,8vw,8rem)}
.destination-continent{border-top:1px solid rgba(255,255,255,.16);padding-top:1.25rem}
.destination-continent>header{display:flex;align-items:end;justify-content:space-between;gap:1rem;margin-bottom:2rem}
.destination-continent h3{margin:0;font:700 clamp(1.3rem,2.4vw,2.1rem)/1 var(--display-font,inherit);letter-spacing:.08em}
.destination-continent>header span{color:var(--accent,#f6a01a);font-size:.82rem;letter-spacing:.12em;text-transform:uppercase}
.destination-country-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.45rem 2rem}
.destination-country-grid details{border-bottom:1px solid rgba(255,255,255,.08);padding:.65rem 0}
.destination-country-grid summary{cursor:pointer;list-style:none;font-size:1rem;font-weight:600;letter-spacing:.02em}
.destination-country-grid summary::-webkit-details-marker{display:none}
.destination-country-grid summary:after{content:'+';float:right;color:var(--accent,#f6a01a);font-weight:400}
.destination-country-grid details[open] summary:after{content:'−'}
.destination-subitems{display:grid;gap:.35rem;padding:.7rem 0 .1rem 1rem;color:rgba(255,255,255,.66);font-size:.9rem}
.destination-subitems .destination-topic{color:rgba(255,255,255,.46);padding-left:.75rem;border-left:1px solid rgba(246,160,26,.35)}
.r2-gallery-marker{grid-column:1/-1;height:0;overflow:hidden}
@media(max-width:760px){.destination-continents{grid-template-columns:1fr;gap:3rem}.destination-country-grid{grid-template-columns:1fr}.destination-continent>header{align-items:center}.destination-country-grid details{padding:.8rem 0}}

/* v2.0.0 — countries & regions presentation */
.visited-places{padding:clamp(5rem,9vw,9rem) 0;border-top:1px solid var(--line,#24272b);border-bottom:1px solid var(--line,#24272b);background:#090b0d}
.visited-places__head{margin-bottom:clamp(2rem,4vw,4rem)}
.visited-places__layout{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:clamp(2rem,5vw,5rem);align-items:start}
.visited-map-card{margin:0;position:sticky;top:7rem;border:1px solid #262a2f;background:#0d1013;overflow:hidden;border-radius:16px}
.visited-map-card img{display:block;width:100%;height:auto}
.visited-lists{display:grid;gap:3rem}
.visited-continent header{display:flex;align-items:end;justify-content:space-between;gap:1rem;padding-bottom:1rem;border-bottom:1px solid #282c31;margin-bottom:1.1rem}
.visited-continent h3{margin:0;font-size:.9rem;letter-spacing:.16em;color:#f4f2ee}
.visited-continent header span{font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;color:var(--accent,#f79e1b)}
.visited-country-list{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.9rem 1.85rem}
.visited-country-list--asia{grid-template-columns:1fr}
.visited-country{display:flex;align-items:center;gap:.65rem}
.visited-country--grouped{grid-column:1/-1}
.visited-country__flag{width:1.5rem;height:auto;display:block;flex:none;border-radius:2px;box-shadow:0 0 0 1px rgba(255,255,255,.12);transition:transform .2s ease}
.visited-country:hover .visited-country__flag{transform:translateY(-1px)}
.visited-country__flags{display:flex;align-items:center;flex:none}
.visited-country__flag--sub{margin-left:-.55rem;box-shadow:0 0 0 1px #090b0d,0 0 0 2px rgba(255,255,255,.12)}
.visited-country>span:last-child{font-size:.88rem;line-height:1.35;color:#f1efeb}
.visited-country--china>span:last-child{font-size:.84rem}
.visited-country em{font-style:normal;color:#6f757c;padding:0 .2rem}
@media(max-width:980px){.visited-places__layout{grid-template-columns:1fr}.visited-map-card{position:relative;top:auto;max-width:760px}}
@media(max-width:620px){.visited-places{padding:4rem 0}.visited-country-list{grid-template-columns:1fr;gap:.7rem}.visited-country--grouped{grid-column:auto}.visited-country--china>span:last-child{font-size:.82rem}.visited-continent header{align-items:flex-start;flex-direction:column;gap:.4rem}}
.gear-section{padding-block:clamp(70px,9vw,130px);border-top:1px solid var(--line,#24272b)}
.gear-section__head{margin-bottom:clamp(30px,5vw,55px)}
.gear-section__head>p{max-width:680px}
.gear-group{margin-top:clamp(30px,4vw,46px)}
.gear-group:first-of-type{margin-top:0}
.gear-group header{display:flex;align-items:baseline;justify-content:space-between;gap:1rem;border-bottom:1px solid #282c31;padding-bottom:10px;margin-bottom:16px}
.gear-group h3{margin:0;font-size:.92rem;letter-spacing:.1em;text-transform:uppercase;color:#f4f2ee}
.gear-group header span{font-size:.7rem;letter-spacing:.12em;text-transform:uppercase;color:var(--accent,#f79e1b);white-space:nowrap}
.gear-grid{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:.5rem 1.5rem}
.gear-grid--compact{grid-template-columns:repeat(auto-fill,minmax(190px,1fr))}
.gear-item a{display:block;padding:.4rem 0;font-size:.86rem;line-height:1.35;color:#d8d4cc;text-decoration:none;border-bottom:1px solid transparent;transition:color .2s ease,border-color .2s ease}
.gear-item a:hover,.gear-item a:focus-visible{color:var(--accent,#f79e1b);border-color:var(--accent,#f79e1b)}
@media(max-width:650px){.gear-grid,.gear-grid--compact{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:.35rem 1rem}}
.contact-form-section{padding-block:clamp(60px,8vw,110px);border-top:1px solid var(--line,#24272b)}
.contact-form{display:grid;gap:18px;max-width:640px;margin-top:30px}
.contact-form__row{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.contact-form label{display:grid;gap:8px;font-size:.74rem;letter-spacing:.08em;color:#c8c3bb;text-transform:uppercase}
.contact-form input,.contact-form select,.contact-form textarea{background:#101317;border:1px solid #262a2f;color:#f1efeb;padding:12px 14px;font:inherit;font-size:.95rem;border-radius:10px}
.contact-form input[type="text"],.contact-form input[type="email"],.contact-form select{background:#101317;border:1px solid #262a2f;color:#f1efeb;padding:12px 14px;font:inherit;font-size:.95rem;border-radius:10px;width:100%}
.contact-form input:focus,.contact-form select:focus,.contact-form textarea:focus{outline:none;border-color:var(--accent,#f79e1b)}
.contact-form textarea{resize:vertical;min-height:140px}
.contact-form button{justify-self:start;border:0;cursor:pointer}
.contact-form__note{font-size:.75rem;color:var(--muted);margin:0}
@media(max-width:650px){.contact-form__row{grid-template-columns:1fr}}
.coffee-button:hover{color:var(--accent,#f79e1b)}
.gear-item{display:flex;align-items:baseline;justify-content:space-between;gap:.6rem}
.gear-item__buy{flex:none;font-size:.68rem;letter-spacing:.06em;text-transform:uppercase;color:var(--accent,#f79e1b);text-decoration:none;border-bottom:1px solid transparent;padding:.4rem 0}
.gear-item__buy:hover,.gear-item__buy:focus-visible{border-color:var(--accent,#f79e1b)}
.gear-disclosure{margin-top:clamp(30px,4vw,46px);padding-top:16px;border-top:1px solid #282c31;font-size:.74rem;color:var(--muted);max-width:640px}
.support-card{display:flex;align-items:center;gap:18px;max-width:520px;margin-top:34px;padding:18px;border:1px solid var(--line,#24272b);border-radius:16px;background:var(--panel,#101317);text-decoration:none;transition:border-color .2s ease}
.support-card:hover{border-color:var(--accent,#f79e1b)}
.support-card img{width:84px;height:84px;flex:none;border-radius:4px;background:#fff;padding:4px}
.support-card strong{display:block;color:#f1efeb;font-size:.92rem;margin-bottom:4px}
.support-card small{color:var(--muted);font-size:.78rem;line-height:1.4}
@media(max-width:480px){.support-card{flex-direction:column;align-items:flex-start}}
.connect-section{padding-block:clamp(60px,8vw,110px);border-top:1px solid var(--line,#24272b)}
.connect-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,220px));gap:24px;margin-top:30px}
.connect-card{display:block;text-decoration:none;border:1px solid var(--line,#24272b);border-radius:16px;background:var(--panel,#101317);padding:16px;text-align:center}
.connect-card img{width:100%;height:auto;border-radius:6px;display:block;margin-bottom:12px}
.connect-card span{font-size:.8rem;color:#d8d4cc}
.connect-card:hover{border-color:var(--accent,#f79e1b)}
.contact-form__status{margin:0;font-size:.85rem;color:#8fd19e}
.contact-form__status.is-error{color:#e7a15a}
.video-card--portrait .video-card__player{aspect-ratio:9/16}
.video-grid--portrait{grid-template-columns:repeat(auto-fill,minmax(190px,1fr))}
@media(max-width:650px){.video-grid--portrait{grid-template-columns:repeat(auto-fill,minmax(150px,1fr))}}
.page-hero--switzerland .page-hero__image{object-position:center 62%}
.contact-hero .page-hero__image{object-position:center 55%}
.gear-sale-section{padding-block:clamp(50px,7vw,90px)}
.gear-sale-status{color:var(--muted);font-size:.9rem}
.gear-sale-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:28px}
.gear-sale-card{border:1px solid var(--line,#24272b);background:var(--panel,#101317);display:flex;flex-direction:column}
.gear-sale-card__media{position:relative;aspect-ratio:4/3;background:#050506;overflow:hidden}
.gear-sale-card__media img{width:100%;height:100%;object-fit:cover;display:block}
.gear-sale-card__placeholder{width:100%;height:100%;display:grid;place-items:center;color:var(--muted);font-size:.8rem}
.gear-sale-card__badge{position:absolute;top:12px;right:12px;font-size:.68rem;letter-spacing:.08em;text-transform:uppercase;padding:5px 10px;border-radius:999px;background:#111;color:#fff}
.gear-sale-card__badge.is-available{background:#1f8a4c}
.gear-sale-card__badge.is-sold{background:#555}
.gear-sale-card__copy{padding:20px;display:flex;flex-direction:column;gap:8px;flex:1}
.gear-sale-card__copy h3{margin:0;font-size:1.15rem;letter-spacing:-.02em}
.gear-sale-card__price{color:var(--accent,#f79e1b);font-size:.95rem;font-weight:600}
.gear-sale-card__copy p{color:var(--muted);font-size:.88rem;line-height:1.5;margin:0;flex:1}
.gear-sale-card__copy .button{align-self:flex-start;margin-top:6px}
.gear-sale-grid--compact{grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:20px;margin-top:4px}
.gear-sale-grid--compact .gear-sale-card__copy{padding:16px}
.gear-sale-card__details{margin-top:2px}
.gear-sale-card__details p{margin:8px 0 0;color:var(--muted);font-size:.85rem;line-height:1.5}
.gear-sale-card__photo{display:block;width:100%;height:100%;padding:0;margin:0;border:0;background:none;cursor:zoom-in}
.gear-sale-card__photo img{width:100%;height:100%;object-fit:cover;display:block}
.hero__image{object-position:center 42%}
.mw-calendar-section{padding-block:clamp(50px,7vw,90px);border-top:1px solid var(--line,#24272b)}
.mw-calendar{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:18px;margin-top:24px}
.sky-events{display:grid;grid-template-columns:1fr;gap:20px;margin-top:32px;max-width:760px}
.sky-events__group{background:var(--panel);border:1px solid var(--line);border-radius:16px;padding:22px}
.sky-events__group summary{cursor:pointer;list-style:none;display:block}
.sky-events__group summary::-webkit-details-marker{display:none}
.sky-events__group summary::marker{content:''}
.sky-events__group summary:focus-visible{outline:2px solid var(--accent);outline-offset:6px;border-radius:8px}
.sky-events__icon{width:100%;max-width:140px;height:auto;display:block;margin:0 auto 8px;transition:transform .25s ease}
.sky-events__group summary:hover .sky-events__icon{transform:scale(1.04)}
.sky-events__ground{fill:#0b0d10}
.sky-events__glow{stroke:var(--accent);opacity:.18;filter:blur(2.5px)}
.sky-events__line{stroke:#cfd6e0;opacity:.5}
.sky-events__accent{fill:var(--accent)}
.sky-events__dark{fill:#0b0d10}
.sky-events__star{fill:#cfd6e0;opacity:.6}
.sky-events__group[open]{padding-bottom:20px}
.sky-events__group[open] summary{margin-bottom:8px}
.sky-events__hint{display:block;text-align:center;font-size:10.5px;letter-spacing:.05em;color:var(--accent);margin-top:2px}
.sky-events__group[open] .sky-events__hint{display:none}
.sky-events__group h3{font-size:15px;letter-spacing:.02em;margin:0 0 4px;color:var(--text)}
.sky-events__group h3 span{display:block;font-size:10px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);margin-top:2px;font-weight:400}
.sky-events__group ul{list-style:none;margin:14px 0 0;padding:0;display:grid;gap:12px}
.sky-events__group li{font-size:13px;line-height:1.55;color:var(--muted)}
.sky-events__group li strong{display:block;color:var(--text);font-weight:600;margin-bottom:2px}
@media(max-width:1050px){.sky-events{grid-template-columns:1fr}}
.mw-location-picker{display:flex;align-items:center;gap:10px;margin-top:18px;font-size:.68rem;letter-spacing:.09em;text-transform:uppercase;color:var(--muted)}
.mw-location-picker label{color:var(--muted)}
.mw-location-picker select{appearance:none;-webkit-appearance:none;background:none;border:1px solid var(--accent,#f79e1b);color:var(--accent,#f79e1b);padding:9px 34px 9px 16px;font:inherit;font-size:.68rem;letter-spacing:.09em;text-transform:uppercase;border-radius:999px;min-width:220px;cursor:pointer;transition:.2s;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20' fill='none' stroke='%23f79e1b' stroke-width='2'%3E%3Cpath d='M5 8l5 5 5-5'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center;background-size:14px}
.mw-location-picker select:hover,.mw-location-picker select:focus-visible{background-color:var(--accent,#f79e1b);color:#181109}
.mw-location-picker select:hover{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20' fill='none' stroke='%23181109' stroke-width='2'%3E%3Cpath d='M5 8l5 5 5-5'/%3E%3C/svg%3E")}
.mw-location-picker select option{background:#0d0e10;color:#f1efeb}
.mw-calendar__item{border:1px solid var(--line,#24272b);background:var(--panel,#101317);padding:16px;border-radius:16px}
.mw-calendar__phase{grid-column:1/-1;border:1px solid var(--line,#24272b);border-radius:18px;overflow:hidden}
.mw-calendar__phase-toggle{width:100%;display:flex;align-items:center;justify-content:space-between;gap:14px;padding:16px 20px;background:var(--panel,#101317);border:0;cursor:pointer;text-align:left;font:inherit;color:#f1efeb}
.mw-calendar__phase-range{font-size:.95rem;font-weight:700;flex-shrink:0}
.mw-calendar__phase-summary{flex:1;font-size:.78rem;color:var(--muted);text-align:right}
.mw-calendar__phase-summary em{font-style:normal;color:var(--muted)}
.mw-calendar__phase-arrow{transition:transform .2s ease;color:var(--accent,#f79e1b);flex-shrink:0}
.mw-calendar__phase.is-open .mw-calendar__phase-arrow{transform:rotate(180deg)}
.mw-calendar__phase-nights{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:14px;padding:0 16px 16px}
.mw-calendar__phase-nights[hidden]{display:none}
@media(max-width:640px){.mw-calendar__phase-toggle{flex-direction:column;align-items:flex-start;gap:4px}.mw-calendar__phase-summary{text-align:left}}
.mw-calendar__date{display:flex;align-items:baseline;justify-content:space-between;margin-bottom:10px}
.mw-calendar__date strong{font-size:1rem;color:#f1efeb}
.mw-calendar__date span{font-size:.75rem;color:var(--muted)}
.mw-calendar__time{font-size:.92rem;color:var(--accent,#f79e1b);font-weight:600;margin-bottom:6px}
.mw-calendar__orientation{font-size:.82rem;color:#d8d4cc;line-height:1.4;margin-bottom:10px}
.mw-calendar__weather{font-size:.8rem;color:var(--muted);border-top:1px solid #262a2f;padding-top:10px}
.mw-calendar__weather summary{cursor:pointer;list-style:none;color:var(--muted)}
.mw-calendar__weather summary::-webkit-details-marker{display:none}
.mw-calendar__weather[open] summary{color:#d8d4cc;margin-bottom:8px}
.mw-calendar__weather-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px}
.mw-calendar__weather-list li{display:flex;justify-content:space-between;gap:10px;font-size:.78rem}
.mw-calendar__weather-peak{color:var(--accent,#f79e1b);font-size:.68rem;text-transform:uppercase;letter-spacing:.04em}
[data-mw-weather-status]{color:var(--muted);text-align:right;flex-shrink:0}
[data-mw-weather-status].is-live{color:#d8d4cc}
[data-mw-weather-status].is-good{color:#7fc98f}
.mw-calendar__note{margin-top:22px;font-size:.78rem;color:var(--muted)}
.mw-icon{width:100%;height:74px;margin-bottom:12px;overflow:visible}
.mw-icon__ground{fill:#0b0d10}
.mw-icon__band{transform-origin:20px 78px}
.mw-icon__glow{stroke:var(--accent,#f79e1b);stroke-width:9px;stroke-linecap:round;opacity:.16;filter:blur(2.5px)}
.mw-icon__core-line{stroke:#cfd6e0;stroke-width:2px;stroke-linecap:round;opacity:.45}
.mw-icon__core{fill:var(--accent,#f79e1b)}
.mw-icon__star{fill:#cfd6e0;opacity:.6}
.mw-calendar__status{color:var(--muted);font-size:.9rem}
.cam-settings-section{padding-block:clamp(50px,7vw,90px);border-top:1px solid var(--line,#24272b)}
.cam-table-wrap{margin-top:26px;overflow:auto;border:1px solid var(--line,#24272b);border-radius:16px}
.cam-table{width:100%;border-collapse:collapse;font-size:.88rem;min-width:520px}
.cam-table th,.cam-table td{padding:12px 16px;text-align:left;border-bottom:1px solid #262a2f;white-space:nowrap}
.cam-table th{color:var(--muted);font-size:.72rem;text-transform:uppercase;letter-spacing:.08em;font-weight:600}
.cam-table td:first-child{color:#f1efeb;font-weight:600}
.cam-table tbody tr:last-child td{border-bottom:none}
.cam-calc{margin-top:34px;padding:22px;border:1px solid var(--line,#24272b);background:var(--panel,#101317);border-radius:16px}
.cam-calc h3{margin:0 0 18px;font-size:1rem}
.dark-sky-map-wrap{margin-top:22px;border-radius:16px;overflow:hidden;border:1px solid var(--line,#24272b);background:#17191d}
.ch-map-viewport{position:relative;height:420px;overflow:hidden;touch-action:none;cursor:grab;background:#0c0d10;--ch-inv-zoom:1}
.ch-map-viewport.is-dragging{cursor:grabbing}
.ch-map-canvas{position:absolute;top:0;left:0;width:1600px;transform-origin:0 0;will-change:transform}
.ch-map-img{display:block;width:100%;height:auto;pointer-events:none;user-select:none;-webkit-user-drag:none}
.ch-map__pins{position:absolute;inset:0}
.ch-map__pin{position:absolute;transform:translate(-50%,-50%) scale(var(--ch-inv-zoom));width:12px;height:12px;border-radius:50%;border:1.5px solid #0c0d10;cursor:pointer;padding:0;box-shadow:0 2px 8px #0007}
.ch-map__pin--worked{background:#4caf50}
.ch-map__pin--failed{background:#e53935}
.ch-map__pin--not_used{background:#9e9e9e}
.ch-map-zoom-controls{display:flex;gap:8px;padding:10px 16px;border-top:1px solid var(--line,#24272b)}
.ch-map-zoom-controls button{width:32px;height:32px;border-radius:8px;border:1px solid var(--line,#33383f);background:#1c1f24;color:var(--fg,#eee);font-size:1rem;cursor:pointer;line-height:1}
.ch-map-zoom-controls button:hover{background:#262a30}
.ch-map-zoom-controls button[data-ch-zoom-reset]{width:auto;padding:0 12px;font-size:.72rem;text-transform:uppercase;letter-spacing:.04em}
.ch-map__popup{position:absolute;transform:translate(-50%,calc(-100% - 16px)) scale(var(--ch-inv-zoom));transform-origin:50% 100%;background:#181b20;border:1px solid var(--line,#33383f);border-radius:12px;padding:14px 16px;min-width:220px;max-width:280px;box-shadow:0 12px 30px #000a;z-index:5}
.ch-map__popup strong{display:block;font-size:.9rem;margin-bottom:2px}
.ch-map__popup small{display:block;color:var(--muted);font-size:.72rem;margin-bottom:6px}
.ch-map__popup p{margin:0 0 10px;font-size:.78rem;color:#c9c6c0}
.ch-map__popup a{display:inline-block;font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:var(--accent,#f79e1b)}
.ch-map__popup-close{position:absolute;top:8px;right:10px;background:none;border:0;color:var(--muted);font-size:16px;cursor:pointer;padding:2px 6px}
.ch-map__disclaimer{margin:0;padding:10px 16px;font-size:.68rem;color:var(--muted);text-align:center;border-top:1px solid var(--line,#24272b)}
.dark-sky-embed-wrap{margin-top:18px;border-radius:16px;overflow:hidden;border:1px solid var(--line,#24272b);position:relative;padding-top:62%}
.dark-sky-embed-wrap iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.atl-popup{font:inherit;line-height:1.4}
.atl-popup strong{display:block;margin-bottom:2px;font-size:.85rem}
.atl-popup small{color:#666;display:block;margin-bottom:4px}
@media(max-width:640px){.ch-map-viewport{height:320px}.dark-sky-embed-wrap{padding-top:90%}}
.cam-calc__tag{display:inline-block;margin-left:10px;padding:3px 9px;border-radius:999px;background:#ffffff0d;color:var(--muted);font-size:.62rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;vertical-align:middle}
.cam-calc__controls{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:20px;margin-bottom:20px}
.cam-calc__field{display:grid;gap:8px;font-size:.8rem;color:#d8d4cc}
.cam-calc__field input[type=range]{width:100%;accent-color:var(--accent,#f79e1b)}
.cam-calc__field select{background:#050506;border:1px solid #262a2f;color:#f1efeb;padding:8px 10px;font:inherit;border-radius:10px}
.cam-calc__field b{color:var(--accent,#f79e1b);font-weight:600}
.cam-calc__result{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:20px;border-top:1px solid #262a2f;padding-top:18px}
.cam-calc__output{display:flex;flex-direction:column;gap:4px}
.cam-calc__output span{font-size:.72rem;text-transform:uppercase;letter-spacing:.08em;color:var(--muted)}
.cam-calc__output strong{font-size:1.4rem;color:#f1efeb}
.cam-calc__output small{color:var(--muted);font-size:.75rem}
.cam-calc__note{margin:16px 0 0;font-size:.8rem;color:#e7a15a;background:#e7a15a14;border:1px solid #e7a15a33;padding:10px 12px;border-radius:10px}
.cam-calc__disclaimer{margin:14px 0 0;font-size:.72rem;color:var(--muted)}
.tool-divider{display:flex;align-items:center;gap:14px;margin:28px 0;color:var(--muted);font-size:.72rem;text-transform:uppercase;letter-spacing:.1em}
.tool-divider::before,.tool-divider::after{content:"";flex:1;height:1px;background:#262a2f}
.nd-calc{margin-top:0}
.legal-page{padding-block:clamp(40px,6vw,70px);max-width:760px}
.legal-page h2{margin:34px 0 12px;font-size:1.1rem;color:#f1efeb}
.legal-page h2:first-child{margin-top:0}
.legal-page h3{margin:22px 0 8px;font-size:.95rem;color:#f1efeb}
.legal-page p{color:#d8d4cc;font-size:.9rem;line-height:1.6;margin:0 0 10px}
.legal-page a{color:var(--accent,#f79e1b)}
.legal-page__meta{margin-top:34px;font-size:.75rem;color:var(--muted)}
.footer-legal{display:flex;gap:16px;flex-wrap:wrap}
.footer-legal a{font-size:.78rem;color:var(--muted);text-decoration:none}
.footer-legal a:hover{color:#f1efeb}
.footer-copyright{font-size:.72rem;color:var(--muted)}
.gear-disclosure--top{margin-top:0;padding-top:0;border-top:none;padding:14px 16px;margin-bottom:clamp(30px,4vw,46px);background:#f79e1b1a;border:1px solid #f79e1b59;border-radius:10px;color:var(--text,#f2efe9);max-width:none}
.gear-disclosure--top strong{color:#f1efeb}
.gear-sale-terms-note{font-size:.78rem;color:var(--muted);margin:0 0 12px}
.gear-sale-terms-note a{color:var(--accent,#f79e1b)}
.contact-form__privacy{font-size:.75rem;color:var(--muted);margin:2px 0 0}
.contact-form__privacy a{color:var(--accent,#f79e1b)}
.page-workshops .travel-intro{padding-block:clamp(70px,8.5vw,125px)}
.page-workshops .mw-calendar-section{padding-block:clamp(38px,5.5vw,70px)}
.page-workshops .cam-settings-section{padding-block:clamp(38px,5.5vw,70px)}
.page-workshops .closing{padding:62px 0 110px}
.tool-standalone-link{margin:14px 0 0}
.tool-standalone-link a{display:inline-flex;align-items:center;gap:7px;border:1px solid var(--accent,#f79e1b);color:var(--accent,#f79e1b);text-decoration:none;padding:9px 16px;border-radius:999px;font-size:.68rem;letter-spacing:.09em;text-transform:uppercase;transition:.2s}
.tool-standalone-link a:hover,.tool-standalone-link a:focus-visible{background:var(--accent,#f79e1b);color:#181109}
.mw-calendar__notify{margin-top:10px;width:100%;padding:8px 10px;background:none;border:1px solid var(--accent,#f79e1b);color:var(--accent,#f79e1b);font-size:.76rem;letter-spacing:.03em;cursor:pointer;border-radius:10px}
.mw-calendar__notify:hover{background:#f79e1b14}
.mw-calendar__notify:disabled{opacity:.7;cursor:default}
/* Tools app shell */
.tools-app{max-width:640px;margin:0 auto}
.tools-banner{background:linear-gradient(90deg,#f79e1b26,#f79e1b0d);border:1px solid #f79e1b40;text-align:center;padding:10px 14px;margin:14px;border-radius:16px}
.tools-banner a{color:var(--accent,#f79e1b);font-size:.82rem;font-weight:600;text-decoration:none}
.tools-header{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:14px 16px;border-bottom:1px solid var(--line,#24272b)}
.tools-brand{color:inherit;text-decoration:none;line-height:1.15}
.tools-brand strong{display:block;font-size:1rem;letter-spacing:-.01em}
.tools-brand strong span{color:var(--accent,#f79e1b)}
.tools-brand small{display:block;font-size:.68rem;color:var(--muted);text-transform:uppercase;letter-spacing:.06em}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.tools-full-page-link{font-size:.75rem;color:var(--muted);text-decoration:underline;white-space:nowrap}
.tools-tabs{display:flex;position:sticky;top:0;z-index:5;background:#08090b;border-bottom:1px solid var(--line,#24272b);overflow-x:auto}
.tools-tabs button{flex:1;min-width:44px;padding:7px 2px;background:none;border:0;color:var(--muted);font:inherit;font-size:.52rem;letter-spacing:.01em;text-transform:uppercase;cursor:pointer;border-bottom:2px solid transparent;display:flex;flex-direction:column;align-items:center;gap:2px}
.tools-tabs button.is-active{color:#f1efeb;border-bottom-color:var(--accent,#f79e1b)}
.tools-tab__icon{width:16px;height:16px;color:var(--muted)}
.tools-tabs button.is-active .tools-tab__icon{color:var(--accent,#f79e1b)}
.sky-events__list{list-style:none;margin:20px 0 0;padding:0;display:grid;gap:16px}
.sky-events__list li{border:1px solid var(--line,#24272b);background:var(--panel,#101317);border-radius:16px;padding:18px 20px;color:var(--muted);line-height:1.55}
.sky-events__list li strong{display:block;color:var(--accent,#f79e1b);margin-bottom:6px;font-weight:700}
.sky-events__list li{font-size:13px;line-height:1.55;color:var(--muted);padding-bottom:14px;border-bottom:1px solid var(--line)}
.sky-events__list li:last-child{border-bottom:0}
.sky-events__list li strong{display:block;color:var(--text);font-weight:600;margin-bottom:3px}
.sky-events__subtitle{display:block;font-size:11px;letter-spacing:.05em;text-transform:uppercase;color:var(--muted);margin-top:4px;font-weight:400}
.tools-view{display:none;padding:0 0 40px}
.tools-view.is-active{display:block}
.tools-view .mw-calendar-section,.tools-view .cam-settings-section{padding-inline:16px}
.tools-view .mw-calendar{grid-template-columns:1fr}
.tools-view .cam-calc__controls{grid-template-columns:1fr}
.tools-view .cam-calc__result{grid-template-columns:1fr 1fr}

.tools-coffee-prompt{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:20px;padding:14px 16px;border:1px solid #f79e1b33;background:#f79e1b0f;border-radius:16px}
.tools-coffee-prompt span{font-size:.82rem;color:#d8d4cc}

.tools-more{padding:24px 16px 10px;display:flex;flex-direction:column;gap:16px}
.tools-photo-teaser{position:relative;display:block;border-radius:4px;overflow:hidden;aspect-ratio:2/3;max-height:60vh}
.tools-photo-teaser img{width:100%;height:100%;object-fit:cover;display:block}
.tools-photo-teaser span{position:absolute;left:0;right:0;bottom:0;padding:14px 16px;background:linear-gradient(0deg,#000c 0%,transparent 100%);color:#fff;font-size:.85rem;font-weight:600}
.tools-more__cta{text-align:center}
.tools-more__share{width:100%}
.tools-end-links{display:flex;flex-direction:column;gap:12px;margin-top:32px;padding:0 16px}
.tools-end-links .button{align-self:stretch;justify-content:center;text-align:center;margin-top:0}
.tools-view .tools-end-links{padding:0}
.tools-more .tools-end-links{margin-top:20px}
.tools-install-btn{font-size:16px}
.tools-install-btn[hidden]{display:none}
.tools-install-block{margin-bottom:20px;padding:16px;border:1px solid #f79e1b33;background:#f79e1b0f;border-radius:16px;text-align:center}
.tools-install-block .button{align-self:center}
.tools-install-block .install-help{margin:10px 0 0;font-size:.75rem;color:var(--muted);min-height:0}

@media(max-width:480px){
  .tools-header{padding:12px 14px}
  .tools-tabs button{font-size:.46rem;padding:6px 1px;min-width:38px}
  .tools-tab__icon{width:14px;height:14px}
}

/* v1.30 — Print / poster / calendar request list, popup form and gallery banner. */
.print-request-fab{position:fixed;right:20px;bottom:20px;z-index:60;display:flex;align-items:center;gap:8px;background:var(--accent,#f79e1b);color:#161208;border:0;border-radius:999px;padding:12px 16px;font:inherit;font-size:12px;font-weight:600;letter-spacing:.3px;cursor:pointer;box-shadow:0 12px 30px #0009}
.print-request-fab:hover{filter:brightness(1.06)}
.print-request-fab__icon{font-size:16px;line-height:1}
.print-request-fab__count{background:#161208;color:var(--accent,#f79e1b);border-radius:999px;min-width:1.6em;text-align:center;padding:1px 6px;font-size:11px}
.print-request-dialog__howto{margin:0 0 18px;padding:14px 16px;border:1px solid #262a2f;border-radius:12px;background:#0a0b0d;font-size:.82rem;color:#d8d4cc}
.print-request-dialog__howto p{margin:0 0 8px}
.print-request-dialog__howto ol{margin:0 0 10px;padding-left:20px;display:grid;gap:4px}
.print-request-dialog__note{margin:0!important;color:var(--accent,#f79e1b)!important;font-size:.78rem!important}
.print-request-dialog__items img{width:48px;height:40px;object-fit:contain;background:#050506;border:1px solid #262a2f;border-radius:2px;flex:none}
.print-request-dialog__items li span{flex:1;min-width:0}
.print-request-dialog__slot-preview{width:100%;height:72px;object-fit:contain;background:#050506;border-radius:8px;border:1px solid #262a2f}

.print-request-dialog{width:min(92vw,560px);max-height:88vh;overflow-y:auto;margin:auto;padding:28px 28px 24px;border:1px solid var(--line,#262a2f);border-radius:20px;background:#0d0e10;color:#f1efeb}
.print-request-dialog::backdrop{background:#050607d9}
.print-request-dialog h2{margin:0 0 8px;font-size:1.3rem;letter-spacing:-.02em}
.print-request-dialog__close{position:absolute;right:16px;top:14px;width:32px;height:32px;border-radius:50%;border:1px solid #ffffff2b;background:#101216;color:#eee;font-size:18px;cursor:pointer}
.print-request-dialog__close:hover{background:#fff;color:#111}
.print-request-dialog__items{list-style:none;margin:0 0 18px;padding:0;display:flex;flex-direction:column;gap:6px;max-height:160px;overflow-y:auto}
.print-request-dialog__items li{display:flex;align-items:center;justify-content:space-between;gap:10px;background:#151719;border:1px solid #262a2f;border-radius:4px;padding:8px 10px;font-size:.82rem}
.print-request-dialog__items li.is-empty{color:var(--muted,#a9a49b);font-style:italic;justify-content:flex-start}
.print-request-dialog__items button{background:none;border:0;color:#a9a49b;font-size:16px;cursor:pointer;line-height:1;padding:0 2px}
.print-request-dialog__items button:hover{color:#ff9fbc}
.print-request-dialog__row{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-bottom:14px}
.print-request-dialog label{display:grid;gap:6px;font-size:.8rem;color:#d8d4cc;margin-bottom:14px}
.print-request-dialog input[type=text],.print-request-dialog input[type=email],.print-request-dialog textarea{background:#050506;border:1px solid #262a2f;color:#f1efeb;padding:10px 12px;font:inherit;border-radius:10px;width:100%}.print-request-dialog input[type="text"],.print-request-dialog input[type="email"]{background:#050506;border:1px solid #262a2f;color:#f1efeb;padding:10px 12px;font:inherit;border-radius:10px;width:100%}.print-request-dialog input:focus,.print-request-dialog textarea:focus,.print-request-dialog select:focus{outline:none;border-color:var(--accent,#f79e1b)}.print-request-dialog input[type="checkbox"]{accent-color:var(--accent,#f79e1b);width:16px;height:16px}
.print-request-dialog__want{border:1px solid #262a2f;border-radius:12px;padding:12px 14px;margin:0 0 14px;display:flex;flex-wrap:wrap;gap:14px}
.print-request-dialog__want legend{padding:0 6px;font-size:.72rem;letter-spacing:.8px;text-transform:uppercase;color:var(--muted,#a9a49b)}
.print-request-dialog__want label{display:flex;align-items:center;gap:6px;margin:0;font-size:.82rem}
.print-request-dialog__calendar{display:grid;grid-template-columns:1fr 1fr;gap:10px 16px;margin:0 0 16px;padding:14px;border:1px solid #262a2f;border-radius:12px;background:#0a0b0d}
.print-request-dialog__calendar[hidden]{display:none}
.print-request-dialog__slot{display:grid;gap:4px;font-size:.75rem;color:#d8d4cc}
.print-request-dialog__slot select{background:#050506;border:1px solid #262a2f;color:#f1efeb;padding:7px 8px;font:inherit;font-size:.78rem;border-radius:8px}
.print-request-dialog__status{margin:10px 0 0;font-size:.82rem;color:#9fd9a8}
.print-request-dialog__status.is-error{color:#ff9fbc}

@media(max-width:650px){
  .print-request-dialog{padding:22px 18px 18px}
  .print-request-dialog__row{grid-template-columns:1fr}
  .print-request-dialog__calendar{grid-template-columns:1fr}
  .print-request-fab{right:14px;bottom:14px;padding:10px 13px;font-size:11px}
}
.scroll-top-btn{position:fixed;right:20px;bottom:78px;z-index:59;width:44px;height:44px;border-radius:999px;border:1px solid #ffffff2a;background:#101216dd;color:#f1efeb;font-size:18px;line-height:1;display:flex;align-items:center;justify-content:center;cursor:pointer;box-shadow:0 8px 22px #0007;transition:opacity .2s ease,transform .2s ease}
.scroll-top-btn:hover{border-color:var(--accent,#f79e1b);color:var(--accent,#f79e1b)}
.scroll-top-btn[hidden]{display:none}
@media(max-width:1050px){.scroll-top-btn{right:14px;bottom:62px;width:40px;height:40px;font-size:16px}}
/* v2.1.0 — Sprachumschalter (EN/DE) im Header */
.lang-wrap{position:relative;margin-left:12px;flex-shrink:0}
.lang-switch{background:none;border:1px solid #ffffff40;color:#fff;border-radius:999px;width:36px;height:36px;display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:700;letter-spacing:.5px;cursor:pointer;line-height:1;text-decoration:none}
.lang-switch:hover{border-color:var(--accent);color:var(--accent)}
@media(max-width:1050px){.lang-wrap{margin-left:auto}}

/* Thoughts bubbles (About page) — native CSS scroll-snap carousel, no JS library */
.thoughts-section{padding-block:clamp(70px,8vw,120px);border-top:1px solid var(--line)}
.thoughts-rail{display:flex;gap:16px;overflow-x:auto;scroll-snap-type:x mandatory;padding:8px 4px 20px;margin:0 -4px;scrollbar-width:thin}
.thoughts-rail::-webkit-scrollbar{height:6px}
.thoughts-rail::-webkit-scrollbar-thumb{background:#33383f;border-radius:99px}
.thoughts-status{color:var(--muted);padding:20px 4px}
.thoughts-bubble{flex:0 0 auto;width:min(420px,84vw);scroll-snap-align:start;background:#15171a;border:1px solid var(--line);border-radius:20px;padding:26px 28px;display:flex;flex-direction:column;gap:14px}
.thoughts-bubble__en{white-space:pre-line;line-height:1.55}
.thoughts-bubble__de{white-space:pre-line;line-height:1.55;color:#8f8b83;padding-top:14px;border-top:1px solid var(--line)}
.thoughts-bubble__date{align-self:flex-end;font-size:11px;letter-spacing:.4px;color:var(--muted)}
.thoughts-nav{display:flex;gap:10px;margin-top:14px}
.thoughts-nav__btn{width:40px;height:40px;border-radius:50%;border:1px solid var(--line);background:#15171a;color:var(--fg);font-size:18px;cursor:pointer;line-height:1}
.thoughts-nav__btn:hover{border-color:var(--accent);color:var(--accent)}
@media(max-width:650px){.thoughts-nav{display:none}}

/* P10 (v2.24.9) — public motif filter bar. Sits in normal document flow
   directly above the photo grid (switzerland/travel/astro/analog only).
   Deliberately: no blur, no backdrop-filter, no semi-transparent overlay
   over the grid, not sticky/pinned while scrolling, no JS drag simulation
   — the single horizontal scroll axis below is 100% native browser
   scrolling (overflow-x), CSS only. No touch-action override here: a
   vertical swipe that starts on the bar must still scroll the PAGE, not
   be captured by the bar, so touch-action is deliberately left at its
   default (auto) rather than constrained to pan-x. */
.gallery-filter{
  display:flex;
  flex-wrap:nowrap;
  gap:8px;
  overflow-x:auto;
  overscroll-behavior-inline:contain;
  scroll-snap-type:x proximity;
  scrollbar-width:none;
  -ms-overflow-style:none;
  padding:4px 4px 14px;
  margin-bottom:22px;
  background:var(--panel);
  border:1px solid var(--line);
  border-radius:12px;
}
.gallery-filter::-webkit-scrollbar{display:none}
.gallery-filter__chip{
  flex:0 0 auto;
  min-height:44px;
  padding:0 18px;
  display:inline-flex;
  align-items:center;
  white-space:nowrap;
  scroll-snap-align:start;
  background:transparent;
  color:var(--muted);
  border:1px solid var(--line);
  border-radius:999px;
  font-size:12px;
  letter-spacing:.4px;
  text-transform:uppercase;
  cursor:pointer;
  transition:border-color .2s,color .2s,background .2s;
}
.gallery-filter__chip:first-child{margin-left:4px}
.gallery-filter__chip:last-child{margin-right:4px}
.gallery-filter__chip:hover{border-color:var(--accent);color:var(--text)}
.gallery-filter__chip:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
.gallery-filter__chip.is-active{background:var(--accent);border-color:var(--accent);color:#17120b;font-weight:600}
@media(max-width:650px){
  .gallery-filter{gap:6px;padding:4px 4px 12px;margin-bottom:16px;border-radius:10px}
  .gallery-filter__chip{padding:0 14px;font-size:11px}
}
.gallery-render-controls{display:flex;justify-content:center;padding:28px 0 8px}
.gallery-render-controls[hidden]{display:none}
.gallery-render-more{min-height:44px;border:1px solid var(--line);border-radius:999px;background:transparent;color:var(--text);padding:10px 20px;font:inherit;font-size:12px;cursor:pointer}
.gallery-render-more:hover,.gallery-render-more:focus-visible{border-color:var(--accent);color:var(--accent)}
.gallery-render-more:focus-visible{outline:2px solid var(--accent);outline-offset:3px}
