/* Tactile archive: paper edges, journal stacks, and angled record sleeves. */
.archive-section { position: relative; padding-top: 76px; }
.archive-heading { text-align: center; margin-bottom: 30px; }
.archive-heading .eyebrow { color: #aebdd6; margin-bottom: 18px; font-size: 9px; }
.archive-heading h2 { font: 400 clamp(42px,5vw,72px)/1.08 'Segoe UI',Arial,sans-serif; letter-spacing: -3px; }
.archive-heading h2 em { font-family: Georgia,serif; font-style: italic; color: #b4f5ed; background: none; }
.archive-heading > p:last-child { color: #a6bad0; font-size: 13px; margin-top: 16px; }
.archive-section .collection-view { justify-content: center; gap: 5px; margin-bottom: 28px; }
.archive-section .collection-view button { min-height: 45px; padding-inline: 19px; border: 1px solid #d2e5ff24; border-radius: 30px; background: transparent; color: #bed0e4; }
.archive-section .collection-view button[aria-pressed=true] { background: #e9f4fa; color: #152a3e; box-shadow: 0 5px 20px #03132730; }
.collection-view button span { font-size: 16px; margin-right: 7px; }
.archive-section .gallery-tools { border-top: 1px solid #d3e3ff19; padding-top: 20px; }
.archive-section .gallery-filters .filter-btn { border-color: transparent; padding: 7px 12px; }
.archive-section .gallery-filters .filter-btn[aria-pressed=true] { background: #b0eced12; color: #b1f9ed; border-color: #b0eced30; }
.archive-section .search-row { margin-bottom: 0; }
.archive-deck { position: relative; background: radial-gradient(ellipse at 50% 34%,#5a739c42,transparent 65%); margin-inline: -20px; padding: 0 20px 28px; }
.deck-stage { position: relative; height: 460px; perspective: 1400px; overflow: hidden; touch-action: pan-y; user-select: none; cursor: grab; isolation: isolate; }
.deck-stage.dragging { cursor: grabbing; }
.deck-stage::after { content: ''; position: absolute; width: 55%; height: 30px; bottom: 22px; left: 22.5%; background: #040c24aa; filter: blur(25px); border-radius: 50%; z-index: -1; pointer-events: none; }
.deck-card { position: absolute; left: 50%; top: 49%; width: var(--deck-card-width,340px); height: 355px; display: flex; flex-direction: column; padding: 8px 9px 12px; text-align: left; border: 1px solid #f7fbffbd; border-radius: 13px; color: #21354b; background: linear-gradient(105deg,#b6c5d5,#f2f4f1 6%,#e3e9e9 93%,#aabbd0); box-shadow: -4px 3px 0 #8e9fb3, -6px 5px 0 #1b2c4670, 0 22px 36px #020c2855; backface-visibility: hidden; transform-origin: center; transition: transform .65s cubic-bezier(.22,.75,.15,1),opacity .3s,box-shadow .35s; -webkit-tap-highlight-color: transparent; }
.deck-card:hover { box-shadow: -4px 3px 0 #9cb2c9,0 22px 42px #020c2880,0 0 0 1px #d2fff3; }
.deck-card:focus-visible { outline: 3px solid #8ffff0; outline-offset: 5px; }
.deck-card-top { display: block; font: 7px/1.5 monospace; letter-spacing: 1.7px; padding: 4px 4px 8px; opacity: .8; }
.deck-card-photo { display: block; flex: 1; overflow: hidden; border-radius: 7px; min-height: 0; background: #27394e; }
.deck-card-photo img { height: 100%; width: 100%; object-fit: cover; pointer-events: none; }
.deck-card-title { display: block; font: 11px/1.4 'Segoe UI',sans-serif; padding: 10px 4px 0; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.dragging .deck-card { transition: none; }
[data-mode=dna] { background: radial-gradient(ellipse at 50% 42%,#69ffe01b,transparent 28%),radial-gradient(ellipse at 50% 45%,#556fa94d,transparent 68%); }
[data-mode=dna] .deck-stage { height: 510px; perspective: 1100px; }
[data-mode=dna] .deck-stage::before { content:''; position:absolute; inset:10% 8%; pointer-events:none; background:radial-gradient(ellipse at center,transparent 35%,#63ffe00c 36%,transparent 38%),linear-gradient(115deg,transparent 35%,#55e8e817 49%,transparent 51%); filter:blur(5px); opacity:.75; }
[data-mode=dna] .deck-stage::after { width:46%; left:27%; bottom:40px; background:#020919cc; filter:blur(32px); }
[data-mode=dna] .deck-card { height:360px; padding:0; overflow:hidden; border-radius:20px; border-color:#d9ffff66; color:#f3ffff; background:#10243a; box-shadow:0 30px 70px #020719a8,0 0 0 1px #7affec15,inset 0 1px 0 #fff3; transform-origin:center; transition:transform .72s cubic-bezier(.16,1,.3,1),opacity .42s,filter .42s,box-shadow .35s; }
[data-mode=dna] .deck-card[aria-pressed=true] { box-shadow:0 35px 90px #020719cc,0 0 45px #62ffe02b,0 0 0 1px #9effee70; }
[data-mode=dna] .deck-card-photo { position:absolute; inset:0; border-radius:inherit; }
[data-mode=dna] .deck-card-photo::after { content:''; position:absolute; inset:0; background:linear-gradient(180deg,#07172b05 42%,#07172be8 100%); }
[data-mode=dna] .deck-card-top,[data-mode=dna] .deck-card-title { position:absolute; z-index:1; left:18px; right:18px; color:#f1ffff; text-shadow:0 1px 12px #061321; }
[data-mode=dna] .deck-card-top { top:15px; padding:0; color:#c8fff5; }
[data-mode=dna] .deck-card-title { bottom:17px; padding:0; font-size:13px; letter-spacing:.2px; }
[data-mode]:not([data-mode=dna]) #deck-autoplay { display:none; }
[data-mode=shelf] .deck-card { border-radius: 3px; padding: 10px; border: 1px solid #dbe4e8; background: #e1e7e9; box-shadow: 0 12px 24px #0003; }
[data-mode=shelf] .deck-card:hover { box-shadow: 0 12px 24px #0003,0 0 0 1px #b4f5ed; }
[data-mode=shelf] .deck-card-photo { border-radius: 0; }
.deck-caption { text-align: center; min-height: 65px; }
#deck-category { font: 8px/1.8 monospace; letter-spacing: 2px; color: #94bdce; }
#deck-title { font: 400 25px/1.35 'Segoe UI',sans-serif; margin-top: 8px; color: #edf7fd; }
.deck-controls { display: flex; justify-content: center; gap: 10px; margin-top: 19px; }
.deck-arrow,.deck-open { background: #d6f3ff0d; border: 1px solid #d2eaff38; color: #e6f7ff; min-height: 44px; border-radius: 30px; padding: 10px 16px; font: 13px/1.5 'Segoe UI',sans-serif; transition: background .2s,transform .2s; }
.deck-arrow { min-width: 44px; padding-inline: 12px; }
.deck-open { background: #edf5f5; color: #1d3147; padding-inline: 24px; }
.deck-arrow:hover,.deck-open:hover { background: #8bede5; color: #0e293e; transform: translateY(-2px); }
.deck-arrow:disabled,.deck-open:disabled { opacity: .35; cursor: default; transform: none; }
.deck-scrubber { display: flex; gap: 16px; align-items: center; justify-content: center; max-width: 300px; margin: 23px auto 0; font: 9px monospace; color: #bcd6e2; }
#deck-range { width: 100%; accent-color: #a5ede5; cursor: ew-resize; height: 24px; }
.deck-hint { color: #819ab5; text-align: center; font: 7px/1.8 monospace; letter-spacing: 1.3px; margin-top: 17px; }
.deck-hint span { padding-inline: 9px; }
.deck-empty { text-align: center; padding: 80px 20px; font-size: 14px; color: #b0c9db; }
.archive-section .collection-note { margin-top: 20px; }
.memory-strip { display: flex; align-items: center; justify-content: center; gap: 26px; padding: 80px 30px 40px; min-height: 300px; overflow: hidden; }
.memory-strip > p { font: 28px/1.12 'Segoe UI',sans-serif; letter-spacing: -1px; margin-right: auto; }
.memory-strip > p em { font-family: Georgia,serif; color: #b3eee5; }
.memory-print { flex: 0 1 185px; min-width: 0; padding: 8px 8px 24px; border: 0; border-radius: 2px; background: #e8eceb; color: #203247; box-shadow: 0 15px 30px #030c2655; transform: rotate(-8deg); transition: transform .45s cubic-bezier(.2,.8,.2,1); }
.memory-print:nth-child(3) { transform: translateY(-22px) rotate(5deg); }
.memory-print:nth-child(4) { transform: rotate(-4deg); }
.memory-print img { width: 100%; aspect-ratio: 1; height: auto; object-fit: cover; pointer-events: none; }
.memory-print span { display: block; font: italic 12px Georgia,serif; margin-top: 12px; }
.memory-print:is(:hover,:focus-visible) { transform: translateY(-30px) rotate(0); }
/* Give the opening image enough scale to feel like a true photographic hero. */
@media(min-width:1101px) {
  .cinematic-hero { width:min(1432px,calc(100% - 176px)); min-height:600px; height:68svh; max-height:720px; margin-left:max(40px,calc((100% - 1540px) / 2)); }
  .cinematic-hero .hero-heading { top: 14%; }
  .cinematic-hero h1 { font-size: clamp(62px,6.2vw,91px); }
  .cinematic-intro { font-size: 13px; margin-top: 13px; }
  .hero-cta { margin-top: 17px; }
  .scene-caption { bottom: 68px; left: auto; right: 6%; text-align: right; }
  .scene-caption .eyebrow { display: none; }
  #scene-title { font-size: 13px; }
  .scene-selector { bottom: 108px; right: 6%; }
}
@media(max-width:760px) {
  .archive-section { padding-top: 45px; }
  .archive-heading h2 { font-size: 43px; letter-spacing: -2px; }
  .archive-heading > p:last-child { font-size: 12px; max-width: 260px; margin-inline: auto; }
  .archive-heading .eyebrow { font-size: 7px; letter-spacing: 1.3px; }
  .archive-section .collection-view button { padding-inline: 11px; font-size: 10px; }
  .archive-section .collection-view button span { margin-right: 4px; }
  .archive-deck { margin-inline: -20px; padding-inline: 0; }
  .deck-stage { height: 365px; }
  .deck-card { height: 285px; border-radius: 10px; padding: 6px 6px 9px; }
  [data-mode=dna] .deck-stage { height: 400px; }
  [data-mode=dna] .deck-card { height: 300px; padding:0; border-radius:15px; }
  .deck-card-top { font-size: 6px; letter-spacing: 1px; }
  .deck-card-title { font-size: 9px; }
  #deck-title { font-size: 21px; }
  .deck-hint { font-size: 6px; max-width: 250px; margin-inline: auto; line-height: 2; }
  .deck-hint span { padding-inline: 4px; }
  .deck-scrubber { max-width: 230px; }
  .memory-strip { gap: 13px; padding: 50px 12px 30px; flex-wrap: wrap; }
  .memory-strip > p { flex: 1 0 100%; text-align: center; font-size: 27px; margin-bottom: 25px; }
  .memory-print { flex: 1 1 25%; padding: 5px 5px 15px; }
  .memory-print span { font-size: 9px; }
  .archive-section .gallery-tools { gap: 10px; }
}
@media(prefers-reduced-motion:reduce) { .deck-card { transition: none; } }
.archive-toolbar { display: flex; align-items: flex-start; gap: 12px; max-width: 880px; margin: 0 auto; }
.archive-tools { flex: 1; min-width: 0; border-block: 1px solid #d2e5ff20; }
.archive-tools summary { display: flex; align-items: center; justify-content: space-between; gap: 20px; min-height: 44px; cursor: pointer; list-style: none; color: #bdd1e0; font-size: 11px; }
.archive-tools summary::-webkit-details-marker { display: none; }
.archive-tools summary > span:first-child::before { content: '+'; color: #a0e8e3; margin-right: 12px; font-size: 16px; }
.archive-tools[open] summary > span:first-child::before { content: '−'; }
#archive-count { font: 9px monospace; color: #9bb5cc; }
.archive-tools .gallery-tools { padding-top: 10px; border: 0; }
.archive-tools .search-row { margin: 10px 0 16px; }
.archive-random { flex: 0 0 44px; }
.archive-deck { margin-top: 2px; }
.archive-section { padding-top: 56px; }
.archive-heading { margin-bottom: 24px; }
@media(max-width:760px) {
  .archive-toolbar { gap: 9px; }
  .archive-tools .gallery-filters { gap: 3px; }
  .archive-tools .gallery-filters .filter-btn { padding-inline: 9px; }
  .archive-tools .gallery-tools { flex-direction: column; align-items: start; }
}

/* A readable animation control and curated, interactive photo essays. */
.header-inner .motion-toggle { font-size: 10px; min-width: 83px; }
.motion-toggle[aria-disabled=true] { cursor: default; color: #a5c5d3; }
.chapter-explorer { margin: 35px 0 65px; border: 1px solid #d0f0ff24; background: linear-gradient(135deg,#314e6826,#9eeaf50a); border-radius: 20px; overflow: hidden; }
.chapter-tabs { display: flex; border-bottom: 1px solid #d0f0ff24; }
.chapter-tabs button { flex: 1; min-height: 66px; display: flex; align-items: center; justify-content: center; gap: 16px; padding: 14px; border: 0; border-bottom: 2px solid transparent; background: transparent; color: #acc6d9; font-size: 13px; }
.chapter-tabs button span { font: 9px monospace; color: #92aebe; }
.chapter-tabs button[aria-pressed=true] { border-bottom-color: #9ef5e6; background: #b4f9ec0b; color: #d6fff4; }
.chapter-tabs button:hover { background: #b4f9ec10; }
.chapter-body { display: grid; grid-template-columns: 1.2fr 1fr; gap: 65px; padding: 48px; align-items: center; }
.chapter-visual { position: relative; padding: 0 32px 55px 0; }
.chapter-photo { display: block; position: relative; width: 100%; padding: 0; border: 1px solid #d5eafa38; border-radius: 5px; background: #112d40; overflow: hidden; }
.chapter-photo>img { width: 100%; height: 360px; object-fit: cover; }
.chapter-photo>span { position: absolute; left: 16px; bottom: 16px; background: #102b41b3; border: 1px solid #eef6ff40; padding: 10px 13px; backdrop-filter: blur(12px); border-radius: 5px; color: white; font: 8px monospace; letter-spacing: 1px; }
.chapter-print { position: absolute; right: 0; bottom: 0; width: 44%; background: #e4eceb; padding: 8px; transform: rotate(8deg); box-shadow: 0 18px 30px #020b2255; color: #243647; pointer-events: none; }
.chapter-print img { width: 100%; aspect-ratio: 1.3; height: auto; object-fit: cover; }
.chapter-print figcaption { font: italic 10px/1.5 Georgia,serif; padding: 10px 2px 5px; text-align: center; }
.chapter-copy h3 { font: 400 clamp(32px,3.6vw,49px)/1.05 Georgia,serif; letter-spacing: -1.5px; max-width: 350px; color: #eaf3f8; }
.chapter-copy h3 em { color: #a5eadd; }
#chapter-description { margin-top: 23px; color: #a9c2d5; font-size: 14px; line-height: 1.85; max-width: 360px; }
.chapter-count { color: #9ab7c8; font: 8px monospace; letter-spacing: 1.6px; margin-top: 25px; }
.chapter-open { display: inline-flex; align-items: center; justify-content: space-between; gap: 36px; padding: 12px 0; margin-top: 17px; border: 0; border-bottom: 1px solid #a5eadd70; color: #ddfff5; background: transparent; font-size: 12px; }
.chapter-open:hover span { transform: translate(3px,-3px); }
.chapter-open span { transition: transform .2s; }
.chapter-pagination { display: flex; align-items: center; gap: 17px; margin-top: 25px; }
.chapter-pagination > span { font: 9px monospace; color: #9cbece; }
@media(max-width:1050px) { .chapter-body { gap: 32px; padding: 30px; }.chapter-photo>img { height: 315px; } }
@media(max-width:760px) {
  .chapter-body { grid-template-columns: 1fr; gap: 35px; padding: 25px; }
  .chapter-tabs button { flex-direction: column; gap: 5px; font-size: 11px; padding: 10px 5px; }
  .chapter-tabs button span { font-size: 8px; }
  .chapter-visual { padding-right: 20px; padding-bottom: 35px; }
  .chapter-photo>img { height: 265px; }
  .chapter-copy h3 { font-size: 38px; }
  #chapter-description { font-size: 13px; }
  .chapter-print { width: 47%; }
}
@media(max-width:420px) {
  .header-inner { gap: 8px; }
  .header-inner .wordmark { font-size: 20px; }
  .header-inner .brand-dot { display: none; }
  .header-inner .motion-toggle { font-size: 9px; min-width: 75px; }
  .nav-open-btn { font-size: 10px; padding-inline: 12px; gap: 7px; }
  .chapter-body { padding: 20px; }
}

/* Thumb-reachable mobile camera lens, outside the blurred header's fixed context. */
.mobile-lens { display: none; }
@media(max-width:760px) {
  html { scroll-padding-bottom: 130px; }
  body { padding-bottom: calc(110px + env(safe-area-inset-bottom,0px)); }
  .focus-dial { display: none; }
  .mobile-lens { display: block; position: fixed; z-index: 35; width: 300px; height: 242px; left: 50%; bottom: calc(10px + env(safe-area-inset-bottom,0px)); transform: translateX(-50%); pointer-events: none; }
  .lens-toggle { position: absolute; left: 50%; bottom: 24px; transform: translateX(-50%); width: 70px; height: 70px; border-radius: 50%; border: 1px solid #bfdbe778; background: linear-gradient(135deg,#4b6277,#091b2d 40%,#16364c); box-shadow: 0 8px 26px #010a25a6,inset 0 0 0 3px #263f52,inset 0 0 0 5px #071a2f; pointer-events: auto; display: grid; place-items: center; padding: 0; color: #e6fff8; isolation: isolate; }
  .lens-ring { position: absolute; inset: -7px; border-radius: 50%; background: repeating-conic-gradient(from 0deg,#c3e5e88c 0deg 1deg,#122d46 1deg 7deg); mask-image: radial-gradient(transparent 61%,black 63%); transform: rotate(calc(var(--lens-rotation,0deg) + var(--lens-open-turn,0deg))); transition: transform .45s cubic-bezier(.2,.8,.2,1); filter: drop-shadow(0 0 3px #000); }
  .lens-glass { position: absolute; inset: 9px; border-radius: 50%; background: radial-gradient(circle at 35% 23%,#9ce9e670,transparent 35%),radial-gradient(circle at 60% 70%,#193664,#081322 72%); border: 1px solid #aedbdd55; overflow: hidden; box-shadow: inset 0 0 12px #020b1c; }
  .lens-iris { position: absolute; inset: 7px; border-radius: 50%; background: repeating-conic-gradient(from 20deg,#3f839381 0 45deg,#19344d 45deg 60deg); clip-path: polygon(25% 0,75% 0,100% 50%,75% 100%,25% 100%,0 50%); transform: rotate(calc(var(--lens-rotation,0deg)*-.5 + var(--lens-open-turn,0deg))); transition: transform .55s cubic-bezier(.2,.8,.2,1); }
  .lens-iris::after { content: ''; position: absolute; inset: 9px; background: #051222; border-radius: 50%; box-shadow: 0 0 5px #58cec43a; }
  .lens-button-label { position: relative; z-index: 2; font: 9px/1 monospace; letter-spacing: .6px; padding: 4px; text-shadow: 0 1px 4px black; }
  .lens-section-label { position: absolute; bottom: 0; left: 50%; transform: translateX(-50%); font: 8px/1.3 monospace; letter-spacing: 1px; white-space: nowrap; color: #b9efe5; background: #0b2038dc; border: 1px solid #e0faff1c; border-radius: 10px; padding: 3px 10px; }
  .lens-fan { position: absolute; inset: 18px 0 17px; border-radius: 150px 150px 35px 35px; border: 1px solid #d9eeff24; background: radial-gradient(ellipse at 50% 100%,#234858e8,#12233aed 75%); backdrop-filter: blur(24px); -webkit-backdrop-filter: blur(24px); box-shadow: 0 12px 45px #0005; opacity: 0; transform: translateY(35px) scale(.65); transform-origin: 50% 100%; transition: opacity .3s,transform .45s cubic-bezier(.2,.8,.2,1); }
  .lens-options { position: absolute; inset: 0; display: block; padding: 0; margin: 0; background: transparent; border: 0; box-shadow: none; backdrop-filter: none; -webkit-backdrop-filter: none; pointer-events: none; }
  .lens-options a { position: absolute; left: calc(50% + var(--lens-x)); bottom: calc(34px + var(--lens-rise)); width: 72px; min-height: 48px; padding: 7px 3px; border-radius: 13px; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 4px; border: 1px solid #e1f7ff24; background: #d3edff0c; color: #d7edf6; font: 11px/1.2 'Segoe UI',Arial,sans-serif; visibility: hidden; opacity: 0; transform: translate(-50%,35px) scale(.5) rotate(-15deg); transform-origin: 50% 100%; transition: transform .4s cubic-bezier(.18,.85,.3,1),opacity .25s; }
  .lens-options a span { font: 7px monospace; color: #82adbe; }
  .lens-options a[aria-current] { border-color: #a9f5e7a3; background: #75dace21; color: #bdfff1; }
  .lens-options a:is(:hover,:focus-visible) { background: #6bd7c93b; }
  .is-open { --lens-open-turn: 65deg; }
  .is-open .lens-fan { opacity: 1; transform: none; }
  .is-open .lens-options a { visibility: visible; opacity: 1; pointer-events: auto; transform: translate(-50%,0) scale(1) rotate(0); transition-delay: calc(var(--lens-order)*30ms); }
  .photo-open .mobile-lens { visibility: hidden; }
}

/* Shared controls stay available in every collection layout. */
#gallery-status, #save-status { text-align: center; color: #bdd1e0; font-size: 14px; margin: 12px auto; }
#save-status:empty { display: none; }
.deck-controls, .photo-actions { display: flex; flex-wrap: wrap; justify-content: center; gap: 8px; }
.photo-actions { margin-block: 12px; }
#share-link { width: 100%; padding: 12px; font-size: 16px; }
#photo-load-status:empty { display:none; }
#photo-load-status { color:var(--muted); line-height:1.6; }
.fallback-gallery { display: grid; grid-template-columns: repeat(auto-fit,minmax(140px,1fr)); gap: 16px; }
.fallback-gallery img { width: 100%; height: 180px; object-fit: cover; }
.memory-print { text-align: center; }
@media(max-width:760px) {
  .archive-heading .eyebrow, .eyebrow, .deck-card-top, #deck-category, .deck-hint,
  .deck-scrubber, #archive-count, .chapter-count, .chapter-pagination > span,
  .chapter-tabs button span, .chapter-photo>span, .lens-options a span { font-size: 12px; letter-spacing: .5px; }
  .archive-section .collection-view button, .filter-btn, .archive-tools summary,
  .deck-card-title, .memory-print span, .chapter-print figcaption, .chapter-tabs button,
  .chapter-open, .lens-options a, .lens-button-label, .lens-section-label { font-size: 14px; }
  .archive-heading > p:last-child, #chapter-description, .collection-note { font-size: 16px; }
  .header-inner .motion-toggle, .nav-open-btn { font-size: 12px; min-width: 0; }
  .header-inner { flex-wrap: wrap; height: auto; min-height: 80px; padding-block: 12px; }
  .archive-section .collection-view { flex-wrap: wrap; }
  .deck-controls { padding-inline: 20px; }
  .deck-card-top { letter-spacing: 0; }
  .deck-hint { max-width: 290px; }
}

/* Keep gallery navigation aligned and the selected sleeve inside its stage. */
@media(max-width:420px) {
  .archive-section .collection-view { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 6px; }
  .archive-section .collection-view button { padding: 9px 5px; border-radius: 16px; line-height: 1.3; min-height: 60px; }
  .archive-section .collection-view button span { display: block; margin: 0 0 4px; }
  .deck-controls { display: grid; grid-template-columns: 44px minmax(0,150px) 44px; justify-content: center; }
  #deck-prev { grid-area: 1 / 1; }
  #deck-open { grid-area: 1 / 2; padding-inline: 12px; }
  #deck-next { grid-area: 1 / 3; }
  #deck-save { grid-area: 2 / 2; justify-self: center; min-width: 100px; }
  #deck-autoplay { grid-area: 3 / 2; justify-self: center; min-width: 100px; }
}
@media(max-width:760px) {
  /* Park the closed menu at the edge, away from the active photograph. */
  .mobile-lens:not(.is-open) { left: auto; right: 12px; transform: none; width: 86px; height: 114px; }
  .mobile-lens.is-minimized:not(.is-open) { width:64px; height:82px; right:8px; opacity:.82; }
  .mobile-lens.is-minimized:not(.is-open) .lens-toggle { width:50px; height:50px; bottom:18px; }
  .mobile-lens.is-minimized:not(.is-open) .lens-section-label { display:none; }
  .mobile-lens.is-minimized:not(.is-open) .lens-button-label { font-size:0; }
  .mobile-lens.is-minimized:not(.is-open) .lens-button-label::after { content:'Menu'; font-size:8px; }
  .archive-section .search-label { width: 100%; min-width: 0; }
  .archive-section .search-label input { font-size: 16px; min-width: 0; }
  .mosaic-grid .photo-info { padding-bottom: 12px; }
  .mosaic-grid .save-photo { position: static; margin-top: 10px; min-height: 44px; font-size: 14px; }
}
.deck-empty .filter-btn { margin-top: 20px; }
.deck-caption, .deck-hint { padding-inline: 20px; }

/* An in-page introduction makes the travel journal easy to discover. */
.journey-preview { display: grid; grid-template-columns: .9fr 1.1fr; gap: 50px 60px; align-items: center; padding-block: 85px; border-block: 1px solid #d5edff26; margin-block: 35px; }
.journey-preview-intro h2 { font: 400 clamp(38px,4.5vw,66px)/1.1 'Segoe UI',Arial,sans-serif; letter-spacing: -2px; margin: 22px 0; }
.journey-preview-intro h2 em { font-family: Georgia,serif; color: #b4f5ed; }
.journey-preview-intro > p:not(.eyebrow) { max-width: 410px; color: #a9bbd2; font-size: 16px; line-height: 1.8; }
.journey-preview-cta { display: inline-flex; align-items: center; justify-content: space-between; gap: 22px; min-height: 52px; margin-top: 27px; padding: 12px 14px 12px 20px; border: 1px solid #b4f5ed73; border-radius: 999px; color: #092130; background: linear-gradient(135deg,#d8fff8,#7ee4dc); box-shadow: 0 12px 34px #06111e52,inset 0 1px 0 #fff8; font-weight: 700; transition: transform .25s,box-shadow .25s,border-color .25s; }
.journey-preview-cta-icon { display: grid; place-items: center; width: 30px; height: 30px; border-radius: 50%; color: #d8fff8; background: #10233a; transition: transform .3s cubic-bezier(.22,1,.36,1); }
.journey-preview-cta:is(:hover,:focus-visible) { transform: translateY(-2px); border-color: #d8fff8; box-shadow: 0 18px 42px #06111e70,0 0 0 5px #b4f5ed12; }
.journey-preview-cta:is(:hover,:focus-visible) .journey-preview-cta-icon { transform: translate(2px,-2px) rotate(6deg); }
.journey-preview-intro .journey-preview-note { font-size: 12px!important; margin-top: 20px; }
.journey-preview-visual { display: grid; grid-template-columns: 1.4fr 1fr; gap: 20px; align-items: end; min-width: 0; }
.journey-preview-visual img { width: 100%; height: 370px; object-fit: cover; }
.journey-preview-side img { height: 230px; }
.journey-preview-visual figcaption { font: 11px/1.7 monospace; color: #adc5d6; margin-top: 14px; letter-spacing: .7px; }
.journey-preview-side figcaption { font: italic 17px/1.5 Georgia,serif; letter-spacing: 0; color: #b4f5ed; }
.journey-preview-chapters { grid-column: 1 / -1; display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); border-top: 1px solid #d5edff26; }
.journey-preview-chapters a { display: flex; align-items: center; gap: 18px; padding: 24px 18px; min-width: 0; border-bottom: 1px solid #d5edff26; transition: background .25s; }
.journey-preview-chapters a:hover { background: #b4f5ed08; }
.journey-preview-number { font: 12px monospace; color: #b4f5ed; }
.journey-preview-chapters strong { display: block; font-size: 20px; font-weight: 400; }
.journey-preview-chapters small { display: block; font-size: 12px; color: #a9bbd2; margin-top: 4px; }
.journey-preview-chapters a > span:last-child { margin-left: auto; color: #b4f5ed; }
@media(max-width:1050px) { .journey-preview { gap: 35px; }.journey-preview-visual { gap: 12px; }.journey-preview-chapters a { padding-inline: 8px; gap: 12px; } }
@media(max-width:760px) {
  .journey-preview { grid-template-columns: 1fr; padding-block: 50px; gap: 32px; }
  .journey-preview-intro h2 { font-size: 42px; }
  .journey-preview-visual img { height: 290px; }
  .journey-preview-side img { height: 200px; }
  .journey-preview-chapters { grid-template-columns: 1fr; }
  .journey-preview-chapters a { padding-block: 20px; }
}

/* Six menu destinations, with distinct touch targets for the journey chapter. */
@media(max-width:760px) {
  .mobile-lens.is-open { height: 280px; }
  .is-open .lens-fan { inset: 0 0 17px; }
  .lens-options a { width: 64px; min-height: 60px; font-size: 12px; text-align: center; }
}

/* Keep the motion label inside a real button at every header width. */
.header-inner .motion-toggle { display: inline-flex; align-items: center; justify-content: center; flex-shrink: 0; min-height: 44px; padding: 10px 14px; border: 1px solid #d2f6ff30; border-radius: 30px; white-space: nowrap; line-height: 1.4; font-size: 12px; }
.deck-hint { display: flex; justify-content: center; flex-wrap: wrap; gap: 6px 16px; max-width: none; padding-inline: 20px; font: 12px/1.6 'Segoe UI',Arial,sans-serif; letter-spacing: 0; text-transform: none; color: #a9bbd2; }
.deck-hint span { white-space: nowrap; padding: 0; }
.deck-hint span + span::before { content: '·'; padding-right: 16px; color: #b4f5ed; }
@media(max-width:420px) {
  .header-inner { gap: 8px; }
  .header-inner .wordmark { font-size: 21px; }
  .header-inner .motion-toggle { padding-inline: 12px; }
  .deck-hint { gap: 4px 12px; max-width: 100%; }
  .deck-hint span + span::before { content: none; }
  .deck-hint span:last-child { flex-basis: 100%; }
}
