/* Jettyroot: a worn travel brochure, still tuned to the Protocol. */
.jettyroot-page{--jr-paper:#eee1bd;--jr-cream:#f7edcf;--jr-yellow:#e8bd5e;--jr-red:#a64536;--jr-green:#183b32;--jr-line:#465246;--jr-muted:#b9bcae;background:#101713;color:var(--jr-cream)}
.jettyroot-page h1,.jettyroot-page h2,.jettyroot-page h3{font-family:Georgia,'Times New Roman',serif;letter-spacing:-.035em;line-height:1.08}
.jettyroot-page h2{font-size:clamp(2rem,4vw,3.4rem);margin:0 0 1rem}.jettyroot-page h3{font-size:1.65rem;margin:0 0 .8rem}
.jettyroot-page p{margin:0 0 1rem}.jettyroot-page .shell{max-width:1240px}.jettyroot-page a{text-underline-offset:.25em}.jettyroot-page a:hover{color:var(--jr-yellow)}
.jettyroot-page :focus-visible{outline:3px solid var(--jr-yellow);outline-offset:5px}.jettyroot-page details summary{cursor:pointer;font: .875rem/1.6 var(--font-mono);padding:.65rem 0;color:var(--jr-yellow)}
.jettyroot-page [id]{scroll-margin-top:110px}.jr-skip{position:fixed;left:1rem;top:-100px;z-index:3000;background:var(--jr-paper);color:#152e26;padding:.7rem}.jr-skip:focus{top:1rem}
.jr-hero{position:relative;isolation:isolate;overflow:hidden;background:var(--jr-green);border-bottom:1px solid #63705a;padding:4.8rem 0 4rem}
.jr-hero::after{content:'';position:absolute;inset:0;z-index:-1;pointer-events:none;background:repeating-linear-gradient(95deg,transparent 0 5px,#fff1c405 6px 7px),linear-gradient(130deg,#081a10aa,transparent 65%)}
.jr-hero-background{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2}.jr-hero.has-background::after{background:linear-gradient(90deg,#0d211af0 0%,#12251ace 45%,#10171350 100%)}
.jr-hero-grid{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,.7fr);gap:4rem;align-items:center}.jr-hero-copy{position:relative}.jr-kicker{font:.875rem/1.6 var(--font-mono);text-transform:uppercase;letter-spacing:.12em;color:#d6d7b8}
.jettyroot-page .jr-hero h1{font-family:Georgia,'Times New Roman',serif;font-size:clamp(3.6rem,6.5vw,6.3rem);font-weight:900;line-height:.96;color:var(--jr-yellow);text-shadow:2px 3px #09170e;max-width:12ch;margin:1.1rem 0 1.6rem;overflow-wrap:normal}
.jr-tagline{font:italic 1.55rem/1.35 Georgia,serif;max-width:29ch}.jr-intro{font-size:1.05rem;line-height:1.8;margin-top:1.7rem!important;color:#e2e4d3}.jr-button{display:inline-block;padding:.8rem 1.3rem;border:1px solid var(--jr-yellow);background:var(--jr-yellow);color:#172b21;text-decoration:none;font:700 .9rem/1.5 var(--font-mono);margin-top:.7rem}.jettyroot-page .jr-button:hover{background:var(--jr-cream);color:#172b21}.jr-fan-note{font:.75rem/1.6 var(--font-mono);color:#c8cfbd;margin:1.1rem 0 0!important}
.jr-postcard{margin:0;transform:rotate(3deg);padding:10px 10px 0;background:var(--jr-paper);box-shadow:8px 16px 0 #07130a50;max-width:360px;justify-self:end}.jr-postcard img{display:block;width:100%;height:auto}.jr-postcard figcaption{font:italic 1rem/1.3 Georgia,serif;color:#28362c;padding:.8rem .6rem 1rem;text-align:center}
.jr-section-nav{background:#1a241d;border-bottom:1px solid var(--jr-line)}.jr-section-nav .shell{display:flex;justify-content:space-between;gap:1rem;flex-wrap:wrap;padding-top:1.1rem;padding-bottom:1.1rem}.jr-section-nav a{font:.9rem/1.6 var(--font-mono);text-decoration:none;color:var(--jr-paper)}
.jr-section{padding:4.5rem 0;border-bottom:1px solid #354135}
.jr-hero-grid,.jr-section>.shell{position:relative}
.jr-charms{position:absolute;inset:0;z-index:5;pointer-events:none}
.jr-charm{position:absolute;display:block;margin:0;max-width:none;user-select:none;transform-origin:center;filter:drop-shadow(0 12px 14px #0000002e) drop-shadow(0 3px 4px #00000024)}
.jr-charm-image{display:block;width:100%;height:auto}

.jr-charm--photo .jr-charm-text{
  font-family:"Bradley Hand","Segoe Print","Comic Sans MS",cursive;
  font-size:1.05rem;
  line-height:1.45;
  margin-top:.45rem;
  transform:rotate(-1deg);
}

.jr-charm--photo{animation:jr-charm-photo-float 8.5s ease-in-out infinite;will-change:translate}
.jr-charm--object{animation:jr-charm-object-float 7.2s ease-in-out infinite;will-change:translate}
.jr-charm--badge{filter:drop-shadow(0 10px 10px #00000024);animation:jr-charm-badge-sway 6.6s ease-in-out infinite;transform-origin:50% 8%;will-change:translate,rotate}
.jr-charm--note,.jr-charm--sign{animation:jr-charm-paper-drift 9.4s ease-in-out infinite;will-change:translate}
.jr-charm--motion-float{animation:jr-charm-photo-float 8.5s ease-in-out infinite}
.jr-charm--motion-sway{animation:jr-charm-badge-sway 6.6s ease-in-out infinite;transform-origin:50% 8%}
.jr-charm--motion-drift{animation:jr-charm-paper-drift 9.4s ease-in-out infinite}
.jr-charm--motion-still{animation:none}
.jr-charm--motion-tumble{animation:jr-charm-cork-tumble 42s ease-in-out infinite;transform-origin:50% 50%;will-change:translate,rotate}
@keyframes jr-charm-photo-float{
  0%,100%{translate:0 0}
  25%{translate:1px -5px}
  50%{translate:4px -9px}
  75%{translate:-2px -4px}
}
@keyframes jr-charm-object-float{
  0%,100%{translate:0 0}
  33%{translate:-3px -6px}
  66%{translate:3px -10px}
}
@keyframes jr-charm-cork-tumble{
  0%,8%{translate:0 0;rotate:0deg}
  18%{translate:-2px -4px;rotate:38deg}
  31%{translate:3px -8px;rotate:118deg}
  42%{translate:1px -6px;rotate:96deg}
  57%{translate:-3px -10px;rotate:181deg}
  67%{translate:-2px -8px;rotate:178deg}
  80%{translate:4px -6px;rotate:292deg}
  90%{translate:-1px -5px;rotate:258deg}
  100%{translate:0 0;rotate:360deg}
}
@keyframes jr-charm-badge-sway{
  0%,100%{translate:0 0;rotate:0deg}
  25%{translate:1px -2px;rotate:.8deg}
  50%{translate:0 -4px;rotate:0deg}
  75%{translate:-1px -2px;rotate:-.8deg}
}
@keyframes jr-charm-paper-drift{
  0%,100%{translate:0 0}
  50%{translate:2px -5px}
}
.jr-charm--note{background:#f2e4bc;color:#27382e;border:1px solid #7f7254;padding:1.05rem 1.15rem;box-shadow:5px 8px 0 #3b2f1f26;font:italic 1rem/1.55 Georgia,serif}
.jr-charm--note .jr-charm-text p:last-child,.jr-charm--sign .jr-charm-text p:last-child{margin-bottom:0}
.jr-charm--sign .jr-charm-text{background:#efe0b6;color:#27382e;border:1px solid #7f7254;padding:.85rem 1rem;font:700 .9rem/1.5 var(--font-mono)}
.jr-charm--size-small{width:clamp(110px,12vw,170px)}
.jr-charm--size-medium{width:clamp(160px,18vw,245px)}
.jr-charm--size-large{width:clamp(235px,27vw,340px)}
.jr-charm--size-wide{width:clamp(300px,37vw,520px)}
.jr-charm--upper-left{top:.15rem;left:.5rem}
.jr-charm--upper-right{top:.15rem;right:.5rem}
.jr-charm--lower-left{bottom:-1.2rem;left:.5rem}
.jr-charm--lower-center{bottom:-1.2rem;left:0;right:0;margin-inline:auto}
#music .jr-charm--lower-center{bottom:-5.25rem}
.jr-charm--lower-right{bottom:-1.2rem;right:.5rem}

#residents .jr-charm--upper-right{right:2.5rem;top:.75rem}

.jr-charm--rotate-none{transform:rotate(0)}
.jr-charm--rotate-left{transform:rotate(-4deg)}
.jr-charm--rotate-right{transform:rotate(4deg)}
.jr-charm--rotate-strong-left{transform:rotate(-8deg)}
.jr-charm--rotate-strong-right{transform:rotate(8deg)}
.jr-section-head{display:flex;gap:1.6rem;align-items:flex-start;margin-bottom:2.2rem}
.jr-section-number{font:1rem/1.4 var(--font-mono);color:var(--jr-yellow);padding-top:.6rem}
.jr-section-head p{max-width:630px;color:var(--jr-muted);font-size:1.05rem}
.jr-empty{border-top:1px dashed var(--jr-line);border-bottom:1px dashed var(--jr-line);padding:2rem 0;color:#c8cdbd;font-style:italic;max-width:800px}
.jr-place{background:var(--jr-paper);color:#1d3329;background-image:repeating-linear-gradient(0deg,transparent 0 4px,#5c492006 4px 5px)}
.jr-place .jr-section-number{color:#97512e}
.jr-place .jr-section-head p{color:#465347}
.jr-place-intro{max-width:min(760px,62%);margin:0 0 3rem 3.2rem}
.jr-locations{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.2rem}
.jr-location{border-top:2px solid #77826e;min-width:0;background:#f7edcf66}
.jr-location-copy{padding:1.3rem}
.jr-location p{font-size:1rem}
.jr-location-image{display:block}
.jr-location-image img{width:100%;aspect-ratio:3/2;object-fit:cover;display:block}
.jr-location.is-featured{border-color:#a64536}
.jr-place details summary{color:#853e2f}
.jr-place :focus-visible{outline-color:#853e2f}
.jr-place a:hover{color:#873d2e}
.jr-gallery{display:grid;gap:1rem}
.jr-gallery figure{margin:0}
.jr-gallery img{width:100%;height:auto}
.jr-gallery figcaption{font-size:.9rem;margin-top:.4rem}
.jr-stories{display:grid;gap:1.5rem;grid-template-columns:repeat(2,minmax(0,1fr))}
.jr-story-card{background:#1a2c23;overflow:hidden;border:1px solid var(--jr-line);display:flex;flex-direction:column}
.jr-story-copy{padding:2rem}
.jr-story-card h3{font-size:2rem}
.jr-story-card h3 a{text-decoration:none}
.jr-story-art img{display:block;width:100%;max-height:460px;object-fit:contain;background:#112118}
.jr-story-card.jr-featured{grid-column:1/-1;display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr)}
.jr-featured .jr-story-copy{align-self:center}
.jr-featured .jr-story-art img{height:100%;max-height:600px}
.jr-meta{font:.75rem/1.6 var(--font-mono);color:var(--jr-yellow);display:flex;gap:1rem;flex-wrap:wrap;margin-bottom:.8rem;text-transform:uppercase;letter-spacing:.06em}
.jr-subtitle{font-style:italic;font-size:1.15rem;color:#cbd1bd}
.jr-link{display:inline-block;font:.875rem/1.7 var(--font-mono);color:var(--jr-yellow)}
.jr-warning{padding:.8rem 1rem;border-left:3px solid #d16c52;background:#68372745;font-size:.95rem}
.jr-residents{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:2rem 1.8rem}
.jr-resident{min-width:0;border-top:1px solid var(--jr-line);padding-top:1.4rem}
.jr-resident.is-featured{border-color:var(--jr-yellow)}
.jr-resident p{font-size:1rem;color:#d2d4c6}
.jr-portrait{width:100%;aspect-ratio:4/5;object-fit:cover;margin-bottom:1.2rem}
.jr-resident .jr-meta{min-height:2.4em}
.jr-related{display:flex;gap:.5rem;flex-wrap:wrap;margin:1rem 0}
.jr-related-link{font:.8rem/1.5 var(--font-mono);border-bottom:1px dotted currentColor;text-decoration:none;margin-right:.5rem}
.jr-place .jr-related-link{color:#5b392c}
.jr-music-section{background:#17271e}
.jr-music{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.2rem}
.jr-music-card{display:flex;gap:1.2rem;align-items:flex-start;padding:1.5rem;border:1px solid var(--jr-line)}
.jr-music-card h3{font-size:1.5rem}
.jr-music-card p{font-size:1rem;color:#c5cdba}
.jr-album-art{width:110px;height:110px;object-fit:cover;flex-shrink:0}
.jr-music-links{display:flex;gap:1rem;flex-wrap:wrap}
.jr-disclaimer{padding:2rem 0;background:#0d140f}
.jr-disclaimer p{max-width:850px;color:#adb6a7;font:.8rem/1.75 var(--font-mono);margin:0}
.jettyroot-page .site-footer{margin:0}
.jr-reader{padding:3rem 0 4rem}
.jr-reader-head{max-width:950px!important;text-align:center;padding-bottom:2rem}
.jr-reader-head>.jr-link{margin-bottom:2.5rem}
.jr-reader-head h1{font-size:clamp(2.7rem,6vw,5rem);margin:1rem 0}
.jr-reader-head .jr-meta{justify-content:center}
.jr-deck{max-width:680px;margin:1rem auto!important;font-size:1.2rem}
.jr-reader-cover{max-width:800px;margin:1rem auto 3rem;padding:0 1.5rem}
.jr-reader-cover img{display:block;width:100%;max-height:720px;object-fit:contain}
.jr-reading-column{max-width:740px;margin:auto;padding:0 1.5rem}
.jr-prose{font-size:1.13rem;line-height:1.85;overflow-wrap:anywhere}
.jr-prose p{margin-bottom:1.4rem}
.jr-prose h2,.jr-prose h3{margin-top:2rem}
.jr-prose img{max-width:100%;height:auto;display:block;margin:1rem auto}
.jr-prose blockquote{border-left:3px solid var(--jr-red);padding-left:1.4rem;margin:1.5rem 0;font-style:italic}
.jr-prose pre{overflow:auto;padding:1rem;background:#0002}
.jr-prose table{display:block;overflow:auto;border-collapse:collapse}
.jr-prose td,.jr-prose th{padding:.5rem;border:1px solid #8886}
.jr-pullquote{font:italic 1.8rem/1.4 Georgia,serif;color:var(--jr-yellow);margin:2rem 0;padding-left:1.5rem;border-left:3px solid var(--jr-red)}

/* Optional companion songs, in Jettyroot's warm reading-room palette. */
.jr-soundtrack{margin:3rem 0 0;border:1px solid var(--jr-line);border-left:3px solid var(--jr-yellow);background:#1a2c23}
.jr-soundtrack h2{margin:0;padding:1.1rem 1.3rem;color:var(--jr-yellow);font:700 .77rem/1.6 var(--font-mono);letter-spacing:.1em;text-transform:uppercase}
.jr-soundtrack-track{display:flex;align-items:flex-start;justify-content:space-between;flex-wrap:wrap;gap:.85rem 1.5rem;border-top:1px solid var(--jr-line);padding:1.1rem 1.3rem}
.jr-soundtrack-info{min-width:0}
.jr-soundtrack-info strong{display:block;color:var(--jr-cream);font:700 1rem/1.55 Georgia,serif;overflow-wrap:anywhere}
.jr-soundtrack-info span{display:block;color:var(--jr-muted);font:.78rem/1.6 var(--font-mono);margin-top:.2rem}
.jr-soundtrack-links{display:flex;align-items:center;flex-wrap:wrap;gap:.6rem 1rem}
.jr-soundtrack-links a{font:.77rem/1.6 var(--font-mono);color:var(--jr-yellow);text-decoration:none;white-space:nowrap}
.jr-soundtrack-links a:hover,.jr-soundtrack-links a:focus-visible{color:var(--jr-cream)}

.jr-story-related{border-top:1px solid var(--jr-line);margin:3rem 0 2rem;padding-top:2rem}
.jr-story-related h2{font-size:1.8rem}.jr-unavailable{min-height:40vh}
@media(min-width:981px){.jettyroot-page .nav-links{gap:1rem}.jettyroot-page .nav-links a{font-size:.78rem}}
@media(max-width:980px){.jr-hero-grid{gap:2rem;grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr)}.jr-residents{grid-template-columns:repeat(2,minmax(0,1fr))}.jr-locations{grid-template-columns:repeat(2,minmax(0,1fr))}.jr-music-card{flex-direction:column}.jr-album-art{width:140px;height:140px}.jr-place-intro{margin-left:0}#residents .jr-charms--residents{position:relative;inset:auto;display:flex;width:100%;justify-content:center;margin:1rem 0 2rem}#residents .jr-charms--residents .jr-charm{position:relative;top:auto;right:auto;bottom:auto;left:auto;margin-inline:auto}#residents .jr-charms--residents .jr-charm--size-medium{width:min(58vw,245px)}}
@media(max-width:640px){.jr-charm--size-small{width:min(42vw,170px)}.jr-charm--size-medium{width:min(58vw,245px)}.jr-charm--size-large{width:min(74vw,330px)}.jr-charm--size-wide{width:min(88vw,500px)}.jr-place-intro{max-width:none}.jr-hero{padding:2.5rem 0}.jr-hero-grid{grid-template-columns:1fr;gap:2.8rem}.jettyroot-page .jr-hero h1{font-size:clamp(3rem,13vw,4.8rem);line-height:1;max-width:12ch}.jr-tagline{font-size:1.4rem}.jr-postcard{width:65%;max-width:260px;justify-self:center;transform:rotate(2deg)}.jr-section-nav .shell{gap:.7rem 1rem;justify-content:flex-start}.jr-section-nav a{font-size:.8rem}.jr-section{padding:3rem 0}.jr-section-head{gap:1rem}.jr-locations,.jr-stories,.jr-music{grid-template-columns:1fr}.jr-story-card.jr-featured{grid-template-columns:1fr}.jr-story-copy{padding:1.5rem}.jr-residents{gap:1.5rem 1rem}.jr-resident h3{font-size:1.5rem}.jr-music-card{flex-direction:row}.jr-album-art{width:80px;height:80px}.jr-reading-column{padding:0 1.2rem}.jr-prose{font-size:1.08rem}}
/* Mobile charms occupy their own space; desktop offsets must not move them over cards. */
@media(max-width:640px){
  .jr-section>.shell{display:flex;flex-direction:column}
  .jr-section>.shell>:not(.jr-charms){order:2}
  .jr-section>.shell>.jr-section-head,.jr-hero-copy{order:0}
  .jr-postcard{order:2}
  .jr-charms,#residents .jr-charms--residents{display:contents}
  .jr-charms .jr-charm,
  #music .jr-charms .jr-charm,
  #residents .jr-charms--residents .jr-charm{
    position:relative;inset:auto;margin:2rem 1rem;max-width:calc(100% - 2rem);
    grid-column:1/-1;
  }
  .jr-charms .jr-charm{align-self:center;justify-self:center;order:1}
  .jr-charms .jr-charm[data-mobile-placement^="lower-"]{order:3}
  .jr-charms .jr-charm[data-mobile-placement$="-left"]{align-self:flex-start;justify-self:start}
  .jr-charms .jr-charm[data-mobile-placement$="-right"]{align-self:flex-end;justify-self:end}
  .jr-charms .jr-charm[data-mobile-placement="hidden"]{display:none}
}

@media(max-width:360px){.jr-residents{grid-template-columns:1fr}.jr-music-card{flex-direction:column}}

@media(prefers-reduced-motion:reduce){.jr-charm{animation:none!important;translate:0 0!important;rotate:0deg!important}}


@media (max-width: 640px) {
  .jr-location-image img, .jr-portrait { height: auto; aspect-ratio: auto; }
  .jr-story-art img, .jr-featured .jr-story-art img { height: auto; max-height: none; }
}
