@font-face { font-family:"Space Grotesk"; src:url("fonts/space-grotesk-variable.woff2") format("woff2"); font-style:normal; font-weight:300 700; font-display:swap; }
@font-face { font-family:"IBM Plex Mono"; src:url("fonts/ibm-plex-mono-regular.woff2") format("woff2"); font-style:normal; font-weight:400; font-display:swap; }
@font-face { font-family:"IBM Plex Mono"; src:url("fonts/ibm-plex-mono-bold.woff2") format("woff2"); font-style:normal; font-weight:700; font-display:swap; }

[hidden]{display:none!important}


/* Public content directories: deliberately editorial, simple and mobile-safe. */
.content-directory,.content-detail{min-height:100dvh;padding:clamp(6.5rem,12vw,9rem) clamp(1rem,4vw,4rem) calc(9rem + var(--safe-bottom));background:rgb(232 224 192/.92);backdrop-filter:saturate(.72) blur(.8px)}
.content-directory{background:var(--paper-over-map);backdrop-filter:saturate(.72) blur(.8px)}
.content-stage,.content-sheet{width:min(1120px,100%);margin:0 auto}
.content-filter-disclosure>summary{display:none;min-height:48px;align-items:center;cursor:pointer;font-weight:800}
.content-filters{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.75rem;margin:2rem 0}
.content-filters label,.public-search label{display:grid;gap:.4rem;font:700 .78rem/1.2 var(--font-sans,system-ui);letter-spacing:.08em;text-transform:uppercase}
.content-filters select,.public-search input{min-height:3rem;width:100%;border:1px solid #1d1b18;border-radius:.35rem;background:#fffdf7;padding:.6rem .75rem;color:#1d1b18;font:inherit}
.content-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.25rem;padding:.55rem}
.content-card{position:relative;display:flex;min-width:0;flex-direction:column;padding:1.25rem;border:1px solid #1d1b18;border-radius:.25rem;background:#fffdf7;box-shadow:5px 6px 0 #d0bd72}
.content-card:nth-child(3n+1){transform:rotate(-2deg)}.content-card:nth-child(3n+2){transform:rotate(2.5deg)}.content-card:nth-child(3n){transform:rotate(-1.8deg)}
.content-card-ticket{border:2px dashed #1d1b18;background:linear-gradient(90deg,transparent 0 9px,#fffdf7 9px calc(100% - 9px),transparent calc(100% - 9px));box-shadow:5px 6px 0 #ea9eae}
.content-card-receipt{border-top:4px double #1d1b18;border-bottom:4px double #1d1b18;background:#f8f3df;clip-path:polygon(0 3%,4% 0,8% 3%,12% 0,16% 3%,20% 0,24% 3%,28% 0,32% 3%,36% 0,40% 3%,44% 0,48% 3%,52% 0,56% 3%,60% 0,64% 3%,68% 0,72% 3%,76% 0,80% 3%,84% 0,88% 3%,92% 0,96% 3%,100% 0,100% 97%,96% 100%,92% 97%,88% 100%,84% 97%,80% 100%,76% 97%,72% 100%,68% 97%,64% 100%,60% 97%,56% 100%,52% 97%,48% 100%,44% 97%,40% 100%,36% 97%,32% 100%,28% 97%,24% 100%,20% 97%,16% 100%,12% 97%,8% 100%,4% 97%,0 100%)}
.content-card:nth-child(-n+3){animation:content-piece-in .2s ease-out both}.content-card:nth-child(2){animation-delay:.06s}.content-card:nth-child(3){animation-delay:.12s}
@keyframes content-piece-in{from{opacity:0;translate:0 10px}to{opacity:1;translate:0 0}}
.content-card h2{margin:.25rem 0;font-size:clamp(1.35rem,2.3vw,2rem);overflow-wrap:anywhere}.content-card>p:not(.content-card-kicker){flex:1}
.content-card a,.content-back,.content-links a,.search-groups a{display:inline-flex;min-height:48px;align-items:center;color:inherit;font-weight:800;text-underline-offset:.2em}
.content-card-kicker,.content-empty{font-size:.78rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase}
.content-sheet{padding:clamp(1.2rem,4vw,3rem);border:1px solid #1d1b18;border-radius:.15rem;background:#fffdf7;box-shadow:8px 9px 0 #d0bd72;clip-path:polygon(0 0,100% 0,100% 97%,97% 100%,94% 98%,91% 100%,88% 98%,85% 100%,82% 98%,79% 100%,76% 98%,73% 100%,70% 98%,67% 100%,64% 98%,61% 100%,58% 98%,55% 100%,52% 98%,49% 100%,46% 98%,43% 100%,40% 98%,37% 100%,34% 98%,31% 100%,28% 98%,25% 100%,22% 98%,19% 100%,16% 98%,13% 100%,10% 98%,7% 100%,4% 98%,0 100%)}
.content-sheet h1{max-width:18ch;margin:.7rem 0;font-size:clamp(2.3rem,7vw,5.6rem);line-height:.9;overflow-wrap:anywhere}
.content-sheet dl{display:grid;grid-template-columns:max-content minmax(0,1fr);gap:.55rem 1rem;margin:2rem 0}.content-sheet dt{font-weight:800}.content-sheet dd{margin:0;overflow-wrap:anywhere}
.tag-row,.content-links{display:flex;flex-wrap:wrap;gap:.5rem}.tag-row a{display:inline-flex;min-height:48px;align-items:center;padding:.35rem .7rem;border-radius:999px;background:#f1cad2;color:inherit;font-weight:800;text-underline-offset:.15em}
.content-links{margin-top:1.5rem}.content-links a{padding:.55rem .8rem;border:1px solid currentColor;border-radius:999px}
.public-search>div{display:flex;gap:.5rem;max-width:44rem}.public-search button{min-height:3rem;border:0;border-radius:.35rem;background:#1d1b18;color:#fff;padding:.6rem 1.2rem;font-weight:800}
.search-groups{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.25rem;margin-top:1.5rem;padding:.45rem}.search-groups section{display:grid;align-content:start;gap:.6rem;padding:1rem;border:1px solid #1d1b18;background:#fffdf7;box-shadow:4px 5px 0 #d0bd72}.search-groups section:nth-child(1){transform:rotate(-1.8deg)}.search-groups section:nth-child(2){transform:rotate(2deg)}.search-groups section:nth-child(3){transform:rotate(-1.2deg)}.search-groups h2{margin:0}.search-groups a{overflow-wrap:anywhere}
@media(max-width:720px){.content-filter-disclosure{margin:1.25rem 0}.content-filter-disclosure>summary{display:flex;border-block:1px solid #1d1b18;padding:.65rem .2rem}.content-filter-disclosure[open]>summary{border-bottom:0}.content-filters{margin:.25rem 0 1.5rem;padding:.75rem;border:1px solid #1d1b18;background:#fffdf7}.content-filters,.content-cards,.search-groups{grid-template-columns:1fr}.content-directory,.content-detail{padding-top:calc(150px + var(--safe-top));padding-inline:.75rem}.content-card{width:calc(100% - 10px);margin-inline:5px}.content-sheet dl{grid-template-columns:1fr}.content-sheet dd+dt{margin-top:.65rem}.search-groups a{justify-self:start;max-width:calc(100% - 64px)}}
@media(max-width:720px){body:has(.content-filter-disclosure[open]) .radio-thread{visibility:hidden;opacity:0;transform:translateY(calc(100% + 20px));transition:none;pointer-events:none}}
@media(max-width:720px){body:is([data-route="rincones"],[data-route="orejas"],[data-route="corner"],[data-route="ear"],[data-route="buscar"]) .radio-thread{left:auto;right:calc(9px + var(--safe-right));width:48px;grid-template-columns:48px}body:is([data-route="rincones"],[data-route="orejas"],[data-route="corner"],[data-route="ear"],[data-route="buscar"]) .radio-thread::after{display:none}body:is([data-route="rincones"],[data-route="orejas"],[data-route="corner"],[data-route="ear"],[data-route="buscar"]) .radio-thread :is(.radio-brand,.radio-copy,.radio-mute){display:none}}
@media(max-width:360px){.content-directory,.content-detail{padding-inline:.5rem}.public-search>div{display:grid}.content-card,.content-sheet{padding:1rem}}
@media(prefers-reduced-motion:reduce){.content-card:nth-child(-n+3){animation:none}}

.suggestion-tab{position:fixed;left:max(14px,env(safe-area-inset-left));bottom:max(74px,calc(env(safe-area-inset-bottom) + 62px));z-index:1750;min-height:48px;padding:11px 18px;border:2px solid var(--ink);border-radius:3px;background:#e8e0c0;color:var(--ink);font-weight:900;box-shadow:5px 5px 0 var(--pink);transform:rotate(-1deg)}
.suggestion-tab-symbol{display:none;width:25px;height:25px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.suggestion-tab:hover,.suggestion-tab:focus-visible{transform:rotate(1deg) translateY(-2px)}
.suggestion-dialog{width:min(620px,calc(100% - 24px));max-height:min(760px,calc(100dvh - 24px));padding:0;border:0;background:transparent;overflow:visible}
.suggestion-dialog::backdrop{background:rgb(20 18 16/.72);backdrop-filter:blur(3px)}
.suggestion-card{position:relative;margin:8px;padding:clamp(25px,7vw,48px);border:2px solid var(--ink);background:#fffdf3;box-shadow:9px 9px 0 var(--cyan);transform:rotate(.35deg);overflow:auto;max-height:calc(100dvh - 40px)}
.suggestion-card::before{content:"";position:absolute;inset:10px;border:1px dashed rgb(36 33 31/.32);pointer-events:none}.suggestion-card>*{position:relative}
.suggestion-card h2{margin:0 52px 12px 0;font-size:clamp(2.1rem,8vw,4.1rem);line-height:.9;text-transform:uppercase}.suggestion-kicker{margin:0 0 8px;font:900 .75rem/1 ui-monospace,monospace;letter-spacing:.14em}
.suggestion-card label{display:grid;gap:7px;margin:22px 0 14px;font-weight:900}.suggestion-card textarea{width:100%;min-height:156px;resize:vertical;padding:14px;border:2px solid var(--ink);border-radius:2px;background:white;color:var(--ink);font:inherit}
.suggestion-close{position:absolute;top:18px;right:18px;z-index:2;width:48px;height:48px;border:2px solid var(--ink);border-radius:50%;background:var(--yellow);font-size:2rem;line-height:1}.suggestion-honey{position:absolute!important;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}
.suggestion-actions{display:flex;flex-wrap:wrap;gap:10px}.suggestion-actions button{min-height:48px;padding:11px 18px;border:2px solid var(--ink);background:white;font-weight:900}.suggestion-actions button[type=submit]{background:var(--ink);color:white;box-shadow:4px 4px 0 var(--pink)}
.suggestion-privacy{font-size:.82rem}.suggestion-message{min-height:1.5em;margin-bottom:0;font-weight:900}.suggestion-message.is-ok{color:#176147}.suggestion-message.is-error{color:#9b2828}
@media(max-width:720px){.suggestion-tab{display:grid;place-items:center;width:48px;height:48px;min-height:48px;bottom:max(66px,calc(env(safe-area-inset-bottom) + 62px));padding:0;font-size:.82rem;opacity:.82}.suggestion-tab:hover,.suggestion-tab:focus-visible{opacity:1}.suggestion-tab-symbol{display:block}.suggestion-tab>span{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.suggestion-dialog{width:calc(100% - 14px);max-height:calc(100dvh - 14px)}.suggestion-card{margin:5px;padding:24px 18px;max-height:calc(100dvh - 24px)}.suggestion-card h2{font-size:clamp(2rem,14vw,3.2rem)}.suggestion-actions{display:grid;grid-template-columns:1fr 1fr}}
@media(prefers-reduced-motion:reduce){.suggestion-tab{transition:none}}

:root {
  --font-display: "Space Grotesk", system-ui, sans-serif;
  --font-mono: "IBM Plex Mono", ui-monospace, monospace;
  --paper: #e8e0c0;
  --paper-deep: #d3c79e;
  --ink: #171713;
  --pink: #ff006e;
  --cyan: #00d8b0;
  --yellow: #dfff00;
  --blue: #173fc4;
  --white: #fffdf3;
  --paper-over-map: rgb(232 224 192 / .92);
  --header-space: 100px;
  --safe-top: env(safe-area-inset-top, 0px);
  --safe-right: env(safe-area-inset-right, 0px);
  --safe-bottom: env(safe-area-inset-bottom, 0px);
  --safe-left: env(safe-area-inset-left, 0px);
}

* { box-sizing: border-box; }
html { min-width: 320px; background: var(--paper); color: var(--ink); }
body { margin: 0; min-width: 320px; min-height: 100vh; min-height: 100dvh; overflow-x: hidden; font-family: var(--font-display); }
button, a { -webkit-tap-highlight-color: transparent; }
button { font: inherit; color: inherit; }
a { color: inherit; }
:focus-visible { outline: 3px solid var(--blue); outline-offset: 4px; }
.sr-only { position: absolute !important; width: 1px !important; height: 1px !important; padding: 0 !important; margin: -1px !important; overflow: hidden !important; clip: rect(0,0,0,0) !important; white-space: nowrap !important; border: 0 !important; }
.skip-link { position: fixed; z-index: 3000; left: 12px; top: 10px; transform: translateY(-170%); background: var(--white); border: 3px solid var(--ink); padding: 12px 16px; font-weight: 900; }
.skip-link:focus { transform: translateY(0); }

.app-header { position: fixed; z-index: 1800; top: calc(14px + var(--safe-top)); left: calc(14px + var(--safe-left)); right: calc(14px + var(--safe-right)); display: flex; justify-content: space-between; align-items: flex-start; pointer-events: none; }
.brand { pointer-events: auto; display: flex; align-items: center; gap: 10px; max-width: min(480px, calc(100vw - 132px)); min-height: 62px; padding: 8px 14px 8px 8px; background: var(--yellow); border: 3px solid var(--ink); box-shadow: 7px 7px 0 var(--pink); text-decoration: none; transform: rotate(-1deg); }
.brand-mark-stage { position: relative; width: 64px; height: 64px; flex: 0 0 auto; }
.brand-symbol { width: 100%; height: 100%; object-fit: contain; }
.brand-skip { pointer-events:auto; position:fixed; z-index:2600; right:calc(18px + var(--safe-right)); top:calc(18px + var(--safe-top)); width:48px; height:48px; border:3px solid var(--ink); background:var(--paper); box-shadow:4px 4px 0 var(--cyan); font-size:28px; font-weight:700; cursor:pointer; }
.brand-skip[hidden] { display:none; }

.brand-intro { position:fixed; z-index:2500; inset:0; display:grid; place-items:center; overflow:hidden; pointer-events:auto; background-color:var(--paper); background-image:radial-gradient(#17171326 1px,transparent 1px); background-size:12px 12px; }
.brand-intro[hidden] { display:none; }
.brand-intro::before { content:""; position:absolute; width:min(760px,120vw); aspect-ratio:1; border-radius:50%; background:radial-gradient(circle,var(--yellow) 0 19%,#00d7c73d 38%,#ff006e26 54%,transparent 72%); transform:scale(.72); opacity:.68; animation:intro-halo 4.2s cubic-bezier(.2,.8,.2,1) both; }
.brand-intro-scene { position:relative; z-index:1; width:min(590px,88vw); height:auto; overflow:visible; opacity:1; filter:drop-shadow(12px 15px 0 #00a8964d) drop-shadow(-8px -5px 0 #ff006e42); }
.intro-flight-line,.intro-cable-line { fill:none; stroke-linecap:round; stroke-linejoin:round; }
.intro-flight-line { stroke:var(--pink); stroke-width:6; stroke-dasharray:8 12; opacity:0; }
.intro-cable-line { stroke:var(--ink); stroke-width:8; opacity:0; }
.intro-plane { fill:var(--ink); opacity:0; offset-path:path("M 28 142 C 36 48 126 17 205 39 S 335 105 315 174 C 301 225 235 237 196 205"); offset-rotate:auto; }
.intro-symbol-top,.intro-symbol-shoes { opacity:0; }
.intro-stamp { position:absolute; z-index:2; left:50%; top:calc(50% + min(255px,50vw)); transform:translate(-50%,16px) rotate(-2deg); opacity:0; padding:11px 16px; border:3px solid var(--ink); background:var(--yellow); box-shadow:7px 7px 0 var(--cyan); font:900 clamp(14px,3vw,24px)/1 var(--font-mono); white-space:nowrap; }
.brand-intro.is-active { animation:intro-arrive .38s ease both; }
.brand-intro.is-active .intro-flight-line { animation:intro-route 2.6s ease-out both; }
.brand-intro.is-active .intro-plane { animation:intro-plane-flight 2.4s cubic-bezier(.32,.08,.28,1) both; }
.brand-intro.is-active .intro-cable-line { animation:intro-cable 1.8s 1.65s ease both; }
.brand-intro.is-active .intro-symbol-top { animation:intro-symbol-top 1s 2.35s ease both; }
.brand-intro.is-active .intro-symbol-shoes { animation:intro-shoes .95s 2.75s cubic-bezier(.2,.8,.2,1) both; }
.brand-intro.is-active .intro-stamp { animation:intro-stamp .55s 3.4s cubic-bezier(.2,.8,.2,1) both; }
.brand-intro.is-leaving { animation:intro-leave .52s ease both; }
@keyframes intro-arrive { from{opacity:0} to{opacity:1} }
@keyframes intro-halo { 0%{opacity:0;transform:scale(.62)} 28%,76%{opacity:.68;transform:scale(1)} 100%{opacity:.4;transform:scale(1.08)} }
@keyframes intro-route { 0%{opacity:0;stroke-dashoffset:190} 10%,66%{opacity:1} 100%{opacity:0;stroke-dashoffset:0} }
@keyframes intro-plane-flight { 0%{opacity:0;offset-distance:0%;transform:scale(.65)} 8%,82%{opacity:1} 100%{opacity:0;offset-distance:100%;transform:scale(1)} }
@keyframes intro-cable { 0%{opacity:0;stroke-dasharray:500;stroke-dashoffset:500} 30%,78%{opacity:1} 100%{opacity:0;stroke-dashoffset:0} }
@keyframes intro-symbol-top { 0%{opacity:0;transform:translateY(-10px)} 100%{opacity:1;transform:none} }
@keyframes intro-shoes { 0%{opacity:0;transform:translate(-12px,-8px) rotate(-4deg)} 58%{opacity:1;transform:translate(6px,2px) rotate(1deg)} 100%{opacity:1;transform:none} }
@keyframes intro-stamp { from{opacity:0;transform:translate(-50%,16px) rotate(-5deg) scale(.8)} to{opacity:1;transform:translate(-50%,0) rotate(-2deg) scale(1)} }
@keyframes intro-leave { to{opacity:0;transform:scale(1.025)} }
.brand-copy strong { display: block; font-size: clamp(20px, 3vw, 31px); line-height: .85; letter-spacing: -.04em; word-spacing:.14em; text-transform: uppercase; text-shadow: 2px 0 var(--pink), -2px 0 var(--cyan); white-space: nowrap; }
.brand-copy small { display: block; margin-top: 6px; font: 700 8px/1.12 var(--font-mono); letter-spacing: .04em; white-space:nowrap; }

.menu-toggle { pointer-events: auto; position: absolute; right:0; z-index: 4; width: 52px; height: 52px; padding: 0; border: 3px solid var(--ink); background: var(--paper); box-shadow: 5px 5px 0 var(--cyan); cursor: pointer; }
.menu-toggle span { position: absolute; left: 13px; width: 22px; height: 3px; background: var(--ink); transform-origin: center; transition: transform .32s cubic-bezier(.2,.8,.2,1), top .32s cubic-bezier(.2,.8,.2,1), opacity .18s ease; }
.menu-toggle span:nth-child(1) { top: 15px; }
.menu-toggle span:nth-child(2) { top: 23px; }
.menu-toggle span:nth-child(3) { top: 31px; }
.menu-toggle[aria-expanded="true"] { background: var(--ink); box-shadow: 5px 5px 0 var(--pink); }
.menu-toggle[aria-expanded="true"] span { background: var(--paper); }
.menu-toggle[aria-expanded="true"] span:nth-child(1) { top: 23px; transform: rotate(45deg); }
.menu-toggle[aria-expanded="true"] span:nth-child(2) { opacity: 0; transform: scaleX(.2); }
.menu-toggle[aria-expanded="true"] span:nth-child(3) { top: 23px; transform: rotate(-45deg); }
.header-search { pointer-events:auto; position:absolute; right:62px; z-index:3; display:grid; place-items:center; width:52px; height:52px; border:3px solid var(--ink); background:var(--paper); box-shadow:5px 5px 0 var(--pink); transform:rotate(1.5deg); }
.header-search svg { width:25px; height:25px; fill:none; stroke:currentColor; stroke-width:2.5; stroke-linecap:round; }
.header-search:hover,.header-search:focus-visible,.header-search[aria-current="page"] { background:var(--yellow); transform:rotate(-1deg); }

.main-menu { pointer-events: auto; position: absolute; right: 0; top: 59px; width: min(360px, calc(100vw - 28px)); padding: 13px 13px 13px 33px; background: var(--paper); border: 3px solid var(--ink); box-shadow: 10px 10px 0 var(--pink); clip-path: polygon(0 0,100% 0,100% 100%,7% 100%,5% 94%,8% 88%,5% 81%,8% 74%,5% 66%,8% 58%,5% 51%,8% 43%,5% 34%,8% 26%,5% 17%,8% 8%); transform-origin: top right; }
.main-menu.is-opening { animation: unfold-menu .42s cubic-bezier(.22,.8,.25,1) both; }
.main-menu.is-closing { animation: fold-menu .33s ease both; }
.menu-stitch { position: absolute; left: 18px; top: 16px; bottom: 16px; border-left: 2px dashed #17171388; }
.main-menu a { display: flex; align-items: center; gap: 13px; min-height: 58px; padding: 12px 10px; border-bottom: 2px solid var(--ink); text-decoration: none; font-weight: 900; font-size: clamp(16px, 4vw, 22px); letter-spacing: -.03em; opacity: 0; transform: translateY(-10px) rotate(-1deg); }
.main-menu a:last-child { border-bottom: 0; }
.main-menu.is-opening a { animation: menu-item .28s ease forwards; }
.main-menu.is-opening a:nth-of-type(1) { animation-delay: .08s; }
.main-menu.is-opening a:nth-of-type(2) { animation-delay: .14s; }
.main-menu.is-opening a:nth-of-type(3) { animation-delay: .20s; }
.main-menu.is-opening a:nth-of-type(4) { animation-delay: .25s; }
.main-menu.is-opening a:nth-of-type(5) { animation-delay: .30s; }
.main-menu.is-opening a:nth-of-type(6) { animation-delay: .35s; }
.main-menu.is-opening a:nth-of-type(7) { animation-delay: .40s; }
.main-menu.is-open a { opacity: 1; transform: none; }
.main-menu a span { font: 700 10px/1 var(--font-mono); color: var(--pink); }
.main-menu a:hover, .main-menu a:focus-visible, .main-menu a[aria-current="page"] { background: var(--yellow); padding-left: 18px; }
@keyframes unfold-menu { from { opacity: 0; transform: perspective(600px) rotateX(-22deg) scaleY(.6); } to { opacity: 1; transform: none; } }
@keyframes fold-menu { to { opacity: 0; transform: perspective(600px) rotateX(-16deg) scaleY(.72); } }
@keyframes menu-item { to { opacity: 1; transform: none; } }

#view-root { position:relative; min-height: 100vh; min-height: 100dvh; background: #aecac1; }
.view { min-height: 100vh; min-height: 100dvh; animation: view-in .42s cubic-bezier(.2,.75,.2,1) both; }
.view:not(.view-map) { position:relative; z-index:2; }
.view[hidden] { display: none !important; }
@keyframes view-in { from { opacity: 1; transform: translateY(10px); } to { opacity: 1; transform: none; } }

.view-legal { padding:calc(120px + var(--safe-top)) max(18px,6vw) calc(110px + var(--safe-bottom)); background:radial-gradient(circle at 1px 1px,#17171313 1px,transparent 1.5px),rgb(232 224 192/.94); background-size:8px 8px; backdrop-filter:saturate(.7) blur(1px); }
.legal-sheet { width:min(1120px,100%); margin:0 auto; border:3px solid var(--ink); background:#f8f3dc; box-shadow:11px 11px 0 var(--pink),17px 17px 0 var(--cyan); transform:rotate(-.25deg); }
.legal-heading { position:relative; padding:clamp(30px,6vw,70px); border-bottom:3px dashed #17171388; overflow:hidden; }
.legal-heading::after { content:""; position:absolute; right:-30px; bottom:-45px; width:190px; height:190px; border:28px solid var(--yellow); border-radius:50%; opacity:.75; }
.legal-heading>span { display:inline-block; position:relative; z-index:1; padding:8px 10px; background:var(--pink); color:var(--ink); font:900 11px/1 var(--font-mono); letter-spacing:.06em; transform:rotate(-2deg); }
.legal-heading h1 { position:relative; z-index:1; max-width:900px; margin:24px 0 18px; font-size:clamp(58px,11vw,142px); line-height:.76; letter-spacing:-.09em; text-transform:uppercase; text-shadow:4px 0 var(--pink),-4px 0 var(--cyan); }
.legal-heading p { position:relative; z-index:1; max-width:720px; margin:0; font-size:clamp(18px,2.2vw,28px); line-height:1.15; }
.legal-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); }
.legal-grid section { position:relative; min-height:260px; padding:clamp(28px,4.5vw,54px); border-bottom:2px solid var(--ink); }
.legal-grid section:nth-child(odd) { border-right:2px solid var(--ink); }
.legal-number { position:absolute; right:20px; top:18px; color:var(--ink); font:900 42px/1 var(--font-mono); text-shadow:3px 0 var(--pink); }
.legal-grid h2,.credits-strip h2 { max-width:80%; margin:0 0 18px; font-size:clamp(30px,4vw,52px); line-height:.88; letter-spacing:-.055em; text-transform:uppercase; }
.legal-grid p,.credits-strip p { margin:0; font-size:clamp(16px,1.6vw,20px); line-height:1.48; }
.credits-strip { padding:clamp(30px,5vw,60px); background:var(--yellow); }
.credits-strip p+p { margin-top:18px; padding-top:18px; border-top:2px dashed var(--ink); font:700 12px/1.5 var(--font-mono); }
.credits-strip a { color:var(--ink); text-decoration-thickness:2px; text-underline-offset:3px; }
.credits-strip a:hover,.credits-strip a:focus-visible { background:var(--cyan); }

.view-map { position: fixed; z-index:0; inset: 0; overflow: hidden; background: #aecac1; }
.view-map.is-background-map { pointer-events:none; }
.view-map.is-background-map :is(.leaflet-control-container,.map-list,.map-back,.map-no-script,.share-action-home,.leaflet-tooltip) { visibility:hidden!important; pointer-events:none!important; }
.view-map.is-background-map .maplibregl-canvas { filter:saturate(.52) contrast(.9) sepia(.12); }
.map-canvas { position: absolute; inset: 0; z-index: 1; background: #aecac1; }
.map-canvas::after { content: ""; position: absolute; z-index: 450; inset: 0; pointer-events: none; background: radial-gradient(circle at 1px 1px, #17171318 1px, transparent 1.5px); background-size: 7px 7px; mix-blend-mode: multiply; }
.maplibregl-canvas { filter: saturate(.68) contrast(.96) sepia(.05); }
.leaflet-control-zoom { border: 2px solid var(--ink) !important; border-radius: 0 !important; box-shadow: 4px 4px 0 var(--cyan) !important; margin-top: calc(112px + var(--safe-top)) !important; }
.leaflet-control-zoom a { width: 48px !important; height: 48px !important; line-height: 48px !important; border-radius: 0 !important; background: var(--paper) !important; color: var(--ink) !important; font-size: 22px !important; font-weight: 900 !important; }
.leaflet-control-attribution { max-width: 250px; margin-bottom:128px !important; background: #e8e0c0dd !important; font: 9px/1.2 var(--font-mono) !important; }
.leaflet-container a { color: var(--ink); }
.map-no-script { position: absolute; z-index: 0; inset: 0; display: grid; place-content: center; text-align: center; padding: 100px 24px 80px; background: linear-gradient(145deg,#aecac1,#e8e0c0); }
.map-no-script[hidden] { display:none !important; }
.map-no-script strong { font-size: clamp(40px, 9vw, 100px); letter-spacing: -.08em; }
.map-no-script span { font: 700 12px/1.5 var(--font-mono); }
.map-no-script a { justify-self:center; min-height:48px; margin-top:16px; padding:12px 15px; border:3px solid var(--ink); background:var(--yellow); box-shadow:5px 5px 0 var(--pink); font-weight:900; text-decoration:none; }
.leaflet-marker-icon { display:grid !important; place-items:center; }
.trip-marker { position:relative; display:grid; place-items:center; width: 42px; height: 42px; border: 5px solid var(--paper); background: var(--yellow); box-shadow: 0 0 0 3px var(--ink), 6px 6px 0 var(--pink); transition: transform .2s ease; }
.trip-marker svg { width:25px; height:25px; fill:none; stroke:var(--ink); stroke-width:2.5; stroke-linecap:round; stroke-linejoin:round; }
.trip-marker.state-future { border-radius:4px; transform:rotate(45deg) scale(.82); }
.trip-marker.state-future svg { transform:rotate(-45deg); }
.trip-marker.state-current { width:46px; height:34px; border-radius:17px; background:var(--cyan); box-shadow:0 0 0 3px var(--ink),0 0 0 7px var(--paper),7px 7px 0 var(--pink); }
.trip-marker.state-current::after { content:""; position:absolute; inset:-11px; border:2px dashed var(--ink); border-radius:22px; animation:current-trip-signal 2.8s linear infinite; }
.trip-marker.state-past { border-radius:50%; background:var(--pink); box-shadow:0 0 0 3px var(--ink),6px 6px 0 var(--cyan); }
.trip-marker.state-past svg { fill:var(--ink); stroke:none; }
.trip-marker:hover, .leaflet-marker-icon:focus .trip-marker { transform: scale(1.18) rotate(-4deg); }
@keyframes current-trip-signal { to { transform:rotate(1turn); } }
.route-marker { width: 24px; height: 24px; transform: rotate(45deg); background: var(--yellow); border: 4px solid var(--ink); box-shadow: 4px 4px 0 var(--pink); }
.leaflet-interactive.travel-route { stroke-dasharray: 8 13; animation: route-walk 9s linear infinite; filter: drop-shadow(3px 3px 0 var(--cyan)); }
@keyframes route-walk { to { stroke-dashoffset: -168; } }
.leaflet-tooltip.travel-tooltip, .leaflet-tooltip.stop-tooltip { background: var(--paper); color: var(--ink); border: 3px solid var(--ink); border-radius: 0; box-shadow: 7px 7px 0 var(--cyan); padding: 0; }
.leaflet-tooltip.travel-tooltip { pointer-events:auto; }
.leaflet-tooltip.travel-tooltip::before, .leaflet-tooltip.stop-tooltip::before { display: none; }
.travel-tooltip-inner { width: min(250px, calc(100vw - 48px)); padding: 16px; white-space:normal; overflow-wrap:anywhere; }
.travel-tooltip-inner small { display: block; color: #b5004e; font: 900 10px/1 var(--font-display); text-transform: uppercase; letter-spacing: .06em; }
.travel-tooltip-inner strong { display: block; margin: 8px 0 6px; font-size: 29px; line-height: .9; text-transform: uppercase; letter-spacing: -.06em; }
.travel-tooltip-inner span { font: 700 10px/1.4 var(--font-mono); }
.tooltip-actions { display:grid; grid-template-columns:1fr 1fr; gap:7px; margin-top:11px; border-top:1px solid var(--ink); padding-top:9px; }
.tooltip-actions button,.tooltip-actions a { display:grid; place-items:center; min-height:48px; padding:7px; border:2px solid var(--ink); background:var(--yellow); color:var(--ink); font:900 10px/1 var(--font-display); text-align:center; text-decoration:none; text-transform:uppercase; cursor:pointer; }
.tooltip-actions a { background:var(--paper); }
.tooltip-actions button:hover,.tooltip-actions button:focus-visible,.tooltip-actions a:hover,.tooltip-actions a:focus-visible { background:var(--pink); }
.leaflet-tooltip.stop-tooltip { padding: 10px 12px; font: 700 11px/1.3 var(--font-mono); box-shadow: 5px 5px 0 var(--pink); }
.map-back { position: fixed; z-index: 1000; right: calc(18px + var(--safe-right)); top: calc(82px + var(--safe-top)); min-height: 48px; border: 3px solid var(--ink); background: var(--yellow); padding: 10px 13px; box-shadow: 5px 5px 0 var(--pink); font-size: 11px; font-weight: 900; cursor: pointer; }
.map-list { position: fixed; z-index: 900; left: calc(14px + var(--safe-left)); bottom: calc(132px + var(--safe-bottom)); width: min(330px, calc(100vw - 28px)); background: #e8e0c0ee; border: 2px solid var(--ink); box-shadow: 4px 4px 0 var(--cyan); font: 700 11px/1.3 var(--font-mono); }
.map-list summary { min-height: 48px; padding: 14px; cursor: pointer; }
.map-list a { display: flex; flex-direction: column; gap: 4px; min-height: 54px; padding: 10px 14px; border-top: 2px solid var(--ink); text-decoration: none; }
.map-list a:hover, .map-list a:focus-visible { background: var(--yellow); }

.paper-stage { position: relative; min-height: 100dvh; padding: calc(150px + var(--safe-top)) max(6vw, calc(22px + var(--safe-left))) calc(110px + var(--safe-bottom)); background: linear-gradient(90deg, transparent 49.7%, #17171322 50%, transparent 50.4%), radial-gradient(circle at 1px 1px,#17171312 1px,transparent 1.5px),var(--paper-over-map); background-size: auto,8px 8px,auto; backdrop-filter:saturate(.72) blur(.8px); }
.content-directory .paper-stage { background:linear-gradient(90deg,transparent 49.7%,#17171322 50%,transparent 50.4%),radial-gradient(circle at 1px 1px,#17171312 1px,transparent 1.5px); background-size:auto,8px 8px; backdrop-filter:none; }
.paper-stage::after { content: ""; position: absolute; left: 0; right: 0; bottom: 0; height: 24px; background: linear-gradient(135deg,transparent 10px,rgb(232 224 192/.94) 0) 0 0/20px 20px repeat-x; transform: translateY(10px); }
.section-heading { max-width: 900px; }
.kicker { display: inline-block; background: var(--pink); color: var(--ink); padding: 7px 9px; transform: rotate(-2deg); font: 900 10px/1 var(--font-display); letter-spacing: .08em; }
.section-heading h1 { margin: 15px 0 8px; max-width: 800px; font-size: clamp(62px, 14vw, 150px); line-height: .74; letter-spacing: -.09em; text-transform: uppercase; text-shadow: 5px 0 var(--pink), -5px 0 var(--cyan); }
.section-heading p { max-width: 540px; margin: 24px 0 0; font: 20px/1.25 var(--font-display); }
.trip-index { position: relative; max-width: 1050px; margin: 70px auto 0; }
.trip-index[aria-busy="true"] { opacity:.68; }
.trip-message { position:relative; z-index:1; max-width:680px; margin:20px 0; padding:28px; border:3px solid var(--ink); background:var(--yellow); box-shadow:8px 8px 0 var(--pink); font-size:clamp(24px,5vw,48px); font-weight:900; line-height:.95; }
.route-thread { position: absolute; top: 24px; bottom: 20px; left: 52px; border-left: 4px dashed var(--pink); filter: drop-shadow(3px 0 var(--cyan)); }
.trip-entry { position: relative; display: grid; grid-template-columns: 105px minmax(0,1fr) auto; gap: 22px; align-items: end; padding: 25px 0; border-top: 3px solid var(--ink); border-bottom: 3px solid var(--ink); }
.trip-number { position: relative; z-index: 1; align-self: start; display: grid; place-items: center; width: 105px; height: 105px; border-radius: 50%; background: var(--yellow); border: 4px solid var(--ink); box-shadow: 7px 7px 0 var(--pink); font: 900 22px/1 var(--font-mono); }
.trip-state { display: inline-block; width: max-content; padding: 7px 9px; border: 2px solid var(--ink); font: 900 10px/1 var(--font-display); text-transform: uppercase; transform: rotate(-1deg); }
.state-future { background: var(--yellow); }
.state-current { background: var(--cyan); border-style: double; border-width: 4px; }
.state-past { background: var(--pink); }
.state-cancelled { background: var(--paper-deep); text-decoration: line-through; }
.trip-entry h2 { max-width:100%; margin:10px 0 2px; overflow-wrap:anywhere; word-break:break-word; font-size:clamp(42px,7vw,84px); line-height:.84; letter-spacing:-.07em; text-transform:uppercase; }
.trip-entry h2.is-long-title { font-size:clamp(30px,5vw,58px); line-height:.9; letter-spacing:-.05em; }
.trip-entry p { margin: 7px 0; font: 15px/1.3 var(--font-mono); }
.trip-route { max-width: 520px; font-weight: 700 !important; }
.ink-action { display: inline-flex; align-items: center; gap: 8px; min-height: 50px; padding: 12px 16px; border: 3px solid var(--ink); background: var(--yellow); box-shadow: 6px 6px 0 var(--blue); font-weight: 900; text-decoration: none; white-space: nowrap; }
.ink-action:hover, .ink-action:focus-visible { transform: translate(-2px,-2px); box-shadow: 8px 8px 0 var(--pink); }

.view-trip { padding: calc(130px + var(--safe-top)) max(3vw, calc(12px + var(--safe-left))) calc(100px + var(--safe-bottom)); background: rgb(185 208 201/.93); backdrop-filter:saturate(.7) blur(1px); }
.travel-book { max-width: 1280px; margin: 0 auto; display: grid; grid-template-columns: minmax(300px,.8fr) minmax(450px,1.2fr); min-height: 760px; border: 4px solid var(--ink); box-shadow: 15px 15px 0 var(--ink), 24px 24px 0 var(--pink); }
.travel-cover { position: sticky; top: 100px; align-self: start; min-height: 760px; overflow: hidden; padding: 56px 42px 180px; background: var(--paper); border-right: 3px dashed #17171366; }
.travel-cover::before { content: ""; position: absolute; inset: 0; background: radial-gradient(circle at 1px 1px,#17171316 1px,transparent 1.6px); background-size: 7px 7px; pointer-events: none; }
.folio { position: relative; font: 700 11px/1 var(--font-mono); letter-spacing: .1em; }
.travel-cover h1 { position:relative; max-width:100%; margin:70px 0 20px; overflow-wrap:anywhere; word-break:break-word; font-size:clamp(70px,10vw,130px); line-height:.72; letter-spacing:-.095em; text-transform:uppercase; text-shadow:5px 0 var(--pink),-5px 0 var(--cyan); transform:rotate(-2deg); }
.travel-cover h1.is-long-title { font-size:clamp(44px,6vw,84px); line-height:.8; letter-spacing:-.06em; }
.dates { position: relative; display: inline-block; border-top: 3px solid var(--ink); border-bottom: 3px solid var(--ink); padding: 10px 0; font: 900 15px/1 var(--font-mono); }
.cover-route { position: relative; margin: 60px 0 0; font: 900 clamp(22px,3vw,36px)/1.1 var(--font-display); text-transform: uppercase; }
.cover-line { position: absolute; left: 10%; right: 0; bottom: 7%; width: 90%; height: 220px; }
.cover-line path { fill: none; stroke: var(--pink); stroke-width: 6; stroke-linecap: round; stroke-dasharray: 3 16; filter: drop-shadow(4px 3px 0 var(--cyan)); }
.travel-journal { min-width:0; background:var(--white); }
.travel-days { min-height:760px; padding: 45px 42px 60px; background: var(--white); counter-reset: day; }
.travel-day { position: relative; display: grid; grid-template-columns: 82px minmax(0,1fr); gap: 22px; padding: 30px 0 34px; border-bottom: 2px solid var(--ink); }
.travel-day:last-child { border-bottom: 0; }
.travel-day > time { display: grid; place-items: center; align-self: start; width: 70px; min-height: 70px; padding: 8px; border: 3px solid var(--ink); background: var(--yellow); box-shadow: 5px 5px 0 var(--pink); font: 900 14px/1 var(--font-mono); text-align: center; transform: rotate(-2deg); }
.travel-day > div > span,.travel-section > header > span { font: 900 9px/1 var(--font-display); text-transform: uppercase; color: #a30046; letter-spacing: .07em; }
.travel-day h3 { margin: 8px 0 7px; font-size: clamp(28px,4vw,48px); line-height: .9; letter-spacing: -.05em; }
.travel-day p,.travel-section > p { max-width: 620px; margin: 0; font: 17px/1.42 var(--font-display); }
.travel-section { padding:10px 0 34px; }
.travel-section + .travel-section { margin-top:26px; padding-top:38px; border-top:3px dashed #17171366; }
.travel-section > header { margin-bottom:22px; }
.travel-section > header h2 { max-width:650px; margin:7px 0 0; font-size:clamp(32px,4.5vw,58px); line-height:.86; letter-spacing:-.055em; text-transform:uppercase; }
.travel-profile { padding:22px; border:3px solid var(--ink); background:#fff8cf; box-shadow:7px 7px 0 var(--cyan); transform:rotate(-.4deg); }
.travel-profile-lead { margin-bottom:14px!important; font-size:clamp(22px,3vw,34px)!important; font-weight:900!important; line-height:1.1!important; }
.travel-profile-notes { display:grid; grid-template-columns:1fr 1fr; gap:10px; margin-top:20px; }
.travel-profile-notes article { padding:13px; border:2px solid var(--ink); background:var(--white); }
.travel-profile-notes strong { display:block; margin-bottom:5px; font:900 13px/1.2 var(--font-mono); text-transform:uppercase; }
.travel-profile-notes p { font-size:14px; }
.destination-stamps { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }
.destination-stamps article { position:relative; min-width:0; padding:20px 18px; border:3px solid var(--ink); background:var(--paper); box-shadow:5px 5px 0 var(--pink); transform:rotate(-.5deg); }
.destination-stamps article:nth-child(even) { box-shadow-color:var(--yellow); transform:rotate(.7deg); }
.destination-stamps article > span { float:right; font:900 12px/1 var(--font-mono); color:#a30046; }
.destination-stamps h3 { margin:0 0 7px; overflow-wrap:anywhere; font-size:clamp(24px,3vw,38px); line-height:.9; }
.destination-stamps p { margin:0; font:13px/1.35 var(--font-mono); }
.destination-stamps .destination-note { margin-top:12px; padding-top:10px; border-top:1px dashed var(--ink); font-family:var(--font-display); font-size:15px; }
.travel-narratives > article { display:grid; grid-template-columns:40px minmax(0,1fr); gap:13px; padding:18px 0; border-bottom:2px solid var(--ink); }
.travel-narratives > article > span { display:grid; place-items:center; align-self:start; width:38px; height:38px; border:2px solid var(--ink); border-radius:50%; background:var(--pink); font:900 11px/1 var(--font-mono); }
.travel-narratives h3 { margin:0 0 6px; font-size:clamp(23px,3vw,35px); line-height:.95; }
.travel-narratives p { margin:0; font-size:16px; line-height:1.45; white-space:pre-wrap; }
.travel-stages { display:grid; gap:8px; margin:18px 0 0; padding:0; list-style:none; }
.travel-stages li { padding:11px 13px; border-left:5px solid var(--cyan); background:#f5f0e8; }
.travel-stages li > span { display:block; margin-bottom:4px; font:900 9px/1.2 var(--font-mono); color:#a30046; text-transform:uppercase; letter-spacing:.06em; }
.travel-stages strong { display:block; line-height:1.2; }
.travel-stages p { margin-top:4px; font-size:14px; }
.travel-logistics-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; }
.travel-logistics-grid article { min-width:0; padding:15px; border:2px solid var(--ink); background:var(--paper); }
.travel-logistics-grid strong { display:block; overflow-wrap:anywhere; font-size:18px; }
.travel-logistics-grid p { margin:5px 0; font:14px/1.35 var(--font-mono); overflow-wrap:anywhere; }
.travel-logistics-grid span,.travel-logistics-grid a { font:900 11px/1.2 var(--font-mono); }
.travel-logistics-grid a { color:#5d0040; text-decoration-thickness:2px; }
.travel-media-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }
.travel-media figure { min-width:0; margin:0; padding:7px; border:3px solid var(--ink); background:var(--paper); box-shadow:5px 5px 0 var(--cyan); }
.travel-media img,.travel-media video { display:block; width:100%; height:auto; max-height:340px; object-fit:cover; background:#171713; }
.travel-media figcaption { padding:8px 3px 2px; font:900 12px/1.3 var(--font-mono); }
.travel-journal-empty { min-height:620px; display:grid; place-content:center; justify-items:center; gap:12px; text-align:center; }
.travel-journal-empty > span { display:grid; place-items:center; width:82px; height:82px; border:3px solid var(--ink); border-radius:50%; background:var(--yellow); box-shadow:6px 6px 0 var(--pink); font-size:42px; transform:rotate(-5deg); }
.travel-journal-empty h2 { max-width:500px; margin:16px 0 0; font-size:clamp(36px,5vw,62px); line-height:.9; }
.travel-journal-empty p { margin:0; font-size:17px; }

.view-essence { position: relative; isolation: isolate; overflow: hidden; display: grid; place-items: center; padding: calc(120px + var(--safe-top)) calc(20px + var(--safe-right)) calc(80px + var(--safe-bottom)) calc(20px + var(--safe-left)); background: radial-gradient(circle at 50% 20%,rgb(255 251 216/.9) 0 9%,transparent 35%), rgb(232 224 192/.93); backdrop-filter:saturate(.7) blur(1px); }
.view-essence::before { content: ""; position: absolute; inset: 0; z-index: -2; background: linear-gradient(90deg,transparent 49.7%,#17171320 50%,transparent 50.3%),radial-gradient(circle at 1px 1px,#17171318 1px,transparent 1.5px); background-size:auto,8px 8px; }
.essence-title { position: absolute; z-index: 50; left: 5vw; top: calc(112px + var(--safe-top)); margin: 0; font-size: clamp(48px,6.2vw,88px); line-height: .92; letter-spacing: -.065em; word-spacing:.08em; text-transform: uppercase; text-shadow: 4px 0 var(--pink),-4px 0 var(--cyan); transform: rotate(-2deg); }
.living-collage { position:relative; width:min(1180px,94vw); height:min(650px,70dvh); min-height:520px; transform:translateY(54px); perspective:1600px; }
.pata-film { z-index:1; filter:drop-shadow(0 18px 14px #17171318); }
.film-atlas { position:absolute; inset:0; width:100%; height:100%; overflow:visible; }
.film-atlas-paper { fill:#adc8bf; stroke:var(--ink); stroke-width:7; filter:drop-shadow(14px 14px 0 #ff006e66); }
.film-contours { fill:#e8e0c044; stroke:#557c72; stroke-width:4; stroke-dasharray:9 8; }
.film-route-shadow,.film-route,.film-cable { fill:none; stroke-linecap:round; stroke-linejoin:round; }
.film-route-shadow { stroke:var(--paper); stroke-width:18; opacity:.72; }
.film-route { stroke:var(--pink); stroke-width:10; stroke-dasharray:18 12; }
.film-cable { stroke:var(--ink); stroke-width:9; opacity:0; }
.film-plane { fill:var(--ink); opacity:0; filter:drop-shadow(5px 5px 0 var(--cyan)); }
.film-step { fill:var(--yellow); stroke:var(--ink); stroke-width:6; opacity:0; filter:drop-shadow(5px 5px 0 var(--pink)); }
.film-step path+path { fill:none; stroke-width:4; }
.film-verbs { position:absolute; inset:0; z-index:15; pointer-events:none; }
.film-verb { position:absolute; display:block; padding:10px 15px 8px; border:3px solid var(--ink); color:var(--ink); font:900 clamp(18px,2.5vw,38px)/.9 var(--font-display); letter-spacing:-.055em; box-shadow:7px 7px 0 var(--ink); opacity:0; }
.film-verb-long { font-size:clamp(15px,1.9vw,29px); }
.verb-travel { left:5%; top:10%; background:var(--yellow); transform:rotate(-5deg); }
.verb-listen { right:4%; top:17%; background:var(--cyan); transform:rotate(5deg); }
.verb-walk { left:7%; bottom:10%; background:var(--pink); transform:rotate(4deg); }
.verb-tell { right:5%; bottom:8%; background:var(--white); transform:rotate(-4deg); }
.film-book { position:absolute; z-index:12; left:50%; top:52%; display:grid; grid-template-columns:1fr 1fr; width:min(760px,68vw); height:min(420px,48vh); opacity:1; translate:-50% -50%; transform:rotate(-1.2deg); transform-style:preserve-3d; }
.film-page { position:relative; overflow:hidden; border:5px solid var(--ink); background:var(--paper); transform-style:preserve-3d; backface-visibility:hidden; }
.film-page-left { display:grid; place-items:center; border-right-width:2px; transform-origin:right center; box-shadow:-13px 13px 0 var(--cyan); }
.film-page-left::before { content:""; position:absolute; inset:0; background:radial-gradient(circle at 1px 1px,#17171316 1px,transparent 1.5px); background-size:8px 8px; }
.film-page-left img { position:relative; width:62%; height:86%; object-fit:contain; color:var(--ink); filter:drop-shadow(7px 7px 0 var(--cyan)); transform:rotate(-3deg); }
.film-page-right { display:flex; flex-direction:column; justify-content:center; align-items:flex-start; gap:14px; padding:clamp(22px,3vw,48px); border-left-width:2px; transform-origin:left center; box-shadow:13px 13px 0 var(--pink); }
.film-page-right::after { content:""; position:absolute; right:-36px; bottom:-55px; width:170px; height:170px; border:26px solid var(--yellow); border-radius:50%; opacity:.8; }
.film-made { position:relative; z-index:1; padding:7px 9px 6px; background:var(--pink); border:2px solid var(--ink); font:900 clamp(8px,1vw,12px)/1 var(--font-mono); transform:rotate(-2deg); }
.film-page-right strong { position:relative; z-index:1; font:900 clamp(36px,5vw,70px)/.73 var(--font-display); letter-spacing:-.075em; text-shadow:3px 0 var(--pink),-3px 0 var(--cyan); }
.film-page-right small { position:relative; z-index:1; font:900 clamp(7px,.8vw,11px)/1.18 var(--font-mono); }
.film-book-spine { position:absolute; z-index:4; left:50%; top:2%; bottom:2%; width:10px; transform:translateX(-50%); background:linear-gradient(90deg,#17171344,transparent 45%,#17171355); pointer-events:none; }
.film-stamp { position:absolute; z-index:18; right:17%; bottom:4%; padding:10px 13px 8px; border:5px double var(--pink); color:var(--pink); background:#e8e0c0ee; font:900 clamp(10px,1.2vw,15px)/.92 var(--font-mono); text-align:center; opacity:1; transform:rotate(-12deg); mix-blend-mode:multiply; }
.film-flash { position:absolute; z-index:30; inset:-5%; background:var(--yellow); opacity:0; pointer-events:none; mix-blend-mode:multiply; }
.pata-film.is-playing :is(.film-book,.film-stamp,.film-verb,.film-step,.film-cable) { opacity:0; }
.pata-film.is-playing .film-atlas { opacity:1; }
.pata-film.is-settled .film-atlas { opacity:.2; transform:scale(.985) rotate(.3deg); }
.pata-film.is-settled .film-route,.pata-film.is-settled .film-route-shadow { opacity:.16; }
.pata-film.is-settled .film-plane { opacity:0; }
.pata-film.is-settled .film-cable { opacity:.2; }
.pata-film.is-settled .film-step { opacity:.14; }
.pata-film.is-settled .film-verb { opacity:1; }
.pata-film.resource-fallback .film-page-left img { display:none; }
.pata-film.resource-fallback .film-page-left::after { content:"PATA + OREJAS"; position:relative; z-index:1; font:900 22px/1 var(--font-mono); }
.collage-controls { position:absolute; z-index:30; right:calc(24px + var(--safe-right)); bottom:calc(66px + var(--safe-bottom)); display:flex; gap:9px; }
.collage-controls button { display:grid; place-items:center; width:48px; height:48px; padding:10px; border:3px solid var(--ink); background:var(--paper); box-shadow:4px 4px 0 var(--cyan); cursor:pointer; }
.collage-controls svg { grid-area:1/1; width:24px; height:24px; fill:none; stroke:currentColor; stroke-width:2.2; stroke-linecap:round; stroke-linejoin:round; }
.sound-off-symbol,.collage-controls [aria-pressed="true"] .sound-on-symbol { display:none; }
.collage-controls [aria-pressed="true"] .sound-off-symbol { display:block; }
.collage-controls button:hover,.collage-controls button:focus-visible { background:var(--yellow); box-shadow:4px 4px 0 var(--pink); }

.share-action { display:none; align-items:center; justify-content:center; gap:8px; min-width:48px; min-height:48px; padding:9px 12px; border:3px solid var(--ink); background:var(--paper); box-shadow:4px 4px 0 var(--pink); color:var(--ink); font:900 11px/1 var(--font-display); cursor:pointer; transform:rotate(-1deg); }
html[data-share-enabled="true"] .share-action:not([hidden]) { display:flex; }
.share-action svg { width:23px; height:23px; fill:none; stroke:currentColor; stroke-width:2; stroke-linecap:round; stroke-linejoin:round; }
.share-action:hover,.share-action:focus-visible { background:var(--yellow); box-shadow:4px 4px 0 var(--cyan); }
.share-action:disabled { opacity:.55; cursor:wait; }
.share-action-home { position:fixed; z-index:980; right:calc(12px + var(--safe-right)); bottom:calc(64px + var(--safe-bottom)); width:48px; height:48px; padding:9px; }
.page-back { position:fixed; z-index:1450; left:calc(14px + var(--safe-left)); top:calc(116px + var(--safe-top)); display:grid; place-items:center; width:48px; height:48px; padding:9px; border:3px solid var(--ink); background:var(--paper); box-shadow:4px 4px 0 var(--cyan); color:var(--ink); cursor:pointer; transform:rotate(-1.5deg); animation:page-back-in .34s cubic-bezier(.2,.8,.2,1) both; }
.page-back svg { width:27px; height:27px; fill:none; stroke:currentColor; stroke-width:2.4; stroke-linecap:round; stroke-linejoin:round; }
.page-back:hover,.page-back:focus-visible { background:var(--yellow); box-shadow:4px 4px 0 var(--pink); transform:rotate(1deg) translateX(-2px); }
@keyframes page-back-in { from { opacity:0; transform:translateX(18px) rotate(5deg); } to { opacity:1; transform:translateX(0) rotate(-1.5deg); } }
.share-action-detail { position:relative; z-index:4; width:max-content; margin-top:18px; }
.trip-actions { position:absolute; z-index:4; right:42px; bottom:56px; display:flex; flex-direction:column; align-items:flex-end; gap:10px; }
.travel-cover .trip-actions .share-action-detail { margin:0; }
.trip-offline { position:relative; z-index:4; display:flex; align-items:center; gap:8px; width:max-content; min-height:48px; margin:0; padding:9px 12px; border:3px solid var(--ink); background:var(--yellow); box-shadow:4px 4px 0 var(--cyan); color:var(--ink); font:900 11px/1 var(--font-display); cursor:pointer; transform:rotate(.8deg); }
.trip-offline[hidden] { display:none !important; }
.trip-offline svg { width:25px; height:25px; fill:currentColor; }
.trip-offline:hover,.trip-offline:focus-visible { background:var(--cyan); box-shadow:4px 4px 0 var(--pink); transform:rotate(-.6deg); }
.trip-offline[aria-pressed="true"] { background:var(--pink); box-shadow:4px 4px 0 var(--yellow); }
.trip-offline:disabled { opacity:.6; cursor:wait; }
.content-sheet .share-action-detail { margin-top:24px; }
.share-fallback { position:fixed; z-index:1800; top:calc(96px + var(--safe-top)); right:calc(13px + var(--safe-right)); width:min(320px,calc(100vw - 26px - var(--safe-left) - var(--safe-right))); padding:18px 16px 15px; border:3px solid var(--ink); background:var(--paper); box-shadow:7px 7px 0 var(--cyan); transform:rotate(.6deg); }
.share-fallback[hidden] { display:none !important; }
.share-tape { position:absolute; left:22px; top:-10px; width:72px; height:18px; border:1px dashed #17171388; background:#ff006e99; transform:rotate(-4deg); }
.share-fallback > strong { display:block; padding-right:38px; font:900 22px/.95 var(--font-display); text-transform:uppercase; }
.share-close { position:absolute; top:4px; right:4px; width:48px; height:48px; padding:0; border:0; background:transparent; font:700 29px/1 var(--font-display); cursor:pointer; }
.share-options { display:grid; grid-template-columns:1fr 1fr; gap:8px; margin-top:15px; }
.share-options :is(a,button) { display:flex; align-items:center; justify-content:center; min-height:48px; padding:8px; border:2px solid var(--ink); background:#fffdf3; color:var(--ink); font:900 10px/1.1 var(--font-display); text-align:center; text-decoration:none; cursor:pointer; }
.share-options :is(a,button):hover,.share-options :is(a,button):focus-visible { background:var(--yellow); }
.share-url { display:grid; gap:5px; margin-top:12px; font:700 9px/1.2 var(--font-mono); }
.share-url input { width:100%; min-height:48px; padding:9px; border:2px solid var(--ink); background:#fff; font:12px/1.2 var(--font-mono); }

.pwa-invite { position:fixed; z-index:1650; right:calc(13px + var(--safe-right)); top:calc(92px + var(--safe-top)); width:min(310px,calc(100vw - 26px - var(--safe-left) - var(--safe-right))); padding:17px 16px 14px; border:3px solid var(--ink); background:var(--paper); box-shadow:7px 7px 0 var(--cyan); transform:rotate(.7deg); }
.pwa-invite[hidden] { display:none !important; }
.pwa-invite.is-arriving { animation:pwa-paper-in .38s cubic-bezier(.2,.8,.2,1) both; }
.pwa-tape { position:absolute; left:24px; top:-10px; width:68px; height:18px; background:#dfff00cc; border:1px dashed #17171388; transform:rotate(-4deg); }
.pwa-close { position:absolute; right:5px; top:5px; display:grid; place-items:center; width:48px; height:48px; padding:0; border:0; background:transparent; cursor:pointer; }
.pwa-close svg { width:22px; height:22px; fill:none; stroke:var(--ink); stroke-width:2.5; }
.pwa-invite-copy { display:grid; gap:4px; padding-right:38px; }
.pwa-invite-copy strong { font:900 22px/.9 var(--font-display); letter-spacing:-.045em; text-transform:uppercase; text-shadow:1px 0 var(--pink),-1px 0 var(--cyan); }
.pwa-invite-copy span { font:700 10px/1.35 var(--font-mono); }
.pwa-install-action { display:flex; align-items:center; justify-content:center; gap:8px; width:100%; min-height:48px; margin-top:12px; padding:9px 12px; border:3px solid var(--ink); background:var(--yellow); box-shadow:4px 4px 0 var(--pink); font-weight:900; cursor:pointer; }
.pwa-install-action[hidden] { display:none !important; }
.pwa-install-action svg { width:22px; height:22px; fill:none; stroke:currentColor; stroke-width:2.2; stroke-linecap:round; stroke-linejoin:round; }
.pwa-install-action:hover,.pwa-install-action:focus-visible { background:var(--cyan); }
.pwa-ios-steps { display:grid; grid-template-columns:1fr 22px 1.35fr; align-items:center; gap:4px; margin:11px 0 0; padding:0; list-style:none; }
.pwa-ios-steps[hidden] { display:none !important; }
.pwa-ios-steps li { display:flex; align-items:center; justify-content:center; gap:5px; min-height:48px; padding:6px; border:2px solid var(--ink); background:var(--yellow); font:900 9px/1.1 var(--font-display); text-align:center; }
.pwa-ios-steps li:nth-child(2) { min-height:0; padding:0; border:0; background:transparent; }
.pwa-ios-steps svg { width:20px; height:20px; flex:0 0 auto; fill:none; stroke:currentColor; stroke-width:2; stroke-linecap:round; stroke-linejoin:round; }
@keyframes pwa-paper-in { from { opacity:0; transform:translateY(-12px) rotate(-3deg) scale(.96); } to { opacity:1; transform:rotate(.7deg) scale(1); } }

.site-footer { position:fixed; z-index:950; right:calc(12px + var(--safe-right)); bottom:calc(9px + var(--safe-bottom)); }
.site-footer a { display:flex; align-items:center; min-height:44px; padding:8px 11px; border:2px solid var(--ink); background:#e8e0c0e8; box-shadow:3px 3px 0 var(--cyan); font:800 9px/1.15 var(--font-mono); text-decoration:none; }
.site-footer svg { display:none; width:25px; height:25px; fill:none; stroke:currentColor; stroke-width:2; stroke-linecap:round; stroke-linejoin:round; }
.site-footer a:hover,.site-footer a:focus-visible { background:var(--yellow); box-shadow:3px 3px 0 var(--pink); }

.radio-thread { position: fixed; z-index: 1700; left: calc(9px + var(--safe-left)); bottom: calc(5px + var(--safe-bottom)); display: grid; grid-template-columns: 48px 48px minmax(0,1fr) 48px; align-items: center; width: min(355px, calc(100vw - 18px - var(--safe-left) - var(--safe-right))); min-height: 50px; opacity: .86; transition: opacity .2s ease, transform .25s ease; }
.radio-thread:hover,.radio-thread:focus-within,.radio-thread.is-playing { opacity:1; }
.radio-thread::after { content:""; position:absolute; z-index:-1; left:38px; right:4px; bottom:2px; height:42px; background:linear-gradient(90deg,#e8e0c0e8 0,#e8e0c0b8 75%,transparent); clip-path:polygon(0 11%,96% 0,100% 78%,5% 100%); }
.radio-play { position:relative; display:grid; place-items:center; width:48px; height:48px; padding:0; border:0; background:transparent; cursor:pointer; }
.vinyl-grooves { position:absolute; inset:4px; border-radius:50%; background:repeating-radial-gradient(circle,#171713 0 2px,#33332d 3px 4px,#171713 5px 6px); box-shadow:2px 0 var(--pink),-2px 0 var(--cyan); }
.radio-play svg { position:relative; z-index:2; width:27px; height:27px; padding:4px; border:1px solid var(--ink); border-radius:50%; background:var(--paper); fill:var(--ink); }
.pause-symbol { display:none; }
.radio-thread.is-playing .play-symbol { display:none; }
.radio-thread.is-playing .pause-symbol { display:block; }
.radio-thread.is-playing .vinyl-grooves { animation:spin 1.5s linear infinite; }
@keyframes spin { to { transform:rotate(1turn); } }
.radio-brand { display:grid; place-items:center; align-self:stretch; min-width:48px; min-height:48px; text-decoration:none; border-right:1px dashed #17171388; }
.radio-brand img { display:block; width:34px; height:34px; object-fit:cover; filter:grayscale(1) contrast(1.18); opacity:.88; }
.radio-copy { min-width:0; padding:5px 7px; overflow:hidden; white-space:nowrap; text-overflow:ellipsis; }
.radio-copy strong,.radio-copy span { display:inline; font:700 9px/1 var(--font-mono); }
.radio-copy strong { font-family:var(--font-display); font-weight:900; text-transform:uppercase; }
.radio-copy strong::after { content:" — "; font-family:var(--font-mono); }
.radio-mute { display:grid; place-items:center; width:48px; height:48px; padding:12px; border:0; background:transparent; cursor:pointer; }
.radio-mute svg { grid-area:1/1; width:22px; height:22px; fill:none; stroke:currentColor; stroke-width:2; stroke-linecap:round; stroke-linejoin:round; }
.radio-sound-off,.radio-thread[data-muted="true"] .radio-sound-on { display:none; }
.radio-thread[data-muted="true"] .radio-sound-off { display:block; }
.radio-thread[data-state="loading"] .vinyl-grooves,.radio-thread[data-state="buffering"] .vinyl-grooves { animation:spin 2.8s linear infinite; opacity:.62; }
.radio-thread[data-state="error"]::after,.radio-thread[data-state="offline"]::after { background:linear-gradient(90deg,#ffd8d0ee 0,#ffd8d0bd 75%,transparent); }
.radio-thread[data-state="error"] .vinyl-grooves,.radio-thread[data-state="offline"] .vinyl-grooves { filter:grayscale(1); opacity:.45; }
.radio-thread[data-metadata="missing"] .radio-copy span { font-style:italic; }
.connection-note { position:fixed; z-index:2500; left:50%; bottom:calc(68px + var(--safe-bottom)); transform:translateX(-50%); max-width:calc(100vw - 28px); padding:10px 14px; border:3px solid var(--ink); background:var(--yellow); box-shadow:5px 5px 0 var(--pink); font:900 11px/1.25 var(--font-display); text-align:center; }
.noscript-note { position:fixed; z-index:2600; left:20px; right:20px; bottom:80px; padding:14px; background:var(--yellow); border:3px solid var(--ink); }

@media (max-width: 760px) {
  :root { --header-space: 82px; }
  .pwa-invite { top:auto; bottom:calc(72px + var(--safe-bottom)); }
  .share-action-home { bottom:calc(204px + var(--safe-bottom)); }
  .share-fallback { top:auto; bottom:calc(72px + var(--safe-bottom)); }
  .app-header { top:calc(9px + var(--safe-top)); left:calc(9px + var(--safe-left)); right:calc(9px + var(--safe-right)); }
  .page-back { left:calc(10px + var(--safe-left)); top:calc(84px + var(--safe-top)); }
  body[data-route="pata-y-orejas"] .page-back { top:calc(154px + var(--safe-top)); }
  body[data-route="trip"] .page-back { left:auto; right:calc(18px + var(--safe-right)); top:calc(110px + var(--safe-top)); }
  .brand { max-width:calc(100vw - 132px); min-height:56px; gap:5px; padding:6px 8px 6px 5px; box-shadow:5px 5px 0 var(--pink); }
  .brand-symbol { width:100%; height:100%; }
  .brand-copy strong { font-size:clamp(17px,5vw,23px); }
  .brand-copy small { font-size:8px; line-height:1.1; margin-top:4px; letter-spacing:.015em; }
  .menu-toggle { width:50px; height:50px; box-shadow:4px 4px 0 var(--cyan); }
  .header-search { right:59px; width:50px; height:50px; box-shadow:4px 4px 0 var(--pink); }
  .main-menu { top:56px; }
  .main-menu a { min-height:56px; font-size:18px; }
  .main-menu a.menu-utility { min-height:46px; font-size:12px; }
  .leaflet-control-zoom { margin-top:calc(84px + var(--safe-top)) !important; }
  .map-back { top:calc(72px + var(--safe-top)); right:calc(10px + var(--safe-right)); }
  .map-list { left:calc(8px + var(--safe-left)); bottom:calc(132px + var(--safe-bottom)); width:min(240px,calc(100vw - 16px - var(--safe-left) - var(--safe-right))); }
  .leaflet-control-attribution { max-width:120px; margin-bottom:112px !important; font-size:8px !important; }
  .paper-stage { padding-top:calc(150px + var(--safe-top)); }
  .section-heading h1 { font-size:clamp(58px,22vw,105px); }
  .section-heading p { font-size:17px; }
  .trip-index { margin-top:48px; }
  .route-thread { left:34px; }
  .trip-entry { grid-template-columns:70px minmax(0,1fr); gap:14px; align-items:start; }
  .trip-number { width:68px; height:68px; font-size:15px; }
  .trip-entry h2 { font-size:clamp(42px,16vw,72px); }
  .trip-entry h2.is-long-title { font-size:clamp(28px,10vw,44px); }
  .trip-entry p { font-size:12px; }
  .ink-action { grid-column:2; justify-self:start; min-height:48px; white-space:normal; }
  .view-trip { padding-top:calc(100px + var(--safe-top)); }
  .travel-book { display:block; min-height:0; box-shadow:9px 9px 0 var(--ink),15px 15px 0 var(--pink); }
  .travel-cover { position:relative; top:auto; min-height:610px; padding:44px 24px 170px; border-right:0; border-bottom:3px dashed #17171366; }
  .trip-actions { right:24px; bottom:44px; }
  .travel-cover h1 { margin-top:55px; font-size:clamp(65px,25vw,108px); }
  .travel-cover h1.is-long-title { font-size:clamp(40px,14vw,60px); }
  .cover-route { font-size:27px; }
  .travel-days { min-height:0; padding:18px 18px 35px; }
  .travel-day { grid-template-columns:62px minmax(0,1fr); gap:13px; padding:24px 0 28px; }
  .travel-day > time { width:58px; min-height:58px; font-size:11px; box-shadow:4px 4px 0 var(--pink); }
  .travel-day h3 { font-size:clamp(28px,10vw,41px); }
  .travel-day p,.travel-section > p { font-size:15px; }
  .travel-section > header h2 { font-size:clamp(32px,11vw,46px); }
  .travel-profile { padding:18px; box-shadow:5px 5px 0 var(--cyan); }
  .travel-profile-notes,.destination-stamps,.travel-logistics-grid,.travel-media-grid { grid-template-columns:1fr; }
  .travel-narratives > article { grid-template-columns:34px minmax(0,1fr); gap:10px; }
  .travel-narratives > article > span { width:32px; height:32px; }
  .travel-journal-empty { min-height:420px; }
  .view-essence { padding-top:calc(90px + var(--safe-top)); padding-right:calc(6px + var(--safe-right)); padding-left:calc(6px + var(--safe-left)); }
  .view-legal { padding:calc(150px + var(--safe-top)) 10px calc(90px + var(--safe-bottom)); }
  .legal-sheet { box-shadow:7px 7px 0 var(--pink),11px 11px 0 var(--cyan); }
  .legal-heading { padding:34px 22px; }
  .legal-heading h1 { font-size:clamp(52px,18vw,82px); margin-top:20px; }
  .legal-heading p { font-size:18px; }
  .legal-grid { grid-template-columns:1fr; }
  .legal-grid section { min-height:0; padding:35px 22px; border-right:0 !important; }
  .legal-grid h2,.credits-strip h2 { font-size:34px; }
  .credits-strip { padding:34px 22px; }
  .essence-title { top:calc(88px + var(--safe-top)); left:12px; font-size:clamp(42px,13vw,60px); line-height:.94; }
  .living-collage { width:calc(100vw - 12px); height:min(620px,72dvh); min-height:500px; transform:translateY(42px); }
  .film-atlas-paper { stroke-width:10; }
  .film-verb { padding:8px 10px 7px; box-shadow:4px 4px 0 var(--ink); font-size:clamp(16px,7vw,28px); }
  .film-verb-long { font-size:clamp(12px,4.2vw,18px); }
  .verb-travel { left:3%; top:13%; }
  .verb-listen { right:2%; top:19%; }
  .verb-walk { left:3%; bottom:18%; }
  .verb-tell { right:3%; bottom:17%; }
  .film-book { top:54%; width:92vw; height:min(350px,46dvh); }
  .film-page { border-width:3px; }
  .film-page-left { border-right-width:1px; box-shadow:-7px 8px 0 var(--cyan); }
  .film-page-right { gap:9px; padding:18px 14px; border-left-width:1px; box-shadow:7px 8px 0 var(--pink); }
  .film-page-left img { width:78%; height:86%; filter:drop-shadow(4px 4px 0 var(--cyan)); }
  .film-made { padding:5px 6px 4px; font-size:6.5px; }
  .film-page-right strong { font-size:clamp(27px,10vw,43px); }
  .film-page-right small { font-size:5.7px; }
  .film-book-spine { width:6px; }
  .film-stamp { right:25%; bottom:11%; padding:7px 8px 5px; border-width:3px; font-size:8px; }
  .collage-controls { top:calc(154px + var(--safe-top)); right:calc(12px + var(--safe-right)); bottom:auto; }
  .radio-thread { grid-template-columns:48px 48px minmax(0,1fr) 48px; }
  .radio-play { width:48px; height:48px; }
  .radio-copy strong,.radio-copy span { font-size:9px; }
  .site-footer { bottom:calc(62px + var(--safe-bottom)); }
  .site-footer a { display:grid; place-items:center; width:48px; height:48px; min-height:48px; padding:0; opacity:.82; }
  .site-footer a:hover,.site-footer a:focus-visible { opacity:1; }
  .site-footer svg { display:block; }
  .site-footer span { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }
}

@media (max-width:720px) {
  body:is([data-route="rincones"],[data-route="orejas"],[data-route="corner"],[data-route="ear"],[data-route="buscar"]) .suggestion-tab { left:calc(9px + var(--safe-left)); bottom:calc(7px + var(--safe-bottom)); }
  body:is([data-route="rincones"],[data-route="orejas"],[data-route="corner"],[data-route="ear"],[data-route="buscar"]) .site-footer { right:calc(65px + var(--safe-right)); bottom:calc(7px + var(--safe-bottom)); }
}

@media (max-width: 390px) {
  .pwa-invite { right:calc(7px + var(--safe-right)); width:min(292px,calc(100vw - 14px - var(--safe-left) - var(--safe-right))); padding:15px 14px 12px; box-shadow:5px 5px 0 var(--cyan); }
  .share-fallback { right:calc(7px + var(--safe-right)); width:min(292px,calc(100vw - 14px - var(--safe-left) - var(--safe-right))); padding:16px 14px 13px; box-shadow:5px 5px 0 var(--cyan); }
  .pwa-invite-copy strong { font-size:20px; }
  .pwa-ios-steps { grid-template-columns:1fr 18px 1.35fr; }
  .pwa-ios-steps li { padding:5px 3px; }
  .brand-mark-stage { width:34px; height:44px; }
  .brand-copy small { display:block; max-width:190px; font-size:9px; line-height:1.15; letter-spacing:0; }
  .brand { padding-right:11px; }
  .brand-copy strong { max-width:none; font-size:15px; word-spacing:.06em; white-space:nowrap; line-height:.9; }
  .menu-toggle { width:48px; height:48px; }
  .map-list { width:min(260px,calc(100vw - 130px - var(--safe-left) - var(--safe-right))); }
  .section-heading h1 { font-size:62px; }
  .trip-entry { grid-template-columns:62px minmax(0,1fr); }
  .trip-number { width:60px; height:60px; }
  .travel-cover { min-height:560px; }
  .travel-cover h1 { font-size:70px; }
  .travel-cover h1.is-long-title { font-size:38px; }
  .cover-route { margin-top:34px; font-size:21px; }
  .film-book { height:min(330px,44dvh); }
  .film-page-right { padding-inline:12px; }
  .film-page-right strong { font-size:clamp(24px,10vw,38px); }
  .film-page-right small { font-size:5.2px; }
}

@media (max-width: 350px) {
  .brand-mark-stage { width:31px; }
  .brand-copy strong { font-size:13px; }
  .brand-copy small { max-width:142px; font-size:8.2px; line-height:1.15; }
  .film-stamp { display:none; }
}

@media (min-width: 721px) and (max-height: 760px) {
  .living-collage { transform:translateY(38px); }
  .verb-walk { bottom:20%; }
  .verb-tell { bottom:18%; }
  .film-stamp { right:18%; bottom:12%; }
  .collage-controls { top:calc(104px + var(--safe-top)); bottom:auto; }
}

@media (orientation: landscape) and (max-height: 560px) {
  .brand-copy small { display:block; max-width:190px; font-size:7.5px; line-height:1.05; }
  .brand { min-height:48px; }
  .brand-mark-stage { width:38px; height:38px; }
  .menu-toggle { width:48px; height:48px; }
  .paper-stage { padding-top:90px; }
  .view-essence { padding-top:70px; }
  .essence-title { left:340px; top:18px; font-size:48px; }
  .living-collage { height:330px; min-height:330px; width:72vw; transform:translate(10vw,8px); }
  .film-book { width:62vw; height:250px; }
  .film-verb { font-size:18px; }
  .film-stamp { bottom:2%; }
  .radio-thread { left:calc(9px + var(--safe-left)); right:auto; width:min(320px,calc(100vw - 18px)); grid-template-columns:48px 48px minmax(0,1fr) 48px; }
}

@media (prefers-reduced-motion: reduce) {
  .page-back { animation:none; }
  *,*::before,*::after { scroll-behavior:auto !important; animation-duration:.001ms !important; animation-iteration-count:1 !important; transition-duration:.001ms !important; }
  .pata-film { filter:none; }
  .pata-film .film-atlas { opacity:.2; transform:scale(.985) rotate(.3deg); }
  .pata-film .film-route,.pata-film .film-route-shadow { opacity:.16; }
  .pata-film .film-plane { opacity:0; }
  .pata-film .film-cable { opacity:.2; }
  .pata-film .film-step { opacity:.14; }
  .pata-film .film-verb,.pata-film .film-book,.pata-film .film-stamp { opacity:1; }
  .brand-intro,.brand-skip { display:none !important; }
  .brand-symbol { animation:none !important; }
  .pwa-invite { transform:none; }
  .share-action,.share-fallback { transform:none; }
}

@media print {
  .app-header,.radio-thread,.collage-controls,.map-list { display:none !important; }
  .view { min-height:0; }
}

html[data-preview-mode="true"] .skip-link,
html[data-preview-mode="true"] [data-brand-intro],
html[data-preview-mode="true"] [data-connection],
html[data-preview-mode="true"] [data-pwa-invite],
html[data-preview-mode="true"] [data-share],
html[data-preview-mode="true"] [data-share-fallback],
html[data-preview-mode="true"] [data-suggestion-open],
html[data-preview-mode="true"] [data-suggestion-dialog],
html[data-preview-mode="true"] noscript { display: none !important; }
body:has(.pwa-invite:not([hidden])) .suggestion-tab,
body:has(.share-fallback:not([hidden])) .suggestion-tab { display:none; }
body:has(.pwa-invite:not([hidden])) [data-share] { visibility:hidden; }
html[data-preview-mode="true"][data-preview-trip-id] .view:not(.view-trip),
html[data-preview-mode="true"][data-preview-entity-type="place"] .view:not([data-view="corner"]),
html[data-preview-mode="true"][data-preview-entity-type="experience"] .view:not([data-view="ear"]) { display:none !important; }
html[data-preview-mode="true"][data-preview-status="loading"] .view-trip { visibility: hidden; }
html[data-preview-mode="true"][data-preview-status="loading"][data-preview-entity-type="place"] [data-view="corner"],
html[data-preview-mode="true"][data-preview-status="loading"][data-preview-entity-type="experience"] [data-view="ear"] { visibility:hidden; }
html[data-preview-mode="true"] .public-preview-error { width: min(620px, 100%); margin: 12vh auto; padding: clamp(24px, 6vw, 52px); display: grid; gap: 12px; border: 2px solid #24211f; border-radius: 24px 9px; background: #fffdf8; box-shadow: 8px 9px 0 #ef6f91; text-align: center; }
html[data-preview-mode="true"] .public-preview-error strong { font: 800 clamp(24px, 5vw, 42px)/1.05 var(--display, sans-serif); }
html[data-preview-mode="true"] .public-preview-error span { color: #5d5651; }
