@font-face{font-family:"Rune Cut";src:url("assets/scatters-rune-cut.ttf?v=205") format("truetype");font-style:normal;font-weight:400;font-display:swap}
.site-view:not([hidden]){display:contents}.site-view[hidden]{display:none!important}
:root{--ink:#070807;--charcoal:#111310;--slate:#1a1d1a;--iron:#2a2b27;--paper:#e8d2ae;--muted:#a99d88;--green:#00b85a;--green-deep:#075f3a;--purple:#4d166f;--copper:#9c6744;--line:rgba(232,210,174,.28);--shadow:0 18px 50px rgba(0,0,0,.32)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--ink);color:var(--paper);font-family:"Rune Cut",Georgia,serif;font-size:16px;line-height:1.45;letter-spacing:.035em}body.ambient-on{--green:#8de6a9;--green-deep:#1b8055}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit;border:0;cursor:pointer}button:focus-visible,a:focus-visible,summary:focus-visible{outline:2px solid var(--green);outline-offset:4px}.site-nav{position:sticky;top:0;z-index:20;display:flex;align-items:center;gap:2rem;min-height:74px;padding:0 clamp(1rem,4vw,4.5rem);background:rgba(7,8,7,.94);border-bottom:1px solid rgba(232,210,174,.15);backdrop-filter:blur(14px)}.brand{display:flex;align-items:center;gap:.6rem;font-size:1.2rem;letter-spacing:.12em;white-space:nowrap}.brand-mark{display:grid;place-items:center;width:28px;height:38px;color:var(--green);border:1px solid var(--copper);font-size:1.5rem}.primary-nav{display:flex;align-items:center;gap:clamp(1rem,2.6vw,2.5rem);margin-left:auto}.nav-link,.signal-toggle,.menu-toggle{font-size:.75rem;letter-spacing:.13em;color:#c9bba4;text-shadow:0 1px 2px rgba(0,0,0,.72);background:none}.nav-link{position:relative;padding:1.45rem 0}.nav-link::after{position:absolute;right:0;bottom:.7rem;left:0;height:2px;background:var(--green);content:"";transform:scaleX(0);transition:transform .2s ease}.nav-link:hover,.nav-link.is-active{color:var(--paper)}.nav-link:hover::after,.nav-link.is-active::after{transform:scaleX(1)}.signal-toggle{display:flex;align-items:center;gap:.55rem;margin-left:1rem}.toggle-dot{width:8px;height:8px;border-radius:50%;background:var(--copper);box-shadow:0 0 0 3px rgba(156,103,68,.16)}.ambient-on .toggle-dot{background:var(--green);box-shadow:0 0 0 3px rgba(0,184,90,.18)}.menu-toggle{display:none;margin-left:auto}
.hero{position:relative;min-height:min(780px,calc(100vh - 74px));display:grid;align-items:center;overflow:hidden;border-bottom:1px solid var(--line)}.hero-art{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center}.hero-vignette{position:absolute;inset:0;background:linear-gradient(90deg,rgba(4,5,5,.95) 0%,rgba(4,5,5,.78) 29%,rgba(4,5,5,.22) 64%,rgba(4,5,5,.5) 100%),linear-gradient(0deg,rgba(4,5,5,.8),transparent 35%,rgba(4,5,5,.35))}.hero-copy{position:relative;z-index:1;width:min(620px,88vw);margin-left:clamp(1.25rem,9vw,10rem);padding:5rem 0}.eyebrow,.section-kicker{margin:0 0 .75rem;color:var(--green);font-size:.75rem;letter-spacing:.18em}.hero h1{margin:0;color:#f0d6ac;font-size:clamp(3.8rem,8vw,7.5rem);font-weight:400;line-height:.84;letter-spacing:.035em;text-shadow:0 4px 22px rgba(0,0,0,.55)}.hero-lede{margin:1.5rem 0 1rem;color:var(--paper);font-size:1.1rem}.status-chip{display:inline-flex;align-items:center;gap:.55rem;padding:.55rem .75rem;color:var(--muted);font-size:.72rem;letter-spacing:.13em;border:1px solid var(--line);background:rgba(6,9,8,.68)}.status-light{width:9px;height:9px;border-radius:50%;background:var(--green);box-shadow:0 0 0 4px rgba(0,184,90,.13)}.status-divider{color:var(--copper)}.hero-actions{display:flex;flex-wrap:wrap;gap:.8rem;margin-top:1.5rem}.rune-button{display:inline-flex;align-items:center;justify-content:center;gap:.8rem;min-height:48px;padding:.8rem 1.25rem;border:1px solid var(--copper);font-size:.8rem;letter-spacing:.11em;transition:transform .2s ease,background .2s ease,border-color .2s ease}.rune-button:hover{transform:translateY(-2px);border-color:var(--paper)}.rune-button--primary{background:var(--green-deep);box-shadow:inset 0 0 0 1px rgba(232,210,174,.14),0 8px 20px rgba(0,0,0,.22)}.rune-button--primary:hover{background:#0b8551}.rune-button--secondary{background:rgba(17,19,16,.82)}.hero-signal-card{position:absolute;right:clamp(1.25rem,7vw,8rem);bottom:clamp(2rem,9vh,7rem);z-index:1;width:min(300px,35vw);padding:1.3rem}.hero-signal-card strong{display:block;font-size:1.25rem;font-weight:400}.hero-signal-card span:not(.eyebrow){display:block;margin:.45rem 0 1.1rem;color:var(--muted);font-size:.8rem}.text-button{padding:0;color:var(--paper);font-size:.72rem;letter-spacing:.12em;background:none}.text-button:hover{color:var(--green)}.scroll-cue{position:absolute;right:clamp(1.25rem,4vw,4rem);bottom:1.25rem;color:var(--muted);font-size:.7rem;letter-spacing:.15em}.scroll-cue span{color:var(--green);font-size:1rem}
.content-section{position:relative;width:min(1180px,calc(100% - 2rem));margin:0 auto;padding:clamp(4rem,8vw,7rem) 0}.section-heading{display:flex;align-items:end;justify-content:space-between;gap:2rem;margin-bottom:1.75rem}.section-heading h2{margin:0;font-size:clamp(2rem,4vw,4rem);font-weight:400;line-height:.95;letter-spacing:.05em}.section-note{max-width:240px;margin:0;color:var(--muted);font-size:.72rem;line-height:1.5;text-align:right;letter-spacing:.13em}.panel-frame{background:linear-gradient(145deg,rgba(38,40,35,.92),rgba(13,15,13,.94));border:1px solid rgba(156,103,68,.66);box-shadow:var(--shadow),inset 0 0 0 1px rgba(232,210,174,.06);position:relative}.panel-frame::before{position:absolute;inset:7px;border:1px solid rgba(232,210,174,.1);content:"";pointer-events:none}.transmission-grid{display:grid;grid-template-columns:1.25fr 1fr 1fr;gap:1rem}.feature-card{overflow:hidden}.media-window{position:relative;aspect-ratio:1.2/1;margin:8px;background-image:url("assets/signal-house-hero-v2.webp");background-position:var(--media-position);background-size:240%;border:1px solid var(--copper)}.media-window--wide{aspect-ratio:1.72/1;background-size:155%}.play-mark{position:absolute;top:50%;left:50%;display:grid;place-items:center;width:54px;height:54px;border:1px solid var(--paper);border-radius:50%;color:var(--paper);font-size:1rem;transform:translate(-50%,-50%);background:rgba(6,8,7,.42)}.media-label{position:absolute;bottom:9px;left:10px;color:var(--paper);font-size:.65rem;letter-spacing:.14em}.card-meta{display:grid;grid-template-columns:auto 1fr auto;gap:.85rem;align-items:start;padding:1rem}.card-index{color:var(--green);font-size:.8rem}.card-meta h3{margin:0;font-size:1rem;font-weight:400}.card-meta p{margin:.35rem 0 0;color:var(--muted);font-family:Georgia,serif;font-size:.85rem;letter-spacing:0}.icon-button{display:grid;place-items:center;width:32px;height:32px;color:var(--paper);background:var(--purple);border:1px solid var(--copper)}.icon-button:hover{background:#692092}.campaign-section,.signal-section,.notes-section,.oathsworn-section{border-top:1px solid var(--line)}.campaign-layout{display:grid;grid-template-columns:1.4fr .8fr;gap:1rem}.campaign-map{min-height:360px;overflow:hidden;background:linear-gradient(160deg,rgba(9,12,10,.85),rgba(12,18,15,.9));}.campaign-map::after{position:absolute;inset:0;background:radial-gradient(circle at 22% 31%,rgba(0,184,90,.16),transparent 18%),radial-gradient(circle at 73% 64%,rgba(77,22,111,.25),transparent 28%);content:""}.map-line{position:absolute;height:1px;background:linear-gradient(90deg,transparent,var(--copper),transparent);transform-origin:left}.map-line--one{top:37%;left:12%;width:70%;transform:rotate(18deg)}.map-line--two{top:64%;left:30%;width:56%;transform:rotate(-28deg)}.map-marker{position:absolute;z-index:1;display:grid;place-items:center;width:46px;height:46px;border:1px solid var(--paper);border-radius:50%;background:var(--charcoal);font-size:.75rem}.map-marker--active{top:33%;left:72%;color:var(--green);box-shadow:0 0 0 9px rgba(0,184,90,.12)}.map-marker--past{color:var(--muted);opacity:.76}.map-marker--past:nth-of-type(3){top:24%;left:27%}.map-marker--past:nth-of-type(4){top:71%;left:48%}.map-caption{position:absolute;bottom:1.35rem;left:1.35rem;color:var(--muted);font-size:.75rem;letter-spacing:.15em}.campaign-copy{padding:2rem}.campaign-copy h3{margin:.3rem 0 1rem;font-size:2rem;font-weight:400}.campaign-copy>p:not(.eyebrow){color:var(--muted);font-family:Georgia,serif;letter-spacing:0}.progress-track{height:8px;margin:2rem 0 .7rem;background:#080907;border:1px solid var(--line)}.progress-track span{display:block;height:100%;background:var(--green);box-shadow:0 0 18px rgba(0,184,90,.35)}.progress-caption{display:flex;justify-content:space-between;margin-bottom:1.6rem;color:var(--muted);font-size:.65rem;letter-spacing:.12em}.signal-filters{display:flex;gap:.45rem}.filter-button{padding:.55rem .7rem;color:var(--muted);font-size:.68rem;letter-spacing:.12em;background:transparent;border-bottom:1px solid transparent}.filter-button:hover,.filter-button.is-active{color:var(--paper);border-color:var(--green)}.schedule{overflow:hidden}.schedule-row{display:grid;grid-template-columns:90px 120px 1fr 140px;align-items:center;gap:1rem;padding:1.2rem 1.5rem;border-bottom:1px solid var(--line)}.schedule-row.is-hidden{display:none}.schedule-day{color:var(--green)}.schedule-row strong{font-weight:400}.schedule-row span:not(.schedule-day){color:var(--paper)}.schedule-row em{color:var(--muted);font-size:.72rem;font-style:normal;text-align:right}.schedule-note{margin:0;padding:1rem;color:var(--muted);font-size:.75rem;text-align:center}.notes-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem}.note-card{padding:0}.note-card summary{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:1rem;padding:1.25rem;list-style:none;cursor:pointer}.note-card summary::-webkit-details-marker{display:none}.note-card summary strong{display:block;font-size:1rem;font-weight:400}.note-card summary small{display:block;margin-top:.35rem;color:var(--muted);font-size:.72rem}.summary-mark{color:var(--green);font-size:1.4rem}.note-card>p{margin:0;padding:0 1.25rem 1.25rem;color:var(--muted);font-family:Georgia,serif;letter-spacing:0}.oathsworn-banner{display:flex;align-items:center;justify-content:space-between;min-height:148px;padding:2rem 2.5rem;background:linear-gradient(105deg,rgba(45,12,68,.95),rgba(15,10,20,.9) 72%)}.oathsworn-banner h2{margin:0;font-size:clamp(2.1rem,4.5vw,4.4rem);font-weight:400}.oathsworn-banner p:last-child{margin:.35rem 0 0;color:var(--muted);font-size:.8rem;letter-spacing:.12em}.seal-button{display:grid;place-items:center;width:58px;height:58px;border:1px solid var(--copper);border-radius:50%;color:var(--paper);font-size:1.8rem;background:rgba(7,8,7,.55)}.seal-button:hover{color:var(--green);transform:rotate(12deg)}.oathsworn-grid{display:grid;grid-template-columns:repeat(5,1fr) 1.4fr;gap:.7rem;margin-top:.8rem}.community-tile,.dispatch-card{display:flex;min-height:132px;flex-direction:column;align-items:center;justify-content:center;gap:.45rem;padding:1rem;text-align:center;transition:transform .2s ease,border-color .2s ease}.community-tile:hover,.dispatch-card:hover{transform:translateY(-4px);border-color:var(--green)}.community-tile span,.dispatch-card span{font-size:.8rem;letter-spacing:.13em}.community-tile strong,.dispatch-card strong{color:var(--green);font-size:.72rem;font-weight:400}.dispatch-card{background:linear-gradient(140deg,#d8bd91,#a98a61);color:#211b14;border-color:#d8bd91}.dispatch-card strong{color:#30251a}.dispatch-card small{font-size:.65rem}.site-footer{display:flex;align-items:center;justify-content:center;gap:clamp(1.5rem,5vw,5rem);padding:3rem 1rem;background:#050605;border-top:1px solid var(--line);text-align:center}.site-footer strong{display:block;margin-top:.35rem;font-size:1.25rem;font-weight:400}.site-footer p{color:var(--muted);font-size:.7rem;letter-spacing:.14em}.site-modal{z-index:30;width:min(560px,calc(100% - 2rem));padding:2.5rem;border:1px solid var(--copper);color:var(--paper);background:#0e110e;box-shadow:0 30px 100px rgba(0,0,0,.7)}.site-modal::backdrop{background:rgba(0,0,0,.72)}.site-modal h2{margin:.35rem 0 1rem;font-size:2.5rem;font-weight:400}.site-modal p:not(.eyebrow){color:var(--muted);font-family:Georgia,serif;letter-spacing:0}.modal-close{position:absolute;top:.6rem;right:.8rem;color:var(--paper);font-size:1.6rem;background:none}.modal-actions{margin-top:1.6rem}.modal-backdrop{display:none}
@media (max-width:800px){.site-nav{min-height:62px}.menu-toggle{display:block}.primary-nav{position:absolute;top:62px;right:0;left:0;display:none;flex-direction:column;align-items:stretch;gap:0;padding:.6rem 1rem;background:#080a08;border-bottom:1px solid var(--line)}.primary-nav.is-open{display:flex}.nav-link{padding:.8rem 0}.nav-link::after{bottom:.3rem}.signal-toggle{display:none}.hero{min-height:720px}.hero-copy{align-self:end;margin:0;padding:8rem 1.25rem 7rem}.hero h1{font-size:clamp(3.4rem,16vw,6rem)}.hero-signal-card{right:1.25rem;bottom:1.5rem;width:min(300px,calc(100% - 2.5rem));padding:1rem}.scroll-cue{display:none}.section-heading{display:block}.section-note{margin-top:1rem;text-align:left}.transmission-grid,.campaign-layout,.notes-grid{grid-template-columns:1fr}.campaign-map{min-height:260px}.oathsworn-grid{grid-template-columns:repeat(2,1fr)}.dispatch-card{grid-column:span 2}.schedule-row{grid-template-columns:58px 90px 1fr;gap:.5rem;padding:1rem}.schedule-row em{display:none}.site-footer{flex-direction:column;gap:1.4rem}.oathsworn-banner{padding:1.4rem;min-height:128px}.oathsworn-banner h2{font-size:2rem}}
@media (prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;transition:none!important}}

/* Living-signal behavior layer */
.media-window{display:block;width:calc(100% - 16px);padding:0;color:inherit;font:inherit;text-align:left;cursor:pointer;appearance:none;transition:filter .25s ease,transform .25s ease,border-color .25s ease}
.media-window:hover{filter:saturate(1.15) brightness(1.08);transform:translateY(-2px);border-color:var(--paper)}
.media-window:focus-visible{outline:2px solid var(--green);outline-offset:3px}
.hero-art{--pointer-x:0px;--pointer-y:0px;--scroll-shift:0px;transform:translate3d(var(--pointer-x),calc(var(--pointer-y) - var(--scroll-shift)),0) scale(1.045);transition:transform .22s ease-out}
.hero-copy{--pointer-x:0px;--pointer-y:0px;transform:translate3d(var(--pointer-x),var(--pointer-y),0);transition:transform .22s ease-out}
.signal-particles{position:absolute;inset:0;z-index:1;overflow:hidden;pointer-events:none;opacity:.72;mix-blend-mode:screen}
.signal-particles span{position:absolute;bottom:-8%;left:var(--particle-x);width:var(--particle-size);height:var(--particle-size);border-radius:50%;background:#f3bd73;box-shadow:0 0 10px rgba(243,189,115,.8);opacity:0;animation:signal-ember var(--particle-duration) linear var(--particle-delay) infinite}
@keyframes signal-ember{0%{transform:translate3d(0,0,0) scale(.65);opacity:0}18%{opacity:.7}72%{opacity:.24}100%{transform:translate3d(-22px,-112vh,0) scale(1.2);opacity:0}}
.signal-live .status-light{background:#c9f5d2;box-shadow:0 0 0 5px rgba(0,184,90,.18),0 0 18px rgba(0,184,90,.65);animation:signal-pulse 1.8s ease-in-out infinite}
.signal-live .hero-signal-card{border-color:var(--green);box-shadow:var(--shadow),0 0 26px rgba(0,184,90,.12),inset 0 0 0 1px rgba(232,210,174,.06)}
@keyframes signal-pulse{0%,100%{transform:scale(1)}50%{transform:scale(1.08)}}
.ambient-on .hero-vignette{background:linear-gradient(90deg,rgba(4,5,5,.93) 0%,rgba(4,5,5,.72) 29%,rgba(4,5,5,.17) 64%,rgba(4,5,5,.44) 100%),linear-gradient(0deg,rgba(4,5,5,.8),transparent 35%,rgba(4,5,5,.25))}
.ambient-on .signal-particles{opacity:1}
.brand-mark{transition:transform .25s ease,color .25s ease,box-shadow .25s ease;cursor:pointer}
.brand-mark:hover,.brand-mark.is-pressed{color:#d7f7df;transform:rotate(-8deg) scale(1.08);box-shadow:0 0 18px rgba(0,184,90,.25)}
.map-marker{padding:0;font:inherit;cursor:pointer;transition:transform .2s ease,color .2s ease,box-shadow .2s ease,border-color .2s ease}
.map-marker:hover,.map-marker:focus-visible{transform:scale(1.12);border-color:var(--green);color:var(--paper);outline:none}
.map-marker--active{z-index:2}
.map-marker[data-field="03"]{top:24%;left:27%}
.map-marker[data-field="02"]{top:71%;left:48%}
.map-marker[data-field="04"]{top:33%;left:72%}
.campaign-map.is-tracing .map-line{animation:trace-route .9s ease-out both}
.campaign-map.is-tracing .map-line--two{animation-delay:.12s}
@keyframes trace-route{0%{opacity:.2;filter:brightness(.7)}45%{opacity:1;filter:brightness(1.45)}100%{opacity:.8;filter:brightness(1)}}
.schedule-note{display:flex;align-items:center;justify-content:center;gap:.85rem;flex-wrap:wrap}
.schedule-note strong{color:var(--green);font-weight:400;letter-spacing:.09em}
.schedule-note .text-button{margin-left:.3rem}
.schedule-row{cursor:pointer;transition:background .2s ease,color .2s ease}
.schedule-row:hover,.schedule-row:focus-visible{background:rgba(0,184,90,.08);outline:none}
.is-unavailable{opacity:.45;cursor:not-allowed}
.dispatch-card.is-pressed,.seal-button.is-pressed{transform:translateY(2px) scale(.98);filter:brightness(1.14)}
.rune-button.is-pressed,.icon-button.is-pressed,.filter-button.is-pressed,.community-tile.is-pressed{transform:translateY(2px) scale(.98)}
.note-card.is-read{border-color:rgba(0,184,90,.7)}
.note-card.is-read .summary-mark{color:var(--green)}
.modal-actions{display:flex;align-items:center;gap:.7rem;flex-wrap:wrap}
.modal-actions .rune-button{flex:1 1 auto}
.site-modal[open]{animation:modal-rise .22s ease-out both}
@keyframes modal-rise{from{opacity:0;transform:translateY(14px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}
.signal-toast{position:fixed;right:1rem;bottom:1rem;z-index:50;max-width:min(360px,calc(100% - 2rem));padding:.85rem 1rem;color:var(--paper);font-size:.72rem;letter-spacing:.1em;background:rgba(11,15,12,.94);border:1px solid var(--copper);box-shadow:0 18px 45px rgba(0,0,0,.42);opacity:0;pointer-events:none;transform:translateY(12px);transition:opacity .2s ease,transform .2s ease}
.signal-toast.is-visible{opacity:1;transform:translateY(0)}
.reveal-item{opacity:1;transform:none}
.reveal-ready .reveal-item{opacity:0;transform:translateY(18px);transition:opacity .65s ease,transform .65s ease}
.reveal-ready .reveal-item.is-revealed{opacity:1;transform:translateY(0)}
.reveal-ready .transmission-grid .reveal-item:nth-child(2){transition-delay:.08s}
.reveal-ready .transmission-grid .reveal-item:nth-child(3){transition-delay:.16s}
.reveal-ready .oathsworn-grid .reveal-item:nth-child(2){transition-delay:.05s}
.reveal-ready .oathsworn-grid .reveal-item:nth-child(3){transition-delay:.1s}
.reveal-ready .oathsworn-grid .reveal-item:nth-child(4){transition-delay:.15s}
.reveal-ready .oathsworn-grid .reveal-item:nth-child(5){transition-delay:.2s}
@media (max-width:800px){.hero-art{transform:translate3d(0,calc(var(--scroll-shift) * -1),0) scale(1.045)}.hero-copy{transform:none}.modal-actions .rune-button{flex-basis:100%}.schedule-note{align-items:center;text-align:center}}
@media (prefers-reduced-motion:reduce){.hero-art,.hero-copy{transform:none!important}.signal-particles{display:none}.signal-live .status-light{animation:none}.reveal-ready .reveal-item{opacity:1;transform:none;transition:none}.site-modal[open]{animation:none}}

@media (max-width:800px){body{overflow-x:hidden}}

/* Explicit hero layout: the signal card never uses an off-canvas absolute position. */
.hero{grid-template-columns:minmax(0,1fr) minmax(280px,360px);column-gap:clamp(1rem,5vw,7rem);padding:0 clamp(1.25rem,6vw,8rem)}
.hero-copy{grid-column:1;width:auto;max-width:620px;margin:0;padding:5rem 0}
.hero-signal-card{grid-column:2;grid-row:1;position:relative;inset:auto;width:auto;margin:0 0 clamp(4rem,10vh,7rem);align-self:end;justify-self:stretch}
@media (max-width:1100px){
  .hero{grid-template-columns:minmax(0,1fr);grid-template-rows:auto auto;align-content:end;column-gap:0;padding:0;min-height:calc(100vh - 74px)}
  .hero-copy{grid-column:1;grid-row:1;width:auto;max-width:none;margin-left:clamp(1.25rem,9vw,10rem);margin-right:1.5rem;padding:7rem 0 1rem}
  .hero-signal-card{grid-column:1;grid-row:2;position:relative;inset:auto;width:min(420px,calc(100% - clamp(1.25rem,9vw,10rem) - 1.5rem));margin:0 1.5rem 4rem clamp(1.25rem,9vw,10rem);align-self:end;justify-self:start;padding:1.1rem}
}
@media (max-width:800px){.hero{min-height:720px}.hero-copy{padding-top:7rem}.hero-signal-card{margin-bottom:4rem}}

/* Clean v2 hub rhythm */
html{scroll-padding-top:74px}
body{overflow-x:hidden}
.content-section{width:min(1200px,calc(100% - clamp(1.5rem,5vw,5rem)));padding:clamp(3.25rem,5.4vw,5.5rem) 0}
.section-heading{margin-bottom:1.25rem}
.section-heading h2{line-height:.95}
.section-note{max-width:18rem;line-height:1.35;text-align:right}
.transmission-grid{gap:1.15rem;align-items:stretch}
.feature-card{display:flex;min-width:0;flex-direction:column}
.feature-card .card-meta{min-height:96px}
.card-meta h3{margin:0 0 .35rem;line-height:1.05}
.card-meta p{margin:0;line-height:1.35}
.campaign-layout{gap:1.15rem}
.campaign-map{min-height:320px}
.campaign-copy{display:flex;flex-direction:column;justify-content:center;padding:clamp(1.4rem,3vw,2.25rem)}
.campaign-copy .rune-button{align-self:flex-start}
.progress-track{margin:1.45rem 0 .65rem}
.schedule-row{min-height:62px;padding:1rem 1.35rem}
.schedule-note{min-height:54px;padding:.85rem 1rem}
.notes-grid{gap:1.15rem}
.note-card summary{min-height:104px;padding:1.1rem 1.2rem}
.oathsworn-banner{min-height:132px;padding:1.65rem 2rem}
.oathsworn-banner-copy{min-width:0}
.oathsworn-banner-action{display:flex;align-items:center;gap:1rem;flex:0 0 auto}
.oathsworn-banner-action>div{display:flex;flex-direction:column;gap:.28rem;text-align:right}
.oathsworn-banner-action strong{color:var(--paper);font-size:.72rem;font-weight:400;letter-spacing:.12em}
.oathsworn-banner-action span{color:var(--muted);font-size:.7rem;letter-spacing:.08em}
.physical-signal-band{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:1.15rem;margin-top:.9rem;padding:1.1rem 1.35rem;background:linear-gradient(105deg,rgba(25,28,24,.98),rgba(9,11,9,.98));border-color:rgba(156,103,68,.72)}
.physical-signal-band::before{inset:6px}
.physical-signal-mark{display:grid;place-items:center;width:42px;height:42px;color:var(--paper);font-size:1.7rem;border:1px solid var(--copper);border-radius:50%}
.physical-signal-band .section-kicker{margin-bottom:.25rem}
.physical-signal-band strong{display:block;font-size:1.1rem;font-weight:400;line-height:1.1}
.physical-signal-band>div>span{display:block;margin-top:.28rem;color:var(--muted);font-size:.72rem;letter-spacing:.08em}
.physical-signal-band .rune-button{white-space:nowrap}
.oathsworn-grid{margin-top:.75rem}
.site-footer{padding:2.35rem 1rem}
@media (max-width:800px){
  .content-section{width:calc(100% - 1.5rem);padding:3.25rem 0}
  .section-heading{margin-bottom:1.05rem}
  .section-heading h2{font-size:clamp(1.9rem,8vw,3rem)}
  .section-note{max-width:none;text-align:left}
  .campaign-map{min-height:280px}
  .feature-card .card-meta{min-height:0}
  .note-card summary{min-height:92px}
  .oathsworn-banner{align-items:flex-start;gap:1.15rem;flex-direction:column;padding:1.35rem}
  .oathsworn-banner-action{width:100%;justify-content:space-between}
  .oathsworn-banner-action>div{text-align:left}
  .physical-signal-band{grid-template-columns:auto 1fr;gap:.8rem;padding:1rem}
  .physical-signal-band .rune-button{grid-column:1 / -1;justify-self:stretch}
}

/* Latest Transmission and The Cut are separate content bands. */
.latest-transmission-section{padding-bottom:clamp(2.5rem,4vw,4rem);border-bottom:1px solid var(--line)}
.latest-transmission-card{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(260px,.85fr);gap:0;overflow:hidden}
.media-window--feature{aspect-ratio:1.8/1;margin:10px;width:calc(100% - 20px);background-size:155%}
.latest-transmission-copy{display:flex;min-width:0;flex-direction:column;justify-content:center;padding:clamp(1.5rem,3vw,2.5rem);border-left:1px solid var(--line)}
.latest-transmission-copy h3{margin:0 0 .45rem;font-size:clamp(1.55rem,3vw,2.5rem);font-weight:400;line-height:1}
.latest-transmission-copy>p:not(.eyebrow){margin:0;color:var(--muted);line-height:1.45}
.latest-transmission-copy .rune-button{align-self:flex-start;margin-top:1.4rem}
.latest-transmission-meta{display:flex;gap:1.4rem;margin-top:1.4rem;color:var(--green);font-size:.7rem;letter-spacing:.14em}
.transmission-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
#transmissions{padding-top:clamp(2.5rem,4vw,4rem)}
@media (max-width:800px){
  .latest-transmission-card{grid-template-columns:1fr}
  .latest-transmission-copy{border-top:1px solid var(--line);border-left:0}
  .media-window--feature{aspect-ratio:1.45/1}
  .transmission-grid{grid-template-columns:1fr}
}

/* The longer Cut title keeps the established heading hierarchy without crowding its note. */
.section-heading--cut h2{font-size:clamp(1.75rem,3.25vw,3.25rem)}

/* Rune Cut has tall ascenders and descenders; give the stacked hero lines room to breathe. */
.hero h1{line-height:.98}

/* The Current Signal panel becomes the live doorway and collapses to a quiet marker offline. */
.hero{grid-template-columns:minmax(0,1fr) minmax(300px,420px)}
.hero-signal-card{justify-self:end;width:min(300px,100%);padding:0;overflow:hidden;transition:width .35s ease,border-color .25s ease,box-shadow .25s ease}
.hero-signal-card.is-live{width:100%}
.hero-signal-copy{padding:1.3rem}
.hero-signal-copy span[hidden]{display:none}
.hero-live-player{position:absolute;top:0;left:-10000px;width:400px;height:300px;overflow:hidden;opacity:0;pointer-events:none}
.hero-signal-card.is-live .hero-live-player{position:relative;top:auto;left:auto;width:100%;height:auto;aspect-ratio:16 / 9;background:#000;opacity:1;pointer-events:auto;border-bottom:1px solid var(--line)}
.hero-live-player [data-twitch-player-mount]{width:100%;height:100%}
@media (max-width:1100px){.hero{grid-template-columns:minmax(0,1fr)}.hero-signal-card{justify-self:start;width:min(300px,100%)}.hero-signal-card.is-live{width:min(420px,100%)}}
@media (max-width:800px){.hero-signal-card.is-live{width:min(100%,420px)}}
@media (max-width:520px){.hero-signal-card.is-live{width:min(300px,100%)}.hero-signal-card.is-live .hero-live-player{display:none}}
/* Live YouTube thumbnails replace the authored fallback image without changing the panel geometry. */

/* A restrained live signal wash: the hero brightens only while Twitch reports the watch is live. */
.signal-live .hero-vignette::after{position:absolute;inset:-4%;content:"";pointer-events:none;background:radial-gradient(circle at 72% 42%,rgba(0,184,90,.18),transparent 28%),radial-gradient(circle at 53% 68%,rgba(156,103,68,.1),transparent 25%);mix-blend-mode:screen;opacity:.34;animation:signal-hero-breathe 4.8s ease-in-out infinite}
.signal-live .hero-art{filter:brightness(1.035) saturate(1.06)}
@keyframes signal-hero-breathe{0%,100%{opacity:.26;transform:scale(1)}50%{opacity:.58;transform:scale(1.035)}}
@media (prefers-reduced-motion:reduce){.signal-live .hero-vignette::after{animation:none;opacity:.34}.signal-live .hero-art{filter:none}}

/* Offline is a quiet warning ember; live state overrides this with the emerald pulse above. */
.status-light{background:#a84d45;box-shadow:0 0 0 4px rgba(168,77,69,.16),0 0 9px rgba(168,77,69,.26)}
.media-window{background-image:var(--media-image,url("assets/signal-house-hero-v2.webp"));background-position:var(--media-position,center);background-size:cover}

/* Full Field Notes and campaign views */
.route-page{min-height:calc(100vh - 74px);padding-top:clamp(2.25rem,5vw,5rem);padding-bottom:clamp(4rem,8vw,8rem)}
.route-topline{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:clamp(2.5rem,6vw,5.5rem);color:var(--muted);font-size:.7rem;letter-spacing:.14em}
.route-topline a{color:var(--paper);transition:color .2s ease}
.route-topline a:hover{color:var(--green)}
.route-intro{max-width:920px;margin-bottom:clamp(2.5rem,5vw,4.5rem)}
.route-intro h1{margin:0;color:var(--paper);font-size:clamp(3rem,8vw,7rem);font-weight:400;line-height:.92;letter-spacing:.045em}
.route-intro>p:last-child{max-width:48rem;margin:1.5rem 0 0;color:var(--muted);font-family:Georgia,serif;font-size:1.12rem;line-height:1.65;letter-spacing:0}
.route-card-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem}
.route-card{display:flex;min-width:0;flex-direction:column;overflow:hidden}
.route-card-art{aspect-ratio:1.55/1;overflow:hidden;border-bottom:1px solid var(--copper);background:var(--charcoal)}
.route-card-art img{display:block;width:100%;height:100%;object-fit:cover;object-position:center;filter:saturate(.78) brightness(.72);transition:transform .5s ease,filter .5s ease}
.route-card:hover .route-card-art img{transform:scale(1.045);filter:saturate(1) brightness(.9)}
.route-card-copy{display:flex;min-height:260px;flex:1;flex-direction:column;align-items:flex-start;padding:1.5rem}
.route-card-copy h2{margin:.2rem 0 .8rem;font-size:clamp(1.45rem,2.5vw,2.25rem);font-weight:400;line-height:1}
.route-card-lede{margin:0 0 1.5rem;color:var(--muted);font-family:Georgia,serif;line-height:1.6;letter-spacing:0}
.route-card-copy .rune-button{margin-top:auto}
.route-return{display:flex;justify-content:flex-end;margin-top:1.5rem}
.route-detail-head{display:grid;grid-template-columns:minmax(0,1.08fr) minmax(300px,.92fr);min-height:390px;margin-bottom:1.15rem;border:1px solid rgba(156,103,68,.7);background:var(--charcoal);box-shadow:var(--shadow)}
.route-detail-copy{display:flex;flex-direction:column;justify-content:center;padding:clamp(1.6rem,5vw,4.5rem)}
.route-detail-copy h1{margin:0;color:var(--paper);font-size:clamp(2.8rem,6vw,6rem);font-weight:400;line-height:.92;letter-spacing:.045em}
.route-detail-copy>p:not(.section-kicker){max-width:38rem;margin:1.4rem 0 0;color:var(--muted);font-family:Georgia,serif;font-size:1.12rem;line-height:1.65;letter-spacing:0}
.detail-facts{display:flex;flex-wrap:wrap;gap:.7rem;margin-top:2rem}
.detail-facts div{display:flex;min-width:112px;flex-direction:column;gap:.28rem;padding:.65rem .75rem;border:1px solid rgba(156,103,68,.48);background:rgba(7,9,7,.36)}
.detail-facts span{color:var(--muted);font-size:.62rem;letter-spacing:.13em}
.detail-facts strong{color:var(--paper);font-size:.72rem;font-weight:400;letter-spacing:.08em}
.route-detail-actions{display:flex;align-items:center;flex-wrap:wrap;gap:1rem;margin-top:1.15rem}
.route-detail-actions .text-button{border-bottom:1px solid rgba(0,184,90,.55);padding-bottom:.25rem}
.route-detail-actions>span{color:var(--muted);font-size:.62rem;letter-spacing:.12em}
.route-detail-art{position:relative;min-height:300px;overflow:hidden;border-left:1px solid var(--copper);background:#090b09}
.route-detail-art::after{position:absolute;inset:0;background:linear-gradient(90deg,rgba(7,8,7,.55),transparent 48%),linear-gradient(0deg,rgba(7,8,7,.42),transparent 50%);content:"";pointer-events:none}
.route-detail-art img{display:block;width:100%;height:100%;object-fit:cover;object-position:center;filter:saturate(.82) brightness(.72)}
.route-art-label{position:absolute;z-index:1;right:1rem;bottom:1rem;color:var(--paper);font-size:.65rem;letter-spacing:.16em}
.route-detail-layout{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(280px,.65fr);gap:1.15rem}
.detail-article{padding:clamp(1.5rem,4vw,3.25rem)}
.detail-article>p:not(.eyebrow){max-width:66ch;margin:0 0 1.35rem;color:var(--muted);font-family:Georgia,serif;font-size:1.08rem;line-height:1.82;letter-spacing:0}
.detail-callout{display:flex;align-items:flex-start;gap:.85rem;margin:2rem 0 0;padding:1.15rem 1.25rem;border:1px solid rgba(0,184,90,.28);background:rgba(0,184,90,.055)}
.detail-callout>span{color:var(--green);font-size:1.4rem;line-height:1}
.detail-callout strong{display:block;color:var(--paper);font-size:.68rem;font-weight:400;letter-spacing:.12em}
.detail-callout p{margin:.35rem 0 0;color:var(--muted);font-family:Georgia,serif;line-height:1.5;letter-spacing:0}
.detail-mark{display:flex;align-items:center;gap:.75rem;margin-top:2.4rem;padding-top:1rem;color:var(--green);border-top:1px solid var(--line);font-size:1.5rem}
.detail-mark span{color:var(--muted);font-size:.68rem;letter-spacing:.14em}
.route-aside{display:grid;align-content:start;gap:1.15rem}
.route-aside-card{padding:clamp(1.25rem,3vw,2rem)}
.route-aside-card h2{margin:.25rem 0 .9rem;font-size:clamp(1.5rem,2.8vw,2.4rem);font-weight:400;line-height:1}
.route-aside-card>p:not(.eyebrow){margin:0 0 1.25rem;color:var(--muted);font-family:Georgia,serif;line-height:1.6;letter-spacing:0}
.route-aside-card .rune-button{width:100%}
.route-aside-card .text-button{display:inline-block;margin-top:.5rem}
.detail-related{margin-top:clamp(3rem,6vw,5.5rem)}
.detail-section-heading{display:flex;align-items:end;justify-content:space-between;gap:2rem;margin-bottom:1.25rem}
.detail-section-heading h2{margin:0;font-size:clamp(2rem,4vw,3.8rem);font-weight:400;line-height:.95}
.detail-section-heading>p{max-width:290px;margin:0;color:var(--muted);font-family:Georgia,serif;font-size:.92rem;line-height:1.5;letter-spacing:0;text-align:right}
.detail-related-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}
.detail-related-card{display:flex;min-height:205px;flex-direction:column;align-items:flex-start;padding:1.35rem;transition:transform .2s ease,border-color .2s ease,box-shadow .2s ease}
.detail-related-card:hover{border-color:var(--green);box-shadow:0 12px 30px rgba(0,0,0,.2);transform:translateY(-3px)}
.detail-related-card h3{margin:.35rem 0 .7rem;font-size:clamp(1.45rem,2.5vw,2.15rem);font-weight:400;line-height:1}
.detail-related-card>p:not(.eyebrow){margin:0;color:var(--muted);font-family:Georgia,serif;line-height:1.55;letter-spacing:0}
.detail-related-card .text-button{margin-top:auto;padding-top:1rem}
.detail-pager{display:grid;grid-template-columns:1fr auto 1fr;align-items:stretch;gap:1rem;margin-top:1.25rem}
.detail-pager-link{display:flex;min-height:86px;flex-direction:column;justify-content:center;padding:1rem 1.2rem;transition:border-color .2s ease,transform .2s ease}
.detail-pager-link:hover{border-color:var(--green);transform:translateY(-2px)}
.detail-pager-link span{color:var(--green);font-size:.64rem;letter-spacing:.13em}
.detail-pager-link strong{margin-top:.35rem;color:var(--paper);font-size:1rem;font-weight:400}
.detail-pager-link--next{text-align:right}
.detail-pager-index{align-self:center;white-space:nowrap}
.detail-pager-empty{display:block}
.field-record{margin-top:2.1rem;padding:1.2rem 1.25rem;border:1px solid rgba(156,103,68,.5);background:rgba(7,9,7,.26)}
.field-record .eyebrow{margin:0 0 .8rem}
.field-record-line{display:flex;flex-wrap:wrap;justify-content:space-between;gap:.65rem;color:var(--paper);font-size:.68rem;letter-spacing:.1em}
.field-record .progress-track{margin:1rem 0 .7rem}
.field-record>p:last-child{margin:0;color:var(--muted);font-family:Georgia,serif;font-size:.9rem;line-height:1.5;letter-spacing:0}
.campaign-route-top{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(280px,.75fr);gap:1.15rem;margin-bottom:clamp(3rem,6vw,5.5rem)}
.campaign-route-map{position:relative;min-height:430px;overflow:hidden;background:radial-gradient(circle at 22% 30%,rgba(0,184,90,.13),transparent 20%),radial-gradient(circle at 78% 66%,rgba(77,22,111,.22),transparent 30%),linear-gradient(160deg,#09100c,#0b0e0c 58%,#070807)}
.route-map-line{position:absolute;height:1px;background:linear-gradient(90deg,transparent,var(--copper),transparent);transform-origin:left;opacity:.85}
.route-map-line--one{top:33%;left:13%;width:72%;transform:rotate(19deg)}
.route-map-line--two{top:70%;left:17%;width:70%;transform:rotate(-20deg)}
.campaign-route-marker{position:absolute;z-index:1;display:grid;place-items:center;width:52px;height:52px;color:var(--muted);font-size:.78rem;border:1px solid var(--copper);border-radius:50%;background:rgba(12,16,13,.94);transition:transform .2s ease,color .2s ease,border-color .2s ease,box-shadow .2s ease}
.campaign-route-marker:hover{color:var(--paper);border-color:var(--paper);transform:scale(1.1)}
.campaign-route-marker.is-past{color:var(--paper);border-color:rgba(232,210,174,.72)}
.campaign-route-marker.is-active{color:var(--green);border-color:var(--green);box-shadow:0 0 0 10px rgba(0,184,90,.11),0 0 26px rgba(0,184,90,.18)}
.campaign-route-marker.is-future{opacity:.48;border-style:dashed}
.campaign-route-status{display:flex;flex-direction:column;justify-content:center;padding:clamp(1.5rem,3vw,2.6rem)}
.campaign-route-status h2{margin:.2rem 0 .85rem;font-size:clamp(1.8rem,3vw,2.7rem);font-weight:400;line-height:1}
.campaign-route-status>p:not(.eyebrow){margin:0;color:var(--muted);font-family:Georgia,serif;line-height:1.6;letter-spacing:0}
.campaign-route-status .rune-button{align-self:flex-start}
.route-subheading{display:flex;align-items:end;justify-content:space-between;gap:2rem;margin-bottom:1.25rem}
.route-subheading h2{margin:0;font-size:clamp(2rem,4vw,3.8rem);font-weight:400;line-height:.95}
.route-subheading>p{max-width:260px;margin:0;color:var(--muted);font-family:Georgia,serif;font-size:.92rem;line-height:1.5;letter-spacing:0;text-align:right}
.campaign-milestone-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem}
.campaign-milestone{display:flex;min-height:245px;flex-direction:column;align-items:flex-start;padding:1.35rem}
.campaign-milestone-top{display:flex;align-items:center;justify-content:space-between;width:100%;color:var(--muted);font-size:.66rem;letter-spacing:.12em}
.campaign-milestone h2{margin:1.5rem 0 .7rem;font-size:clamp(1.35rem,2.2vw,2rem);font-weight:400;line-height:1}
.campaign-milestone>p{margin:0;color:var(--muted);font-family:Georgia,serif;font-size:.94rem;line-height:1.55;letter-spacing:0}
.campaign-milestone-meta{display:flex;justify-content:space-between;width:100%;margin:auto 0 1rem;padding-top:1rem;color:var(--green);border-top:1px solid var(--line);font-size:.65rem;letter-spacing:.1em}
.note-card .note-open-link{display:block;margin:0 1.25rem 1.25rem;color:var(--green);font-size:.68rem;letter-spacing:.1em}
.note-card .note-open-link:hover{color:var(--paper)}
@media (max-width:900px){.route-card-grid,.campaign-milestone-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.route-detail-head,.route-detail-layout,.campaign-route-top{grid-template-columns:1fr}.route-detail-art{min-height:260px;border-top:1px solid var(--copper);border-left:0}.route-aside{grid-template-columns:repeat(2,minmax(0,1fr))}.route-aside-card:last-child{grid-column:1 / -1}.campaign-route-map{min-height:360px}}
@media (max-width:650px){.route-topline{align-items:flex-start;flex-direction:column;gap:.6rem}.route-intro h1{font-size:clamp(2.8rem,14vw,5rem)}.route-card-grid,.campaign-milestone-grid,.route-aside,.detail-related-grid{grid-template-columns:1fr}.route-detail-copy{padding:1.5rem}.route-detail-copy h1{font-size:clamp(2.7rem,13vw,4.5rem)}.route-detail-art{min-height:220px}.route-subheading{display:block}.route-subheading>p{max-width:none;margin-top:1rem;text-align:left}.detail-section-heading{display:block}.detail-section-heading>p{max-width:none;margin-top:1rem;text-align:left}.campaign-route-map{min-height:300px}.campaign-route-marker{width:44px;height:44px;font-size:.68rem}.route-card-copy{min-height:230px}.detail-pager{grid-template-columns:1fr}.detail-pager-index{justify-self:start;order:-1}.detail-pager-link--next{text-align:left}.detail-pager-empty{display:none}.detail-facts{gap:.5rem}.detail-facts div{min-width:calc(50% - .3rem)}}

/* Oathsworn Dispatch archive */
.dispatch-route-intro{max-width:980px}
.dispatch-route-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem}
.dispatch-route-card{display:flex;min-height:310px;flex-direction:column;padding:1.35rem;background:linear-gradient(145deg,rgba(39,32,25,.9),rgba(13,15,13,.96))}
.dispatch-route-card-top{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:2.5rem;color:var(--muted);font-size:.64rem;letter-spacing:.13em}
.dispatch-route-card-top .card-index{font-size:.8rem}
.dispatch-route-card h2{margin:.3rem 0 .85rem;color:var(--paper);font-size:clamp(1.45rem,2.6vw,2.4rem);font-weight:400;line-height:1}
.dispatch-route-card>p:not(.eyebrow){margin:0;color:var(--muted);font-family:Georgia,serif;line-height:1.62;letter-spacing:0}
.dispatch-route-card-foot{display:flex;align-items:flex-end;justify-content:space-between;gap:1rem;margin-top:auto;padding-top:2rem;border-top:1px solid var(--line);color:var(--green);font-size:.64rem;letter-spacing:.12em}
.dispatch-route-card-foot .rune-button{min-height:40px;padding:.65rem .8rem;font-size:.66rem}
.dispatch-route-lock{max-width:13rem;color:var(--muted);font-size:.62rem;line-height:1.45;text-align:right}
.dispatch-route-connection{display:flex;align-items:center;justify-content:space-between;gap:2rem;margin-top:1.15rem;padding:clamp(1.4rem,4vw,2.5rem);background:linear-gradient(105deg,rgba(45,12,68,.74),rgba(15,10,20,.92) 72%)}
.dispatch-route-connection h2{margin:.25rem 0 .7rem;font-size:clamp(1.7rem,3vw,3rem);font-weight:400;line-height:1}
.dispatch-route-connection p:not(.eyebrow){max-width:52rem;margin:0;color:var(--muted);font-family:Georgia,serif;line-height:1.6;letter-spacing:0}
@media (max-width:900px){.dispatch-route-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:650px){.dispatch-route-grid{grid-template-columns:1fr}.dispatch-route-card{min-height:270px}.dispatch-route-connection{align-items:flex-start;flex-direction:column}}

/* Embedded transmission lightbox */
.site-modal.has-media{width:min(900px,calc(100% - 2rem));padding:clamp(1.25rem,3vw,2.5rem)}
.modal-media{margin:1.35rem 0 0}
.modal-video-frame{position:relative;overflow:hidden;aspect-ratio:16 / 9;background:#020302;border:1px solid var(--copper);box-shadow:0 16px 40px rgba(0,0,0,.42)}
.modal-video-frame::after{position:absolute;inset:7px;border:1px solid rgba(232,210,174,.12);content:"";pointer-events:none}
.modal-video-frame iframe{display:block;width:100%;height:100%;border:0}
.modal-playlist{margin-top:.85rem;padding:.8rem;border:1px solid rgba(156,103,68,.58);background:rgba(7,9,7,.72)}
.modal-playlist-head{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:.55rem;color:var(--muted);font-size:.68rem;letter-spacing:.13em}
.modal-playlist-label{color:var(--green)}
.modal-playlist-controls{display:flex;align-items:center;gap:.65rem}
.modal-playlist-button{padding:.18rem .35rem;color:var(--paper);font-size:.62rem;letter-spacing:.1em;background:transparent;border-bottom:1px solid transparent}
.modal-playlist-button:hover:not(:disabled){color:var(--green);border-color:var(--green)}
.modal-playlist-button:disabled{cursor:not-allowed;opacity:.3}
.modal-playlist-items{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.5rem}
.modal-playlist-item{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:.55rem;min-width:0;padding:.65rem .7rem;color:var(--muted);text-align:left;background:rgba(22,25,21,.86);border:1px solid rgba(156,103,68,.38);transition:background .2s ease,border-color .2s ease,color .2s ease,transform .2s ease}
.modal-playlist-item:hover,.modal-playlist-item:focus-visible{color:var(--paper);background:rgba(0,184,90,.1);border-color:var(--green);transform:translateY(-1px);outline:none}
.modal-playlist-item.is-active{color:var(--paper);border-color:var(--green);box-shadow:inset 3px 0 0 var(--green)}
.modal-playlist-number{color:var(--green);font-size:.68rem}
.modal-playlist-title{min-width:0;overflow:hidden;font-size:.7rem;letter-spacing:.05em;text-overflow:ellipsis;white-space:nowrap}
.modal-playlist-duration{font-size:.62rem;letter-spacing:.08em;white-space:nowrap}
@media (max-width:650px){.modal-playlist-head{align-items:flex-start;flex-direction:column;gap:.55rem}.modal-playlist-items{grid-template-columns:1fr}.modal-playlist-item{min-height:44px}.site-modal.has-media h2{font-size:clamp(1.8rem,8vw,2.5rem)}}

/* Separate the live signal from the next full-length YouTube run. */
.schedule-divider{height:1px;margin:0 1.35rem;border-top:1px solid var(--line)}
.next-run{padding:1rem 1.35rem 0}
.next-run-heading{display:flex;align-items:end;justify-content:space-between;gap:1rem;padding-bottom:.75rem;color:var(--muted);font-size:.66rem;letter-spacing:.12em}
.next-run-heading .eyebrow{margin:0 0 .25rem}
.next-run-heading strong{display:block;color:var(--paper);font-size:.82rem;font-weight:400;letter-spacing:.11em}
.next-run-heading>span{font-size:.62rem;letter-spacing:.1em}
.next-run-list{border-top:1px solid rgba(232,210,174,.14)}
.next-run-row{display:grid;grid-template-columns:90px 120px 1fr 140px;align-items:center;gap:1rem;padding:1rem 0;border-bottom:1px solid rgba(232,210,174,.14)}
.next-run-row strong{font-weight:400}
.next-run-row span:not(.schedule-day){color:var(--paper)}
.next-run-row em{color:var(--muted);font-size:.72rem;font-style:normal;text-align:right}
.next-run-empty{display:flex;align-items:baseline;justify-content:space-between;gap:1rem;margin:0;padding:1rem 0;color:var(--green);font-size:.7rem;letter-spacing:.11em}
.next-run-empty span{color:var(--muted);font-family:Georgia,serif;font-size:.82rem;letter-spacing:0}
.schedule-note small{color:var(--muted);font-size:.64rem;letter-spacing:.1em}
@media (max-width:800px){.next-run-row{grid-template-columns:58px 90px 1fr;gap:.5rem;padding:1rem 0}.next-run-row em{display:none}.next-run-empty{align-items:flex-start;flex-direction:column;gap:.45rem}.next-run-heading{align-items:flex-start;flex-direction:column;gap:.45rem}}
.map-marker--future{color:var(--muted);opacity:.46;border-style:dashed}
.map-marker--selected{color:var(--paper);opacity:1;border-color:var(--paper);box-shadow:0 0 0 8px rgba(232,210,174,.1)}
.campaign-copy.is-previewing,.campaign-route-status.is-previewing{border-color:var(--green)}
.campaign-chronicle-state{display:flex;justify-content:space-between;gap:1rem;margin:2rem 0 1.6rem;padding-top:1rem;color:var(--muted);border-top:1px solid var(--line);font-size:.65rem;letter-spacing:.12em}
.campaign-chronicle-state strong{color:var(--green);font-weight:400}
.campaign-handoff{padding:clamp(1.5rem,4vw,3rem);margin-bottom:1.2rem;border-color:var(--green)}
.campaign-handoff h2{max-width:900px;margin:.6rem 0 1rem;font-size:clamp(2rem,5vw,4rem);font-weight:400;line-height:1.05}
.campaign-handoff>p:not(.eyebrow){max-width:650px;color:var(--muted);font-family:Georgia,serif;font-size:1rem;line-height:1.6;letter-spacing:0}
.campaign-handoff .campaign-handoff-date{color:var(--green)!important;font-family:inherit!important;font-size:.85rem!important;letter-spacing:.1em!important}
.campaign-handoff-actions{display:flex;align-items:center;flex-wrap:wrap;gap:1rem 2rem;margin-top:1.5rem}
.owner-preview-banner{position:fixed;z-index:100;left:0;right:0;bottom:0;padding:.8rem 1rem;background:#0c2519;color:#e8d2ae;text-align:center;font:700 .85rem system-ui;letter-spacing:.1em;box-shadow:0 -4px 20px #0009}.owner-preview-banner a{color:#8de6a9;text-decoration:underline}.owner-preview{padding-bottom:3rem}
.field-record-state{margin:1rem 0 0;color:var(--green);font-size:.68rem;letter-spacing:.12em}
@media (max-width:650px){.campaign-chronicle-state{align-items:flex-start;flex-direction:column;gap:.45rem}}

/* Campaign glyph pins and the continuous emerald thread.  The full route
   stays visible at rest; only the hovered pin's outgoing segment brightens. */
#campaign .campaign-route-overlay{z-index:4;pointer-events:none;overflow:visible;}
#campaign .campaign-route-segment{fill:none;stroke:rgba(0,184,90,.48);stroke-width:.46;stroke-linecap:round;stroke-linejoin:round;vector-effect:non-scaling-stroke;stroke-dasharray:1;stroke-dashoffset:0;opacity:.82;filter:drop-shadow(0 0 2px rgba(0,184,90,.2));animation:none;}
#campaign .campaign-route-highlight{fill:none;stroke:#00b85a;stroke-width:.9;stroke-linecap:round;stroke-linejoin:round;vector-effect:non-scaling-stroke;stroke-dasharray:1;stroke-dashoffset:0;opacity:0;filter:drop-shadow(0 0 5px rgba(0,184,90,.72));transition:opacity .18s ease;}
#campaign .campaign-route-glint{fill:none;stroke:#c4ffda;stroke-width:1.22;stroke-linecap:round;stroke-linejoin:round;vector-effect:non-scaling-stroke;stroke-dasharray:.12 .88;stroke-dashoffset:.12;opacity:0;filter:drop-shadow(0 0 4px rgba(196,255,218,.86));}
#campaign .campaign-map.is-hovering-01 .campaign-route-highlight--01,#campaign .campaign-map.is-hovering-02 .campaign-route-highlight--02,#campaign .campaign-map.is-hovering-03 .campaign-route-highlight--03,#campaign .campaign-map.is-hovering-04 .campaign-route-highlight--04,#campaign .campaign-map.is-hovering-05 .campaign-route-highlight--05{opacity:.96;}
#campaign .campaign-map.is-hovering-01 .campaign-route-glint--01,#campaign .campaign-map.is-hovering-02 .campaign-route-glint--02,#campaign .campaign-map.is-hovering-03 .campaign-route-glint--03,#campaign .campaign-map.is-hovering-04 .campaign-route-glint--04,#campaign .campaign-map.is-hovering-05 .campaign-route-glint--05{opacity:.96;animation:campaign-thread-travel 1.35s linear infinite;}
@keyframes campaign-thread-travel{from{stroke-dashoffset:1}to{stroke-dashoffset:0}}

#campaign .map-marker,#campaign .campaign-route-marker{--marker-tilt:0deg;position:absolute;z-index:5;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:.08rem;width:56px;height:62px;padding:.45rem .25rem .35rem;color:#c1b09a;border:1px solid rgba(126,135,124,.82);border-radius:46% 46% 40% 40% / 40% 40% 48% 48%;background:radial-gradient(circle at 34% 18%,rgba(232,210,174,.2),transparent 23%),linear-gradient(145deg,#4a4d46 0%,#252a26 46%,#0a0d0b 86%);box-shadow:inset 0 1px 0 rgba(232,210,174,.24),inset 0 -7px 10px rgba(0,0,0,.48),0 8px 16px rgba(0,0,0,.42);font-family:"Rune Cut",Georgia,serif;transition:transform .18s ease,filter .18s ease,border-color .18s ease,box-shadow .18s ease;}
#campaign .map-marker::before,#campaign .campaign-route-marker::before{position:absolute;inset:6px;border:1px solid rgba(232,210,174,.18);border-radius:42% 46% 36% 38%;content:"";pointer-events:none;}
#campaign .map-marker::after,#campaign .campaign-route-marker::after{position:absolute;bottom:-6px;left:50%;width:10px;height:10px;background:#171b18;border-right:1px solid rgba(126,135,124,.8);border-bottom:1px solid rgba(126,135,124,.8);content:"";transform:translateX(-50%) rotate(45deg);z-index:-1;}
#campaign .map-marker-glyph{position:relative;z-index:1;color:#c47b43;font-size:1.42rem;line-height:.9;text-shadow:0 1px 0 #050605,0 0 2px rgba(196,123,67,.2);}
#campaign .map-marker-index{position:relative;z-index:1;color:#d9d0be;font-size:.52rem;line-height:1;letter-spacing:.14em;}
#campaign .map-marker--past,#campaign .campaign-route-marker.is-past{opacity:.9;filter:saturate(.76) brightness(.9);}
#campaign .map-marker--future,#campaign .campaign-route-marker.is-future{opacity:.52;border-style:dashed;}
#campaign .map-marker--active,#campaign .campaign-route-marker.is-active{--marker-tilt:0deg;color:#ddffe7;opacity:1;border-color:#8ce7a9;background:radial-gradient(circle at 36% 22%,rgba(217,255,229,.34),transparent 24%),radial-gradient(circle,rgba(0,184,90,.42),rgba(5,35,21,.98) 70%);box-shadow:0 0 0 5px rgba(0,184,90,.13),0 0 25px rgba(0,184,90,.48),inset 0 0 0 1px rgba(232,255,237,.42);animation:campaign-glyph-pin-pulse 2.8s ease-in-out infinite;}
#campaign .map-marker--active .map-marker-glyph,#campaign .campaign-route-marker.is-active .map-marker-glyph{color:#c4ffda;}
#campaign .map-marker:hover,#campaign .map-marker:focus-visible,#campaign .campaign-route-marker:hover,#campaign .campaign-route-marker:focus-visible,#campaign .map-marker.is-route-hovered,#campaign .campaign-route-marker.is-route-hovered{transform:translateY(-4px) rotate(var(--marker-tilt)) scale(1.04);border-color:#00b85a;color:#effff2;filter:saturate(1.15) brightness(1.12);box-shadow:0 0 0 4px rgba(0,184,90,.12),0 0 20px rgba(0,184,90,.35),inset 0 1px 0 rgba(232,210,174,.24);outline:none;}
@keyframes campaign-glyph-pin-pulse{0%,100%{transform:rotate(var(--marker-tilt)) scale(1)}50%{transform:rotate(var(--marker-tilt)) scale(1.035)}}

#campaign .campaign-marker-note{display:none;position:absolute;right:6%;bottom:1rem;left:6%;z-index:8;padding:1rem 1rem .9rem;color:#281a0d;background:#b99a6a url("assets/campaign-field-report-parchment-v1.webp") center/100% 100% no-repeat;box-shadow:0 12px 20px rgba(19,9,5,.38);filter:drop-shadow(0 4px 8px rgba(19,9,5,.3));}
#campaign .campaign-marker-note[hidden]{display:none;}
#campaign .campaign-marker-note.is-visible:not([hidden]){display:block;}
#campaign .campaign-marker-note .eyebrow{margin:0 0 .35rem;color:#2d1c0e;font-size:.62rem;}
#campaign .campaign-marker-note strong{display:block;margin-right:1.5rem;color:#21150b;font-size:1rem;font-weight:400;line-height:1.05;}
#campaign .campaign-marker-note>p:not(.eyebrow){margin:.45rem 0 .7rem;color:#4b301d;font-family:Georgia,serif;font-size:.78rem;line-height:1.35;letter-spacing:0;}
#campaign .campaign-marker-note .text-button{color:#24160b;font-size:.62rem;}
#campaign .campaign-marker-note-close{position:absolute;top:.42rem;right:.5rem;color:#281a0d;font-size:1.1rem;line-height:1;background:none;}
@media (max-width:800px){
  #campaign .map-marker,#campaign .campaign-route-marker{width:52px;height:58px;}
  #campaign .map-marker-glyph{font-size:1.28rem;}
  #campaign .campaign-marker-note{right:5%;bottom:.85rem;left:5%;}
}
@media (prefers-reduced-motion:reduce){#campaign .campaign-route-highlight,#campaign .campaign-route-glint{transition:none;}#campaign .campaign-map.is-hovering-01 .campaign-route-glint--01,#campaign .campaign-map.is-hovering-02 .campaign-route-glint--02,#campaign .campaign-map.is-hovering-03 .campaign-route-glint--03,#campaign .campaign-map.is-hovering-04 .campaign-route-glint--04,#campaign .campaign-map.is-hovering-05 .campaign-route-glint--05{animation:none;opacity:.96;stroke-dasharray:1;stroke-dashoffset:0;}#campaign .map-marker--active,#campaign .campaign-route-marker.is-active{animation:none;}}
/* The console shortcut is rendered only for the authenticated owner. */
.owner-console-entry{position:fixed;right:18px;bottom:18px;z-index:1000;padding:10px 14px;background:#171c20;color:#e6d7b3;border:1px solid #9f8056;font:700 11px/1.2 sans-serif;letter-spacing:.12em;text-decoration:none;box-shadow:0 4px 20px #0008}
.owner-console-entry:hover,.owner-console-entry:focus-visible{background:#35403f;color:#fff}

/* Visual pass 01: header surface treatment only.
   Functional geometry, copy, lettering, navigation, and responsive behavior remain inherited. */
.site-nav{background-color:#16110d;background-image:linear-gradient(180deg,rgba(42,43,39,.34),rgba(7,8,7,.88));border-bottom-color:rgba(156,103,68,.72);box-shadow:inset 0 -1px 0 rgba(232,210,174,.1),0 8px 18px rgba(0,0,0,.28)}
.site-nav::before{position:absolute;inset:6px 10px 5px;border:1px solid rgba(232,210,174,.08);content:"";pointer-events:none}
.site-nav .brand-mark{background:rgba(42,43,39,.72);box-shadow:inset 0 0 0 1px rgba(232,210,174,.08)}
.site-nav .nav-link.is-active::after{box-shadow:0 0 8px rgba(0,184,90,.18)}
@media (max-width:800px){.primary-nav{background:#16110d;border-bottom-color:rgba(156,103,68,.72);box-shadow:inset 0 -1px 0 rgba(232,210,174,.1),0 10px 18px rgba(0,0,0,.3)}}

/* Visual pass 02: approved timber and compact iron header layer only.
   Functional geometry, copy, lettering, navigation, and responsive behavior remain inherited. */
.site-nav{isolation:isolate;overflow:hidden;background-color:#16110d;background-image:linear-gradient(180deg,rgba(42,43,39,.18),rgba(7,8,7,.62)),url("assets/scatters-header-timber-base-v2.webp");background-position:center;background-size:cover;background-repeat:no-repeat}
.site-nav-hardware{position:absolute;top:50%;z-index:1;width:auto;height:72px;pointer-events:none;transform:translateY(-50%);filter:drop-shadow(0 3px 4px rgba(0,0,0,.55))}
.site-nav-hardware--left{left:6px}
.site-nav-hardware--right{right:6px}
.site-nav>:not(.site-nav-hardware){position:relative;z-index:2}
@media (max-width:800px){.site-nav-hardware{height:60px}.site-nav-hardware--left{left:5px}.site-nav-hardware--right{right:5px}.primary-nav{background-image:linear-gradient(180deg,rgba(42,43,39,.18),rgba(7,8,7,.62)),url("assets/scatters-header-timber-base-v2.webp");background-position:center;background-size:cover;background-repeat:no-repeat}}

/* Visual pass 03: hero signal card material treatment only. */
.hero-signal-card{background:linear-gradient(145deg,rgba(48,47,42,.96),rgba(24,26,23,.97) 46%,rgba(8,10,9,.98));border-color:rgba(156,103,68,.78);box-shadow:0 18px 50px rgba(0,0,0,.42),inset 0 1px 0 rgba(232,210,174,.12),inset 0 -1px 0 rgba(0,0,0,.78),inset 0 0 0 1px rgba(232,210,174,.07)}
.hero-signal-card::before{inset:7px;border-color:rgba(232,210,174,.14);box-shadow:inset 0 0 0 1px rgba(7,8,7,.42)}
.hero-signal-card::after{position:absolute;inset:0;content:"";pointer-events:none;background:linear-gradient(135deg,rgba(232,210,174,.07),transparent 24%,transparent 74%,rgba(156,103,68,.06));opacity:.72}

/* Visual pass 04: keep the approved hero artwork inside its frame. */
.hero-art{transform:translate3d(var(--pointer-x),calc(var(--pointer-y) - var(--scroll-shift)),0) scale(1)}
@media (max-width:800px){.hero-art{transform:translate3d(0,calc(var(--scroll-shift) * -1),0) scale(1)}}

/* Visual pass 06: responsive hero artwork matched to the wide desktop frame. */
.hero-art{display:block}
.hero-art img{display:block;width:100%;height:100%;object-fit:cover;object-position:center}
@media (min-width:1900px){
  .hero{min-height:clamp(720px,37.7vw,780px)}
}

/* Visual pass 07: restrained brazier light flicker. */
.hero-flicker{position:absolute;inset:0;z-index:0;pointer-events:none;background:radial-gradient(ellipse 16% 23% at 41% 70%,rgba(255,157,62,.22),transparent 70%),radial-gradient(ellipse 23% 31% at 39% 68%,rgba(255,197,103,.09),transparent 72%);mix-blend-mode:screen;opacity:.2;animation:hero-brazier-flicker 3.4s ease-in-out infinite}
@keyframes hero-brazier-flicker{0%,100%{opacity:.14;transform:scale(1)}19%{opacity:.22;transform:scale(1.012)}37%{opacity:.16;transform:scale(.996)}58%{opacity:.25;transform:scale(1.018)}79%{opacity:.18;transform:scale(1.004)}}
@media (min-width:1900px){.hero-flicker{background:radial-gradient(ellipse 15% 23% at 35% 68%,rgba(255,157,62,.22),transparent 70%),radial-gradient(ellipse 22% 31% at 34% 67%,rgba(255,197,103,.09),transparent 72%)}}
@media (prefers-reduced-motion:reduce){.hero-flicker{animation:none;opacity:.16}}

/* Hero CTA material pair. Keep the functional footprint and live Rune-Cut
   lettering while giving each doorway its own forged finish. */
.hero-actions .rune-button{
  position:relative;
  overflow:hidden;
  color:#f0dfc1;
  border-radius:0;
  text-shadow:0 2px 0 rgba(0,0,0,.92),0 -1px 0 rgba(255,231,191,.12);
  box-shadow:inset 0 1px 0 rgba(240,222,190,.13),inset 0 -3px 5px rgba(0,0,0,.55),0 8px 16px rgba(0,0,0,.32);
  isolation:isolate;
  transition:transform .2s ease,filter .24s ease,border-color .24s ease,box-shadow .24s ease;
}
.hero-actions .rune-button::before{
  position:absolute;
  inset:4px;
  z-index:0;
  content:"";
  pointer-events:none;
  border:1px solid rgba(239,218,178,.1);
  box-shadow:inset 0 0 0 1px rgba(0,0,0,.45);
}
.hero-actions .rune-button::after{
  position:absolute;
  inset:-35% -55%;
  z-index:0;
  content:"";
  pointer-events:none;
  opacity:0;
  transform:translateX(-62%);
  transition:transform .48s ease,opacity .24s ease;
}
.hero-actions .rune-button > span{position:relative;z-index:1;}
.hero-actions .rune-button--primary{
  border-color:rgba(47,120,79,.92);
  background:
    radial-gradient(circle at 10% 24%,rgba(40,143,87,.28) 0 2px,transparent 3px),
    radial-gradient(circle at 84% 72%,rgba(20,111,65,.25) 0 2px,transparent 4px),
    linear-gradient(112deg,rgba(25,82,54,.96),rgba(8,38,25,.98) 44%,rgba(5,22,16,.99) 72%,rgba(20,68,46,.96));
}
.hero-actions .rune-button--primary::before{border-color:rgba(73,160,105,.24);}
.hero-actions .rune-button--primary::after{
  background:linear-gradient(105deg,transparent 42%,rgba(91,213,136,.16) 49%,rgba(202,245,212,.11) 51%,transparent 58%);
}
.hero-actions .rune-button--secondary{
  border-color:rgba(145,88,54,.9);
  background:
    radial-gradient(circle at 7% 18%,rgba(179,111,69,.22) 0 2px,transparent 3px),
    radial-gradient(circle at 91% 82%,rgba(151,88,51,.2) 0 2px,transparent 4px),
    linear-gradient(112deg,rgba(48,43,37,.98),rgba(17,19,18,.99) 48%,rgba(8,10,9,.99) 72%,rgba(44,34,28,.98));
}
.hero-actions .rune-button--secondary::before{border-color:rgba(185,119,75,.28);}
.hero-actions .rune-button--secondary::after{
  background:linear-gradient(105deg,transparent 42%,rgba(202,137,91,.18) 49%,rgba(241,199,152,.12) 51%,transparent 58%);
}
.hero-actions .rune-button:hover,
.hero-actions .rune-button:focus-visible{
  color:#f5e7cf;
  transform:translateY(-2px);
  filter:brightness(1.07);
}
.hero-actions .rune-button--primary:hover,
.hero-actions .rune-button--primary:focus-visible{
  border-color:rgba(99,188,130,.92);
  box-shadow:inset 0 1px 0 rgba(231,255,238,.16),inset 0 -3px 5px rgba(0,0,0,.5),0 9px 17px rgba(0,0,0,.36);
}
.hero-actions .rune-button--secondary:hover,
.hero-actions .rune-button--secondary:focus-visible{
  border-color:rgba(191,123,80,.94);
  box-shadow:inset 0 1px 0 rgba(255,226,190,.16),inset 0 -3px 5px rgba(0,0,0,.5),0 9px 17px rgba(0,0,0,.36);
}
.hero-actions .rune-button:hover::after,
.hero-actions .rune-button:focus-visible::after{opacity:1;transform:translateX(62%);}
.hero-actions .rune-button:focus-visible{outline:2px solid rgba(156,240,178,.92);outline-offset:4px;}
.hero-actions .rune-button:active,
.hero-actions .rune-button.is-pressed{
  transform:translateY(2px);
  filter:brightness(.95);
  box-shadow:inset 0 3px 6px rgba(0,0,0,.62),0 3px 8px rgba(0,0,0,.28);
}
@media (prefers-reduced-motion:reduce){
  .hero-actions .rune-button,
  .hero-actions .rune-button::after{transition:none;}
  .hero-actions .rune-button:hover,
  .hero-actions .rune-button:focus-visible{transform:none;}
  .hero-actions .rune-button::after{display:none;}
}

/* Visual phase 01: Latest Run transmission chamber.
   This pass is intentionally limited to Latest Run. Functional geometry,
   wording, Rune Cut lettering, controls, media behavior, and breakpoints
   remain inherited from the working base. */
.latest-transmission-section{background:radial-gradient(ellipse at 18% 58%,rgba(0,184,90,.1),transparent 34%),linear-gradient(180deg,rgba(6,10,8,.25),transparent 38%)}
.latest-transmission-card{overflow:hidden;border-color:rgba(156,103,68,.28);background:linear-gradient(90deg,rgba(7,13,10,.96),rgba(14,18,15,.92) 58%,rgba(9,11,10,.98)),#101310;box-shadow:0 26px 80px rgba(0,0,0,.48),inset 0 0 48px rgba(0,184,90,.045)}
.latest-transmission-card::before{inset:0;border:0;background:linear-gradient(90deg,transparent 0 64%,rgba(156,103,68,.08) 64.1%,transparent 64.3%),linear-gradient(0deg,rgba(0,184,90,.06),transparent 42%);opacity:.9}
.latest-transmission-card::after{position:absolute;inset:0;z-index:2;pointer-events:none;content:"";background:linear-gradient(110deg,transparent 0 40%,rgba(0,184,90,.08) 50%,transparent 60%);transform:translateX(-115%);animation:latest-run-signal-sweep 13s ease-in-out 1.2s infinite}
.latest-transmission-card .media-window{z-index:1;margin:12px;border-color:rgba(156,103,68,.72);box-shadow:inset 0 0 0 1px rgba(232,210,174,.07),0 16px 36px rgba(0,0,0,.34)}
.latest-transmission-card .media-window::after{position:absolute;inset:0;content:"";background:radial-gradient(circle at 34% 50%,rgba(0,184,90,.18),transparent 28%),linear-gradient(135deg,transparent 54%,rgba(0,0,0,.38));opacity:.8;pointer-events:none}
.latest-transmission-copy{position:relative;z-index:1;border-left-color:rgba(156,103,68,.18)}
.latest-transmission-meta{text-shadow:0 0 14px rgba(0,184,90,.28)}
@keyframes latest-run-signal-sweep{0%,35%{transform:translateX(-115%);opacity:0}45%{opacity:.8}62%,100%{transform:translateX(115%);opacity:0}}
@media (prefers-reduced-motion:reduce){.latest-transmission-card::after{animation:none;opacity:0}.latest-transmission-card .media-window::after{opacity:.56}}

/* Visual phase 02: The Cut archive board.
   The three existing fragments remain in the same grid and keep their
   existing links, media controls, copy, and responsive behavior. */
#transmissions{isolation:isolate;background:radial-gradient(ellipse at 50% 0%,rgba(232,210,174,.045),transparent 34%),linear-gradient(180deg,rgba(20,23,20,.5),rgba(7,9,7,.8) 72%,transparent)}
#transmissions::before{position:absolute;inset:1rem -3vw .6rem;z-index:-1;border:1px solid rgba(156,103,68,.38);background:linear-gradient(145deg,rgba(26,29,25,.96),rgba(9,11,9,.98)),repeating-linear-gradient(0deg,rgba(232,210,174,.018) 0 1px,transparent 1px 6px);box-shadow:0 28px 70px rgba(0,0,0,.34),inset 0 0 45px rgba(0,0,0,.34);content:"";pointer-events:none}
#transmissions::after{position:absolute;top:1rem;right:-3vw;left:-3vw;height:1px;background:linear-gradient(90deg,transparent,rgba(232,210,174,.28),transparent);content:"";pointer-events:none}
#transmissions .section-heading{position:relative;padding-bottom:.45rem}
#transmissions .section-heading::after{position:absolute;right:0;bottom:0;left:0;height:1px;background:linear-gradient(90deg,rgba(156,103,68,.62),rgba(156,103,68,.12) 72%,transparent);content:"";pointer-events:none}
#transmissions .feature-card{overflow:hidden;border-color:rgba(156,103,68,.58);background:linear-gradient(150deg,rgba(35,38,33,.96),rgba(12,14,12,.99)),repeating-linear-gradient(90deg,rgba(232,210,174,.018) 0 1px,transparent 1px 10px);box-shadow:0 18px 38px rgba(0,0,0,.4),inset 0 0 0 1px rgba(232,210,174,.06);transition:transform .26s cubic-bezier(.2,.7,.2,1),border-color .26s ease,box-shadow .26s ease}
#transmissions .feature-card::before{inset:7px;border-color:rgba(232,210,174,.12);box-shadow:inset 0 0 24px rgba(0,0,0,.32)}
#transmissions .feature-card:hover,#transmissions .feature-card:focus-within{z-index:2;border-color:rgba(232,210,174,.72);box-shadow:0 28px 56px rgba(0,0,0,.5),0 0 26px rgba(0,184,90,.08),inset 0 0 0 1px rgba(232,210,174,.12);transform:translateY(-4px)}
#transmissions .media-window{border-color:rgba(156,103,68,.82);filter:saturate(.82) contrast(1.08);box-shadow:inset 0 0 0 1px rgba(232,210,174,.08),0 12px 28px rgba(0,0,0,.3)}
#transmissions .media-window::after{position:absolute;inset:0;background:linear-gradient(135deg,rgba(232,210,174,.06),transparent 30%,transparent 67%,rgba(0,0,0,.42)),radial-gradient(circle at 50% 35%,transparent 20%,rgba(0,0,0,.18) 100%);content:"";pointer-events:none}
#transmissions .card-meta{position:relative;z-index:1;background:linear-gradient(180deg,rgba(18,20,17,.18),rgba(8,10,8,.52))}
#transmissions .card-index{color:#8de6a9;text-shadow:0 0 14px rgba(0,184,90,.24)}
@media (max-width:800px){#transmissions::before{inset:.65rem -.4rem .45rem}#transmissions::after{right:-.4rem;left:-.4rem}#transmissions .section-heading::after{right:0;left:0}}
@media (prefers-reduced-motion:reduce){#transmissions .feature-card{transition:none}#transmissions .feature-card:hover,#transmissions .feature-card:focus-within{transform:none}}

/* Visual phase 02 revision: make The Cut read as a mounted archive board.
   This is surface/depth treatment only; the functional grid, card geometry,
   copy, Rune Cut lettering, media controls, and breakpoints remain intact. */
#transmissions{background:radial-gradient(ellipse at 50% 8%,rgba(111,124,102,.12),transparent 31%),linear-gradient(180deg,rgba(4,7,5,.1),rgba(5,7,5,.72) 78%,transparent);}
#transmissions::before{inset:1rem -3vw .6rem;z-index:-2;border:1px solid rgba(170,113,73,.62);background:linear-gradient(105deg,rgba(232,210,174,.055),transparent 18%,transparent 70%,rgba(156,103,68,.1)),repeating-linear-gradient(168deg,rgba(232,210,174,.035) 0 1px,transparent 1px 9px),repeating-linear-gradient(82deg,rgba(0,0,0,.12) 0 2px,transparent 2px 19px),linear-gradient(145deg,#343a32 0%,#20251f 44%,#0d100e 100%);box-shadow:0 34px 86px rgba(0,0,0,.52),inset 0 1px 0 rgba(232,210,174,.16),inset 0 -20px 34px rgba(0,0,0,.38),inset 0 0 0 10px rgba(0,0,0,.1);clip-path:polygon(.8% 0,99.25% 0,100% 1%,99.7% 98.7%,98.9% 100%,.85% 99.65%,0 .9%);}
#transmissions::after{top:1.45rem;right:calc(-3vw + .45rem);bottom:.95rem;left:calc(-3vw + .45rem);height:auto;border:1px solid rgba(232,210,174,.16);background:linear-gradient(90deg,rgba(156,103,68,.12),transparent 8%,transparent 92%,rgba(156,103,68,.08)),linear-gradient(180deg,rgba(0,0,0,.12),transparent 18%,transparent 78%,rgba(0,0,0,.24));box-shadow:inset 0 0 22px rgba(0,0,0,.22);}
#transmissions .section-heading{z-index:1;}
#transmissions .section-heading::before{position:absolute;top:-.65rem;left:0;width:clamp(130px,20vw,250px);height:3px;background:linear-gradient(90deg,rgba(156,103,68,.92) 0 42%,transparent 42% 49%,rgba(232,210,174,.34) 49% 57%,transparent 57% 64%,rgba(156,103,68,.52) 64% 100%);box-shadow:0 0 14px rgba(156,103,68,.14);content:"";pointer-events:none;}
#transmissions .transmission-grid{position:relative;z-index:1;}
#transmissions .transmission-grid::before{position:absolute;inset:-.9rem -.8rem -1.05rem;z-index:-1;border-top:1px solid rgba(156,103,68,.5);border-bottom:1px solid rgba(156,103,68,.34);background:linear-gradient(180deg,rgba(6,8,7,.14),rgba(0,0,0,.28)),repeating-linear-gradient(0deg,rgba(232,210,174,.022) 0 1px,transparent 1px 12px);box-shadow:0 18px 30px rgba(0,0,0,.3),inset 0 1px 0 rgba(232,210,174,.06);content:"";pointer-events:none;}
#transmissions .transmission-grid::after{position:absolute;top:-.35rem;bottom:-.45rem;left:-.38rem;width:2px;background:linear-gradient(180deg,transparent,rgba(156,103,68,.72) 14%,rgba(232,210,174,.22) 48%,rgba(156,103,68,.52) 82%,transparent);box-shadow:0 0 12px rgba(156,103,68,.2);content:"";pointer-events:none;}
#transmissions .feature-card{border-color:rgba(181,119,76,.78);background:linear-gradient(150deg,rgba(54,58,49,.98),rgba(18,21,18,.99) 52%,rgba(7,9,8,.99)),repeating-linear-gradient(90deg,rgba(232,210,174,.026) 0 1px,transparent 1px 11px),repeating-linear-gradient(0deg,rgba(0,0,0,.08) 0 2px,transparent 2px 15px);box-shadow:0 24px 42px rgba(0,0,0,.55),inset 0 1px 0 rgba(232,210,174,.15),inset 0 -1px 0 rgba(0,0,0,.78);}
#transmissions .feature-card::before{inset:7px;border-color:rgba(232,210,174,.2);border-top-color:rgba(232,210,174,.34);border-left-color:rgba(156,103,68,.5);box-shadow:inset 0 0 28px rgba(0,0,0,.4);}
#transmissions .feature-card::after{position:absolute;right:12px;bottom:10px;width:28px;height:1px;background:linear-gradient(90deg,transparent,rgba(156,103,68,.8));box-shadow:-9px -4px 0 -0.25px rgba(232,210,174,.22),-18px 3px 0 -0.35px rgba(156,103,68,.38);content:"";opacity:.8;pointer-events:none;}
#transmissions .media-window{border-color:rgba(181,119,76,.92);background-color:#080a08;filter:saturate(.82) contrast(1.1);box-shadow:inset 0 0 0 1px rgba(232,210,174,.12),inset 0 0 0 7px rgba(0,0,0,.1),0 16px 28px rgba(0,0,0,.44);}
#transmissions .card-meta{border-top:1px solid rgba(156,103,68,.32);background:linear-gradient(180deg,rgba(34,38,31,.18),rgba(6,8,7,.7));}
@media (max-width:800px){#transmissions::before{inset:.65rem -.4rem .45rem}#transmissions::after{top:1rem;right:.05rem;bottom:.75rem;left:.05rem}#transmissions .transmission-grid::before{inset:-.5rem -.35rem -.7rem}#transmissions .transmission-grid::after{left:-.18rem}#transmissions .section-heading::before{top:-.45rem;width:150px;}}

/* Visual phase 03: Current Campaign war-table / active expedition map.
   The functional map, marker links, preview panel, copy, and breakpoints
   remain unchanged; this pass adds only the stone, iron, copper, and live
   route atmosphere around them. */
#campaign{isolation:isolate;background:radial-gradient(ellipse at 32% 56%,rgba(94,111,88,.12),transparent 32%),linear-gradient(180deg,rgba(5,7,6,.72),rgba(14,17,14,.26) 48%,rgba(5,7,6,.8));}
#campaign::before{position:absolute;inset:1rem -3vw .65rem;z-index:-2;border:1px solid rgba(170,113,73,.68);background:linear-gradient(112deg,rgba(67,71,62,.96),rgba(30,34,29,.98) 43%,rgba(11,14,12,.99) 100%),repeating-linear-gradient(163deg,rgba(232,210,174,.035) 0 1px,transparent 1px 10px),repeating-linear-gradient(79deg,rgba(0,0,0,.13) 0 2px,transparent 2px 18px);box-shadow:0 36px 88px rgba(0,0,0,.54),inset 0 1px 0 rgba(232,210,174,.16),inset 0 -24px 42px rgba(0,0,0,.42),inset 0 0 0 12px rgba(0,0,0,.11);clip-path:polygon(.75% 0,99.2% 0,100% 1.1%,99.55% 98.8%,98.8% 100%,.95% 99.55%,0 .85%);content:"";pointer-events:none;}
#campaign::after{position:absolute;inset:1.5rem calc(-3vw + .45rem) .95rem;z-index:-1;border:1px solid rgba(232,210,174,.15);background:linear-gradient(90deg,rgba(156,103,68,.11),transparent 10%,transparent 90%,rgba(156,103,68,.08)),linear-gradient(180deg,rgba(0,0,0,.16),transparent 20%,transparent 78%,rgba(0,0,0,.25));box-shadow:inset 0 0 24px rgba(0,0,0,.24);content:"";pointer-events:none;}
#campaign .section-heading{position:relative;z-index:1;padding-bottom:.5rem;}
#campaign .section-heading::before{position:absolute;top:-.65rem;left:0;width:clamp(170px,25vw,310px);height:3px;background:linear-gradient(90deg,rgba(156,103,68,.95) 0 38%,transparent 38% 44%,rgba(232,210,174,.32) 44% 53%,transparent 53% 60%,rgba(0,184,90,.65) 60% 76%,transparent 76% 82%,rgba(156,103,68,.56) 82% 100%);box-shadow:0 0 16px rgba(156,103,68,.14);content:"";pointer-events:none;}
#campaign .section-heading::after{position:absolute;right:0;bottom:0;left:0;height:1px;background:linear-gradient(90deg,rgba(156,103,68,.64),rgba(232,210,174,.18) 60%,transparent);content:"";pointer-events:none;}
#campaign .campaign-layout{position:relative;z-index:1;}
#campaign .campaign-layout::before{position:absolute;inset:-.85rem -.75rem -.9rem;z-index:-1;border-top:1px solid rgba(156,103,68,.58);border-bottom:1px solid rgba(156,103,68,.35);background:linear-gradient(180deg,rgba(8,10,9,.18),rgba(0,0,0,.28)),repeating-linear-gradient(0deg,rgba(232,210,174,.022) 0 1px,transparent 1px 12px);box-shadow:0 20px 34px rgba(0,0,0,.34),inset 0 1px 0 rgba(232,210,174,.06);content:"";pointer-events:none;}
#campaign .campaign-map{border-color:rgba(181,119,76,.84);background:radial-gradient(ellipse at 24% 30%,rgba(117,135,103,.16),transparent 23%),radial-gradient(ellipse at 78% 72%,rgba(83,92,77,.14),transparent 28%),repeating-radial-gradient(ellipse at 42% 54%,transparent 0 34px,rgba(232,210,174,.055) 35px 36px,transparent 37px 72px),repeating-linear-gradient(155deg,rgba(232,210,174,.028) 0 1px,transparent 1px 13px),linear-gradient(145deg,#383d35 0%,#20251f 46%,#090b0a 100%);box-shadow:0 26px 46px rgba(0,0,0,.55),inset 0 1px 0 rgba(232,210,174,.18),inset 0 0 0 8px rgba(0,0,0,.12),inset 0 -24px 32px rgba(0,0,0,.3);}
#campaign .campaign-map::before{position:absolute;inset:10px;border:1px solid rgba(232,210,174,.19);background:linear-gradient(112deg,rgba(232,210,174,.055),transparent 22%,transparent 76%,rgba(156,103,68,.08));box-shadow:inset 0 0 28px rgba(0,0,0,.38);content:"";pointer-events:none;}
#campaign .campaign-map::after{position:absolute;inset:0;background:radial-gradient(circle at 18% 60%,rgba(0,184,90,.12),transparent 18%),radial-gradient(circle at 76% 36%,rgba(156,103,68,.12),transparent 23%),linear-gradient(135deg,transparent 0 45%,rgba(232,210,174,.045) 50%,transparent 55%);content:"";opacity:.9;pointer-events:none;}
#campaign .map-line{z-index:1;height:2px;background:linear-gradient(90deg,transparent,rgba(156,103,68,.78) 12%,rgba(232,210,174,.74) 54%,rgba(156,103,68,.72) 86%,transparent);box-shadow:0 0 9px rgba(156,103,68,.34);animation:campaign-route-reveal 1.1s cubic-bezier(.2,.7,.2,1) .25s both;}
#campaign .map-line--two{background:linear-gradient(90deg,transparent,rgba(0,184,90,.4) 12%,rgba(0,184,90,.95) 54%,rgba(156,103,68,.7) 88%,transparent);box-shadow:0 0 13px rgba(0,184,90,.28);animation-delay:.4s;}
#campaign .map-marker{width:46px;height:46px;border-color:rgba(232,210,174,.52);background:radial-gradient(circle at 35% 28%,rgba(232,210,174,.18),transparent 28%),linear-gradient(145deg,#30342e,#0b0d0c 72%);box-shadow:inset 0 1px 0 rgba(232,210,174,.14),0 8px 18px rgba(0,0,0,.35);}
#campaign .map-marker--past{color:#b1aa99;opacity:.82;}
#campaign .map-marker[data-field="04"]{opacity:.42;border-style:dashed;}
#campaign .map-marker--active{color:#d9ffe5;border-color:#b8f5c9;background:radial-gradient(circle at 38% 30%,rgba(217,255,229,.45),transparent 24%),radial-gradient(circle,rgba(0,184,90,.45),rgba(5,35,21,.98) 68%);box-shadow:0 0 0 5px rgba(0,184,90,.13),0 0 34px rgba(0,184,90,.58),inset 0 0 0 1px rgba(232,255,237,.45);animation:campaign-active-marker-pulse 2.2s ease-in-out infinite;}
#campaign .map-marker--active::before{position:absolute;inset:-11px;border:1px solid rgba(0,184,90,.45);border-radius:50%;content:"";animation:campaign-active-marker-ring 2.2s ease-out infinite;pointer-events:none;}
#campaign .map-caption{z-index:2;left:1.35rem;padding:.38rem .65rem;color:#d0c6b2;background:rgba(7,9,8,.56);border-left:2px solid rgba(156,103,68,.72);box-shadow:0 6px 16px rgba(0,0,0,.24);}
#campaign .campaign-copy{border-color:rgba(181,119,76,.72);background:linear-gradient(145deg,rgba(48,52,45,.96),rgba(22,26,22,.98) 46%,rgba(8,10,9,.99)),repeating-linear-gradient(90deg,rgba(232,210,174,.024) 0 1px,transparent 1px 14px);box-shadow:0 26px 46px rgba(0,0,0,.52),inset 0 1px 0 rgba(232,210,174,.16),inset 0 -1px 0 rgba(0,0,0,.8);}
#campaign .campaign-copy::after{position:absolute;top:9px;bottom:9px;left:9px;width:2px;background:linear-gradient(180deg,transparent,rgba(156,103,68,.78) 18%,rgba(232,210,174,.24) 50%,rgba(0,184,90,.55) 82%,transparent);box-shadow:0 0 12px rgba(156,103,68,.18);content:"";pointer-events:none;}
#campaign .campaign-copy h3{position:relative;z-index:1;text-shadow:0 3px 18px rgba(0,0,0,.44);}
#campaign .campaign-copy>p:not(.eyebrow){position:relative;z-index:1;}
#campaign .campaign-chronicle-state{position:relative;z-index:1;border-top-color:rgba(156,103,68,.48);}
#campaign .campaign-chronicle-state strong{color:#8de6a9;text-shadow:0 0 16px rgba(0,184,90,.24);}
#campaign .campaign-copy .rune-button{position:relative;z-index:1;border-color:rgba(181,119,76,.86);background:linear-gradient(145deg,rgba(28,34,28,.98),rgba(7,10,8,.98));box-shadow:inset 0 1px 0 rgba(232,210,174,.12),0 10px 20px rgba(0,0,0,.24);}
#campaign .campaign-copy .rune-button:hover{border-color:var(--green);background:linear-gradient(145deg,rgba(7,91,56,.95),rgba(7,18,12,.98));}
@keyframes campaign-route-reveal{0%{opacity:0;clip-path:inset(0 100% 0 0);filter:brightness(.7)}55%{opacity:1;filter:brightness(1.4)}100%{opacity:.88;clip-path:inset(0 0 0 0);filter:brightness(1)}}
@keyframes campaign-active-marker-pulse{0%,100%{transform:scale(1);filter:brightness(1)}50%{transform:scale(1.06);filter:brightness(1.18)}}
@keyframes campaign-active-marker-ring{0%{opacity:.72;transform:scale(.78)}75%,100%{opacity:0;transform:scale(1.42)}}
@media (max-width:800px){#campaign::before{inset:.65rem -.4rem .45rem}#campaign::after{inset:1rem .05rem .75rem}#campaign .section-heading::before{top:-.45rem;width:170px}#campaign .campaign-layout::before{inset:-.5rem -.35rem -.7rem}#campaign .campaign-map::before{inset:7px}#campaign .campaign-copy::after{top:7px;bottom:7px;left:7px;width:1px;}}
@media (prefers-reduced-motion:reduce){#campaign .map-line{animation:none;clip-path:none}#campaign .map-marker--active,#campaign .map-marker--active::before{animation:none}}

/* Campaign route correction: five connected segments terminate at the six
   existing marker centers instead of using two unrelated straight lines. */
#campaign .campaign-route-overlay{position:absolute;inset:0;z-index:1;width:100%;height:100%;overflow:visible;pointer-events:none;}
#campaign .campaign-route-segment{fill:none;stroke:rgba(181,119,76,.88);stroke-width:.42;stroke-linecap:round;stroke-linejoin:round;vector-effect:non-scaling-stroke;stroke-dasharray:1;stroke-dashoffset:1;filter:drop-shadow(0 0 3px rgba(156,103,68,.38));animation:campaign-segment-reveal .72s cubic-bezier(.2,.7,.2,1) both;}
#campaign .campaign-route-segment--02{animation-delay:.12s;}
#campaign .campaign-route-segment--03{animation-delay:.24s;}
#campaign .campaign-route-segment--04{animation-delay:.36s;}
#campaign .campaign-route-segment--active{stroke:#00b85a;stroke-width:.58;filter:drop-shadow(0 0 4px rgba(0,184,90,.62));animation-delay:.48s;}
#campaign .campaign-map.is-tracing .campaign-route-segment{animation-name:campaign-segment-retrace;animation-delay:0s;}
#campaign .campaign-map.is-tracing .campaign-route-segment--02{animation-delay:.1s;}
#campaign .campaign-map.is-tracing .campaign-route-segment--03{animation-delay:.2s;}
#campaign .campaign-map.is-tracing .campaign-route-segment--04{animation-delay:.3s;}
#campaign .campaign-map.is-tracing .campaign-route-segment--active{animation-delay:.4s;}
@keyframes campaign-segment-reveal{0%{stroke-dashoffset:1;opacity:0}24%{opacity:1}100%{stroke-dashoffset:0;opacity:.9}}
@keyframes campaign-segment-retrace{0%{stroke-dashoffset:1;opacity:.18}28%{opacity:1}100%{stroke-dashoffset:0;opacity:.92}}
@media (prefers-reduced-motion:reduce){#campaign .campaign-route-segment{animation:none;stroke-dashoffset:0}#campaign .campaign-map.is-tracing .campaign-route-segment{animation:none}}

/* Campaign baseline lock: one continuous stone field with an integrated
   parchment record. Keep the functional map, links, copy, and CTA intact. */
#campaign::before{border-color:rgba(111,120,111,.82);box-shadow:0 36px 88px rgba(0,0,0,.54),inset 0 1px 0 rgba(232,210,174,.12),inset 0 0 0 1px rgba(156,103,68,.2),inset 0 -24px 42px rgba(0,0,0,.42),inset 0 0 0 12px rgba(0,0,0,.11);}
#campaign .campaign-layout{grid-template-columns:minmax(0,1.4fr) minmax(18rem,.8fr);gap:clamp(.75rem,1.35vw,1.1rem);padding:clamp(.7rem,1.35vw,1rem);border:1px solid rgba(111,120,111,.78);background:linear-gradient(145deg,rgba(54,60,52,.92),rgba(20,24,21,.97) 48%,rgba(7,9,8,.99)),repeating-linear-gradient(158deg,rgba(232,210,174,.024) 0 1px,transparent 1px 13px);box-shadow:0 28px 52px rgba(0,0,0,.48),inset 0 1px 0 rgba(232,210,174,.1),inset 0 -18px 28px rgba(0,0,0,.3);}
#campaign .campaign-layout::before{inset:0;border:0;background:none;box-shadow:none;}
#campaign .campaign-map{min-height:360px;border-color:rgba(111,120,111,.86);background:radial-gradient(ellipse at 19% 35%,rgba(104,119,96,.14),transparent 24%),radial-gradient(ellipse at 78% 72%,rgba(72,83,67,.15),transparent 30%),repeating-radial-gradient(ellipse at 44% 56%,transparent 0 31px,rgba(232,210,174,.06) 32px 33px,transparent 34px 68px),repeating-linear-gradient(157deg,rgba(232,210,174,.04) 0 1px,transparent 1px 12px),repeating-linear-gradient(73deg,rgba(0,0,0,.1) 0 2px,transparent 2px 21px),linear-gradient(145deg,#3c423a 0%,#242a24 48%,#0a0d0b 100%);box-shadow:inset 0 1px 0 rgba(232,210,174,.14),inset 0 0 0 7px rgba(0,0,0,.14),inset 0 -24px 32px rgba(0,0,0,.34);}
#campaign .campaign-map::before{inset:9px;border-color:rgba(111,120,111,.62);background:repeating-linear-gradient(171deg,transparent 0 23px,rgba(232,210,174,.035) 24px,transparent 25px 48px),linear-gradient(112deg,rgba(232,210,174,.045),transparent 22%,transparent 76%,rgba(156,103,68,.06));box-shadow:inset 0 0 28px rgba(0,0,0,.4);}
#campaign .campaign-map::after{background:radial-gradient(circle at 18% 60%,rgba(0,184,90,.1),transparent 18%),radial-gradient(circle at 76% 36%,rgba(156,103,68,.08),transparent 23%),linear-gradient(135deg,transparent 0 44%,rgba(232,210,174,.055) 50%,transparent 56%);opacity:.58;animation:campaign-field-light 11s ease-in-out infinite;}
#campaign .campaign-route-segment{stroke:rgba(181,119,76,.62);stroke-width:.38;filter:drop-shadow(0 0 2px rgba(156,103,68,.34));}
#campaign .campaign-route-segment--active{stroke:#00b85a;stroke-width:.5;filter:drop-shadow(0 0 3px rgba(0,184,90,.5));}
#campaign .map-marker{width:46px;height:46px;border-color:rgba(126,135,124,.72);border-radius:34% 48% 42% 38%;background:radial-gradient(circle at 34% 24%,rgba(232,210,174,.14),transparent 28%),linear-gradient(145deg,#353c35,#0c100d 72%);box-shadow:inset 0 1px 0 rgba(232,210,174,.12),inset 0 -4px 8px rgba(0,0,0,.34),0 8px 18px rgba(0,0,0,.35);}
#campaign .map-marker--past{color:#9b9d91;opacity:.72;filter:saturate(.62) brightness(.88);}
#campaign .map-marker[data-field="04"]{color:#9b9d91;opacity:.72;border-style:solid;}
#campaign .map-marker:hover,#campaign .map-marker:focus-visible{transform:translateY(-2px) scale(1.06);border-color:rgba(0,184,90,.78);color:#e8f7e8;filter:saturate(1) brightness(1.12);box-shadow:0 0 0 4px rgba(0,184,90,.1),0 0 18px rgba(0,184,90,.24),inset 0 1px 0 rgba(232,210,174,.18);}
#campaign .map-marker--active{border-radius:50%;color:#d9ffe5;opacity:1;filter:none;background:radial-gradient(circle at 38% 30%,rgba(217,255,229,.38),transparent 24%),radial-gradient(circle,rgba(0,184,90,.42),rgba(5,35,21,.98) 68%);}
#campaign .campaign-copy{overflow:hidden;min-height:360px;padding:clamp(1.4rem,3vw,2.25rem);border:0;background-color:#b99a6a;background-image:url("assets/field-notes-parchment-wide-v2.webp");background-position:center;background-repeat:no-repeat;background-size:cover;box-shadow:0 20px 32px rgba(0,0,0,.32),inset 0 0 0 1px rgba(81,50,27,.22),inset 0 -20px 30px rgba(62,35,17,.14);color:#281a0d;}
#campaign .campaign-copy::before{inset:0;border:0;background:linear-gradient(135deg,rgba(255,237,193,.08),transparent 28%,transparent 72%,rgba(73,41,19,.12));box-shadow:inset 0 0 34px rgba(74,42,18,.17);}
#campaign .campaign-copy::after{display:none;}
#campaign .campaign-copy>*{position:relative;z-index:1;}
#campaign .campaign-copy .eyebrow{color:#0f0c09;text-shadow:none;}
#campaign .campaign-copy h3{color:#24160b;text-shadow:0 1px 0 rgba(255,231,184,.34),0 2px 5px rgba(76,42,17,.14);}
#campaign .campaign-copy>p:not(.eyebrow){color:#4b301d;text-shadow:0 1px 0 rgba(255,232,188,.22);}
#campaign .campaign-chronicle-state{border-top-color:rgba(91,55,27,.42);color:#49301b;}
#campaign .campaign-chronicle-state strong{color:#0f0c09;text-shadow:none;}
#campaign .campaign-copy .rune-button{border-color:rgba(156,103,68,.86);color:var(--paper);background:linear-gradient(145deg,rgba(35,40,35,.98),rgba(8,11,9,.99));box-shadow:inset 0 1px 0 rgba(232,210,174,.14),0 8px 18px rgba(53,30,13,.24);}
@keyframes campaign-field-light{0%,100%{background-position:0 0;opacity:.42}50%{background-position:18% -4%;opacity:.68}}
@media (max-width:800px){#campaign .campaign-layout{grid-template-columns:1fr;gap:.75rem;padding:.65rem}#campaign .campaign-map{min-height:280px}#campaign .campaign-copy{min-height:300px;padding:clamp(1.25rem,6vw,1.8rem);}}
@media (prefers-reduced-motion:reduce){#campaign .campaign-map::after{animation:none;opacity:.5}}

/* Campaign asset stack: war table, landmark parchment, physical props, and
   warm light remain independent from the editable map controls. */
#campaign .campaign-map{isolation:isolate;border:0;background:transparent;box-shadow:none;}
#campaign .campaign-map::before,#campaign .campaign-map::after{display:none;}
#campaign .campaign-map>img{position:absolute;inset:0;display:block;width:100%;height:100%;pointer-events:none;user-select:none;}
#campaign .campaign-war-table-surface{z-index:0;object-fit:cover;object-position:center;}
#campaign .campaign-map-parchment{z-index:1;inset:7% 4%!important;width:92%!important;height:86%!important;object-fit:cover;object-position:center;filter:drop-shadow(0 9px 10px rgba(20,11,5,.4));}
#campaign .campaign-map-light{z-index:3;object-fit:cover;object-position:center;opacity:.2;mix-blend-mode:screen;animation:campaign-warm-light-drift 13s ease-in-out infinite;}
#campaign .campaign-route-overlay{z-index:4;}
#campaign .campaign-map .map-marker{z-index:5;}
#campaign .campaign-map .map-caption{z-index:6;}
#campaign .campaign-copy{overflow:visible;background-color:transparent;background-image:url("assets/campaign-field-report-parchment-desktop-v2.webp");background-position:center;background-repeat:no-repeat;background-size:100% 100%;border:0;box-shadow:none;filter:drop-shadow(0 18px 17px rgba(0,0,0,.52));}
#campaign .campaign-copy::before,#campaign .campaign-copy::after{content:none;}
@keyframes campaign-warm-light-drift{0%,100%{transform:translate3d(0,0,0);opacity:.16}50%{transform:translate3d(1.1%,-.5%,0);opacity:.24}}
@media (max-width:800px){#campaign .campaign-map-parchment{inset:8% 3%!important;width:94%!important;height:84%!important;}#campaign .campaign-copy{background-image:url("assets/campaign-field-report-parchment-v1.webp");background-size:100% 100%;}#campaign .campaign-map-light{opacity:.16;}}
@media (prefers-reduced-motion:reduce){#campaign .campaign-map-light{animation:none;opacity:.2;}}

/* Campaign asset proportions: the source artwork and its visible torn edges
   stay in the same aspect ratio as the functional desktop boxes. */
@media (min-width:801px){
  #campaign .campaign-layout{grid-template-columns:minmax(0,1.754fr) minmax(0,1fr);align-items:stretch;}
  #campaign .campaign-map{min-height:0;aspect-ratio:1605 / 872;}
  #campaign .campaign-copy{min-height:0;height:auto;aspect-ratio:932 / 962;}
  #campaign .campaign-map>img{object-fit:fill;}
  #campaign .campaign-map-parchment{object-fit:fill;}
}

/* Let the war-table and parchment sit directly on the campaign stone field.
   The artwork supplies its own iron/parchment edges; the old inset wrapper
   border made the map look like it was inside a second generic box. */
#campaign .campaign-layout{padding:0;border:0;background:transparent;box-shadow:none;}
#campaign .campaign-layout::before{content:none;}
#campaign::before{border:0;box-shadow:0 36px 88px rgba(0,0,0,.54),inset 0 -24px 42px rgba(0,0,0,.42);}
@media (min-width:801px){#campaign .campaign-layout{margin-right:calc(-3vw + .45rem);margin-left:calc(-3vw + .45rem);}}

/* Campaign atmosphere pass: deepen the continuous backing, let the brazier
   light flicker irregularly, and make the field-entry CTA a stamped seal. */
#campaign::before{background:linear-gradient(180deg,rgba(3,5,4,.76),rgba(2,3,3,.54));box-shadow:0 34px 80px rgba(0,0,0,.6),inset 0 -22px 38px rgba(0,0,0,.42);}
#campaign::after{border-color:rgba(232,210,174,.08);background:transparent;box-shadow:none;}
#campaign .campaign-map-light{animation:campaign-warm-light-flicker 8.6s ease-in-out infinite;}
@keyframes campaign-warm-light-flicker{
  0%,100%{transform:translate3d(0,0,0) scale(1);opacity:.14;}
  7%{transform:translate3d(.35%,-.15%,0) scale(1.008);opacity:.22;}
  10%{transform:translate3d(-.12%,.08%,0) scale(.997);opacity:.15;}
  17%{transform:translate3d(.68%,-.26%,0) scale(1.014);opacity:.28;}
  23%{transform:translate3d(.18%,.05%,0) scale(1.002);opacity:.18;}
  32%{transform:translate3d(1.02%,-.42%,0) scale(1.02);opacity:.25;}
  39%{transform:translate3d(.25%,-.04%,0) scale(1);opacity:.15;}
  48%{transform:translate3d(.82%,-.2%,0) scale(1.012);opacity:.27;}
  56%{transform:translate3d(.08%,.06%,0) scale(.998);opacity:.17;}
  66%{transform:translate3d(1.15%,-.48%,0) scale(1.024);opacity:.24;}
  75%{transform:translate3d(.3%,-.08%,0) scale(1.002);opacity:.16;}
  86%{transform:translate3d(.92%,-.3%,0) scale(1.016);opacity:.3;}
  94%{transform:translate3d(.12%,.04%,0) scale(.999);opacity:.18;}
}
#campaign .campaign-copy .rune-button--wax-asset{display:inline-flex;min-width:0;min-height:0;padding:0;border:0;background:transparent;box-shadow:none;filter:drop-shadow(0 12px 15px rgba(19,9,23,.38));transition:none;}
#campaign h1,#campaign h2,#campaign h3,#campaign h4,#campaign h5,#campaign h6,#campaign button,#campaign .eyebrow,#campaign .section-kicker,#campaign .text-button,#campaign .rune-button,#campaign .filter-button,#campaign .status-chip,#campaign .card-index,#campaign .media-label,#campaign .map-marker,#campaign .map-caption,#campaign .schedule-day,#campaign .campaign-chronicle-state,#campaign .community-tile span,#campaign .community-tile strong{font-family:"Rune Cut",Georgia,serif;}
#campaign .campaign-copy .campaign-field-seal-asset{display:block;width:min(100%,270px);height:64px;object-fit:fill;}
#campaign .campaign-copy .campaign-seal-sr{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0;}
#campaign .campaign-copy .rune-button--wax-asset:hover{border:0;background:transparent;filter:drop-shadow(0 15px 19px rgba(19,9,23,.48)) drop-shadow(0 0 10px rgba(91,28,125,.22));transform:none;}
#campaign .campaign-copy .rune-button--wax-asset:focus-visible{outline:2px solid #9cf0b2;outline-offset:5px;}
@media (max-width:800px){#campaign .campaign-copy .campaign-field-seal-asset{width:min(100%,300px);height:64px;}}
@media (prefers-reduced-motion:reduce){#campaign .campaign-map-light{animation:none;opacity:.2;transform:none;}#campaign .campaign-copy .rune-button--wax-asset{transition:none;}}

/* Visual phase 04: Next Signal headquarters watch board.
   Live rows and the separate YouTube upload block keep their existing data,
   filters, countdown, calendar action, and responsive behavior. */
#signal{isolation:isolate;border-top:0;background:radial-gradient(ellipse at 52% 42%,rgba(109,126,101,.1),transparent 32%),linear-gradient(180deg,rgba(5,7,6,.7),rgba(10,13,11,.28) 45%,rgba(5,7,6,.78));}
#signal::before{position:absolute;inset:0 -6vw 0;z-index:-2;background:linear-gradient(112deg,rgba(48,54,47,.97),rgba(24,29,25,.98) 46%,rgba(8,11,9,.99)),repeating-linear-gradient(168deg,rgba(232,210,174,.032) 0 1px,transparent 1px 10px),repeating-linear-gradient(82deg,rgba(0,0,0,.12) 0 2px,transparent 2px 18px);clip-path:polygon(.8% 0,99.25% 0,100% 1%,99.65% 98.7%,98.8% 100%,.9% 99.55%,0 .9%);content:"";pointer-events:none;}
#signal::after{display:none;}
#signal .section-heading{position:relative;z-index:1;padding-bottom:.5rem;}
#signal .section-heading::before{position:absolute;top:-.72rem;left:0;color:rgba(232,210,174,.7);font-family:Georgia,serif;font-size:1.1rem;letter-spacing:.28rem;text-shadow:0 0 12px rgba(232,210,174,.16);content:"◇ ◇";pointer-events:none;}
#signal .section-heading::after{display:none;}
#signal .signal-filters{position:relative;z-index:1;align-items:center;padding:.28rem;border:1px solid rgba(156,103,68,.62);background:rgba(8,11,9,.58);box-shadow:inset 0 1px 0 rgba(232,210,174,.1),0 10px 18px rgba(0,0,0,.22);}
#signal .filter-button{min-width:4.4rem;padding:.5rem .7rem;border:1px solid transparent;background:linear-gradient(145deg,rgba(45,50,43,.85),rgba(12,16,13,.92));}
#signal .filter-button:hover,#signal .filter-button.is-active{color:var(--paper);border-color:rgba(156,103,68,.86);background:linear-gradient(145deg,rgba(91,72,52,.82),rgba(20,26,21,.96));box-shadow:inset 0 1px 0 rgba(232,210,174,.12),0 0 14px rgba(0,184,90,.08);}
#signal .schedule{position:relative;isolation:isolate;overflow:hidden;border-color:rgba(181,119,76,.76);background:linear-gradient(145deg,rgba(26,31,27,.98),rgba(9,12,10,.99)),repeating-linear-gradient(0deg,rgba(232,210,174,.022) 0 1px,transparent 1px 12px);box-shadow:0 28px 56px rgba(0,0,0,.52),inset 0 1px 0 rgba(232,210,174,.14),inset 0 -1px 0 rgba(0,0,0,.8);}
#signal .schedule::after{position:absolute;inset:0;z-index:0;background:linear-gradient(104deg,transparent 0 38%,rgba(232,210,174,.1) 48%,rgba(0,184,90,.08) 51%,transparent 62%);content:"";opacity:0;transform:translateX(-125%);pointer-events:none;animation:next-signal-light-pass 10s ease-in-out 1.2s infinite;}
#signal .schedule::before{inset:8px;z-index:0;border-color:rgba(232,210,174,.16);box-shadow:inset 0 0 28px rgba(0,0,0,.36);}
#signal .schedule-row,#signal .schedule-divider,#signal .next-run,#signal .schedule-note{position:relative;z-index:1;}
#signal .schedule-row{margin:.55rem 1rem;border:1px solid rgba(156,103,68,.7);background:linear-gradient(100deg,rgba(198,171,126,.97),rgba(151,123,86,.97) 54%,rgba(108,84,58,.98));box-shadow:0 9px 18px rgba(0,0,0,.24),inset 0 1px 0 rgba(248,232,195,.26),inset 0 -1px 0 rgba(43,31,20,.44);color:#211b14;overflow:hidden;}
#signal .schedule-row::before{position:absolute;inset:0;background:linear-gradient(104deg,transparent 0 38%,rgba(255,240,202,.24) 49%,transparent 60%);content:"";opacity:0;transform:translateX(-125%);pointer-events:none;}
#signal .schedule-row:hover::before,#signal .schedule-row:focus-visible::before{opacity:1;animation:next-signal-row-pass .85s ease-out both;}
#signal .schedule-row:hover,#signal .schedule-row:focus-visible{background:linear-gradient(100deg,rgba(216,190,144,.98),rgba(171,143,101,.98) 54%,rgba(121,95,67,.98));color:#1a1711;box-shadow:0 12px 22px rgba(0,0,0,.3),inset 0 1px 0 rgba(255,241,207,.34),0 0 18px rgba(0,184,90,.1);}
#signal .schedule-row strong,#signal .schedule-row span:not(.schedule-day),#signal .schedule-row em{position:relative;z-index:1;color:#211b14;}
#signal .schedule-row .schedule-day{color:#075f3a;text-shadow:0 0 8px rgba(0,184,90,.14);}
#signal .schedule-row em{opacity:.8;}
#signal .schedule-divider{height:12px;margin:.9rem 1.35rem .35rem;border-top:1px solid rgba(181,119,76,.62);border-bottom:1px solid rgba(232,210,174,.12);background:linear-gradient(90deg,transparent,rgba(156,103,68,.22),transparent);}
#signal .next-run{margin:0 1rem;padding:1.05rem 1rem .2rem;border:1px solid rgba(156,103,68,.64);background:linear-gradient(145deg,rgba(202,175,129,.96),rgba(151,122,84,.97) 58%,rgba(108,82,56,.98));box-shadow:0 12px 22px rgba(0,0,0,.26),inset 0 1px 0 rgba(255,239,201,.27),inset 0 -1px 0 rgba(43,31,20,.42);color:#211b14;}
#signal .next-run-heading{color:#4b3a28;border-bottom:1px solid rgba(61,43,27,.28);}
#signal .next-run-heading .eyebrow,#signal .next-run-heading strong,#signal .next-run-heading>span{color:#211b14;}
#signal .next-run-heading .eyebrow{color:#075f3a;}
#signal .next-run-list{border-top-color:rgba(61,43,27,.28);}
#signal .next-run-row{border-bottom-color:rgba(61,43,27,.28);}
#signal .next-run-row strong,#signal .next-run-row span:not(.schedule-day),#signal .next-run-row em{color:#211b14;}
#signal .next-run-row .schedule-day{color:#075f3a;}
#signal .next-run-empty{color:#075f3a;}
#signal .next-run-empty span{color:#4b3a28;}
#signal .schedule-note{margin-top:.85rem;border-top:1px solid rgba(156,103,68,.36);background:linear-gradient(180deg,rgba(7,10,8,.16),rgba(5,7,6,.5));}
#signal .schedule-note strong{color:#8de6a9;text-shadow:0 0 12px rgba(0,184,90,.18);}
#signal .schedule-note small{color:rgba(232,210,174,.62);}
#signal .schedule-note .text-button{color:var(--paper);}
@keyframes next-signal-light-pass{0%,20%{opacity:0;transform:translateX(-125%)}32%{opacity:.9}47%{opacity:.35}64%,100%{opacity:0;transform:translateX(125%)}}
@keyframes next-signal-row-pass{0%{transform:translateX(-125%)}100%{transform:translateX(125%)}}
@media (max-width:800px){#signal::before{inset:0 -1.5rem 0}#signal::after{display:none}#signal .section-heading::before{top:-.5rem}#signal .signal-filters{margin-top:1rem;width:max-content;max-width:100%;}#signal .filter-button{min-width:3.8rem;padding:.48rem .56rem}#signal .schedule-row{margin:.45rem .65rem;padding:.95rem .85rem}#signal .next-run{margin:0 .65rem;padding:.95rem .8rem .15rem}#signal .schedule-divider{margin:.75rem .9rem .25rem}}
@media (prefers-reduced-motion:reduce){#signal .schedule::after{animation:none;opacity:0}#signal .schedule-row::before{animation:none;opacity:0}}

/* Keep the approved functional schedule geometry exact: parchment is inset
   visually inside each existing row rather than by adding layout margins. */
#signal .filter-button{min-width:0;padding:.55rem .7rem;}
#signal .schedule-row{margin:0;border:0;border-bottom:1px solid rgba(156,103,68,.42);background:transparent;box-shadow:none;overflow:hidden;}
#signal .schedule-row::before{inset:.45rem 1rem;z-index:0;border:1px solid rgba(156,103,68,.7);background:linear-gradient(100deg,rgba(198,171,126,.97),rgba(151,123,86,.97) 54%,rgba(108,84,58,.98));box-shadow:0 9px 18px rgba(0,0,0,.24),inset 0 1px 0 rgba(248,232,195,.26),inset 0 -1px 0 rgba(43,31,20,.44);opacity:1;transform:none;content:"";pointer-events:none;}
#signal .schedule-row::after{position:absolute;inset:.45rem 1rem;z-index:0;background:linear-gradient(104deg,transparent 0 38%,rgba(255,240,202,.24) 49%,transparent 60%);content:"";opacity:0;transform:translateX(-125%);pointer-events:none;}
#signal .schedule-row:hover::before,#signal .schedule-row:focus-visible::before{opacity:1;transform:none;animation:none;}
#signal .schedule-row:hover::after,#signal .schedule-row:focus-visible::after{opacity:1;animation:next-signal-row-pass .85s ease-out both;}
#signal .schedule-row:hover,#signal .schedule-row:focus-visible{background:transparent;box-shadow:none;}
#signal .schedule-divider{margin:0 1.35rem;}
#signal .next-run{margin:0;padding:1rem 1.35rem 0;}
#signal .schedule-note{margin:0;}
@media (max-width:800px){#signal .filter-button{min-width:0;padding:.55rem .7rem}#signal .schedule-row::before,#signal .schedule-row::after{inset:.4rem .65rem}#signal .next-run{margin:0;padding:1rem 1.35rem 0}#signal .schedule-divider{margin:0 .9rem}}
@media (prefers-reduced-motion:reduce){#signal .schedule-row::after{animation:none;opacity:0}}

/* Next Signal calendar ledger: the stone remains the board, while the live
   calendar is carried by an independent parchment notice and axe pin. */
#signal .schedule{
  position:relative;
  overflow:visible;
  padding:0;
  border:0;
  background:transparent;
  box-shadow:none;
}
#signal .schedule::before{display:none;}
#signal .next-signal-parchment .next-signal-axe-pin{
  position:absolute;
  top:clamp(.15rem,.8vw,.7rem);
  left:clamp(.35rem,1.1vw,1.2rem);
  z-index:5;
  width:clamp(175px,19vw,235px);
  height:auto;
  filter:drop-shadow(0 14px 12px rgba(0,0,0,.48));
  pointer-events:none;
  transform:rotate(-12deg);
  transform-origin:10% 18%;
}
#signal .next-signal-parchment{
  position:relative;
  z-index:2;
  width:100%;
  min-height:clamp(650px,50vw,800px);
  margin:0 auto;
  padding:clamp(3.2rem,4.8vw,4.2rem) clamp(1.5rem,5vw,4.8rem) clamp(1.1rem,2.4vw,1.8rem);
  color:#2b1d12;
  background:transparent;
  box-shadow:none;
  isolation:isolate;
}
#signal .next-signal-parchment::after{
  display:none;
}
#signal .next-signal-parchment-surface{
  position:absolute;
  top:-1rem;
  left:-1rem;
  z-index:0;
  width:calc(100% + 2rem);
  height:calc(100% + 2rem);
  object-fit:fill;
  background-image:url("assets/next-signal-parchment-notice-v2.webp?v=111");
  background-position:center;
  background-repeat:no-repeat;
  background-size:100% 100%;
  pointer-events:none;
}
#signal .next-signal-parchment::before{
  display:none;
}
#signal .next-signal-parchment> *{position:relative;z-index:3;}
#signal .next-signal-parchment>.next-signal-parchment-surface{position:absolute;z-index:0;}
#signal .next-signal-calendar-head{
  display:grid;
  grid-template-columns:2.75rem 1fr 2.75rem;
  align-items:center;
  gap:.8rem;
  padding:0 0 .85rem;
  border-bottom:1px solid rgba(77,48,27,.38);
}
#signal .next-signal-calendar-head>div{text-align:center;}
#signal .next-signal-calendar-head .eyebrow,
#signal .next-signal-calendar-head h3,
#signal .next-signal-channel .section-kicker{color:#3e2919;}
#signal .next-signal-calendar-head h3{
  margin:.2rem 0 0;
  font-size:clamp(1.45rem,3vw,2.45rem);
  font-weight:400;
  letter-spacing:.08em;
}
#signal .next-signal-month-button{
  display:grid;
  place-items:center;
  min-width:44px;
  min-height:44px;
  border:1px solid rgba(76,48,26,.48);
  color:#3e2919;
  background:rgba(64,39,19,.07);
  font-size:1.25rem;
  cursor:pointer;
  transition:background .2s ease,transform .2s ease;
}
#signal .next-signal-month-button:hover,
#signal .next-signal-month-button:focus-visible{background:rgba(64,39,19,.15);transform:translateY(-1px);}
#signal .next-signal-weekdays{
  display:grid;
  grid-template-columns:repeat(7,minmax(0,1fr));
  gap:.35rem;
  margin-top:1rem;
  color:#5e3c23;
  font-size:.64rem;
  letter-spacing:.14em;
  text-align:center;
}
#signal .next-signal-calendar-grid{
  display:grid;
  grid-template-columns:repeat(7,minmax(0,1fr));
  gap:.58rem;
  margin-top:.38rem;
}
#signal .next-signal-calendar-blank{min-height:clamp(5.5rem,7vw,7.2rem);aspect-ratio:1 / .74;border:1px solid rgba(56,33,17,.76);background:rgba(75,46,22,.018);box-sizing:border-box;}
#signal .next-signal-calendar-day{
  position:relative;
  display:grid;
  min-width:0;
  min-height:clamp(5.5rem,7vw,7.2rem);
  aspect-ratio:1 / .74;
  align-items:start;
  justify-items:stretch;
  align-content:start;
  gap:.35rem;
  padding:.58rem .52rem .45rem;
  border:1px solid rgba(56,33,17,.76);
  box-sizing:border-box;
  color:#2b1d12;
  background:rgba(75,46,22,.035);
  box-shadow:none;
  font-family:inherit;
  text-align:left;
  cursor:pointer;
  transition:background .2s ease,box-shadow .2s ease,transform .2s ease;
}
#signal .next-signal-calendar-day:hover,
#signal .next-signal-calendar-day:focus-visible{background:rgba(75,46,22,.14);transform:translateY(-1px);}
#signal .next-signal-calendar-day.is-selected{
  border-color:rgba(7,95,58,.78);
  background:rgba(7,95,58,.13);
  box-shadow:inset 0 -3px 0 #075f3a,0 3px 0 rgba(75,46,22,.12);
}
#signal .next-signal-calendar-day.is-today .next-signal-calendar-number{font-weight:700;text-decoration:underline;text-decoration-color:#8b5c32;text-underline-offset:.22rem;}
#signal .next-signal-calendar-number{display:block;font-size:1.05rem;line-height:1;text-align:right;}
#signal .next-signal-calendar-events{display:grid;align-content:start;gap:.28rem;min-width:0;}
#signal .next-signal-calendar-event{display:block;min-width:0;padding-top:.3rem;border-top:1px solid rgba(61,38,20,.42);font-size:.78rem;line-height:1.08;overflow:hidden;}
#signal .next-signal-calendar-event:first-child{padding-top:0;border-top:0;}
#signal .next-signal-calendar-event strong{display:block;font-size:.72rem;font-weight:400;letter-spacing:.08em;}
#signal .next-signal-calendar-event-time{display:block;margin-top:.16rem;font-size:.9rem;font-weight:500;letter-spacing:.03em;}
#signal .next-signal-calendar-event-title{display:block;max-height:0;margin-top:0;overflow:hidden;opacity:0;transform:translateY(-.3rem);transition:max-height .24s ease,margin-top .24s ease,opacity .24s ease,transform .24s ease;}
#signal .next-signal-calendar-day:hover .next-signal-calendar-event-title,
#signal .next-signal-calendar-day:focus-visible .next-signal-calendar-event-title{max-height:2.4rem;margin-top:.2rem;opacity:.86;transform:translateY(0);}
#signal .next-signal-calendar-event--live strong{color:#075f3a;}
#signal .next-signal-calendar-event--upload strong{color:#6b3a82;}
#signal .next-signal-selected{
  margin-top:1rem;
  padding:.62rem .8rem;
  border-top:1px solid rgba(77,48,27,.34);
  border-bottom:1px solid rgba(77,48,27,.22);
  color:#4c311d;
  font-size:.69rem;
  letter-spacing:.14em;
  text-align:center;
}
#signal .next-signal-day-contents{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:clamp(1.2rem,4vw,3rem);
  margin-top:1rem;
}
#signal .next-signal-channel{min-width:0;}
#signal .next-signal-channel+.next-signal-channel{border-left:1px solid rgba(77,48,27,.24);padding-left:clamp(1.2rem,4vw,3rem);}
#signal .next-signal-channel .section-kicker{margin:0 0 .55rem;}
#signal .next-signal-channel-content{min-height:4.35rem;}
#signal .next-signal-channel-content.is-revealing{animation:next-signal-ink-reveal .48s cubic-bezier(.2,.75,.25,1) both;}
#signal .next-signal-event{padding:.62rem 0;border-top:1px solid rgba(77,48,27,.24);}
#signal .next-signal-event:first-child{border-top:0;padding-top:.15rem;}
#signal .next-signal-event-meta{display:flex;justify-content:space-between;gap:.75rem;color:#684328;font-size:.67rem;letter-spacing:.09em;}
#signal .next-signal-event-meta strong{color:#2b1d12;font-size:.75rem;font-weight:500;white-space:nowrap;}
#signal .next-signal-event h4{margin:.28rem 0 .12rem;font-size:1rem;font-weight:400;letter-spacing:.05em;}
#signal .next-signal-event small{color:#075f3a;font-size:.63rem;letter-spacing:.12em;}
#signal .next-signal-empty{margin:.4rem 0;color:#684328;font-size:.76rem;letter-spacing:.1em;}
#signal .next-signal-note{
  display:flex;
  flex-wrap:nowrap;
  position:relative;
  z-index:4;
  align-items:center;
  justify-content:flex-end;
  gap:.35rem .8rem;
  width:fit-content;
  max-width:100%;
  margin:1rem 0 0 auto;
  padding-top:.85rem;
  border-top:1px solid rgba(77,48,27,.24);
  color:#684328;
  font-size:clamp(.86rem,1.05vw,.98rem);
  line-height:1.3;
  letter-spacing:.025em;
  text-align:right;
  white-space:nowrap;
  transform:translateY(calc(-1 * clamp(.45rem,1.1vw,1rem)));
}
#signal .next-signal-note small{color:#5b3a22;font-size:.94em;letter-spacing:.08em;}
#signal .next-signal-note .text-button{min-height:44px;padding:.4rem .1rem;color:#3e2919;border-bottom-color:rgba(62,41,25,.45);}
@keyframes next-signal-ink-reveal{from{clip-path:inset(0 100% 0 0);opacity:.35;transform:translateX(-.35rem)}to{clip-path:inset(0 0 0 0);opacity:1;transform:translateX(0)}}
@media (max-width:800px){
  #signal .schedule{padding:.6rem .2rem 1.2rem;}
  #signal .next-signal-parchment .next-signal-axe-pin{top:.15rem;left:.35rem;width:clamp(170px,40vw,215px);}
  #signal .next-signal-parchment{min-height:0;padding:3.6rem .8rem 1.1rem;}
  #signal .next-signal-parchment-surface{top:-.55rem;left:-.55rem;width:calc(100% + 1.1rem);height:calc(100% + 1.1rem);}
  #signal .next-signal-calendar-head{grid-template-columns:2.5rem 1fr 2.5rem;}
  #signal .next-signal-weekdays{gap:.2rem;font-size:.56rem;}
  #signal .next-signal-calendar-grid{gap:.42rem;}
  #signal .next-signal-calendar-day{min-height:4.65rem;aspect-ratio:auto;padding:.4rem .28rem .3rem;gap:.24rem;}
  #signal .next-signal-calendar-number{font-size:.82rem;}
  #signal .next-signal-calendar-event{font-size:.64rem;line-height:1.08;}
  #signal .next-signal-calendar-event strong{font-size:.58rem;}
  #signal .next-signal-calendar-event-time{font-size:.68rem;}
  #signal .next-signal-calendar-blank{min-height:4.65rem;}
  #signal .next-signal-note{flex-wrap:wrap;font-size:.82rem;white-space:normal;}
  #signal .next-signal-day-contents{grid-template-columns:1fr;gap:1rem;}
  #signal .next-signal-channel+.next-signal-channel{border-top:1px solid rgba(77,48,27,.24);border-left:0;padding-top:1rem;padding-left:0;}
}
@media (prefers-reduced-motion:reduce){
  #signal .next-signal-month-button,#signal .next-signal-calendar-day{transition:none;}
  #signal .next-signal-calendar-day:hover,#signal .next-signal-calendar-day:focus-visible{transform:none;}
  #signal .next-signal-channel-content.is-revealing{animation:none;}
}

/* Calendar details are opened as a separate recovered parchment note, so the
   calendar itself stays compact and readable at the full desktop width. */
.next-signal-note-dialog{
  position:fixed;
  display:none;
  z-index:40;
  width:min(470px,calc(100% - 2rem));
  max-height:min(78vh,620px);
  margin:auto;
  padding:2.15rem clamp(1.35rem,4vw,2.35rem) 1.4rem;
  border:1px solid rgba(94,55,28,.72);
  color:#2b1d12;
  background:linear-gradient(145deg,rgba(231,202,151,.98),rgba(183,145,94,.98)),repeating-linear-gradient(8deg,rgba(66,39,20,.05) 0 1px,transparent 1px 11px);
  box-shadow:0 28px 90px rgba(0,0,0,.72),inset 0 0 0 8px rgba(91,53,25,.11),inset 0 0 0 9px rgba(255,231,178,.16);
  clip-path:polygon(1.5% 0,98% 1%,100% 97%,97.5% 100%,2% 99%,0 3%);
}
.next-signal-note-dialog::backdrop{background:rgba(3,5,4,.76);backdrop-filter:blur(2px);}
.next-signal-note-dialog[open]{display:block;animation:next-signal-note-in .2s ease-out both;}
.next-signal-note-close{position:absolute;top:.8rem;right:1rem;color:#3e2919;font-size:1.55rem;background:none;}
.next-signal-note-dialog .eyebrow{color:#075f3a;}
.next-signal-note-dialog h2{margin:.25rem 0 1.15rem;font-size:clamp(1.75rem,5vw,2.55rem);font-weight:400;line-height:1;letter-spacing:.06em;}
.next-signal-note-body{display:grid;gap:.8rem;max-height:48vh;overflow:auto;padding-right:.25rem;}
.next-signal-note-event{padding:.75rem 0;border-top:1px solid rgba(77,48,27,.38);}
.next-signal-note-event:first-child{border-top:0;padding-top:0;}
.next-signal-note-event-meta{display:flex;justify-content:space-between;gap:1rem;color:#075f3a;font-size:.73rem;letter-spacing:.12em;}
.next-signal-note-event-meta strong{color:#3e2919;font-size:.92rem;font-weight:500;letter-spacing:.05em;}
.next-signal-note-event h3{margin:.3rem 0 .25rem;font-size:1.18rem;font-weight:400;letter-spacing:.04em;}
.next-signal-note-event p,.next-signal-note-empty{margin:0;color:#5b3a22;font-family:Georgia,serif;font-size:.88rem;line-height:1.5;letter-spacing:0;}
.next-signal-note-actions{margin-top:1.15rem;padding-top:.9rem;border-top:1px solid rgba(77,48,27,.32);}
.next-signal-note-actions .rune-button{width:100%;color:#2b1d12;border-color:rgba(77,48,27,.62);background:rgba(255,233,184,.12);}
.next-signal-note-actions .rune-button:hover{color:#075f3a;background:rgba(255,233,184,.26);}
@keyframes next-signal-note-in{from{opacity:0;transform:translateY(12px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}
@media (hover:none),(pointer:coarse){#signal .next-signal-calendar-event-title{display:none;}}
@media (max-width:800px){.next-signal-note-dialog{padding:2rem 1.15rem 1.1rem;}}
@media (prefers-reduced-motion:reduce){.next-signal-note-dialog[open]{animation:none;}}

/* Visual phase 05: Field Notes as an open recovered journal.
   The existing details cards remain the same expandable notes and keep their
   titles, excerpts, dedicated links, copy, and responsive grid. */
#field-notes{isolation:isolate;background:radial-gradient(ellipse at 50% 44%,rgba(153,120,77,.1),transparent 34%),linear-gradient(180deg,rgba(5,7,6,.76),rgba(16,13,10,.38) 48%,rgba(5,7,6,.82));}
#field-notes::before{position:absolute;inset:1rem -3vw .6rem;z-index:-2;border:1px solid rgba(170,113,73,.58);background:linear-gradient(112deg,rgba(37,42,36,.98),rgba(16,20,17,.98) 44%,rgba(8,10,9,.99)),repeating-linear-gradient(163deg,rgba(232,210,174,.028) 0 1px,transparent 1px 10px),repeating-linear-gradient(79deg,rgba(0,0,0,.12) 0 2px,transparent 2px 18px);box-shadow:0 34px 86px rgba(0,0,0,.52),inset 0 1px 0 rgba(232,210,174,.12),inset 0 -24px 40px rgba(0,0,0,.4),inset 0 0 0 11px rgba(0,0,0,.1);clip-path:polygon(.8% 0,99.25% 0,100% 1%,99.6% 98.7%,98.8% 100%,.9% 99.55%,0 .9%);content:"";pointer-events:none;}
#field-notes::after{position:absolute;inset:1.45rem calc(-3vw + .45rem) .95rem;z-index:-1;background:radial-gradient(circle at 18% 32%,rgba(205,157,90,.12) 0 1px,transparent 2px),radial-gradient(circle at 71% 68%,rgba(205,157,90,.09) 0 1px,transparent 2px),linear-gradient(90deg,rgba(156,103,68,.08),transparent 14%,transparent 86%,rgba(156,103,68,.06));background-size:170px 140px,230px 190px,100% 100%;border:1px solid rgba(232,210,174,.13);box-shadow:inset 0 0 26px rgba(0,0,0,.22);content:"";opacity:.62;pointer-events:none;animation:field-notes-dust-drift 18s ease-in-out infinite alternate;}
#field-notes .section-heading{position:relative;z-index:1;padding-bottom:.5rem;}
#field-notes .section-heading::before{position:absolute;top:-.64rem;left:0;width:clamp(170px,24vw,300px);height:3px;background:linear-gradient(90deg,rgba(156,103,68,.88) 0 28%,transparent 28% 35%,rgba(232,210,174,.3) 35% 48%,transparent 48% 56%,rgba(156,103,68,.55) 56% 100%);box-shadow:0 0 14px rgba(156,103,68,.14);content:"";pointer-events:none;}
#field-notes .section-heading::after{position:absolute;right:0;bottom:0;left:0;height:1px;background:linear-gradient(90deg,rgba(156,103,68,.6),rgba(232,210,174,.16) 62%,transparent);content:"";pointer-events:none;}
#field-notes .notes-grid{position:relative;z-index:1;}
#field-notes .notes-grid::before{position:absolute;inset:-.8rem -.7rem -.85rem;z-index:-1;border-top:1px solid rgba(156,103,68,.46);border-bottom:1px solid rgba(156,103,68,.3);background:linear-gradient(90deg,rgba(9,10,9,.25),rgba(28,24,18,.24) 50%,rgba(8,10,9,.3));box-shadow:0 20px 34px rgba(0,0,0,.34),inset 0 1px 0 rgba(232,210,174,.05);content:"";pointer-events:none;}
#field-notes .note-card{overflow:hidden;border-color:rgba(156,103,68,.78);background:linear-gradient(145deg,rgba(219,193,148,.98),rgba(178,145,99,.98) 58%,rgba(123,91,59,.99)),repeating-linear-gradient(0deg,rgba(53,35,18,.035) 0 1px,transparent 1px 7px),repeating-linear-gradient(90deg,rgba(255,242,207,.025) 0 1px,transparent 1px 13px);box-shadow:0 22px 38px rgba(0,0,0,.48),inset 0 1px 0 rgba(255,241,202,.28),inset 0 -1px 0 rgba(48,30,16,.5);color:#241b12;transition:transform .24s ease,border-color .24s ease,box-shadow .24s ease;}
#field-notes .note-card::before{inset:7px;z-index:0;border-color:rgba(73,47,25,.32);box-shadow:inset 0 0 24px rgba(75,47,24,.12);}
#field-notes .note-card::after{position:absolute;top:10px;right:11px;width:24px;height:16px;border-top:1px solid rgba(73,47,25,.32);border-right:1px solid rgba(73,47,25,.32);content:"";opacity:.8;pointer-events:none;}
#field-notes .note-card:nth-child(2){background:linear-gradient(145deg,rgba(205,180,137,.98),rgba(165,132,88,.98) 58%,rgba(111,80,53,.99)),repeating-linear-gradient(0deg,rgba(53,35,18,.035) 0 1px,transparent 1px 8px),repeating-linear-gradient(90deg,rgba(255,242,207,.025) 0 1px,transparent 1px 15px);}
#field-notes .note-card:nth-child(3){background:linear-gradient(145deg,rgba(226,198,150,.98),rgba(183,149,101,.98) 58%,rgba(126,93,59,.99)),repeating-linear-gradient(0deg,rgba(53,35,18,.035) 0 1px,transparent 1px 6px),repeating-linear-gradient(90deg,rgba(255,242,207,.025) 0 1px,transparent 1px 12px);}
#field-notes .note-card:hover,#field-notes .note-card:focus-within{border-color:rgba(232,210,174,.9);box-shadow:0 30px 52px rgba(0,0,0,.56),inset 0 1px 0 rgba(255,241,202,.34),0 0 20px rgba(156,103,68,.12);transform:translateY(-3px);}
#field-notes .note-card[open]{border-color:rgba(0,120,72,.82);box-shadow:0 28px 48px rgba(0,0,0,.52),inset 0 1px 0 rgba(255,241,202,.32),0 0 18px rgba(0,184,90,.1);}
#field-notes .note-card summary{position:relative;z-index:1;color:#241b12;border-bottom:1px solid rgba(73,47,25,.3);}
#field-notes .note-card summary strong{color:#241b12;text-shadow:0 1px 0 rgba(255,239,197,.18);}
#field-notes .note-card summary small{color:#5f4a32;}
#field-notes .note-card .card-index{position:relative;z-index:1;color:#075f3a;text-shadow:0 0 8px rgba(0,120,72,.12);}
#field-notes .note-card .summary-mark{position:relative;z-index:1;color:#075f3a;transition:transform .22s ease,color .22s ease;}
#field-notes .note-card[open] .summary-mark{color:#075f3a;transform:rotate(45deg);}
#field-notes .note-card>p{position:relative;z-index:1;color:#3e2f20;}
#field-notes .note-card .note-open-link{position:relative;z-index:1;color:#075f3a;text-shadow:0 1px 0 rgba(255,239,197,.12);}
#field-notes .note-card .note-open-link:hover{color:#241b12;}
@keyframes field-notes-dust-drift{0%{background-position:0 0,0 0,0 0}100%{background-position:28px -18px,-22px 24px,0 0}}
@media (max-width:800px){#field-notes::before{inset:.65rem -.4rem .45rem}#field-notes::after{inset:1rem .05rem .75rem}#field-notes .section-heading::before{top:-.45rem;width:170px}#field-notes .notes-grid::before{inset:-.5rem -.35rem -.7rem}#field-notes .note-card::before{inset:6px}#field-notes .note-card::after{top:9px;right:9px}}
@media (prefers-reduced-motion:reduce){#field-notes::after{animation:none}#field-notes .note-card{transition:none}#field-notes .note-card:hover,#field-notes .note-card:focus-within{transform:none}}

/* Visual phase 06: Oathsworn chamber.
   The banner, social links, Dispatch link, supporter behavior, and Physical
   Signal CTA remain structurally unchanged. */
#oathsworn{isolation:isolate;background:radial-gradient(ellipse at 54% 12%,rgba(77,22,111,.16),transparent 30%),linear-gradient(180deg,rgba(5,7,6,.82),rgba(17,13,20,.34) 45%,rgba(5,7,6,.9));}
#oathsworn::before{position:absolute;inset:1rem -3vw .6rem;z-index:-2;border:1px solid rgba(170,113,73,.62);background:linear-gradient(112deg,rgba(43,47,41,.98),rgba(19,22,19,.98) 46%,rgba(8,10,9,.99)),repeating-linear-gradient(163deg,rgba(232,210,174,.03) 0 1px,transparent 1px 10px),repeating-linear-gradient(79deg,rgba(0,0,0,.12) 0 2px,transparent 2px 18px);box-shadow:0 34px 86px rgba(0,0,0,.54),inset 0 1px 0 rgba(232,210,174,.14),inset 0 -24px 40px rgba(0,0,0,.4),inset 0 0 0 11px rgba(0,0,0,.1);clip-path:polygon(.8% 0,99.25% 0,100% 1%,99.6% 98.7%,98.8% 100%,.9% 99.55%,0 .9%);content:"";pointer-events:none;}
#oathsworn::after{position:absolute;inset:1.45rem calc(-3vw + .45rem) .95rem;z-index:-1;border:1px solid rgba(232,210,174,.14);background:linear-gradient(90deg,rgba(156,103,68,.1),transparent 10%,transparent 90%,rgba(156,103,68,.08));box-shadow:inset 0 0 24px rgba(0,0,0,.24);content:"";pointer-events:none;}
#oathsworn .oathsworn-banner{overflow:hidden;border-color:rgba(156,103,68,.82);background:linear-gradient(105deg,rgba(45,12,68,.98),rgba(73,22,103,.96) 44%,rgba(27,13,35,.98) 100%),repeating-linear-gradient(102deg,rgba(232,210,174,.034) 0 1px,transparent 1px 8px),repeating-linear-gradient(4deg,rgba(0,0,0,.1) 0 2px,transparent 2px 15px);box-shadow:0 24px 48px rgba(0,0,0,.52),inset 0 1px 0 rgba(232,210,174,.14),inset 0 -18px 32px rgba(0,0,0,.36);}
#oathsworn .oathsworn-banner::before{inset:8px;border-color:rgba(232,210,174,.2);box-shadow:inset 0 0 28px rgba(0,0,0,.24);}
#oathsworn .oathsworn-banner::after{position:absolute;inset:0;background:linear-gradient(112deg,transparent 0 34%,rgba(232,210,174,.09) 46%,rgba(0,0,0,.08) 54%,transparent 70%);content:"";opacity:.35;transform:translateX(-105%);pointer-events:none;animation:oathsworn-cloth-light 12s ease-in-out 1.4s infinite;}
#oathsworn .oathsworn-banner-copy{position:relative;z-index:1;}
#oathsworn .oathsworn-banner-copy h2{text-shadow:0 4px 20px rgba(0,0,0,.48);}
#oathsworn .oathsworn-banner-copy p:last-child{color:rgba(232,210,174,.72);}
#oathsworn .oathsworn-grid{position:relative;z-index:1;}
#oathsworn .oathsworn-grid::before{position:absolute;inset:-.55rem -.45rem -.65rem;z-index:-1;border-top:1px solid rgba(156,103,68,.48);border-bottom:1px solid rgba(156,103,68,.3);background:linear-gradient(180deg,rgba(7,9,8,.18),rgba(0,0,0,.32)),repeating-linear-gradient(0deg,rgba(232,210,174,.02) 0 1px,transparent 1px 12px);box-shadow:0 20px 34px rgba(0,0,0,.34),inset 0 1px 0 rgba(232,210,174,.05);content:"";pointer-events:none;}
#oathsworn .community-tile{overflow:hidden;border-color:rgba(156,103,68,.76);background:linear-gradient(145deg,rgba(49,55,48,.98),rgba(18,22,19,.99) 54%,rgba(7,9,8,.99)),repeating-linear-gradient(90deg,rgba(232,210,174,.026) 0 1px,transparent 1px 11px),repeating-linear-gradient(0deg,rgba(0,0,0,.1) 0 2px,transparent 2px 16px);box-shadow:0 18px 30px rgba(0,0,0,.48),inset 0 1px 0 rgba(232,210,174,.13),inset 0 -1px 0 rgba(0,0,0,.82);}
#oathsworn .community-tile::before{inset:6px;border-color:rgba(232,210,174,.14);box-shadow:inset 0 0 18px rgba(0,0,0,.34);}
#oathsworn .community-tile::after{position:absolute;top:7px;right:8px;width:18px;height:1px;background:linear-gradient(90deg,transparent,rgba(156,103,68,.8));box-shadow:-7px 4px 0 -0.2px rgba(232,210,174,.25);content:"";opacity:.75;pointer-events:none;}
#oathsworn .community-tile span,#oathsworn .community-tile strong{position:relative;z-index:1;}

/* Physical Signal: the same chipped-stone language, with embedded green and
   purple energy that brightens in separate, unsynchronised locations. */
#oathsworn .physical-signal-band{
  position:relative;
  z-index:1;
  isolation:isolate;
  overflow:hidden;
  border-color:rgba(156,103,68,.78);
  background-color:#07090b;
  background-image:none;
  background-position:center;
  background-repeat:no-repeat;
  background-size:100% 100%;
  box-shadow:0 22px 38px rgba(0,0,0,.5),inset 0 1px 0 rgba(232,210,174,.12),inset 0 -1px 0 rgba(0,0,0,.78);
}
#oathsworn .physical-signal-band::before{
  inset:6px;
  z-index:4;
  border-color:rgba(232,210,174,.12);
  box-shadow:inset 0 0 22px rgba(0,0,0,.32);
}
#oathsworn .physical-signal-band::after{
  position:absolute;
  inset:0;
  z-index:0;
  background:linear-gradient(112deg,transparent 0 34%,rgba(232,210,174,.07) 47%,rgba(0,0,0,.08) 54%,transparent 68%);
  content:"";
  opacity:.18;
  pointer-events:none;
  animation:physical-signal-stone-sheen 18s ease-in-out infinite;
}
#oathsworn .physical-signal-glow{
  position:absolute;
  z-index:0;
  display:block;
  width:20%;
  height:72%;
  border-radius:50%;
  opacity:.14;
  filter:blur(13px);
  mix-blend-mode:screen;
  pointer-events:none;
}
#oathsworn .physical-signal-glow--green{top:7%;left:9%;background:radial-gradient(circle,rgba(0,255,137,.72) 0,rgba(0,214,116,.28) 28%,transparent 72%);animation:physical-signal-glow-green 11.7s ease-in-out -3.4s infinite;}
#oathsworn .physical-signal-glow--purple{top:18%;left:55%;background:radial-gradient(circle,rgba(190,76,255,.7) 0,rgba(131,38,202,.24) 30%,transparent 72%);animation:physical-signal-glow-purple 15.3s ease-in-out -8.2s infinite;}
#oathsworn .physical-signal-glow--green-alt{top:3%;right:7%;background:radial-gradient(circle,rgba(0,238,126,.68) 0,rgba(0,177,104,.22) 29%,transparent 72%);animation:physical-signal-glow-green-alt 19.1s ease-in-out -12.1s infinite;}
#oathsworn .physical-signal-mark,#oathsworn .physical-signal-band>div,#oathsworn .physical-signal-band .rune-button{position:relative;z-index:2;}
#oathsworn .physical-signal-mark{border-color:rgba(181,119,76,.86);color:#b7ffd1;text-shadow:0 0 14px rgba(0,238,126,.3);box-shadow:inset 0 0 14px rgba(0,184,90,.1),0 0 16px rgba(156,103,68,.12);}
#oathsworn .physical-signal-band strong{color:var(--paper);text-shadow:0 2px 12px rgba(0,0,0,.52);}
#oathsworn .physical-signal-band>div>span{color:rgba(232,210,174,.72);}
#oathsworn .physical-signal-band .rune-button{border-color:rgba(181,119,76,.82);background:linear-gradient(145deg,rgba(18,24,22,.94),rgba(7,10,8,.96));box-shadow:inset 0 1px 0 rgba(232,210,174,.12),0 10px 20px rgba(0,0,0,.3);}
#oathsworn .physical-signal-band .rune-button:hover{border-color:var(--green);background:linear-gradient(145deg,rgba(7,91,56,.95),rgba(7,18,12,.98));}
@keyframes physical-signal-glow-green{0%,100%{opacity:.1;transform:translate(0,0) scale(.76)}22%{opacity:.46;transform:translate(19%,8%) scale(1.12)}43%{opacity:.17;transform:translate(42%,-7%) scale(.82)}71%{opacity:.58;transform:translate(-8%,13%) scale(1.2)}86%{opacity:.13;transform:translate(24%,1%) scale(.74)}}
@keyframes physical-signal-glow-purple{0%,100%{opacity:.12;transform:translate(0,0) scale(.8)}18%{opacity:.2;transform:translate(-26%,9%) scale(.7)}47%{opacity:.56;transform:translate(21%,-8%) scale(1.16)}68%{opacity:.16;transform:translate(48%,14%) scale(.82)}89%{opacity:.5;transform:translate(3%,-3%) scale(1.1)}}
@keyframes physical-signal-glow-green-alt{0%,100%{opacity:.08;transform:translate(0,0) scale(.74)}31%{opacity:.5;transform:translate(-18%,17%) scale(1.18)}54%{opacity:.13;transform:translate(-46%,-4%) scale(.78)}77%{opacity:.42;transform:translate(-9%,10%) scale(1.08)}}
@keyframes physical-signal-stone-sheen{0%,100%{opacity:.08;transform:translateX(-100%)}35%{opacity:.24}58%{opacity:.1;transform:translateX(100%)}75%{opacity:.03;transform:translateX(100%)}}
@media (prefers-reduced-motion:reduce){#oathsworn .physical-signal-glow,#oathsworn .physical-signal-band::after{animation:none;}#oathsworn .physical-signal-glow{opacity:.18;}}
#oathsworn .community-tile span{color:var(--paper);text-shadow:0 2px 10px rgba(0,0,0,.5);}
#oathsworn .community-tile strong{color:#8de6a9;text-shadow:0 0 12px rgba(0,184,90,.2);}
#oathsworn .community-tile:hover,#oathsworn .community-tile:focus-visible{border-color:rgba(232,210,174,.86);box-shadow:0 24px 38px rgba(0,0,0,.54),inset 0 1px 0 rgba(232,210,174,.18),0 0 18px rgba(0,184,90,.1);}
#oathsworn .dispatch-card{overflow:hidden;border-color:rgba(232,210,174,.8);background:linear-gradient(145deg,rgba(225,199,153,.98),rgba(185,151,102,.98) 58%,rgba(130,96,62,.99)),repeating-linear-gradient(0deg,rgba(53,35,18,.04) 0 1px,transparent 1px 8px),repeating-linear-gradient(90deg,rgba(255,242,207,.028) 0 1px,transparent 1px 13px);box-shadow:0 22px 38px rgba(0,0,0,.48),inset 0 1px 0 rgba(255,241,202,.3),inset 0 -1px 0 rgba(48,30,16,.5);color:#241b12;}
#oathsworn .dispatch-card::before{inset:7px;border-color:rgba(73,47,25,.34);box-shadow:inset 0 0 22px rgba(75,47,24,.12);}
#oathsworn .dispatch-card::after{position:absolute;top:9px;right:10px;width:26px;height:17px;border-top:1px solid rgba(73,47,25,.34);border-right:1px solid rgba(73,47,25,.34);content:"";opacity:.8;pointer-events:none;}
#oathsworn .dispatch-card span,#oathsworn .dispatch-card strong,#oathsworn .dispatch-card small{position:relative;z-index:1;color:#241b12;}
#oathsworn .dispatch-card strong{color:#075f3a;text-shadow:0 1px 0 rgba(255,239,197,.14);}
#oathsworn .dispatch-card:hover,#oathsworn .dispatch-card:focus-visible{border-color:#f0d6ac;box-shadow:0 28px 46px rgba(0,0,0,.56),inset 0 1px 0 rgba(255,241,202,.36),0 0 18px rgba(156,103,68,.14);}
#oathsworn .physical-signal-band{position:relative;z-index:1;overflow:hidden;border-color:rgba(156,103,68,.74);background:linear-gradient(105deg,rgba(38,43,37,.98),rgba(14,18,15,.99)),repeating-linear-gradient(0deg,rgba(232,210,174,.024) 0 1px,transparent 1px 12px);box-shadow:0 22px 38px rgba(0,0,0,.5),inset 0 1px 0 rgba(232,210,174,.12),inset 0 -1px 0 rgba(0,0,0,.78);}
#oathsworn .physical-signal-band::before{inset:6px;border-color:rgba(232,210,174,.14);box-shadow:inset 0 0 22px rgba(0,0,0,.32);}
#oathsworn .physical-signal-mark{position:relative;z-index:1;border-color:rgba(181,119,76,.86);color:#8de6a9;text-shadow:0 0 14px rgba(0,184,90,.22);box-shadow:inset 0 0 14px rgba(0,184,90,.08),0 0 16px rgba(156,103,68,.12);}
#oathsworn .physical-signal-band>div,#oathsworn .physical-signal-band .rune-button{position:relative;z-index:1;}
#oathsworn .physical-signal-band strong{color:var(--paper);text-shadow:0 2px 12px rgba(0,0,0,.46);}
#oathsworn .physical-signal-band>div>span{color:rgba(232,210,174,.64);}
#oathsworn .physical-signal-band .rune-button{border-color:rgba(181,119,76,.82);background:linear-gradient(145deg,rgba(28,34,28,.98),rgba(7,10,8,.98));box-shadow:inset 0 1px 0 rgba(232,210,174,.12),0 10px 20px rgba(0,0,0,.26);}
#oathsworn .physical-signal-band .rune-button:hover{border-color:var(--green);background:linear-gradient(145deg,rgba(7,91,56,.95),rgba(7,18,12,.98));}
@keyframes oathsworn-cloth-light{0%,24%{opacity:0;transform:translateX(-105%)}36%{opacity:.5}50%,100%{opacity:0;transform:translateX(105%)}}
@media (max-width:800px){#oathsworn::before{inset:.65rem -.4rem .45rem}#oathsworn::after{inset:1rem .05rem .75rem}#oathsworn .oathsworn-grid::before{inset:-.35rem -.25rem -.55rem}#oathsworn .oathsworn-banner::after{animation-duration:14s}}
@media (prefers-reduced-motion:reduce){#oathsworn .oathsworn-banner::after{animation:none;opacity:0}}

/* Visual phase 07: final watchfire footer.
   Footer copy, alignment, responsive behavior, and document flow remain the
   functional base; only the deep ground, smoke, firelight, and embers change. */
.site-footer{position:relative;isolation:isolate;overflow:hidden;border-top-color:rgba(156,103,68,.58);background:radial-gradient(ellipse 32% 70% at 50% 112%,rgba(255,139,48,.18),transparent 66%),radial-gradient(ellipse 58% 90% at 50% 132%,rgba(103,68,43,.24),transparent 70%),linear-gradient(180deg,#080b09 0%,#080907 45%,#040504 100%),repeating-linear-gradient(82deg,rgba(232,210,174,.018) 0 1px,transparent 1px 17px);box-shadow:inset 0 1px 0 rgba(232,210,174,.08),inset 0 18px 32px rgba(0,0,0,.38);}
.site-footer::before{position:absolute;inset:0;background:radial-gradient(ellipse 12% 34% at 50% 108%,rgba(255,183,83,.2),transparent 68%),radial-gradient(ellipse 27% 54% at 50% 123%,rgba(255,104,31,.1),transparent 70%),linear-gradient(180deg,transparent 0 48%,rgba(0,0,0,.12) 72%,rgba(0,0,0,.5) 100%);content:"";opacity:.7;pointer-events:none;animation:footer-watchfire-breathe 5.8s ease-in-out infinite;}
.site-footer::after{position:absolute;inset:0;background:radial-gradient(circle at 47% 68%,rgba(255,194,93,.9) 0 1px,transparent 2px),radial-gradient(circle at 53% 74%,rgba(255,141,49,.72) 0 1px,transparent 2px),radial-gradient(circle at 44% 79%,rgba(255,177,77,.68) 0 1px,transparent 2px),radial-gradient(circle at 57% 64%,rgba(255,178,72,.6) 0 1px,transparent 2px),linear-gradient(180deg,rgba(146,162,147,.03),transparent 52%,rgba(255,119,39,.04));background-size:100% 100%;content:"";opacity:.56;pointer-events:none;animation:footer-embers-rise 8s ease-in-out infinite;}
.site-footer p{position:relative;z-index:1;color:rgba(232,210,174,.76);text-shadow:0 2px 14px rgba(0,0,0,.8),0 0 20px rgba(255,133,44,.12);}
@keyframes footer-watchfire-breathe{0%,100%{opacity:.56;transform:scale(1)}42%{opacity:.76;transform:scale(1.025)}68%{opacity:.62;transform:scale(.994)}}
@keyframes footer-embers-rise{0%,100%{opacity:.4;transform:translateY(2px)}38%{opacity:.66;transform:translateY(-2px)}72%{opacity:.5;transform:translateY(1px)}}
@media (prefers-reduced-motion:reduce){.site-footer::before,.site-footer::after{animation:none}}

/* Visual phase 08: physical artifact integration.
   These layers replace the previous rectangular CSS skins while preserving
   the functional base's copy, controls, routes, grid, and responsive flow. */
#field-notes{background:linear-gradient(180deg,rgba(8,8,7,.96),rgba(25,19,13,.82) 48%,rgba(7,8,7,.98));}
#field-notes::before,#field-notes::after,#field-notes .notes-grid::before{content:none;}
#field-notes .notes-grid{gap:1.25rem;}
#field-notes .note-card{min-height:228px;overflow:visible;border:0;background-color:transparent;background-image:url("assets/field-notes-parchment-wide-v2.webp?v=79");background-position:center;background-repeat:no-repeat;background-size:100% 100%;box-shadow:none;filter:drop-shadow(0 18px 17px rgba(0,0,0,.52));transition:transform .24s ease,filter .24s ease;}
#field-notes .note-card::before,#field-notes .note-card::after{content:none;}
#field-notes .note-card:nth-child(1){transform:rotate(-.7deg);}
#field-notes .note-card:nth-child(2){background-image:url("assets/field-notes-parchment-wide-v2.webp?v=79");transform:rotate(.55deg);}
#field-notes .note-card:nth-child(3){background-image:url("assets/field-notes-parchment-wide-v2.webp?v=79");transform:rotate(-.35deg);}
#field-notes .note-card:nth-child(2),#field-notes .note-card:nth-child(3){background-position:center;background-repeat:no-repeat;background-size:100% 100%;background-color:transparent;}
#field-notes .note-card:hover,#field-notes .note-card:focus-within{border:0;box-shadow:none;filter:drop-shadow(0 24px 22px rgba(0,0,0,.62));}
#field-notes .note-card:nth-child(1):hover,#field-notes .note-card:nth-child(1):focus-within{transform:translateY(-3px) rotate(-.7deg);}
#field-notes .note-card:nth-child(2):hover,#field-notes .note-card:nth-child(2):focus-within{transform:translateY(-3px) rotate(.55deg);}
#field-notes .note-card:nth-child(3):hover,#field-notes .note-card:nth-child(3):focus-within{transform:translateY(-3px) rotate(-.35deg);}
#field-notes .note-card[open]{border:0;box-shadow:none;}

#oathsworn{background:linear-gradient(180deg,rgba(7,7,8,.95),rgba(24,16,27,.78) 48%,rgba(6,7,7,.98));}
#oathsworn::before,#oathsworn::after,#oathsworn .oathsworn-grid::before{content:none;}
#oathsworn .oathsworn-banner{min-height:270px;overflow:visible;border:0;background-color:transparent;background-image:none;box-shadow:none;}
#oathsworn .oathsworn-banner::before,#oathsworn .oathsworn-banner::after{content:none;}
#oathsworn .oathsworn-banner-copy{filter:drop-shadow(0 4px 10px rgba(0,0,0,.78));}
#oathsworn .oathsworn-banner{justify-content:center;text-align:center;}
#oathsworn .oathsworn-banner-copy{width:min(760px,100%);}
#oathsworn .oathsworn-banner-copy h2{position:relative;display:flex;justify-content:center;align-items:baseline;color:rgba(220,183,143,.86);font-size:clamp(3rem,7vw,6.5rem);line-height:.9;letter-spacing:.08em;mix-blend-mode:overlay;opacity:.94;filter:url(#oathsworn-fabric-ink);text-shadow:0 1px 0 rgba(250,222,178,.22),0 -1px 0 rgba(19,6,23,.58),0 2px 5px rgba(0,0,0,.2);}
#oathsworn .oathsworn-banner-copy h2::before{position:absolute;inset:0;z-index:-1;color:rgba(19,6,23,.42);content:attr(data-ink);filter:blur(.25px);mix-blend-mode:multiply;transform:translateY(1.5px);}
#oathsworn .oathsworn-banner-copy h2 span{position:relative;display:inline-block;transform-origin:50% 58%;transform:translateY(var(--banner-y,0)) rotate(var(--banner-r,0));}
#oathsworn .oathsworn-banner-copy h2 span:nth-child(1){--banner-y:-5px;--banner-r:-1.5deg}
#oathsworn .oathsworn-banner-copy h2 span:nth-child(2){--banner-y:-3px;--banner-r:-.8deg}
#oathsworn .oathsworn-banner-copy h2 span:nth-child(3){--banner-y:-1px;--banner-r:-.3deg}
#oathsworn .oathsworn-banner-copy h2 span:nth-child(4){--banner-y:3px;--banner-r:.6deg}
#oathsworn .oathsworn-banner-copy h2 span:nth-child(5){--banner-y:6px;--banner-r:1.1deg}
#oathsworn .oathsworn-banner-copy h2 span:nth-child(6){--banner-y:5px;--banner-r:.9deg}
#oathsworn .oathsworn-banner-copy h2 span:nth-child(7){--banner-y:2px;--banner-r:.3deg}
#oathsworn .oathsworn-banner-copy h2 span:nth-child(8){--banner-y:-2px;--banner-r:-.8deg}
#oathsworn .oathsworn-banner-copy h2 span:nth-child(9){--banner-y:-4px;--banner-r:-1.4deg}
#oathsworn .oathsworn-banner-copy p:last-child{margin-top:.7rem;}

/* Oathsworn wordmark: raised stitched thread, not flat overlay ink. */
#oathsworn .oathsworn-banner-copy h2{color:transparent;mix-blend-mode:normal;opacity:1;filter:url(#oathsworn-fabric-ink);}
#oathsworn .oathsworn-banner-copy h2 span{color:transparent;-webkit-text-fill-color:transparent;background-image:repeating-linear-gradient(116deg,#edd0a0 0 1px,#b98263 1px 2px,#f3d9ad 2px 3px,#81505b 3px 4px);background-size:6px 6px;-webkit-background-clip:text;background-clip:text;-webkit-text-stroke:.55px rgba(30,10,35,.66);text-shadow:0 1px 0 rgba(255,226,176,.56),0 2px 0 rgba(31,10,28,.78),1px 2px 3px rgba(12,4,14,.42);}
#oathsworn .oathsworn-banner-copy h2::before{color:rgba(28,9,27,.55);filter:blur(.35px);transform:translateY(2px);}
#oathsworn .dispatch-card{border:0;background-color:transparent;background-image:url("assets/field-notes-parchment-wide-v2.webp?v=79");background-position:center;background-repeat:no-repeat;background-size:100% 100%;box-shadow:none;filter:drop-shadow(0 18px 17px rgba(0,0,0,.5));}
#oathsworn .dispatch-card::before,#oathsworn .dispatch-card::after{content:none;}
#oathsworn .dispatch-card:hover,#oathsworn .dispatch-card:focus-visible{border:0;box-shadow:none;filter:drop-shadow(0 24px 22px rgba(0,0,0,.62));}

.site-footer{min-height:220px;padding:4.25rem 1rem 3.4rem;background-color:#050605;background-image:url("assets/footer-dark-rock-smoke-v2.webp?v=79");background-position:center 62%;background-repeat:no-repeat;background-size:cover;box-shadow:inset 0 1px 0 rgba(232,210,174,.12),inset 0 24px 42px rgba(0,0,0,.42);}
.site-footer::before{background:linear-gradient(180deg,rgba(3,5,5,.32),transparent 32%,rgba(2,3,3,.18) 68%,rgba(0,0,0,.6));opacity:.72;mix-blend-mode:multiply;}
.site-footer::after{background:radial-gradient(circle at 47% 45%,rgba(255,194,93,.72) 0 1px,transparent 2px),radial-gradient(circle at 53% 55%,rgba(255,141,49,.56) 0 1px,transparent 2px),radial-gradient(circle at 44% 62%,rgba(255,177,77,.52) 0 1px,transparent 2px);opacity:.52;}
@media (max-width:800px){
  #field-notes .note-card{min-height:238px;background-size:100% 100%;}
  #oathsworn .oathsworn-banner{min-height:176px;background-position:center top;background-size:cover;}
  .site-footer{min-height:205px;padding:3.7rem 1rem 3rem;background-position:center 64%;}
}

/* Field Notes text sits inside the page surface, while the A-mark and plus
   remain anchored to the parchment edges. */
#field-notes .note-card summary > span:nth-child(2){text-align:center;}
#field-notes .note-card > p{padding-right:2rem;padding-left:2rem;text-align:center;}
#field-notes .note-card .note-open-link{margin-right:2rem;margin-left:2rem;text-align:center;}
@media (max-width:800px){#field-notes .note-card > p{padding-right:1.4rem;padding-left:1.4rem}#field-notes .note-card .note-open-link{margin-right:1.4rem;margin-left:1.4rem}}

/* The Oathsworn wordmark follows one continuous cloth sag. The text remains
   live Rune Cut SVG text; only its baseline is mapped to the hanging fabric. */
#oathsworn .oathsworn-banner::before,#oathsworn .oathsworn-banner::after{content:"";position:absolute;inset:0;z-index:0;background-position:center top;background-repeat:no-repeat;background-size:100% auto;pointer-events:none;}
#oathsworn .oathsworn-banner::before{background-image:none;}
#oathsworn .oathsworn-banner::after{background-image:none;filter:url(#oathsworn-cloth-drift);transform-origin:50% 12%;animation:oathsworn-cloth-sway 14s ease-in-out infinite;}
#oathsworn .oathsworn-banner-copy{position:relative;z-index:1;}
#oathsworn .oathsworn-banner-copy h2{display:block;width:min(760px,100%);height:clamp(142px,15vw,180px);margin:0 auto;overflow:visible;opacity:0;pointer-events:none;}
#oathsworn .oathsworn-banner-copy h2::before{content:none;}
@keyframes oathsworn-cloth-sway{0%,100%{transform:translate3d(0,0,0) rotate(0deg) scaleX(1)}50%{transform:translate3d(.16%,.55px,0) rotate(.12deg) scaleX(1.002)}}
@media (max-width:800px){#oathsworn .oathsworn-banner::before,#oathsworn .oathsworn-banner::after{background-size:cover;}#oathsworn .oathsworn-banner-copy h2{height:clamp(108px,31vw,142px);}}
@media (prefers-reduced-motion:reduce){#oathsworn .oathsworn-banner::after{animation:none;filter:none;}}

/* Restore the pre-banner Oathsworn panel treatment. The section keeps its
   existing links and Dispatch card, but the hanging-cloth artwork is not used. */
#oathsworn{isolation:auto;background:transparent;}
#oathsworn::before,#oathsworn::after,#oathsworn .oathsworn-grid::before{content:none;}
#oathsworn .oathsworn-banner{position:relative;display:flex;align-items:center;justify-content:center;min-height:0;overflow:visible;padding:.65rem 1.25rem;border:1px solid rgba(156,103,68,.66);background:linear-gradient(105deg,rgba(45,12,68,.95),rgba(15,10,20,.9) 72%);box-shadow:var(--shadow),inset 0 0 0 1px rgba(232,210,174,.06);text-align:center;}
#oathsworn .oathsworn-banner::before{inset:7px;border:1px solid rgba(232,210,174,.1);background:none!important;background-image:none!important;box-shadow:none;content:"";pointer-events:none;}
#oathsworn .oathsworn-banner::after{display:none!important;background:none!important;background-image:none!important;content:none;}
#oathsworn .oathsworn-banner-copy{width:100%;filter:none;text-align:center;}
#oathsworn .oathsworn-banner-copy .section-kicker{margin-bottom:.25rem;font-size:.66rem;line-height:1;}
#oathsworn .oathsworn-banner-copy h2{display:block;width:100%;height:auto!important;margin:0;color:var(--paper);font-size:clamp(3rem,9vw,7.5rem);font-weight:400;line-height:.88;letter-spacing:.14em;white-space:nowrap;mix-blend-mode:normal;opacity:1;filter:none;text-align:center;text-shadow:none;}
#oathsworn .oathsworn-banner-copy h2::before{content:none;}
#oathsworn .oathsworn-banner-copy p:last-child{margin:.2rem 0 0;color:var(--muted);font-size:.7rem;letter-spacing:.12em;}
@media (max-width:800px){#oathsworn .oathsworn-banner{padding:.6rem .9rem;}#oathsworn .oathsworn-banner-copy h2{font-size:clamp(2.3rem,12vw,5rem);letter-spacing:.06em;}}

/* Social tiles: a restrained chipped-onyx surface. The tile geometry,
   content, links, hover states, and responsive grid remain unchanged. */
#oathsworn .community-tile{
  overflow:hidden;
  background-color:#0b0c0d;
  background-image:url("assets/oathsworn-social-onyx-v2.webp?v=93");
  background-position:center;
  background-repeat:no-repeat;
  background-size:100% 100%;
  border-color:rgba(156,103,68,.78);
  box-shadow:0 18px 30px rgba(0,0,0,.48),inset 0 1px 0 rgba(232,210,174,.13),inset 0 -1px 0 rgba(0,0,0,.82);
}
#oathsworn .community-tile::before{
  inset:6px;
  border-color:rgba(232,210,174,.12);
  box-shadow:inset 0 0 18px rgba(0,0,0,.32);
}
#oathsworn .community-tile span,#oathsworn .community-tile strong{position:relative;z-index:1;}

/* Final cascade guard: the Physical Signal stone must win over the earlier
   legacy gradient block above. */
#oathsworn .physical-signal-band{
  background-color:#07090b;
  background-image:url("assets/physical-signal-onyx-wide-v3.webp?v=96") !important;
  background-position:center;
  background-repeat:no-repeat;
  background-size:cover;
}
@media (max-width:800px){#oathsworn .physical-signal-band{background-image:url("assets/physical-signal-onyx-mobile-v3.webp?v=96") !important;background-size:cover;}}

/* Keep the live Rune Cut copy readable over the brightest fracture paths
   without hiding the stone or adding a rectangular text box. */
#oathsworn .physical-signal-band>div{
  position:relative;
  z-index:2;
  isolation:isolate;
}
#oathsworn .physical-signal-band>div::before{
  position:absolute;
  inset:-.65rem -1.15rem;
  z-index:0;
  background:radial-gradient(ellipse at center,rgba(3,5,6,.9) 0%,rgba(3,5,6,.76) 43%,rgba(3,5,6,0) 100%);
  content:"";
  pointer-events:none;
}
#oathsworn .physical-signal-band>div>*{position:relative;z-index:1;}
#oathsworn .physical-signal-band>div .section-kicker{
  color:#71f0ad;
  text-shadow:0 1px 3px rgba(0,0,0,.96),0 0 9px rgba(0,0,0,.9);
}
#oathsworn .physical-signal-band>div strong{
  color:#f1d7ab;
  -webkit-text-stroke:.2px rgba(0,0,0,.56);
  text-shadow:0 2px 0 rgba(0,0,0,.92),0 0 9px rgba(0,0,0,.94);
}
#oathsworn .physical-signal-band>div>span{
  color:#eadfc9;
  text-shadow:0 1px 3px rgba(0,0,0,.96),0 0 8px rgba(0,0,0,.88);
}

/* Visit the Merch: live HTML/Rune Cut text over a forged-iron visual surface. */
#oathsworn .physical-signal-band .rune-button{
  border-color:transparent;
  background-color:#0b0d0e;
  background-image:url("assets/visit-merch-button-iron-copper-v3.webp?v=101");
  background-position:center;
  background-repeat:no-repeat;
  background-size:100% 100%;
  color:#f1d7ab;
  text-shadow:0 2px 3px rgba(0,0,0,.96),0 0 8px rgba(0,0,0,.8);
  box-shadow:0 10px 20px rgba(0,0,0,.4),inset 0 1px 0 rgba(255,239,211,.08);
}
#oathsworn .physical-signal-band .rune-button:hover{
  border-color:transparent;
  background:#0b0d0e url("assets/visit-merch-button-iron-copper-v3.webp?v=101") center/100% 100% no-repeat;
  filter:brightness(1.1);
  box-shadow:0 14px 24px rgba(0,0,0,.48),0 0 14px rgba(156,103,68,.18);
}

/* Social panels: remove the copper outline and use a restrained physical
   wobble as the hover signal without changing their surface or geometry. */
@keyframes oathsworn-social-wiggle{
  0%,100%{transform:rotate(0deg)}
  22%{transform:rotate(-.7deg) translateY(-1px)}
  46%{transform:rotate(.55deg) translateY(0)}
  68%{transform:rotate(-.35deg)}
  86%{transform:rotate(.16deg)}
}
#oathsworn .community-tile{
  border-color:transparent;
  transition:transform .2s ease,filter .2s ease;
}
#oathsworn .community-tile:hover,
#oathsworn .community-tile:focus-visible{
  border-color:transparent;
  box-shadow:0 18px 30px rgba(0,0,0,.48),inset 0 1px 0 rgba(232,210,174,.13),inset 0 -1px 0 rgba(0,0,0,.82);
  animation:oathsworn-social-wiggle .42s ease-in-out;
}
@media (prefers-reduced-motion:reduce){
  #oathsworn .community-tile{transition:none;}
  #oathsworn .community-tile:hover,
  #oathsworn .community-tile:focus-visible{animation:none;}
}

/* Next Signal: bring the watch board into the same material atmosphere as
   the lower onyx, parchment, and stone sections without altering its data or
   schedule geometry. */
#signal::before{
  border:0;
  background-color:#07090b;
  background-image:
    linear-gradient(112deg,rgba(4,6,7,.18),rgba(4,6,7,.48) 54%,rgba(2,3,4,.72)),
    url("assets/oathsworn-social-onyx-v2.webp?v=93");
  background-position:center;
  background-repeat:no-repeat;
  background-size:100% 100%;
  box-shadow:none;
}
#signal::after{
  display:none;
}
#signal .schedule{
  border:0;
  background:transparent;
  box-shadow:none;
}

/* Final material cleanup: the watch board and notice are physical layers,
   not panel-frame components. Keep the opaque onyx artwork clipped to its
   chipped perimeter and make every surrounding wrapper fully transparent. */
#signal{
  border-top:0;
  background:transparent;
}
#signal::before{
  inset:0 -6vw 0;
  border:0;
  box-shadow:none;
  clip-path:polygon(
    1.7% 4%, 3.1% 1.9%, 8% 2.5%, 13% 1.4%, 18% 2.2%, 24% 1.4%,
    30% 2.4%, 36% 1.5%, 42% 2.3%, 48% 1.4%, 54% 2.1%, 60% 1.3%,
    66% 2.4%, 72% 1.5%, 78% 2.3%, 84% 1.4%, 90% 2.2%, 96.6% 2.5%,
    99% 6%, 98.1% 12%, 99.2% 18%, 98.3% 25%, 99.1% 32%, 98.2% 39%,
    99.1% 46%, 98.3% 53%, 99.2% 60%, 98.1% 67%, 99% 74%, 98.3% 82%,
    99.1% 90%, 97.4% 96.7%, 92% 98.2%, 86% 97.1%, 80% 98.5%,
    74% 97.3%, 68% 98.4%, 62% 97.1%, 56% 98.6%, 50% 97.3%,
    44% 98.4%, 38% 97.2%, 32% 98.5%, 26% 97.1%, 20% 98.4%,
    14% 97.2%, 8% 98.1%, 3% 95.7%, 1.2% 90%, 1.9% 83%, .9% 76%,
    1.6% 69%, .8% 62%, 1.5% 55%, .8% 48%, 1.6% 41%, .8% 34%,
    1.5% 27%, .8% 20%, 1.6% 13%
  );
}
#signal .schedule,
#signal .schedule::before,
#signal .schedule::after,
#signal .next-signal-parchment,
#signal .next-signal-parchment::before,
#signal .next-signal-parchment::after{
  border:0;
  outline:0;
  background-color:transparent;
  box-shadow:none;
}
#signal .schedule{padding:0;overflow:visible;}
#signal .schedule::before,#signal .schedule::after,
#signal .next-signal-parchment::before,#signal .next-signal-parchment::after{display:none;}
@media (max-width:800px){
  #signal .schedule{padding:0;}
}

/* Final Next Signal readability pass: keep the calendar itself bold, black,
   and Rune Cut while preserving its existing layout and interactions. */
#signal .next-signal-calendar-head{
  border-bottom-color:rgba(18,11,7,.82);
}
#signal .next-signal-calendar-head h3,
#signal .next-signal-weekdays,
#signal .next-signal-calendar-number,
#signal .next-signal-calendar-event,
#signal .next-signal-calendar-event strong,
#signal .next-signal-calendar-event-time,
#signal .next-signal-calendar-event-title,
#signal .next-signal-note,
#signal .next-signal-note small{
  color:#120b07;
  font-family:"Rune Cut",Georgia,serif;
  font-weight:700;
  text-shadow:none;
}
#signal .next-signal-calendar-day,
#signal .next-signal-calendar-blank{
  border:2px solid rgba(18,11,7,.9);
  color:#120b07;
}
#signal .next-signal-calendar-day.is-selected{
  border-color:#120b07;
  background:rgba(18,11,7,.08);
  box-shadow:inset 0 -3px 0 #120b07,0 3px 0 rgba(18,11,7,.18);
}
#signal .next-signal-calendar-event{
  border-top-color:rgba(18,11,7,.72);
}
#signal .next-signal-calendar-event--live strong,
#signal .next-signal-calendar-event--upload strong{
  color:#120b07;
}
#signal .next-signal-month-button{
  min-width:52px;
  min-height:52px;
  border:2px solid rgba(18,11,7,.9);
  color:#120b07;
  background:rgba(242,239,230,.58);
  font-family:"Rune Cut",Georgia,serif;
  font-size:1.6rem;
  font-weight:700;
  text-shadow:none;
  box-shadow:0 2px 0 rgba(18,11,7,.25);
}
#signal .next-signal-month-button:hover,
#signal .next-signal-month-button:focus-visible{
  color:#000;
  background:rgba(242,239,230,.9);
  transform:translateY(-1px);
}
#signal .next-signal-note{
  color:#120b07;
  border-top-color:rgba(18,11,7,.6);
  font-weight:700;
}
@media (max-width:800px){
  #signal .next-signal-month-button{
    min-width:46px;
    min-height:46px;
    font-size:1.4rem;
  }
}

/* Final calendar direction: one continuous hand-inked parchment ledger.
   The parchment carries the blank grid; live HTML remains layered above it. */
#signal .next-signal-parchment-surface{
  background-image:url("assets/next-signal-parchment-notice-v2.webp?v=112");
}
#signal .next-signal-calendar-head{
  grid-template-columns:2.8rem 1fr 2.8rem;
  gap:.65rem;
  padding-bottom:.7rem;
  border-bottom:1px solid rgba(23,16,10,.62);
}
#signal .next-signal-calendar-head h3,
#signal .next-signal-weekdays,
#signal .next-signal-calendar-number,
#signal .next-signal-calendar-event,
#signal .next-signal-calendar-event strong,
#signal .next-signal-calendar-event-time,
#signal .next-signal-calendar-event-title,
#signal .next-signal-note,
#signal .next-signal-note small{
  color:#17100a;
  font-family:"Rune Cut";
  font-weight:700;
  text-shadow:none;
}
#signal .next-signal-month-button{
  min-width:2.8rem;
  min-height:2.45rem;
  padding:0 .55rem .12rem;
  border:1px solid rgba(39,23,12,.48);
  border-radius:0;
  clip-path:polygon(5% 9%,94% 0,100% 87%,7% 100%,0 52%);
  color:#17100a;
  background:rgba(242,224,190,.42);
  font-family:"Rune Cut";
  font-size:1.75rem;
  font-weight:700;
  line-height:1;
  text-shadow:none;
  box-shadow:inset 0 0 0 1px rgba(255,247,224,.25),0 2px 0 rgba(39,23,12,.16);
}
#signal .next-signal-month-button:hover,
#signal .next-signal-month-button:focus-visible{
  color:#080603;
  background:rgba(242,224,190,.7);
  transform:none;
}
#signal .next-signal-weekdays{
  gap:0;
  margin-top:.82rem;
  font-size:.68rem;
  letter-spacing:.16em;
}
#signal .next-signal-calendar-grid{
  --calendar-rows:5;
  display:grid;
  grid-template-columns:repeat(7,minmax(0,1fr));
  grid-template-rows:repeat(var(--calendar-rows),minmax(clamp(5.5rem,7vw,7.2rem),1fr));
  gap:0;
  margin-top:.28rem;
  overflow:hidden;
  background-position:center;
  background-repeat:no-repeat;
  background-size:100% 100%;
}
#signal .next-signal-calendar-blank,
#signal .next-signal-calendar-day{
  min-height:0;
  aspect-ratio:auto;
  border:0;
  border-radius:0;
  box-sizing:border-box;
  background:transparent;
  color:#17100a;
}
#signal .next-signal-calendar-day{
  display:grid;
  position:relative;
  overflow:hidden;
  align-content:start;
  align-items:start;
  justify-items:stretch;
  gap:.3rem;
  padding:.58rem .62rem .42rem;
  font-family:"Rune Cut";
  text-align:left;
  transition:background .2s ease;
}
#signal .next-signal-calendar-day:hover,
#signal .next-signal-calendar-day:focus-visible{
  background:rgba(43,24,12,.075);
  transform:none;
}
#signal .next-signal-calendar-day.is-selected{
  border:0;
  background:rgba(43,24,12,.09);
  box-shadow:inset 0 -3px 0 rgba(23,16,10,.78);
}
#signal .next-signal-calendar-number{
  display:block;
  justify-self:end;
  margin-left:auto;
  font-size:1.08rem;
  line-height:1;
  text-align:right;
}
#signal .next-signal-calendar-events{
  display:grid;
  align-content:start;
  justify-items:stretch;
  gap:.2rem;
  min-width:0;
  width:100%;
}
#signal .next-signal-calendar-event{
  display:block;
  min-width:0;
  padding-top:.28rem;
  border-top:1px solid rgba(23,16,10,.45);
  font-size:.8rem;
  line-height:1.04;
  overflow:hidden;
  text-align:left;
}
#signal .next-signal-calendar-event:first-child{padding-top:0;border-top:0;}
#signal .next-signal-calendar-event strong{
  display:block;
  font-size:.82rem;
  font-weight:700;
  letter-spacing:.055em;
}
#signal .next-signal-calendar-event-time{
  display:block;
  margin-top:.14rem;
  font-size:.92rem;
  font-weight:700;
  letter-spacing:.02em;
}
#signal .next-signal-calendar-event--live strong,
#signal .next-signal-calendar-event--upload strong{color:#17100a;}
#signal .next-signal-calendar-day.is-today .next-signal-calendar-number{
  font-weight:700;
  text-decoration:underline;
  text-decoration-color:#17100a;
  text-underline-offset:.2rem;
}
#signal .next-signal-note{
  color:#17100a;
  border-top-color:rgba(23,16,10,.52);
  font-weight:700;
}
@media (max-width:800px){
  #signal .next-signal-calendar-head{grid-template-columns:2.55rem 1fr 2.55rem;}
  #signal .next-signal-month-button{min-width:2.55rem;min-height:2.25rem;font-size:1.45rem;}
  #signal .next-signal-weekdays{font-size:.57rem;letter-spacing:.11em;}
  #signal .next-signal-calendar-grid{grid-template-rows:repeat(var(--calendar-rows),minmax(4.65rem,1fr));}
  #signal .next-signal-calendar-day{padding:.42rem .34rem .3rem;gap:.2rem;}
  #signal .next-signal-calendar-number{font-size:.86rem;}
  #signal .next-signal-calendar-event{font-size:.64rem;line-height:1.04;}
  #signal .next-signal-calendar-event strong{font-size:.61rem;letter-spacing:.025em;}
  #signal .next-signal-calendar-event-time{font-size:.7rem;}
}

/* Date-event media and owner-selected special-event ink remain subordinate
   to the parchment ledger instead of becoming separate cards. */
#signal .next-signal-calendar-event{
  color:var(--event-ink,#17100a);
}
#signal .next-signal-calendar-event strong,
#signal .next-signal-calendar-event-time,
#signal .next-signal-calendar-event-title{
  color:var(--event-ink,#17100a);
}
#signal .next-signal-calendar-day-image{
  display:block;
  position:absolute;
  inset:0;
  z-index:0;
  width:100%;
  height:100%;
  margin:0;
  overflow:hidden;
  border:0;
  border-radius:0;
  transform:none;
  opacity:1;
  pointer-events:none;
}
#signal .next-signal-calendar-day-image img{
  display:block;
  width:100%;
  height:100%;
  object-fit:cover;
}
#signal .next-signal-calendar-day-image-shade{
  position:absolute;
  inset:0;
  z-index:1;
  background:transparent;
  pointer-events:none;
}
#signal .next-signal-calendar-day>.next-signal-calendar-number,
#signal .next-signal-calendar-day>.next-signal-calendar-events{
  position:relative;
  z-index:2;
}
#signal .next-signal-calendar-day.has-image>.next-signal-calendar-number,
#signal .next-signal-calendar-day.has-image .next-signal-calendar-event strong,
#signal .next-signal-calendar-day.has-image .next-signal-calendar-event-time,
#signal .next-signal-calendar-day.has-image .next-signal-calendar-event-title{
  text-shadow:0 1px 0 rgba(242,224,190,.92),0 0 3px rgba(242,224,190,.58);
}
#signal .next-signal-note-image{
  margin:0 0 1rem;
  padding-bottom:.8rem;
  border-bottom:1px solid rgba(23,16,10,.42);
}
#signal .next-signal-note-image img{
  display:block;
  width:100%;
  max-height:min(360px,44vh);
  object-fit:contain;
  background:#2b1d12;
  border:1px solid rgba(23,16,10,.5);
}
#signal .next-signal-note-image figcaption{
  margin-top:.45rem;
  color:#17100a;
  font-family:"Rune Cut";
  font-size:.75rem;
  font-weight:700;
}
#signal .next-signal-note-link{
  display:inline-block;
  margin-top:.55rem;
  color:var(--event-ink,#17100a);
  font-family:"Rune Cut";
  font-size:.72rem;
  font-weight:700;
  letter-spacing:.1em;
}
.next-signal-note-body{min-width:0}
.next-signal-note-image{width:100%;min-width:0;margin:0 0 1rem;padding-bottom:.8rem;border-bottom:1px solid rgba(23,16,10,.42);overflow:hidden}
.next-signal-note-image img{display:block;width:100%;max-width:100%;height:auto;max-height:min(360px,44vh);object-fit:contain;background:#2b1d12;border:1px solid rgba(23,16,10,.5)}
.next-signal-note-image figcaption{margin-top:.45rem;color:#17100a;font-family:"Rune Cut";font-size:.75rem;font-weight:700}

/* Rune Cut is reserved for the site's visible words, controls, labels, and headings. */
h1,h2,h3,h4,h5,h6,button,.nav-link,.signal-toggle,.menu-toggle,.eyebrow,.section-kicker,.text-button,.rune-button,.filter-button,.status-chip,.card-index,.media-label,.map-marker,.map-caption,.schedule-day,.campaign-chronicle-state,.community-tile span,.community-tile strong,.dispatch-card strong,.site-footer strong{font-family:"Rune Cut",Georgia,serif;}

/* Audit corrections: preserve the approved desktop composition while making
   essential controls and dense calendar copy usable on narrow screens. */
.visually-hidden{
  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;
}
.signal-toggle--mobile{display:none;}
.journal-page-content .journal-campaign-detail-title{
  width:100%;
  max-width:17ch;
  margin:0;
  color:#21150c;
  font-size:clamp(2rem,3.15vw,3.45rem);
  font-weight:400;
  line-height:.94;
  letter-spacing:.022em;
  text-shadow:0 1px 0 rgba(255,237,193,.18);
  text-wrap:balance;
}

@media (max-width:800px){
  .menu-toggle{
    min-width:44px;
    min-height:44px;
    padding:.7rem .8rem;
  }
  .signal-toggle--desktop{display:none;}
  .primary-nav .signal-toggle--mobile{
    display:flex;
    align-items:center;
    justify-content:space-between;
    width:100%;
    min-height:44px;
    margin:0;
    padding:.8rem 0;
    border-top:1px solid rgba(156,103,68,.42);
  }
  #signal .next-signal-calendar-scroll{
    max-width:100%;
    padding-bottom:.45rem;
    overflow-x:auto;
    overflow-y:hidden;
    overscroll-behavior-inline:contain;
    scrollbar-color:rgba(39,23,12,.72) rgba(39,23,12,.12);
    scrollbar-width:thin;
    -webkit-overflow-scrolling:touch;
  }
  #signal .next-signal-calendar-scroll:focus-visible{
    outline:2px solid rgba(39,23,12,.82);
    outline-offset:3px;
  }
  #signal .next-signal-weekdays,
  #signal .next-signal-calendar-grid{min-width:42rem;}
  #signal .next-signal-weekdays{font-size:.75rem;letter-spacing:.1em;}
  #signal .next-signal-calendar-grid{grid-template-rows:repeat(var(--calendar-rows),minmax(5.25rem,1fr));}
  #signal .next-signal-calendar-day{padding:.5rem .48rem .38rem;gap:.24rem;}
  #signal .next-signal-calendar-number{font-size:1rem;}
  #signal .next-signal-calendar-event{font-size:.75rem;line-height:1.08;}
  #signal .next-signal-calendar-event strong{font-size:.78rem;letter-spacing:.035em;}
  #signal .next-signal-calendar-event-time{font-size:.82rem;}
  .journal-page-content .journal-campaign-detail-title{
    max-width:18ch;
    font-size:clamp(2rem,7vw,3.35rem);
    line-height:.95;
  }
}

/* The Watch's Marked Fragments: ceremonial wolf-hide archive.  The working
   three-card grid and all media controls stay intact; only the surfaces,
   mounting hardware, depth, and hover atmosphere change here. */
#transmissions{
  position:relative;
  isolation:isolate;
  overflow:visible;
  background:radial-gradient(ellipse at 50% 8%,rgba(232,210,174,.035),transparent 30%),linear-gradient(180deg,#070908 0%,#0b0d0b 48%,#060706 100%);
}
#transmissions::before,
#transmissions::after,
#transmissions .transmission-grid::before,
#transmissions .transmission-grid::after{content:none;}
#transmissions .marked-fragments-wolf-hide{
  position:absolute;
  top:1.15rem;
  left:-3vw;
  z-index:0;
  display:block;
  width:calc(100% + 6vw);
  max-width:none;
  height:auto;
  opacity:.96;
  pointer-events:none;
  user-select:none;
  filter:drop-shadow(0 24px 28px rgba(0,0,0,.62));
  transform-origin:center;
  animation:marked-fragments-hide-shift 15s ease-in-out infinite;
}
#transmissions .section-heading,
#transmissions .transmission-grid{position:relative;z-index:2;}
#transmissions .section-heading{padding-bottom:.8rem;}
#transmissions .section-heading::before,
#transmissions .section-heading::after{content:none;}
#transmissions .transmission-grid{gap:1.15rem;}
#transmissions .feature-card{
  position:relative;
  z-index:1;
  overflow:visible;
  min-width:0;
  border:0;
  background:transparent;
  box-shadow:none;
  transform:none;
  transition:none;
}
#transmissions .feature-card::before,
#transmissions .feature-card::after{content:none;}
#transmissions .feature-card:hover,
#transmissions .feature-card:focus-within{z-index:3;border:0;background:transparent;box-shadow:none;transform:none;}
#transmissions .media-window{
  z-index:1;
  width:100%;
  margin:0;
  overflow:visible;
  border:0;
  background-color:#080908;
  filter:saturate(.86) contrast(1.06);
  box-shadow:0 16px 26px rgba(0,0,0,.42);
  transition:transform .24s ease,filter .24s ease;
}
#transmissions .media-window::before{
  position:absolute;
  inset:-1.7%;
  z-index:3;
  background:url("assets/marked-fragments-forged-frame-v1.webp") center/100% 100% no-repeat;
  content:"";
  pointer-events:none;
  filter:drop-shadow(0 5px 7px rgba(0,0,0,.48));
  transform:rotate(-.42deg);
  transform-origin:center;
  transition:transform .24s ease,filter .24s ease;
}
#transmissions .feature-card:nth-child(2) .media-window::before{transform:rotate(.32deg);}
#transmissions .feature-card:nth-child(3) .media-window::before{transform:rotate(-.22deg);}
#transmissions .media-window::after{
  position:absolute;
  inset:0;
  z-index:1;
  background:linear-gradient(135deg,rgba(232,210,174,.045),transparent 31%,transparent 68%,rgba(0,0,0,.28)),radial-gradient(circle at 50% 35%,transparent 30%,rgba(0,0,0,.16) 100%);
  content:"";
  opacity:.78;
  pointer-events:none;
}
#transmissions .feature-card:hover .media-window,
#transmissions .feature-card:focus-within .media-window{filter:saturate(.92) contrast(1.08) brightness(1.04);}
#transmissions .feature-card:hover .media-window::before,
#transmissions .feature-card:focus-within .media-window::before{filter:brightness(1.08) drop-shadow(0 7px 8px rgba(0,0,0,.54));transform:translateY(-2px) rotate(0deg);}
#transmissions .feature-card:nth-child(2):hover .media-window::before,
#transmissions .feature-card:nth-child(2):focus-within .media-window::before{transform:translateY(-2px) rotate(0deg);}
#transmissions .feature-card:nth-child(3):hover .media-window::before,
#transmissions .feature-card:nth-child(3):focus-within .media-window::before{transform:translateY(-2px) rotate(0deg);}
#transmissions .play-mark,
#transmissions .media-label{z-index:4;}
#transmissions .play-mark{background:rgba(6,8,7,.62);}
#transmissions .media-label{color:#eee2c9;text-shadow:0 1px 3px rgba(0,0,0,.8);}
#transmissions .card-meta{
  position:relative;
  min-height:96px;
  margin:.7rem .35rem 0;
  padding:.8rem .9rem;
  border:1px solid rgba(126,135,124,.74);
  border-top-color:rgba(196,123,67,.64);
  background:linear-gradient(145deg,rgba(54,59,54,.96),rgba(17,20,18,.98) 72%,rgba(8,10,9,.99));
  box-shadow:inset 0 1px 0 rgba(232,210,174,.14),inset 0 -6px 10px rgba(0,0,0,.34),0 9px 16px rgba(0,0,0,.42);
  transform:rotate(-.25deg);
}
#transmissions .feature-card:nth-child(2) .card-meta{transform:rotate(.22deg);}
#transmissions .feature-card:nth-child(3) .card-meta{transform:rotate(-.14deg);}
#transmissions .card-meta::before{
  position:absolute;
  inset:4px;
  border:1px solid rgba(232,210,174,.13);
  content:"";
  pointer-events:none;
}
#transmissions .card-meta>*{position:relative;z-index:1;}
#transmissions .card-index{color:#d2c2a8;text-shadow:none;}
#transmissions .card-meta h3{color:#eee2c9;text-shadow:0 1px 3px rgba(0,0,0,.72);}
#transmissions .card-meta p{color:#aaa99d;}
#transmissions .icon-button{
  color:#eee2c9;
  background:linear-gradient(145deg,#4a4c45,#151815 78%);
  border-color:rgba(196,123,67,.72);
  box-shadow:inset 0 1px 0 rgba(232,210,174,.16),0 4px 8px rgba(0,0,0,.28);
}
#transmissions .icon-button:hover,
#transmissions .icon-button:focus-visible{color:#f3e6c9;background:linear-gradient(145deg,#595b52,#1b201b 78%);border-color:#c47b43;}
@keyframes marked-fragments-hide-shift{
  0%,100%{transform:scale(1) translate3d(0,0,0);}
  50%{transform:scale(1.004) translate3d(.12%,-.1%,0);}
}
@media (max-width:800px){
  #transmissions .marked-fragments-wolf-hide{top:.8rem;left:-17%;width:134%;max-width:none;}
  #transmissions .media-window::before{background-image:none;inset:-1.6%;}
  #transmissions .card-meta{margin:.65rem .2rem 0;}
}
@media (prefers-reduced-motion:reduce){
  #transmissions .marked-fragments-wolf-hide{animation:none;}
  #transmissions .media-window,
  #transmissions .media-window::before{transition:none;}
}

/* Campaign route finish: keep the emerald thread present at rest, then let
   only the hovered outgoing segment carry the traveling light. Pins stay
   opaque enough for their rune and field number to read against the map. */
#campaign .campaign-route-segment,
.campaign-route-page .campaign-route-segment{
  stroke:rgba(0,184,90,.62);
  stroke-width:1.65;
  stroke-linecap:round;
  stroke-linejoin:round;
  stroke-dasharray:none;
  stroke-dashoffset:0;
  opacity:.94;
  filter:drop-shadow(0 0 2px rgba(0,184,90,.22));
  animation:none;
}
#campaign .campaign-route-highlight,
.campaign-route-page .campaign-route-highlight{
  stroke:#00b85a;
  stroke-width:3;
  stroke-linecap:round;
  stroke-linejoin:round;
  stroke-dasharray:none;
  stroke-dashoffset:0;
  opacity:0;
  filter:drop-shadow(0 0 6px rgba(0,184,90,.78));
  transition:opacity .18s ease;
}
#campaign .campaign-route-glint,
.campaign-route-page .campaign-route-glint{
  stroke:#c4ffda;
  stroke-width:1.7;
  stroke-linecap:round;
  stroke-dasharray:.12 .88;
  stroke-dashoffset:.12;
  opacity:0;
  filter:drop-shadow(0 0 4px rgba(196,255,218,.9));
}
#campaign .campaign-map.is-hovering-01 .campaign-route-highlight--01,
#campaign .campaign-map.is-hovering-02 .campaign-route-highlight--02,
#campaign .campaign-map.is-hovering-03 .campaign-route-highlight--03,
#campaign .campaign-map.is-hovering-04 .campaign-route-highlight--04,
#campaign .campaign-map.is-hovering-05 .campaign-route-highlight--05,
.campaign-route-page .campaign-map.is-hovering-01 .campaign-route-highlight--01,
.campaign-route-page .campaign-map.is-hovering-02 .campaign-route-highlight--02,
.campaign-route-page .campaign-map.is-hovering-03 .campaign-route-highlight--03,
.campaign-route-page .campaign-map.is-hovering-04 .campaign-route-highlight--04,
.campaign-route-page .campaign-map.is-hovering-05 .campaign-route-highlight--05{opacity:.98;}
#campaign .campaign-map.is-hovering-01 .campaign-route-glint--01,
#campaign .campaign-map.is-hovering-02 .campaign-route-glint--02,
#campaign .campaign-map.is-hovering-03 .campaign-route-glint--03,
#campaign .campaign-map.is-hovering-04 .campaign-route-glint--04,
#campaign .campaign-map.is-hovering-05 .campaign-route-glint--05,
.campaign-route-page .campaign-map.is-hovering-01 .campaign-route-glint--01,
.campaign-route-page .campaign-map.is-hovering-02 .campaign-route-glint--02,
.campaign-route-page .campaign-map.is-hovering-03 .campaign-route-glint--03,
.campaign-route-page .campaign-map.is-hovering-04 .campaign-route-glint--04,
.campaign-route-page .campaign-map.is-hovering-05 .campaign-route-glint--05{
  opacity:.98;
  animation:campaign-thread-travel 1.35s linear infinite;
}
#campaign .map-marker--past,
#campaign .map-marker[data-field="04"],
.campaign-route-page .campaign-route-marker.is-past{
  opacity:.93;
  filter:saturate(.86) brightness(.98);
}
#campaign .map-marker--future,
.campaign-route-page .campaign-route-marker.is-future{
  opacity:.84;
  filter:saturate(.82) brightness(.94);
}
#campaign .map-marker--active,
.campaign-route-page .campaign-route-marker.is-active{opacity:1;}
@media (prefers-reduced-motion:reduce){
  #campaign .campaign-route-glint,
  .campaign-route-page .campaign-route-glint{animation:none;}
  #campaign .campaign-map.is-hovering-01 .campaign-route-glint--01,
  #campaign .campaign-map.is-hovering-02 .campaign-route-glint--02,
  #campaign .campaign-map.is-hovering-03 .campaign-route-glint--03,
  #campaign .campaign-map.is-hovering-04 .campaign-route-glint--04,
  #campaign .campaign-map.is-hovering-05 .campaign-route-glint--05,
  .campaign-route-page .campaign-map.is-hovering-01 .campaign-route-glint--01,
  .campaign-route-page .campaign-map.is-hovering-02 .campaign-route-glint--02,
  .campaign-route-page .campaign-map.is-hovering-03 .campaign-route-glint--03,
  .campaign-route-page .campaign-map.is-hovering-04 .campaign-route-glint--04,
  .campaign-route-page .campaign-map.is-hovering-05 .campaign-route-glint--05{stroke-dashoffset:0;}
}

/* The Cut: a continuous wolf-hide archive surface with restrained hardware.
   This replaces the previous floating fur strip and heavy card skins while
   leaving the functional cards, copy, links, media controls, and breakpoints
   intact. */
#transmissions{
  isolation:isolate;
  background:#050605;
  padding-top:clamp(3rem,5vw,5rem);
  padding-bottom:clamp(3.5rem,6vw,6.5rem);
}
#transmissions::before{
  position:absolute;
  inset:1.1rem -4vw 1.1rem;
  z-index:-2;
  border:0;
  background:linear-gradient(180deg,rgba(4,5,4,.42),rgba(4,5,4,.12) 36%,rgba(3,4,3,.58) 100%);
  box-shadow:0 38px 90px rgba(0,0,0,.5);
  filter:brightness(.78) saturate(.82) contrast(1.04);
  content:"";
  pointer-events:none;
}
#transmissions .marked-fragments-wolf-hide{display:none;}
#transmissions::after{
  position:absolute;
  inset:0 -4vw;
  z-index:-1;
  background:linear-gradient(180deg,rgba(3,5,4,.12),transparent 24%,transparent 72%,rgba(2,3,3,.68));
  border:0;
  box-shadow:none;
  content:"";
  pointer-events:none;
}
#transmissions .section-heading{
  position:relative;
  z-index:1;
  padding-bottom:0;
}
#transmissions .section-heading::before,
#transmissions .section-heading::after{content:none;}
#transmissions .transmission-grid{
  position:relative;
  z-index:1;
  gap:1.15rem;
}
#transmissions .transmission-grid::before,
#transmissions .transmission-grid::after{content:none;}
#transmissions .feature-card{
  position:relative;
  overflow:visible;
  min-width:0;
  border:0;
  background:transparent;
  box-shadow:none;
  transition:transform .24s ease,filter .24s ease;
}
#transmissions .feature-card::before,
#transmissions .feature-card::after{content:none;}
#transmissions .feature-card:hover,
#transmissions .feature-card:focus-within{
  z-index:2;
  border:0;
  box-shadow:none;
  transform:translateY(-3px);
  filter:brightness(1.04);
}
#transmissions .media-window{
  position:relative;
  z-index:1;
  width:100%;
  aspect-ratio:1.2 / 1;
  margin:0;
  overflow:hidden;
  border:0;
  background-color:#070908;
  box-shadow:0 20px 36px rgba(0,0,0,.44),inset 0 0 0 1px rgba(232,210,174,.08);
}
#transmissions .media-window::after{
  position:absolute;
  inset:0;
  z-index:1;
  background:linear-gradient(135deg,rgba(232,210,174,.04),transparent 28%,transparent 64%,rgba(0,0,0,.34)),linear-gradient(180deg,transparent 67%,rgba(0,0,0,.18));
  content:"";
  pointer-events:none;
}
#transmissions .media-window::before{
  position:absolute;
  inset:0;
  z-index:2;
  background:none;
  content:"";
  pointer-events:none;
}
#transmissions .play-mark,
#transmissions .media-label{
  z-index:3;
}
#transmissions .play-mark{
  width:52px;
  height:52px;
  border-color:rgba(232,210,174,.84);
  background:rgba(5,7,6,.54);
  box-shadow:0 8px 18px rgba(0,0,0,.34);
}
#transmissions .media-label{
  bottom:1.05rem;
  left:1.15rem;
  text-shadow:0 2px 5px rgba(0,0,0,.86);
}
#transmissions .card-meta{
  position:relative;
  z-index:1;
  min-height:96px;
  margin-top:.7rem;
  padding:1rem 1.1rem 1.05rem;
  border:1px solid rgba(156,103,68,.56);
  background:linear-gradient(145deg,rgba(27,31,27,.95),rgba(7,9,8,.97));
  box-shadow:0 16px 28px rgba(0,0,0,.38),inset 0 1px 0 rgba(232,210,174,.11),inset 0 -1px 0 rgba(0,0,0,.82);
}
#transmissions .card-meta::before{
  position:absolute;
  inset:6px;
  border:1px solid rgba(232,210,174,.08);
  content:"";
  pointer-events:none;
}
#transmissions .card-meta>*{position:relative;z-index:1;}
#transmissions .card-index{
  color:#9fe7b5;
  text-shadow:0 1px 6px rgba(0,0,0,.76);
}
#transmissions .card-meta h3{text-shadow:0 2px 8px rgba(0,0,0,.58);}
#transmissions .card-meta p{text-shadow:0 1px 5px rgba(0,0,0,.58);}
#transmissions .icon-button{
  color:var(--paper);
  background:linear-gradient(145deg,#262722,#0b0d0c);
  border-color:rgba(156,103,68,.7);
  box-shadow:inset 0 1px 0 rgba(232,210,174,.12),0 5px 10px rgba(0,0,0,.28);
}
#transmissions .icon-button:hover,
#transmissions .icon-button:focus-visible{
  background:linear-gradient(145deg,#30382f,#0d1510);
  border-color:rgba(0,184,90,.7);
}
@media (max-width:800px){
  #transmissions::before{inset:.8rem -.75rem .8rem;background-position:center center;}
  #transmissions::after{inset:0 -.75rem;}
  #transmissions .card-meta{min-height:0;}
}
@media (prefers-reduced-motion:reduce){
  #transmissions .feature-card{transition:none;}
  #transmissions .feature-card:hover,
  #transmissions .feature-card:focus-within{transform:none;}
}

/* The Cut cleanup: isolated wolf pelt, flush four-sided thumbnail frames,
   and parchment slips in place of the previous dark metadata plates. */
#transmissions{
  isolation:isolate;
  background:
    radial-gradient(ellipse at 50% 8%,rgba(232,210,174,.045),transparent 32%),
    linear-gradient(180deg,#070908 0%,#0b0d0b 48%,#060706 100%);
}
#transmissions::before{
  inset:.8rem -4vw 1rem;
  z-index:0;
  border:0;
  background:url("assets/marked-fragments-wolf-hide-transparent-v1.webp") center center / auto 118% no-repeat;
  box-shadow:0 36px 80px rgba(0,0,0,.48);
  filter:brightness(.82) saturate(.88) contrast(1.06);
  opacity:.96;
  transform-origin:center top;
  animation:marked-fragments-hide-shift 15s ease-in-out infinite;
  content:"";
  pointer-events:none;
}
#transmissions::after{
  inset:0 -4vw;
  z-index:1;
  border:0;
  background:linear-gradient(180deg,rgba(3,4,3,.08),transparent 25%,transparent 70%,rgba(2,3,3,.56));
  box-shadow:none;
  content:"";
  pointer-events:none;
}
#transmissions .marked-fragments-wolf-hide{display:none;}
#transmissions .section-heading,
#transmissions .transmission-grid{position:relative;z-index:2;}
#transmissions .feature-card{
  overflow:visible;
  border:0;
  background:transparent;
  box-shadow:none;
  filter:none;
  transform:none;
  transition:none;
}
#transmissions .feature-card::before,
#transmissions .feature-card::after{content:none;}
#transmissions .feature-card:hover,
#transmissions .feature-card:focus-within{
  z-index:3;
  border:0;
  background:transparent;
  box-shadow:none;
  filter:none;
  transform:none;
}
#transmissions .media-window{
  width:100%;
  margin:0;
  aspect-ratio:1.2 / 1;
  border:0;
  background-color:#070908;
  box-shadow:0 18px 32px rgba(0,0,0,.44),inset 0 0 0 1px rgba(232,210,174,.08);
  transition:transform .24s ease,filter .24s ease;
}
#transmissions .media-window::before{
  inset:0;
  z-index:2;
  background:url("assets/marked-fragments-forged-frame-four-sided-v2.webp") center / 100% 100% no-repeat;
  filter:drop-shadow(0 5px 7px rgba(0,0,0,.48));
  transform-origin:center;
  transition:transform .24s ease,filter .24s ease;
  content:"";
  pointer-events:none;
}
#transmissions .feature-card:nth-child(2) .media-window::before{transform:rotate(.1deg);}
#transmissions .feature-card:nth-child(3) .media-window::before{transform:rotate(-.1deg);}
#transmissions .feature-card:hover .media-window,
#transmissions .feature-card:focus-within .media-window{filter:saturate(.94) contrast(1.08) brightness(1.04);transform:translateY(-2px);}
#transmissions .feature-card:hover .media-window::before,
#transmissions .feature-card:focus-within .media-window::before{filter:brightness(1.08) drop-shadow(0 7px 8px rgba(0,0,0,.54));transform:translateY(-2px) scale(1.003) rotate(0deg);}
#transmissions .play-mark,
#transmissions .media-label{z-index:3;}
#transmissions .play-mark{background:rgba(6,8,7,.62);}
#transmissions .media-label{color:#eee2c9;text-shadow:0 1px 3px rgba(0,0,0,.8);}
#transmissions .card-meta{
  position:relative;
  z-index:1;
  min-height:96px;
  margin:.72rem 0 0;
  padding:1rem 1.15rem .95rem;
  border:0;
  background:url("assets/marked-fragments-parchment-slip-v2.webp") center / 100% 100% no-repeat;
  box-shadow:0 12px 18px rgba(0,0,0,.42);
  transform:none;
}
#transmissions .card-meta::before{content:none;}
#transmissions .card-meta>*{position:relative;z-index:1;}
#transmissions .card-index{
  color:#214b32;
  text-shadow:none;
}
#transmissions .card-meta h3{
  color:#241b13;
  text-shadow:none;
}
#transmissions .card-meta p{
  color:#5a4632;
  text-shadow:none;
}
#transmissions .icon-button{
  color:#ead8b8;
  background:linear-gradient(145deg,#34342e,#111310);
  border-color:rgba(91,61,37,.82);
  box-shadow:inset 0 1px 0 rgba(255,242,208,.2),0 4px 8px rgba(0,0,0,.28);
}
#transmissions .icon-button:hover,
#transmissions .icon-button:focus-visible{
  color:#fff1d0;
  background:linear-gradient(145deg,#45473e,#151b16);
  border-color:#9e6942;
}
@media (max-width:800px){
  #transmissions::before{inset:.65rem -.4rem .8rem;background-size:auto 118%;background-position:center center;}
  #transmissions::after{right:-.4rem;left:-.4rem;}
  #transmissions .media-window::before{background-image:url("assets/marked-fragments-forged-frame-four-sided-v2.webp");inset:0;}
  #transmissions .card-meta{min-height:0;margin:.65rem 0 0;padding:.95rem 1.1rem .9rem;}
}
@media (prefers-reduced-motion:reduce){
  #transmissions::before{animation:none;}
  #transmissions .media-window,
  #transmissions .media-window::before{transition:none;}
}

/* The Cut final alignment: keep the pelt safely inside the section,
   keep the slimmer iron frame flush to each clip, and center the parchment copy. */
#transmissions{
  background:transparent;
  border:0;
  box-shadow:none;
}
#transmissions::before,
#transmissions::after{display:none;}
#transmissions .transmission-atmosphere{
  position:relative;
  isolation:isolate;
  overflow:visible;
}
#transmissions .transmission-atmosphere .section-heading,
#transmissions .transmission-atmosphere .transmission-grid{
  position:relative;
  z-index:2;
}
#transmissions .marked-fragments-wolf-hide{
  display:block;
  top:calc(50% + 3px);
  left:50%;
  z-index:1;
  /* The source cutout includes transparent breathing room around the fur.
     This width leaves roughly 55px of visible fur beyond each outer card on
     a full desktop layout without changing the card grid itself. */
  width:calc(100% + 14rem);
  height:auto;
  box-sizing:content-box;
  padding:0;
  max-width:none;
  overflow:visible;
  clip-path:none;
  opacity:.96;
  filter:drop-shadow(0 24px 28px rgba(0,0,0,.62));
  transform:translate(-50%,-50%);
  object-fit:contain;
  animation:none;
}
#transmissions .hunter-rack-transition{
  position:absolute;
  top:clamp(-5.6rem,-5vw,-3.8rem);
  left:50%;
  z-index:1;
  width:calc(100% + clamp(4rem,8vw,8rem));
  max-width:1440px;
  pointer-events:none;
  transform:translateX(-50%);
  isolation:isolate;
}
#transmissions .hunter-rack-transition img{
  position:relative;
  z-index:2;
  display:block;
  width:100%;
  height:auto;
  filter:brightness(.84) contrast(1.08) saturate(.86) drop-shadow(0 15px 18px rgba(0,0,0,.7));
  user-select:none;
}
#transmissions .hunter-rack-transition::before{
  position:absolute;
  inset:-10% -4% -18%;
  z-index:1;
  content:"";
  background:
    radial-gradient(ellipse 28% 52% at 17% 54%,rgba(244,151,68,.16),transparent 72%),
    radial-gradient(ellipse 36% 48% at 63% 58%,rgba(177,101,51,.06),transparent 74%);
  mix-blend-mode:screen;
  opacity:.46;
  filter:blur(7px);
  transform-origin:17% 54%;
  animation:hunter-rack-lantern-shadow 8.4s ease-in-out infinite;
}
#transmissions .hunter-rack-transition::after{
  position:absolute;
  inset:16% 0 -24%;
  z-index:3;
  content:"";
  background:
    radial-gradient(circle at 9% 58%,rgba(224,190,139,.42) 0 1px,transparent 2px),
    radial-gradient(circle at 24% 31%,rgba(224,190,139,.28) 0 1px,transparent 2px),
    radial-gradient(circle at 39% 69%,rgba(224,190,139,.34) 0 1px,transparent 2px),
    radial-gradient(circle at 58% 38%,rgba(224,190,139,.25) 0 1px,transparent 2px),
    radial-gradient(circle at 74% 64%,rgba(224,190,139,.32) 0 1px,transparent 2px),
    radial-gradient(circle at 91% 42%,rgba(224,190,139,.26) 0 1px,transparent 2px);
  opacity:.34;
  filter:blur(.2px);
  transform:translate3d(-1%,2%,0);
  animation:hunter-rack-dust 14s ease-in-out infinite alternate;
}
@keyframes hunter-rack-lantern-shadow{
  0%,100%{opacity:.38;transform:scale(1)}
  34%{opacity:.5;transform:scale(1.006)}
  61%{opacity:.41;transform:scale(.998)}
  82%{opacity:.55;transform:scale(1.009)}
}
@keyframes hunter-rack-dust{
  from{opacity:.22;transform:translate3d(-1%,3%,0)}
  to{opacity:.38;transform:translate3d(1.5%,-5%,0)}
}
#transmissions .media-window::before{
  inset:-3px;
  transform:none;
  background-image:url("assets/marked-fragments-forged-frame-v1.webp");
  filter:brightness(1.04) contrast(1.08) drop-shadow(0 5px 7px rgba(0,0,0,.5));
}
#transmissions .media-window{
  aspect-ratio:16 / 9;
  overflow:visible;
  background-size:contain;
  background-repeat:no-repeat;
  background-position:center;
  outline:none;
  box-shadow:0 18px 32px rgba(0,0,0,.44);
}
#transmissions .media-frame-asset{
  position:absolute;
  top:-7%;
  left:-5.5%;
  z-index:2;
  display:block;
  width:111%;
  height:114%;
  max-width:none;
  pointer-events:none;
  user-select:none;
  object-fit:fill;
  filter:brightness(1.04) contrast(1.08) drop-shadow(0 5px 7px rgba(0,0,0,.5));
}
#transmissions .media-window::before{display:none;}
#transmissions .feature-card:nth-child(2) .media-window::before,
#transmissions .feature-card:nth-child(3) .media-window::before{transform:none;}
#transmissions .feature-card:hover .media-window::before,
#transmissions .feature-card:focus-within .media-window::before{
  transform:scale(1.001);
}
#transmissions .feature-card:nth-child(2):hover .media-window::before,
#transmissions .feature-card:nth-child(2):focus-within .media-window::before,
#transmissions .feature-card:nth-child(3):hover .media-window::before,
#transmissions .feature-card:nth-child(3):focus-within .media-window::before{
  transform:scale(1.001);
}
@media (max-width:800px){
  #transmissions .media-window::before{
    inset:-3px;
    background-image:url("assets/marked-fragments-forged-frame-v1.webp");
  }
  #transmissions .media-frame-asset{
    top:-7%;
    left:-5.5%;
    width:111%;
    height:114%;
  }
}
#transmissions .card-meta{
  padding-top:1.35rem;
  padding-bottom:.6rem;
}
@media (max-width:800px){
  #transmissions .hunter-rack-transition{
    top:-2.8rem;
    width:calc(100% + 1.25rem);
  }
  #transmissions .marked-fragments-wolf-hide{
    top:50%;
    left:50%;
    width:calc(100% + 2rem);
    height:auto;
    padding:0;
    transform:translate(-50%,-50%);
    object-fit:contain;
  }
#transmissions .card-meta{
  padding-top:1.2rem;
  padding-bottom:.7rem;
}
}
@media (prefers-reduced-motion:reduce){
  #transmissions .hunter-rack-transition::before,
  #transmissions .hunter-rack-transition::after{
    animation:none;
  }
}

/* Latest Run final material pass: a stronghold viewing station built around
   the existing functional section. The live content, controls, data hooks,
   grid order, and responsive stack remain unchanged. */
#latest-transmission.latest-transmission-section{
  isolation:isolate;
  overflow:visible;
  background:transparent;
  border-bottom:0;
}
#latest-transmission .latest-run-foundation{
  position:absolute;
  top:clamp(.5rem,1.2vw,1rem);
  right:auto;
  bottom:-3.25rem;
  left:50%;
  z-index:0;
  display:block;
  width:calc(100% + clamp(5rem,8vw,7.5rem));
  max-width:none;
  pointer-events:none;
  transform:translate(calc(-50% + .65rem), .9rem);
  filter:drop-shadow(0 28px 34px rgba(0,0,0,.62));
}
#latest-transmission .latest-run-foundation img{
  display:block;
  width:100%;
  height:100%;
  object-fit:fill;
}
#latest-transmission::after{
  position:absolute;
  top:clamp(2.2rem,4vw,3.8rem);
  right:-2rem;
  bottom:clamp(1.7rem,3vw,2.8rem);
  left:-2rem;
  z-index:1;
  content:"";
  pointer-events:none;
  background:
    radial-gradient(ellipse 32% 54% at 18% 72%,rgba(255,157,62,.15),transparent 72%),
    radial-gradient(ellipse 42% 78% at 72% 46%,rgba(0,0,0,.24),transparent 74%);
  mix-blend-mode:screen;
  opacity:.52;
  transform-origin:18% 72%;
  animation:latest-run-lantern-breathe 6.8s ease-in-out infinite;
}
#latest-transmission .section-heading,
#latest-transmission .latest-transmission-card{
  position:relative;
  z-index:2;
}
#latest-transmission .section-heading h2,
#latest-transmission .section-kicker{
  color:#ead9bb;
  text-shadow:0 2px 0 rgba(0,0,0,.92),0 -1px 0 rgba(255,208,132,.2),0 5px 12px rgba(0,0,0,.62);
}
#latest-transmission .section-kicker{color:var(--green);text-shadow:0 0 13px rgba(0,184,90,.24),0 2px 0 rgba(0,0,0,.92);}
#latest-transmission .latest-transmission-card{
  overflow:visible;
  background:transparent;
  border:0;
  box-shadow:none;
}
#latest-transmission .latest-transmission-card::before{display:none;}
#latest-transmission .latest-transmission-card::after{
  position:absolute;
  inset:-.4rem -.75rem;
  z-index:0;
  content:"";
  pointer-events:none;
  background:linear-gradient(104deg,transparent 22%,rgba(0,0,0,.2) 46%,transparent 68%);
  mix-blend-mode:multiply;
  opacity:.42;
  transform:translateX(-4%);
  animation:latest-run-shadow-drift 11s ease-in-out infinite alternate;
}
#latest-transmission .media-window--feature{
  position:relative;
  z-index:2;
  width:calc(100% - 24px);
  margin:12px;
  aspect-ratio:16 / 9;
  overflow:visible;
  background-color:#11130f;
  background-image:var(--media-image,url("assets/signal-house-hero-v2.webp")),url("assets/signal-house-hero-v2.webp");
  background-position:var(--media-position,center),center;
  background-size:cover,cover;
  background-repeat:no-repeat,no-repeat;
  border:0;
  outline:0;
  box-shadow:0 18px 34px rgba(0,0,0,.48);
  transition:filter .28s ease,transform .28s cubic-bezier(.2,.75,.2,1),box-shadow .28s ease;
}
#latest-transmission .latest-transmission-card .media-window::after{
  position:absolute;
  inset:0;
  z-index:1;
  content:"";
  pointer-events:none;
  background:linear-gradient(135deg,rgba(255,197,103,.05),transparent 34%,transparent 68%,rgba(0,0,0,.32));
  opacity:.72;
}
#latest-transmission .latest-run-video-frame{
  position:absolute;
  top:-13.2%;
  left:-5.3%;
  z-index:3;
  display:block;
  width:110.65%;
  height:126.9%;
  max-width:none;
  pointer-events:none;
  user-select:none;
  object-fit:fill;
  filter:brightness(.94) contrast(1.08) drop-shadow(0 7px 8px rgba(0,0,0,.58));
  transition:filter .28s ease,transform .28s ease;
}
#latest-transmission .media-window--feature:hover,
#latest-transmission .media-window--feature:focus-visible{
  filter:saturate(1.04) brightness(1.035);
  transform:translate(1px,-1px);
  box-shadow:0 20px 38px rgba(0,0,0,.54);
}
#latest-transmission .media-window--feature:hover .latest-run-video-frame,
#latest-transmission .media-window--feature:focus-visible .latest-run-video-frame{
  filter:brightness(1.04) contrast(1.1) sepia(.06) drop-shadow(0 0 8px rgba(191,119,70,.22)) drop-shadow(0 8px 9px rgba(0,0,0,.62));
}
#latest-transmission .media-window--feature:focus-visible{outline:2px solid #c68858;outline-offset:7px;}
#latest-transmission .media-window--feature .play-mark,
#latest-transmission .media-window--feature .media-label{z-index:4;}
#latest-transmission .latest-transmission-copy{
  position:relative;
  z-index:2;
  min-height:100%;
  overflow:visible;
  padding-left:calc(clamp(1.5rem,3vw,2.5rem) + 1.15rem);
  background:transparent;
  border:0;
}
#latest-transmission .latest-run-info-plaque{
  position:absolute;
  top:4%;
  right:5%;
  bottom:auto;
  left:5%;
  z-index:0;
  display:block;
  width:90%;
  height:92%;
  max-width:none;
  pointer-events:none;
  user-select:none;
  object-fit:fill;
  filter:drop-shadow(0 17px 22px rgba(0,0,0,.54));
}
#latest-transmission .latest-transmission-copy > :not(.latest-run-info-plaque){position:relative;z-index:1;}
#latest-transmission .latest-transmission-copy h3{
  color:#ead9bb;
  text-shadow:0 2px 0 rgba(0,0,0,.88),0 -1px 0 rgba(255,213,148,.16);
}
#latest-transmission .latest-transmission-copy > p:not(.eyebrow){color:#cbb898;}
#latest-transmission .latest-transmission-copy .eyebrow,
#latest-transmission .latest-transmission-meta{
  color:var(--green);
  text-shadow:0 0 12px rgba(0,184,90,.22),0 1px 0 rgba(0,0,0,.9);
}
#latest-transmission .latest-transmission-copy .rune-button{
  position:relative;
  width:13rem;
  min-width:0;
  min-height:0;
  aspect-ratio:2039 / 600;
  padding:0 1.25rem .08rem;
  color:#ead9bb;
  background:transparent url("/assets/latest-run-wood-cta-v1.webp") center / 100% 100% no-repeat;
  border:0;
  box-shadow:none;
  filter:drop-shadow(0 8px 10px rgba(0,0,0,.5));
  text-shadow:0 2px 0 rgba(0,0,0,.95),0 -1px 0 rgba(255,224,174,.18);
  white-space:nowrap;
  isolation:isolate;
}
#latest-transmission .latest-transmission-copy .rune-button:hover,
#latest-transmission .latest-transmission-copy .rune-button:focus-visible{
  color:#f0dfc1;
  border:0;
  box-shadow:none;
  filter:brightness(1.07) drop-shadow(0 0 8px rgba(177,113,70,.16)) drop-shadow(0 10px 12px rgba(0,0,0,.54));
}
#latest-transmission .latest-transmission-copy .rune-button:focus-visible{
  outline:2px solid rgba(156,240,178,.88);
  outline-offset:4px;
}
@keyframes latest-run-lantern-breathe{
  0%,100%{opacity:.42;transform:scale(1)}
  24%{opacity:.55;transform:scale(1.006)}
  57%{opacity:.46;transform:scale(.998)}
  78%{opacity:.6;transform:scale(1.01)}
}
@keyframes latest-run-shadow-drift{
  from{opacity:.32;transform:translateX(-5%)}
  to{opacity:.46;transform:translateX(5%)}
}
@media (max-width:800px){
  #latest-transmission .latest-run-foundation{
    top:.55rem;
    bottom:-.3rem;
    width:calc(100% + 2.5rem);
    transform:translateX(-50%);
  }
  #latest-transmission .section-heading{padding:0 .45rem;}
  #latest-transmission .latest-transmission-card{gap:.35rem;}
  #latest-transmission .media-window--feature{
    width:calc(100% - 24px);
    margin:12px;
    aspect-ratio:16 / 9;
  }
  #latest-transmission .latest-transmission-copy{
    margin:.25rem .4rem .65rem;
    padding:clamp(1.7rem,7vw,2.2rem);
    border:0;
  }
  #latest-transmission .latest-run-info-plaque{top:3%;right:4%;left:4%;width:92%;height:94%;}
}
@media (prefers-reduced-motion:reduce){
  #latest-transmission::after,
  #latest-transmission .latest-transmission-card::after{animation:none;}
  #latest-transmission .media-window--feature,
  #latest-transmission .latest-run-video-frame{transition:none;}
}

/* Hero to Latest Run: guarded stronghold threshold. This atmospheric layer
   bridges the two completed sections without changing either section's
   established content, dimensions, or interaction geometry. */
#latest-transmission .stronghold-threshold-transition{
  position:absolute;
  top:clamp(-8rem,-6vw,-6rem);
  left:50%;
  z-index:1;
  width:100vw;
  height:clamp(9rem,11.5vw,14rem);
  overflow:visible;
  pointer-events:none;
  transform:translateX(-50%);
  isolation:isolate;
}
#latest-transmission .stronghold-threshold-transition img{
  position:absolute;
  top:50%;
  left:50%;
  z-index:2;
  display:block;
  width:100vw;
  max-width:none;
  height:auto;
  transform:translate(-50%,-50%);
  filter:brightness(.88) contrast(1.08) drop-shadow(0 13px 17px rgba(0,0,0,.78));
  user-select:none;
}
#latest-transmission .stronghold-threshold-transition::before{
  position:absolute;
  inset:16% 0 0;
  z-index:1;
  content:"";
  background:
    radial-gradient(ellipse 30% 58% at 18% 72%,rgba(244,153,69,.2),transparent 70%),
    radial-gradient(ellipse 40% 64% at 44% 78%,rgba(192,105,48,.08),transparent 72%);
  mix-blend-mode:screen;
  opacity:.52;
  filter:blur(6px);
  transform-origin:18% 72%;
  animation:stronghold-threshold-lantern 7.6s ease-in-out infinite;
}
#latest-transmission .stronghold-threshold-transition::after{
  position:absolute;
  right:-3%;
  bottom:-18%;
  left:-3%;
  z-index:3;
  height:66%;
  content:"";
  background:
    radial-gradient(ellipse 26% 55% at 21% 58%,rgba(98,91,77,.11),transparent 72%),
    radial-gradient(ellipse 33% 58% at 67% 64%,rgba(76,76,69,.08),transparent 74%);
  opacity:.46;
  filter:blur(13px);
  transform:translate3d(-1.5%,0,0);
  animation:stronghold-threshold-haze 15s ease-in-out infinite alternate;
}
@keyframes stronghold-threshold-lantern{
  0%,100%{opacity:.43;transform:scale(1)}
  31%{opacity:.57;transform:scale(1.008)}
  56%{opacity:.46;transform:scale(.998)}
  79%{opacity:.61;transform:scale(1.012)}
}
@keyframes stronghold-threshold-haze{
  from{opacity:.34;transform:translate3d(-1.5%,1%,0) scaleX(.98)}
  to{opacity:.5;transform:translate3d(1.5%,-2%,0) scaleX(1.025)}
}
@media (max-width:800px){
  #latest-transmission .stronghold-threshold-transition{
    top:-3.7rem;
    height:7rem;
  }
  #latest-transmission .stronghold-threshold-transition img{
    width:100vw;
    filter:brightness(.86) contrast(1.08) drop-shadow(0 9px 12px rgba(0,0,0,.76));
  }
  #latest-transmission .stronghold-threshold-transition::after{
    right:-8%;
    left:-8%;
  }
}
@media (prefers-reduced-motion:reduce){
  #latest-transmission .stronghold-threshold-transition::before,
  #latest-transmission .stronghold-threshold-transition::after{
    animation:none;
  }
}

/* Oathsworn heading: one transparent, self-contained cloth asset. The
   wordmark is baked into the fabric so its centering, Rune-Cut spacing, and
   cloth contour cannot separate at different viewport sizes. */
#oathsworn{padding-top:clamp(1.1rem,2.2vw,1.8rem);}
#oathsworn .oathsworn-banner{
  position:relative;
  display:block;
  width:100%;
  min-height:0;
  margin:0 auto .3rem;
  padding:0;
  overflow:visible;
  border:0;
  background:none;
  box-shadow:none;
  text-align:center;
  line-height:0;
}
#oathsworn .oathsworn-banner::before,
#oathsworn .oathsworn-banner::after{
  display:none!important;
  content:none!important;
}
#oathsworn .oathsworn-banner-asset{
  display:block;
  width:100%;
  max-width:none;
  height:auto;
  margin:0;
  object-fit:contain;
}
#oathsworn .oathsworn-grid{margin-top:.25rem;}
@media (max-width:800px){
  #oathsworn{padding-top:1rem;}
  #oathsworn .oathsworn-banner{
    margin-bottom:.25rem;
    padding:0;
  }
  #oathsworn .oathsworn-banner-asset{width:100%;}
  #oathsworn .oathsworn-grid{margin-top:.2rem;}
}

/* Field Note and Campaign detail pages: approved leather-journal system. The
   3:2 foundation assets retain their native ratio on desktop; live text and
   owner-managed images remain separate HTML layers. */
.journal-detail-page{position:relative;isolation:isolate;}
.journal-detail{
  position:relative;
  overflow:hidden;
  margin:0 calc(clamp(1rem,3vw,2rem) * -1);
  padding:clamp(1rem,3vw,2.4rem);
  background-color:#1c120d;
  background-image:linear-gradient(90deg,rgba(0,0,0,.42),transparent 10% 90%,rgba(0,0,0,.42)),url("/assets/scatters-header-timber-base-v2.webp");
  background-position:center,center;
  background-repeat:no-repeat,no-repeat;
  background-size:cover,cover;
  box-shadow:0 28px 70px rgba(0,0,0,.56),inset 0 1px 0 rgba(232,210,174,.07),inset 0 -30px 50px rgba(0,0,0,.35);
}
.journal-detail::before{
  position:absolute;
  inset:-8%;
  z-index:0;
  background:radial-gradient(circle at 77% 17%,rgba(239,157,77,.19),transparent 25%),radial-gradient(circle at 21% 74%,rgba(0,96,45,.08),transparent 31%);
  content:"";
  pointer-events:none;
  animation:journal-lantern-flicker 6.4s ease-in-out infinite;
}
.journal-detail::after{
  position:absolute;
  inset:0;
  z-index:0;
  background-image:radial-gradient(circle,rgba(238,205,153,.35) 0 1px,transparent 1.5px),radial-gradient(circle,rgba(238,205,153,.18) 0 1px,transparent 1.5px);
  background-position:12% 27%,68% 42%;
  background-size:137px 113px,181px 157px;
  content:"";
  opacity:.22;
  pointer-events:none;
  animation:journal-dust-drift 20s linear infinite alternate;
}
.journal-detail>*{position:relative;z-index:1;}
.journal-foundation{
  position:relative;
  width:100%;
  max-width:1180px;
  aspect-ratio:3 / 2;
  margin:0 auto;
}
.journal-foundation-asset{
  position:absolute;
  inset:0;
  display:block;
  width:100%;
  height:100%;
  object-fit:contain;
  pointer-events:none;
  user-select:none;
  filter:drop-shadow(0 28px 28px rgba(0,0,0,.58));
}
.journal-spread-deck{
  position:absolute;
  inset:9.8% 10.3% 10.2%;
  z-index:2;
  color:#281a0d;
}
.journal-spread-panel{
  position:absolute;
  inset:0;
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(0,1fr);
  gap:7.1%;
  padding-bottom:0;
}
.journal-foundation--extended .journal-spread-panel{padding-bottom:clamp(2.25rem,3.8vw,3rem);}
.journal-spread-panel[hidden]{display:none!important;}
.journal-spread-panel.is-active{z-index:1;}
.journal-foundation.is-turning .journal-spread-panel.is-active{animation:journal-spread-reveal .42s ease both;transform-origin:right center;}
.journal-foundation[data-turn-direction="back"].is-turning .journal-spread-panel.is-active{animation-name:journal-spread-reveal-back;transform-origin:left center;}
.journal-page-content{
  min-width:0;
  overflow:hidden;
  display:flex;
  flex-direction:column;
  color:#281a0d;
  font-family:"Rune Cut",Georgia,serif;
}
.journal-page-content h1{
  max-width:12ch;
  margin:0;
  color:#21150c;
  font-size:clamp(1.65rem,3.45vw,3.45rem);
  font-weight:400;
  line-height:.92;
  letter-spacing:.025em;
  text-shadow:0 1px 0 rgba(255,237,193,.18);
}
.journal-page-content .section-kicker,
.journal-page-content .eyebrow{color:#075f3a;text-shadow:none;}
.journal-deck{
  max-width:38rem;
  margin:.7rem 0 .8rem;
  color:#483421;
  font-family:"Rune Cut",Georgia,serif;
  font-size:clamp(.88rem,1.35vw,1rem);
  line-height:1.42;
  letter-spacing:.015em;
}
.journal-page-content>p:not(.section-kicker):not(.journal-deck){
  color:#312114;
  font-family:"Rune Cut",Georgia,serif;
  font-size:clamp(.88rem,1.3vw,1rem);
  line-height:1.55;
  letter-spacing:.012em;
}
.journal-page-content>p:not(.section-kicker):not(.journal-deck){margin:.7rem 0 0;}
.journal-entry-copy>p{
  margin:.58rem 0 0;
  color:#312114;
  font-family:"Rune Cut",Georgia,serif;
  font-size:clamp(.78rem,1.08vw,.9rem);
  line-height:1.46;
  letter-spacing:.01em;
}
.journal-entry-copy>p+p{padding-top:.48rem;border-top:1px solid rgba(65,38,18,.17);}
.journal-page-content .detail-facts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.3rem;margin:.65rem 0 .75rem;}
.journal-page-content .detail-facts div{min-width:0;padding:.42rem .28rem;border:0;border-top:1px solid rgba(65,38,18,.54);border-bottom:1px solid rgba(65,38,18,.32);background:transparent;}
.journal-page-content .detail-facts span{color:#725538;font-size:.55rem;letter-spacing:.1em;}
.journal-page-content .detail-facts strong{color:#281a0d;font-size:.64rem;line-height:1.2;letter-spacing:.06em;}
.journal-mounted-image{
  position:relative;
  height:clamp(145px,15vw,196px);
  margin:.65rem .15rem .45rem;
  padding:7px 7px 22px;
  background:#d3bd94;
  box-shadow:0 8px 13px rgba(48,26,10,.32),inset 0 0 0 1px rgba(71,42,20,.25);
  transform:rotate(-.65deg);
}
.journal-mounted-image::before,
.journal-mounted-image::after{position:absolute;z-index:2;width:24px;height:24px;border-style:solid;border-color:#4a2918;content:"";pointer-events:none;}
.journal-mounted-image::before{top:3px;left:3px;border-width:4px 0 0 4px;}
.journal-mounted-image::after{right:3px;bottom:18px;border-width:0 4px 4px 0;}
.journal-mounted-image img{display:block;width:100%;height:100%;object-fit:cover;filter:saturate(.8) brightness(.76) contrast(1.04);}
.journal-mounted-image>span{position:absolute;right:10px;bottom:6px;color:#513a27;font-size:.53rem;letter-spacing:.08em;}
.journal-mounted-image--campaign{height:clamp(138px,14vw,184px);transform:rotate(.4deg);}
.journal-page-content .route-detail-actions{gap:.55rem;margin-top:.35rem;}
.journal-page-content .route-detail-actions .text-button{color:#075f3a;border-color:rgba(7,95,58,.5);font-size:.62rem;}
.journal-page-content .route-detail-actions>span{color:#695039;font-size:.5rem;}
.journal-page-heading{display:flex;align-items:baseline;justify-content:space-between;gap:.75rem;padding-bottom:.55rem;border-bottom:1px solid rgba(63,36,17,.48);}
.journal-page-heading .eyebrow{margin:0;}
.journal-page-heading>span{color:#705035;font-size:.55rem;letter-spacing:.08em;text-align:right;}
.journal-page-content .detail-callout{
  gap:.6rem;
  margin:.85rem 0 0;
  padding:.7rem .8rem;
  border:1px solid rgba(7,95,58,.32);
  background:rgba(7,95,58,.055);
}
.journal-page-content .detail-callout>span{color:#075f3a;font-size:1.1rem;}
.journal-page-content .detail-callout strong{color:#281a0d;font-size:.58rem;}
.journal-page-content .detail-callout p{margin:.25rem 0 0;color:#483421;font-family:"Rune Cut",Georgia,serif;font-size:.72rem;line-height:1.35;}
.journal-page-content .detail-mark{gap:.5rem;margin-top:.8rem;padding-top:.55rem;color:#075f3a;border-color:rgba(65,38,18,.28);font-size:1rem;}
.journal-page-content .detail-mark span{color:#5f472f;font-size:.55rem;}
.journal-page-content .field-record{margin:.8rem 0 .5rem;padding:.65rem .7rem;border:1px solid rgba(65,38,18,.48);background:rgba(97,64,31,.055);}
.journal-page-content .field-record .eyebrow{margin:0 0 .45rem;}
.journal-page-content .field-record-line{color:#281a0d;font-size:.58rem;}
.journal-page-content .field-record>p:last-child{margin:.4rem 0 0;color:#5d422c;font-family:"Rune Cut",Georgia,serif;font-size:.64rem;line-height:1.35;}
.journal-status-stamp{display:inline-block;margin:.15rem 0 .1rem;padding:.35rem .55rem .28rem;color:#611f23;border:3px double rgba(97,31,35,.82);font-size:.62rem;letter-spacing:.1em;transform:rotate(-1.1deg);}
.journal-page-foot{margin-top:auto;padding-top:.55rem;}
.journal-foundation--single .journal-page-foot{margin-bottom:clamp(2rem,3.3vw,2.75rem);}
.journal-related-strip{
  display:grid;
  grid-template-columns:auto minmax(0,1fr) auto;
  align-items:baseline;
  gap:.45rem;
  padding:.48rem .08rem .42rem;
  color:#281a0d;
  border-top:1px solid rgba(65,38,18,.42);
  border-bottom:1px solid rgba(65,38,18,.24);
  text-decoration:none;
}
.journal-related-strip span,
.journal-related-strip small{color:#075f3a;font-size:.5rem;letter-spacing:.075em;white-space:nowrap;}
.journal-related-strip strong{overflow:hidden;color:#281a0d;font-size:.72rem;font-weight:400;line-height:1.1;text-overflow:ellipsis;white-space:nowrap;}
.journal-related-strip:hover strong{text-decoration:underline;text-decoration-color:rgba(7,95,58,.45);text-underline-offset:3px;}
.journal-page-content--reading>p{margin:.85rem 0 0;}
.journal-page-content--reading>p:nth-of-type(2){padding-top:.7rem;border-top:1px solid rgba(65,38,18,.22);}
.journal-page-content--notes{display:flex;flex-direction:column;}
.journal-info-note{padding:.8rem 0;border-bottom:1px solid rgba(65,38,18,.3);}
.journal-info-note:last-child{border-bottom:0;}
.journal-info-note h2,
.journal-page-content--threads>h2{margin:.35rem 0 .6rem;color:#281a0d;font-size:clamp(1.35rem,2.2vw,2rem);font-weight:400;line-height:1;}
.journal-info-note p:not(.eyebrow),
.journal-page-content--threads>p{margin:.25rem 0 .7rem;color:#483421;font-family:"Rune Cut",Georgia,serif;font-size:clamp(.78rem,1.18vw,.94rem);line-height:1.48;}
.journal-info-note .text-button,
.journal-related-note .text-button{color:#075f3a;font-size:.62rem;}
.journal-related-note{
  display:block;
  margin-top:.8rem;
  padding:.8rem .15rem .85rem;
  color:#281a0d;
  border-top:1px solid rgba(65,38,18,.44);
  border-bottom:1px solid rgba(65,38,18,.28);
  text-decoration:none;
  transition:background-color .2s ease,transform .2s ease;
}
.journal-related-note:hover{background:rgba(7,95,58,.055);transform:translateX(3px);}
.journal-related-note .eyebrow{margin:0 0 .28rem;}
.journal-related-note h3{margin:0 0 .35rem;color:#281a0d;font-size:clamp(1.2rem,2vw,1.75rem);font-weight:400;line-height:1;}
.journal-related-note>p:not(.eyebrow){margin:0 0 .6rem;color:#513c28;font-family:"Rune Cut",Georgia,serif;font-size:clamp(.72rem,1.08vw,.88rem);line-height:1.4;}
.journal-entry-nav{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:end;gap:.35rem;margin:0;padding-top:.48rem;border-top:1px solid rgba(65,38,18,.38);}
.journal-entry-nav-link,
.journal-entry-nav-index{display:grid;gap:.12rem;padding:.18rem .05rem;color:#281a0d;text-decoration:none;}
.journal-entry-nav-link{min-width:0;}
.journal-entry-nav-link span,
.journal-entry-nav-index{color:#075f3a;font-size:.48rem;letter-spacing:.075em;}
.journal-entry-nav-link strong{overflow:hidden;color:#281a0d;font-size:.62rem;font-weight:400;line-height:1.1;text-overflow:ellipsis;white-space:nowrap;}
.journal-entry-nav-link--next{text-align:right;}
.journal-entry-nav-index{display:block;padding:.22rem .4rem;text-align:center;border-right:1px solid rgba(65,38,18,.25);border-left:1px solid rgba(65,38,18,.25);white-space:nowrap;}
.journal-entry-nav-empty{display:block;}
.journal-spread-controls{
  position:absolute;
  right:11.3%;
  bottom:10.15%;
  left:11.3%;
  z-index:4;
  display:grid;
  grid-template-columns:1fr auto 1fr;
  align-items:center;
  gap:1rem;
  pointer-events:none;
}
.journal-spread-controls button{
  min-height:30px;
  padding:.25rem .4rem;
  border:0;
  background:transparent;
  color:#d29b55;
  font-family:"Rune Cut",Georgia,serif;
  font-size:.66rem;
  letter-spacing:.08em;
  text-shadow:0 2px 2px #070503,0 0 8px rgba(0,0,0,.8);
  cursor:pointer;
  pointer-events:auto;
}
.journal-spread-controls button:last-child{text-align:right;}
.journal-spread-controls button:disabled{opacity:.34;cursor:default;}
.journal-spread-controls>span{color:#cfb483;font-family:"Rune Cut",Georgia,serif;font-size:.54rem;letter-spacing:.09em;text-shadow:0 2px 2px #070503,0 0 8px rgba(0,0,0,.85);}
.journal-mobile-pager{display:none;}
.journal-spread-deck::after{
  position:absolute;
  top:0;
  right:0;
  bottom:0;
  z-index:12;
  width:48.25%;
  background:linear-gradient(90deg,rgba(52,30,13,.12),rgba(211,184,137,.94) 12%,rgba(237,215,173,.98) 67%,rgba(93,57,27,.28));
  box-shadow:-12px 0 18px rgba(37,21,10,.26),inset 1px 0 rgba(255,239,199,.4);
  content:"";
  opacity:0;
  pointer-events:none;
  transform:perspective(1250px) rotateY(0);
  transform-origin:left center;
}
.journal-page-turning .journal-spread-deck{pointer-events:none;}
.journal-page-turning .journal-spread-panel.is-active{animation:journal-entry-content-out .24s ease both;}
.journal-page-turning .journal-spread-deck::after{animation:journal-sheet-turn-forward .24s cubic-bezier(.45,.05,.55,.95) both;}
.journal-page-turning--back .journal-spread-panel.is-active{animation-name:journal-entry-content-out-back;}
.journal-page-turning--back .journal-spread-deck::after{right:auto;left:0;animation-name:journal-sheet-turn-back;transform-origin:right center;}
.journal-foundation.is-entry-arriving .journal-spread-panel.is-active{animation:journal-entry-content-in .34s ease both;}
.journal-foundation.is-entry-arriving[data-turn-direction="back"] .journal-spread-panel.is-active{animation-name:journal-entry-content-in-back;}
@keyframes journal-lantern-flicker{0%,100%{opacity:.55;transform:scale(1)}27%{opacity:.82;transform:scale(1.01)}33%{opacity:.65}71%{opacity:.9;transform:scale(1.018)}}
@keyframes journal-dust-drift{from{background-position:12% 27%,68% 42%}to{background-position:15% 22%,65% 47%}}
@keyframes journal-sheet-turn-forward{0%{opacity:0;transform:perspective(1250px) rotateY(0)}12%{opacity:.9}100%{opacity:.12;transform:perspective(1250px) rotateY(-92deg)}}
@keyframes journal-sheet-turn-back{0%{opacity:0;transform:perspective(1250px) rotateY(0)}12%{opacity:.9}100%{opacity:.12;transform:perspective(1250px) rotateY(92deg)}}
@keyframes journal-entry-content-out{from{opacity:1;transform:translateX(0)}to{opacity:.12;transform:translateX(-1.2%)}}
@keyframes journal-entry-content-out-back{from{opacity:1;transform:translateX(0)}to{opacity:.12;transform:translateX(1.2%)}}
@keyframes journal-entry-content-in{from{opacity:.16;transform:perspective(1200px) rotateY(-4deg) translateX(1%)}to{opacity:1;transform:perspective(1200px) rotateY(0) translateX(0)}}
@keyframes journal-entry-content-in-back{from{opacity:.16;transform:perspective(1200px) rotateY(4deg) translateX(-1%)}to{opacity:1;transform:perspective(1200px) rotateY(0) translateX(0)}}
@keyframes journal-spread-reveal{0%{opacity:.22;transform:perspective(1200px) rotateY(-7deg)}100%{opacity:1;transform:perspective(1200px) rotateY(0)}}
@keyframes journal-spread-reveal-back{0%{opacity:.22;transform:perspective(1200px) rotateY(7deg)}100%{opacity:1;transform:perspective(1200px) rotateY(0)}}

@media (max-width:920px) and (min-width:761px){
  .journal-spread-deck{inset:9.5% 9.6% 10%;}
  .journal-spread-panel{gap:6.4%;}
  .journal-page-content h1{font-size:clamp(1.55rem,3.8vw,2.7rem);}
  .journal-deck{font-size:.84rem;line-height:1.34;}
  .journal-page-content>p:not(.section-kicker):not(.journal-deck){font-size:.82rem;line-height:1.42;}
  .journal-mounted-image{height:clamp(105px,13vw,130px);}
  .journal-page-content .detail-callout{padding:.55rem .6rem;}
  .journal-page-content .detail-callout p{font-size:.62rem;}
  .journal-spread-controls{right:10.6%;left:10.6%;}
}

@media (max-width:1319px){
  .journal-detail{margin:0 -.35rem;padding:1rem .7rem 1.35rem;overflow:hidden;}
  .journal-spread-deck::after{width:100%;}
  .journal-foundation{
    min-height:790px;
    aspect-ratio:auto;
    padding:22px 18px 26px;
    border:1px solid rgba(96,101,92,.66);
    border-radius:10px;
    background:linear-gradient(145deg,#462919,#24140d 54%,#120b08);
    box-shadow:0 20px 32px rgba(0,0,0,.58),inset 0 0 0 7px rgba(0,0,0,.22),inset 0 0 0 9px rgba(169,104,62,.18);
  }
  .journal-detail--campaign .journal-foundation{background:linear-gradient(145deg,#292923,#11120f 57%,#080908);}
  .journal-foundation-asset{display:none;}
  .journal-spread-deck{position:relative;inset:auto;display:block;min-height:740px;color:#281a0d;}
  .journal-spread-panel{position:relative;inset:auto;display:block;padding:0;}
  .journal-page-content{
    min-height:740px;
    padding:clamp(1.35rem,6vw,2rem) clamp(1.2rem,5.5vw,1.8rem) 7.2rem;
    overflow:visible;
    background:#b99a6a url("/assets/field-notes-parchment-wide-v2.webp?v=79") center / cover no-repeat;
    filter:drop-shadow(0 8px 10px rgba(0,0,0,.35));
  }
  .journal-detail--campaign .journal-page-content{background-image:url("/assets/campaign-field-report-parchment-v1.webp");}
  .journal-page-content--right{display:none;}
  .journal-detail.is-showing-page-two .journal-spread-panel.is-active .journal-page-content--left{display:none;}
  .journal-detail.is-showing-page-two .journal-spread-panel.is-active .journal-page-content--right{display:block;}
  .journal-page-content h1{font-size:clamp(2rem,11vw,3.35rem);}
  .journal-deck{font-size:1rem;line-height:1.45;}
  .journal-page-content>p:not(.section-kicker):not(.journal-deck){font-size:1rem;line-height:1.58;}
  .journal-entry-copy>p{font-size:1rem;line-height:1.55;}
  .journal-foundation--single .journal-page-foot{margin-bottom:0;}
  .journal-page-content .detail-facts{grid-template-columns:1fr;}
  .journal-page-content .detail-facts div{padding:.48rem .35rem;}
  .journal-mounted-image,.journal-mounted-image--campaign{height:190px;}
  .journal-page-content .route-detail-actions{margin-top:.6rem;}
  .journal-page-content .route-detail-actions>span{font-size:.56rem;}
  .journal-page-content .detail-callout{margin-top:1rem;padding:.8rem;}
  .journal-page-content .detail-callout p{font-size:.82rem;line-height:1.45;}
  .journal-page-content .field-record{padding:.8rem;}
  .journal-page-content .field-record-line{align-items:flex-start;flex-direction:column;font-size:.7rem;}
  .journal-spread-controls{right:34px;bottom:35px;left:34px;gap:.35rem;}
  .journal-spread-controls button{font-size:.56rem;}
  .journal-spread-controls>span{font-size:.45rem;text-align:center;}
  .journal-mobile-pager{position:absolute;right:34px;bottom:77px;left:34px;z-index:5;display:flex;justify-content:center;gap:.4rem;}
  .journal-mobile-pager button{min-width:96px;min-height:38px;padding:.5rem .65rem;border:1px solid rgba(65,38,18,.42);background:rgba(91,61,32,.08);color:#65482f;font-family:"Rune Cut",Georgia,serif;font-size:.56rem;letter-spacing:.08em;}
  .journal-mobile-pager button[aria-pressed="true"]{border-color:#075f3a;color:#075f3a;box-shadow:inset 0 0 0 1px rgba(7,95,58,.12);}
  .journal-info-note p:not(.eyebrow),.journal-page-content--threads>p,.journal-related-note>p:not(.eyebrow){font-size:.92rem;line-height:1.5;}
  .journal-related-note h3{font-size:1.55rem;}
  .journal-entry-nav-link strong{font-size:.72rem;}
  .journal-related-strip strong{font-size:.76rem;}
}

@media (prefers-reduced-motion:reduce){
  .journal-detail::before,.journal-detail::after,.journal-page-turning .journal-spread-panel.is-active,.journal-page-turning .journal-spread-deck::after,.journal-foundation.is-entry-arriving .journal-spread-panel.is-active,.journal-foundation.is-turning .journal-spread-panel.is-active{animation:none;}
  .journal-related-note{transition:none;}
}

/* Final journal spacing, scale, and legibility pass.
   Keep the approved 3:2 leather assets and one-spread information hierarchy,
   while allowing the book to dominate wide screens and changing to a single
   readable page before either half of the spread becomes cramped. */
.journal-detail-page.route-page{
  width:min(1600px,calc(100% - 1.5rem));
  padding-top:clamp(1.5rem,2.8vw,2.75rem);
  padding-bottom:clamp(3.5rem,6vw,6rem);
}
.journal-detail-page .route-topline{
  margin-bottom:clamp(1.5rem,2.7vw,2.65rem);
  font-size:.78rem;
  line-height:1.35;
}
.journal-detail{
  margin:0;
  padding:clamp(1.25rem,2.35vw,2.25rem);
}
.journal-foundation{max-width:1536px;}
.journal-spread-panel{gap:6.8%;}
.journal-page-content h1{
  width:100%;
  max-width:17ch;
  font-size:clamp(2rem,3.15vw,3.45rem);
  line-height:.94;
  letter-spacing:.022em;
  text-wrap:balance;
}
.journal-page-content .section-kicker,
.journal-page-content .eyebrow{
  font-size:.78rem;
  line-height:1.3;
}
.journal-deck{
  margin:.65rem 0 .78rem;
  font-size:clamp(1rem,1.12vw,1.06rem);
  line-height:1.42;
}
.journal-entry-copy>p{
  margin:.62rem 0 0;
  font-size:1rem;
  line-height:1.44;
}
.journal-entry-copy>p+p{padding-top:.52rem;}
.journal-page-content .detail-facts{
  gap:.42rem;
  margin:.72rem 0 .8rem;
}
.journal-page-content .detail-facts div{padding:.48rem .34rem;}
.journal-page-content .detail-facts span{
  font-size:.68rem;
  line-height:1.25;
}
.journal-page-content .detail-facts strong{
  font-size:.78rem;
  line-height:1.28;
}
.journal-mounted-image{
  height:clamp(156px,14.4vw,215px);
  margin:.62rem .15rem .5rem;
}
.journal-mounted-image--campaign{height:clamp(150px,13.6vw,202px);}
.journal-mounted-image>span{
  font-size:.68rem;
  line-height:1.2;
}
.journal-page-content .route-detail-actions{
  gap:.65rem;
  margin-top:.42rem;
}
.journal-page-content .route-detail-actions .text-button{
  display:inline-flex;
  min-height:38px;
  align-items:center;
  font-size:.75rem;
  line-height:1.25;
}
.journal-page-content .route-detail-actions>span{
  font-size:.68rem;
  line-height:1.3;
}
.journal-page-heading{padding-bottom:.62rem;}
.journal-page-heading>span{
  font-size:.68rem;
  line-height:1.3;
}
.journal-page-content .detail-callout{
  margin-top:.78rem;
  padding:.72rem .82rem;
}
.journal-page-content .detail-callout strong{
  font-size:.72rem;
  line-height:1.25;
}
.journal-page-content .detail-callout p{
  font-size:.86rem;
  line-height:1.42;
}
.journal-page-content .detail-mark{
  margin-top:.72rem;
  padding-top:.58rem;
}
.journal-page-content .detail-mark span{
  font-size:.7rem;
  line-height:1.25;
}
.journal-page-content .field-record{
  margin:.72rem 0 .48rem;
  padding:.68rem .74rem;
}
.journal-page-content .field-record .eyebrow{margin-bottom:.5rem;}
.journal-page-content .field-record-line{
  font-size:.72rem;
  line-height:1.35;
}
.journal-page-content .field-record>p:last-child{
  font-size:.78rem;
  line-height:1.4;
}
.journal-status-stamp{
  min-height:38px;
  font-size:.75rem;
  line-height:1.25;
}
.journal-foundation--single .journal-page-foot{margin-bottom:clamp(2rem,2.8vw,2.55rem);}
.journal-related-strip{
  min-height:42px;
  gap:.55rem;
  padding:.52rem .12rem .46rem;
}
.journal-related-strip span,
.journal-related-strip small{
  font-size:.68rem;
  line-height:1.25;
}
.journal-related-strip strong{
  font-size:.83rem;
  line-height:1.2;
}
.journal-entry-nav{
  min-height:44px;
  gap:.5rem;
  padding-top:.52rem;
}
.journal-entry-nav-link,
.journal-entry-nav-index{
  min-height:38px;
  align-content:center;
  padding:.24rem .08rem;
}
.journal-entry-nav-link span,
.journal-entry-nav-index{
  font-size:.68rem;
  line-height:1.25;
}
.journal-entry-nav-link strong{
  font-size:.8rem;
  line-height:1.2;
}

/* Dark hairline edging gives the green ink definition on worn parchment
   without turning labels into glowing or heavy outlined text. */
.journal-page-content .section-kicker,
.journal-page-content .eyebrow,
.journal-page-content .text-button,
.journal-page-content .detail-callout>span,
.journal-page-content .detail-mark,
.journal-related-strip span,
.journal-related-strip small,
.journal-entry-nav-link span,
.journal-entry-nav-index{
  -webkit-text-stroke:.18px rgba(16,10,5,.72);
  text-shadow:0 1px 0 rgba(255,235,190,.2),0 0 1px rgba(16,10,5,.72);
}

@media (max-width:1319px){
  .journal-detail-page.route-page{
    width:min(860px,calc(100% - 1rem));
    padding-top:clamp(1.25rem,4vw,2rem);
    padding-bottom:clamp(3rem,7vw,4.5rem);
  }
  .journal-detail-page .route-topline{
    margin-bottom:clamp(1.25rem,4vw,2rem);
    font-size:.75rem;
  }
  .journal-detail{
    margin:0;
    padding:clamp(.65rem,2.2vw,1rem);
  }
  .journal-foundation{
    width:100%;
    max-width:820px;
    min-height:860px;
    margin-inline:auto;
    padding:22px 18px 26px;
  }
  .journal-spread-deck{min-height:810px;}
  .journal-page-content{
    min-height:810px;
    padding:clamp(1.45rem,4.5vw,2.25rem) clamp(1.25rem,4.2vw,2rem) 8.5rem;
  }
  .journal-page-content h1{
    max-width:18ch;
    font-size:clamp(2rem,7vw,3.35rem);
    line-height:.95;
  }
  .journal-deck{
    font-size:1.05rem;
    line-height:1.48;
  }
  .journal-entry-copy>p,
  .journal-page-content>p:not(.section-kicker):not(.journal-deck){
    font-size:1rem;
    line-height:1.58;
  }
  .journal-mounted-image,
  .journal-mounted-image--campaign{height:clamp(210px,34vw,320px);}
  .journal-page-content .route-detail-actions .text-button{min-height:44px;}
  .journal-page-content .route-detail-actions>span{font-size:.72rem;}
  .journal-page-content .detail-callout p{font-size:.92rem;line-height:1.5;}
  .journal-page-content .field-record-line{font-size:.76rem;}
  .journal-page-content .field-record>p:last-child{font-size:.82rem;}
  .journal-related-strip{min-height:48px;}
  .journal-entry-nav-link,
  .journal-entry-nav-index{min-height:44px;}
  .journal-mobile-pager{right:34px;bottom:82px;left:34px;}
  .journal-mobile-pager button{
    min-width:112px;
    min-height:44px;
    padding:.62rem .75rem;
    font-size:.75rem;
    line-height:1.2;
  }
  .journal-spread-controls button{
    min-height:44px;
    font-size:.72rem;
  }
  .journal-spread-controls>span{font-size:.68rem;}
}

@media (min-width:560px) and (max-width:1319px){
  .journal-page-content .detail-facts{grid-template-columns:repeat(3,minmax(0,1fr));}
}

@media (max-width:559px){
  .journal-detail-page.route-page{width:calc(100% - .5rem);}
  .journal-detail-page .route-topline{padding-inline:.35rem;}
  .journal-foundation{
    min-height:820px;
    padding:16px 10px 20px;
  }
  .journal-spread-deck{min-height:784px;}
  .journal-page-content{
    min-height:784px;
    padding:1.5rem 1.15rem 9rem;
  }
  .journal-page-content h1{font-size:clamp(2rem,11vw,3rem);}
  .journal-page-content .detail-facts{grid-template-columns:1fr;}
  .journal-mounted-image,
  .journal-mounted-image--campaign{height:clamp(190px,54vw,250px);}
  .journal-page-heading{
    align-items:flex-start;
    flex-direction:column;
    gap:.3rem;
  }
  .journal-page-heading>span{text-align:left;}
  .journal-entry-nav{grid-template-columns:1fr;align-items:stretch;}
  .journal-entry-nav-link--next{text-align:left;}
  .journal-entry-nav-index{border-right:0;border-left:0;border-top:1px solid rgba(65,38,18,.25);border-bottom:1px solid rgba(65,38,18,.25);}
  .journal-mobile-pager{right:26px;bottom:86px;left:26px;}
  .journal-mobile-pager button{min-width:0;flex:1;}
  .journal-spread-controls{right:24px;bottom:30px;left:24px;}
}

/* Keep desktop journal content inside the irregular paper edges. The journal
   artwork and typography stay unchanged; only the horizontal live-content
   safe area is tightened enough to clear the outer leather and center binding. */
@media (min-width:1320px){
  .journal-spread-deck{inset:9.8% 11.8% 10.2% 11.2%;}
  .journal-spread-panel{gap:7.4%;}
  .journal-page-content--right .journal-page-heading{padding-left:.7rem;}
  .journal-detail--field-notes .journal-page-content--right .journal-page-heading{padding-left:1.4rem;}
}

/* Journal category landing spreads. Field Notes and Campaign navigation now
   live inside the same bound journals as their entries, so owner-added notes
   and campaigns flow into these contents directly from published site data. */
.journal-page-content--index{padding-top:.15rem;}
.journal-page-content--index h1{max-width:14ch;}
.journal-index-rule{width:58%;height:1px;margin:.85rem 0 .7rem;background:linear-gradient(90deg,rgba(65,38,18,.58),transparent);}
.journal-index-label{margin:0 0 .2rem;color:#075f3a;font-size:.7rem;letter-spacing:.11em;}
.journal-index-list{display:grid;align-content:start;}
.journal-index-entry{
  display:grid;
  grid-template-columns:2.1rem minmax(0,1fr) auto;
  align-items:center;
  gap:.5rem;
  min-height:50px;
  padding:.38rem .08rem;
  color:#281a0d;
  border-bottom:1px solid rgba(65,38,18,.32);
  text-decoration:none;
  transition:background-color .18s ease,transform .18s ease;
}
.journal-index-entry:hover,.journal-index-entry:focus-visible{background:linear-gradient(90deg,rgba(7,95,58,.09),transparent 82%);transform:translateX(2px);}
.journal-index-entry .journal-index-code{color:#075f3a;font-size:.72rem;letter-spacing:.08em;}
.journal-index-entry strong{overflow:hidden;color:#281a0d;font-size:.88rem;font-weight:400;line-height:1.14;text-overflow:ellipsis;white-space:nowrap;}
.journal-index-entry>span:last-child{color:#705035;font-size:.88rem;}
.journal-index-empty{margin:.8rem 0;color:#6a4d30;font-size:.82rem;line-height:1.45;}
.journal-page-content--index.journal-page-content--blank{pointer-events:none;}
.journal-index-edge-turn{
  position:absolute;
  right:11.8%;
  bottom:6.7%;
  z-index:5;
  min-height:30px;
  padding:.32rem .2rem;
  color:#d29b55;
  border-bottom:1px solid rgba(210,155,85,.58);
  font-family:"Rune Cut",Georgia,serif;
  font-size:.66rem;
  letter-spacing:.08em;
  text-decoration:none;
  text-shadow:0 2px 2px #070503,0 0 8px rgba(0,0,0,.8);
}
.journal-index-edge-turn:hover,.journal-index-edge-turn:focus-visible{color:#f1c98e;border-bottom-color:#f1c98e;}

.journal-page-content--map{padding-top:0;}
.journal-index-map{
  position:relative;
  width:100%;
  aspect-ratio:1.72 / 1;
  overflow:visible;
  border:0;
  background:transparent;
  box-shadow:none;
}
.journal-index-map>img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;filter:sepia(.12) contrast(1.04) brightness(.93) drop-shadow(0 2px 2px rgba(46,25,10,.34));}
.journal-campaign-map-view{position:absolute;inset:0;z-index:2;}
.journal-campaign-map-view[hidden]{display:none;}
.journal-campaign-map-view .campaign-route-overlay{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;}
.journal-campaign-map-view .campaign-route-marker{
  z-index:4;
  width:34px;
  height:34px;
  transform:translate(-50%,-50%);
  border-color:rgba(181,120,68,.92);
  background:radial-gradient(circle at 35% 30%,#315c45,#0b2c1e 68%,#071b13);
  box-shadow:0 2px 5px rgba(0,0,0,.72),inset 0 0 0 2px rgba(8,13,8,.54);
}
.journal-campaign-map-view .campaign-route-marker:hover{transform:translate(-50%,-50%) scale(1.08);}
.journal-campaign-map-view .campaign-route-marker[aria-pressed="true"]{color:#fff0c7;border-color:#d59b62;box-shadow:0 0 0 3px rgba(12,117,68,.32),0 2px 5px rgba(0,0,0,.76),inset 0 0 0 2px rgba(8,13,8,.54);}
.journal-campaign-map-view .map-marker-glyph{font-size:.88rem;line-height:1;}
.journal-campaign-map-view .map-marker-index{font-size:.48rem;line-height:1;}
.journal-campaign-map-view .map-caption{right:.55rem;bottom:.42rem;color:#e3cc9e;font-size:.62rem;text-shadow:0 1px 3px #000;}
.journal-mark-detail{
  position:relative;
  isolation:isolate;
  flex:1;
  min-height:104px;
  margin-top:.62rem;
  padding:.55rem .6rem .75rem;
  overflow:hidden;
  border-top:1px solid rgba(65,38,18,.42);
  border-bottom:1px solid rgba(65,38,18,.26);
  background:rgba(78,46,22,.035);
}
.journal-mark-detail--chronicle::after{
  position:absolute;
  right:1.25rem;
  bottom:.45rem;
  z-index:0;
  color:#51371f;
  content:attr(data-chronicle-rune);
  font-family:"Rune Cut",Georgia,serif;
  font-size:clamp(5.4rem,8.2vw,8.4rem);
  line-height:1;
  opacity:.085;
  transform:rotate(-8deg);
  transform-origin:center;
}
.journal-mark-detail--chronicle>*{position:relative;z-index:1;}
.journal-mark-detail.is-empty{display:grid;place-items:center;color:#735436;text-align:center;}
.journal-mark-detail>p{margin:0;color:#553b24;font-size:.86rem;line-height:1.45;}
.journal-mark-detail.is-empty>p{font-size:.72rem;letter-spacing:.09em;}
.journal-mark-heading{display:flex;align-items:baseline;justify-content:space-between;gap:.5rem;}
.journal-mark-heading span{color:#075f3a;font-size:.84rem;letter-spacing:.08em;}
.journal-mark-heading small{color:#6f4d30;font-size:.76rem;letter-spacing:.06em;}
.journal-mark-detail h2{margin:.3rem 0 .2rem;color:#281a0d;font-size:1.28rem;font-weight:400;line-height:1;}
.journal-mark-detail>a{display:inline-block;margin-top:.3rem;padding-bottom:.12rem;color:#075f3a;border-bottom:1px solid rgba(7,95,58,.44);font-size:.6rem;letter-spacing:.07em;text-decoration:none;}
.journal-chronicle-facts{display:flex;flex-wrap:wrap;gap:.26rem .55rem;margin:.55rem 0 0;padding:.42rem 0;border-top:1px solid rgba(65,38,18,.28);border-bottom:1px solid rgba(65,38,18,.2);}
.journal-chronicle-facts span{color:#65482f;font-size:.69rem;letter-spacing:.07em;}
.journal-chronicle-facts span:first-child{color:#075f3a;}
.journal-chronicle-feature{position:relative;z-index:1;width:min(90%,27rem);margin-top:.78rem;padding:.68rem .1rem 0;border-top:1px solid rgba(65,38,18,.34);}
.journal-chronicle-feature-heading{display:flex;align-items:baseline;justify-content:space-between;gap:.5rem;}
.journal-chronicle-feature-heading span{color:#075f3a;font-size:.76rem;letter-spacing:.09em;}
.journal-chronicle-feature-heading small{color:#6a4b2f;font-size:.67rem;letter-spacing:.07em;}
.journal-chronicle-feature h3{margin:.32rem 0 .22rem;color:#281a0d;font-size:1.18rem;font-weight:400;line-height:1.04;}
.journal-chronicle-feature p{display:-webkit-box;overflow:hidden;margin:0;color:#513a26;font-size:.8rem;line-height:1.46;-webkit-box-orient:vertical;-webkit-line-clamp:4;}
.journal-chronicle-feature a{display:inline-block;margin-top:.5rem;padding-bottom:.14rem;color:#075f3a;border-bottom:1px solid rgba(7,95,58,.44);font-size:.72rem;letter-spacing:.07em;text-decoration:none;}
.journal-chronicle-feature a:hover,.journal-chronicle-feature a:focus-visible{color:#083d29;border-bottom-color:#083d29;}
.journal-page-content--route .journal-deck{margin-bottom:.55rem;}
.journal-campaign-records{display:grid;align-content:start;margin-top:.15rem;border-top:1px solid rgba(65,38,18,.42);}
.journal-campaign-record{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:.22rem .55rem;
  width:100%;
  min-height:88px;
  padding:.66rem .15rem .62rem;
  color:#281a0d;
  border:0;
  border-bottom:1px solid rgba(65,38,18,.34);
  background:transparent;
  font-family:"Rune Cut",Georgia,serif;
  text-align:left;
  cursor:pointer;
  transition:background-color .18s ease,transform .18s ease;
}
.journal-campaign-record:hover,.journal-campaign-record:focus-visible{background:linear-gradient(90deg,rgba(7,95,58,.085),transparent 88%);transform:translateX(2px);}
.journal-campaign-record-number{grid-column:1;color:#075f3a;font-size:.68rem;letter-spacing:.1em;}
.journal-campaign-record-copy{display:grid;gap:.18rem;min-width:0;}
.journal-campaign-record-copy strong{color:#281a0d;font-size:1rem;font-weight:400;line-height:1.05;letter-spacing:.035em;}
.journal-campaign-record-copy small{display:-webkit-box;overflow:hidden;color:#5a4028;font-size:.66rem;line-height:1.38;-webkit-box-orient:vertical;-webkit-line-clamp:2;}
.journal-campaign-record-status{display:grid;align-content:space-between;justify-items:end;grid-row:1 / span 2;grid-column:2;color:#6a4c31;font-size:.55rem;letter-spacing:.07em;white-space:nowrap;}
.journal-campaign-record-status b{color:#075f3a;font-size:1rem;font-weight:400;}
.journal-campaign-contents-mark{display:grid;place-items:center;align-content:center;flex:1;min-height:220px;color:rgba(71,46,25,.46);text-align:center;}
.journal-campaign-contents-mark span{font-size:3.4rem;line-height:1;}
.journal-campaign-contents-mark p{margin:.65rem 0 0;font-size:.58rem;line-height:1.6;letter-spacing:.12em;}
.journal-campaign-detail-facts{display:flex;flex-wrap:wrap;gap:.25rem .45rem;margin:.15rem 0 .45rem;padding:.38rem 0;border-top:1px solid rgba(65,38,18,.36);border-bottom:1px solid rgba(65,38,18,.24);}
.journal-campaign-detail-facts span{color:#60452d;font-size:.66rem;letter-spacing:.07em;}
.journal-campaign-detail-facts span:first-child{color:#075f3a;}
.journal-campaign-field-lists{display:grid;min-height:0;border-bottom:1px solid rgba(65,38,18,.34);}
.journal-campaign-fields{display:grid;padding-bottom:.25rem;}
.journal-campaign-fields[hidden]{display:none;}
.journal-campaign-field{
  display:grid;
  grid-template-columns:1.8rem minmax(0,1fr) auto;
  align-items:center;
  gap:.4rem;
  min-height:41px;
  padding:.3rem .16rem;
  color:#281a0d;
  border-top:1px solid rgba(65,38,18,.2);
  text-decoration:none;
}
.journal-campaign-field:hover,.journal-campaign-field:focus-visible{background:linear-gradient(90deg,rgba(7,95,58,.08),transparent);}
.journal-campaign-field>span{color:#075f3a;font-size:.76rem;}
.journal-campaign-field>strong{overflow:hidden;font-size:.84rem;font-weight:400;text-overflow:ellipsis;white-space:nowrap;}
.journal-campaign-field>small{color:#6a4b2f;font-size:.65rem;letter-spacing:.04em;white-space:nowrap;}
.journal-campaign-return{align-self:flex-start;margin-top:auto;padding:.48rem .08rem .24rem;color:#075f3a;border:0;border-bottom:1px solid rgba(7,95,58,.45);background:transparent;font-family:"Rune Cut",Georgia,serif;font-size:.58rem;letter-spacing:.08em;cursor:pointer;}
.journal-campaign-return:hover,.journal-campaign-return:focus-visible{color:#083d29;border-bottom-color:#083d29;}
.journal-detail--campaign.is-campaign-detail-open .journal-spread-controls{display:none;}

@media (max-width:1319px){
  .journal-page-content--index{padding-bottom:8.5rem;}
  .journal-index-entry{min-height:58px;}
  .journal-index-entry .journal-index-code{font-size:.82rem;}
  .journal-index-entry strong{font-size:1rem;}
  .journal-index-edge-turn{right:34px;bottom:30px;min-height:38px;padding:.58rem .3rem;font-size:.72rem;}
  .journal-foundation--blank-right .journal-mobile-pager{display:none;}
  .journal-index-map{max-height:360px;}
  .journal-campaign-map-view .campaign-route-marker{width:42px;height:42px;}
  .journal-mark-detail{flex:none;min-height:330px;padding:.75rem;}
  .journal-mark-detail>p{font-size:.88rem;line-height:1.45;}
  .journal-mark-detail h2{font-size:1.45rem;}
  .journal-mark-detail>a{min-height:40px;padding-top:.55rem;font-size:.76rem;}
  .journal-chronicle-facts{gap:.45rem .8rem;margin-top:.75rem;padding:.58rem 0;}
  .journal-chronicle-facts span{font-size:.68rem;}
  .journal-chronicle-feature{width:min(88%,30rem);margin-top:.9rem;padding-top:.75rem;}
  .journal-chronicle-feature-heading span{font-size:.75rem;}
  .journal-chronicle-feature-heading small{font-size:.65rem;}
  .journal-chronicle-feature h3{font-size:1.25rem;}
  .journal-chronicle-feature p{font-size:.82rem;line-height:1.45;}
  .journal-chronicle-feature a{min-height:38px;padding-top:.45rem;font-size:.72rem;}
  .journal-campaign-record{min-height:108px;padding:.85rem .2rem;}
  .journal-campaign-record-number{font-size:.76rem;}
  .journal-campaign-record-copy strong{font-size:1.3rem;}
  .journal-campaign-record-copy small{font-size:.82rem;line-height:1.42;}
  .journal-campaign-record-status{font-size:.62rem;}
  .journal-campaign-detail-facts span{font-size:.68rem;}
  .journal-campaign-field{min-height:48px;}
  .journal-campaign-field>span{font-size:.78rem;}
  .journal-campaign-field>strong{font-size:.9rem;}
  .journal-campaign-field>small{font-size:.66rem;}
  .journal-campaign-return{min-height:42px;font-size:.72rem;}
}

@media (max-width:559px){
  .journal-index-entry{grid-template-columns:1.8rem minmax(0,1fr) auto;gap:.35rem;}
  .journal-index-entry strong{white-space:normal;}
  .journal-index-map{aspect-ratio:1.52 / 1;}
  .journal-campaign-map-view .campaign-route-marker{width:38px;height:38px;}
  .journal-campaign-field{grid-template-columns:1.6rem minmax(0,1fr);}
  .journal-campaign-field>small{grid-column:2;white-space:normal;}
}

/* Unified journal ink system. Every readable word printed on parchment uses
   one near-black ink; green is reserved for navigational marks and signals. */
.journal-detail{
  --journal-ink-black:#140d08;
  --journal-signal-green:#075f3a;
}
.journal-page-content,
.journal-page-content :where(h1,h2,h3,h4,p,strong,small,span,button,a){color:var(--journal-ink-black)!important;}
.journal-status-stamp{color:var(--journal-ink-black)!important;border-color:rgba(20,13,8,.78)!important;}
.journal-mark-detail--chronicle::after{color:var(--journal-ink-black);}
.journal-page-content .section-kicker,
.journal-page-content .eyebrow,
.journal-page-content .text-button,
.journal-page-content .detail-callout>span,
.journal-page-content .detail-mark,
.journal-index-label,
.journal-index-entry .journal-index-code,
.journal-index-entry>span:last-child,
.journal-related-strip span,
.journal-related-strip small,
.journal-entry-nav-link span,
.journal-entry-nav-index,
.journal-info-note .text-button,
.journal-related-note .text-button,
.journal-mark-heading span,
.journal-mark-detail>a,
.journal-chronicle-facts span:first-child,
.journal-chronicle-feature-heading span,
.journal-chronicle-feature a,
.journal-campaign-record-number,
.journal-campaign-record-status b,
.journal-campaign-detail-facts span:first-child,
.journal-campaign-field>span,
.journal-campaign-return{color:var(--journal-signal-green)!important;}
.journal-page-content .detail-mark span{color:var(--journal-ink-black)!important;}
.journal-campaign-map-view .campaign-route-marker,
.journal-campaign-map-view .campaign-route-marker span{color:#f3e1b8!important;}
.journal-campaign-map-view .campaign-route-marker[aria-pressed="true"],
.journal-campaign-map-view .campaign-route-marker[aria-pressed="true"] span{color:#fff0c7!important;}
.journal-campaign-map-view .map-caption{color:#e3cc9e!important;}
.journal-campaign-contents-mark span,
.journal-campaign-contents-mark p{color:rgba(20,13,8,.38)!important;}

@media (prefers-reduced-motion:reduce){
  .journal-index-entry,.journal-campaign-record{transition:none;}
}

/* Journal library: the header opens one atmospheric table where visitors can
   choose either bound record. The book titles remain live Rune-Cut text and
   the generated table artwork contains no baked-in controls or wording. */
.journal-library-page.route-page{
  position:relative;
  width:100%;
  min-height:calc(100svh - 74px);
  margin:0;
  padding:0;
  overflow:hidden;
}
.journal-library-page .route-topline{
  position:absolute;
  top:clamp(.9rem,1.7vw,1.45rem);
  right:clamp(1rem,3.2vw,4rem);
  left:clamp(1rem,3.2vw,4rem);
  z-index:12;
  margin:0;
  font-size:.78rem;
  text-shadow:0 2px 4px #000,0 0 12px rgba(0,0,0,.94);
}
.journal-library-scene{
  position:relative;
  isolation:isolate;
  width:100%;
  max-width:none;
  height:calc(100svh - 74px);
  min-height:560px;
  margin:0;
  overflow:hidden;
  background:#0b0704;
  box-shadow:inset 0 0 64px rgba(0,0,0,.42);
  transition:transform .52s cubic-bezier(.2,.72,.22,1),filter .52s ease,opacity .52s ease;
  container-type:size;
}
.journal-library-scene::before{
  position:absolute;
  inset:0;
  z-index:2;
  background:radial-gradient(circle at 9% 7%,rgba(255,157,69,.2),transparent 22%),linear-gradient(180deg,rgba(3,3,2,.1),transparent 24%,rgba(3,3,2,.08));
  content:"";
  pointer-events:none;
  mix-blend-mode:screen;
  animation:journal-library-lantern 5.8s ease-in-out infinite;
}
.journal-library-scene::after{
  position:absolute;
  inset:0;
  z-index:8;
  background:#030302;
  content:"";
  opacity:0;
  pointer-events:none;
  transition:opacity .52s ease;
}
.journal-library-art-plane{
  position:absolute;
  top:50%;
  left:50%;
  width:max(100cqw,177.683cqh);
  aspect-ratio:1672 / 941;
  transform:translate(-50%,-50%);
}
.journal-library-art{position:absolute;inset:0;z-index:1;display:block;width:100%;height:100%;object-fit:cover;}
.journal-library-heading{
  position:absolute;
  top:clamp(4.4rem,8.4svh,6.8rem);
  left:50%;
  z-index:4;
  width:min(520px,42%);
  text-align:center;
  transform:translateX(-50%);
  pointer-events:none;
}
.journal-library-heading .section-kicker{margin-bottom:.28rem;color:#bb8e55;text-shadow:0 2px 4px #000,0 0 12px rgba(0,0,0,.9);}
.journal-library-heading h1{margin:0;color:#ead5b1;font-size:clamp(1.2rem,2.1vw,2.15rem);font-weight:400;letter-spacing:.1em;text-shadow:0 3px 5px #000,0 0 18px rgba(0,0,0,.95);}
.journal-library-choice{
  position:absolute;
  z-index:5;
  display:block;
  color:#ead5b1;
  outline:0;
  transition:transform .24s ease,filter .24s ease,opacity .36s ease;
}
.journal-library-choice--field{top:17.5%;left:17.2%;width:30.7%;height:61.5%;}
.journal-library-choice--war{top:16.8%;left:54.1%;width:31.5%;height:63%;}
.journal-library-choice::before{
  position:absolute;
  inset:-4%;
  border-radius:18%;
  background:radial-gradient(ellipse at center,rgba(229,189,126,.12),transparent 68%);
  content:"";
  opacity:0;
  pointer-events:none;
  mix-blend-mode:screen;
  transition:opacity .24s ease,transform .24s ease;
}
.journal-library-choice--field::before{background:radial-gradient(ellipse at center,rgba(46,151,98,.2),rgba(229,189,126,.08) 38%,transparent 70%);}
.journal-library-choice--war::before{background:radial-gradient(ellipse at center,rgba(103,45,137,.23),rgba(229,189,126,.07) 40%,transparent 71%);}
.journal-library-choice:hover,.journal-library-choice:focus-visible{transform:translateY(-5px) scale(1.012);filter:brightness(1.08);}
.journal-library-choice:hover::before,.journal-library-choice:focus-visible::before{opacity:1;transform:scale(1.035);}
.journal-library-choice-label{
  position:absolute;
  right:0;
  bottom:-13.5%;
  left:0;
  display:grid;
  gap:.2rem;
  text-align:center;
  text-shadow:0 3px 4px #000,0 0 10px #000;
}
.journal-library-choice-label strong{font-size:clamp(.86rem,1.35vw,1.25rem);font-weight:400;letter-spacing:.12em;}
.journal-library-choice-label small{color:#cab48f;font-size:clamp(.58rem,.72vw,.72rem);letter-spacing:.1em;}
.journal-library-choice--field .journal-library-choice-label strong{color:#9ccbae;}
.journal-library-choice--war .journal-library-choice-label strong{color:#c3a1d3;}
.journal-library-scene.is-opening[data-opening-journal="field-notes"]{transform:scale(1.115);transform-origin:32.5% 51%;filter:saturate(1.06) brightness(.9);}
.journal-library-scene.is-opening[data-opening-journal="campaign"]{transform:scale(1.115);transform-origin:69% 51%;filter:saturate(1.06) brightness(.9);}
.journal-library-scene.is-opening::after{opacity:.76;}
.journal-library-scene.is-opening .journal-library-choice:not(.is-selected){opacity:0;}
.journal-library-scene.is-opening .journal-library-heading{opacity:0;transition:opacity .18s ease;}
.journal-library-scene.is-arriving{animation:journal-library-arrive .42s ease both;}
@keyframes journal-library-lantern{0%,100%{opacity:.55}24%{opacity:.84}31%{opacity:.64}68%{opacity:.9}77%{opacity:.7}}
@keyframes journal-library-arrive{from{opacity:.15;transform:scale(1.06)}to{opacity:1;transform:scale(1)}}

@media (max-width:800px){
  .journal-library-page.route-page{width:calc(100% - .75rem);min-height:calc(100vh - 74px);margin:0 auto;padding-top:1.25rem;padding-bottom:3rem;overflow:visible;}
  .journal-library-page .route-topline{position:static;margin-bottom:1rem;font-size:.7rem;text-shadow:none;}
  .journal-library-scene{height:auto;min-height:0;aspect-ratio:.95 / 1;}
  .journal-library-art-plane{top:11%;left:-17.5%;width:135cqw;transform:none;}
  .journal-library-heading{top:3%;width:84%;}
  .journal-library-heading h1{font-size:clamp(1.05rem,5.4vw,1.55rem);}
  .journal-library-heading .section-kicker{font-size:.62rem;}
  .journal-library-choice-label{bottom:-21%;}
  .journal-library-choice-label strong{font-size:clamp(.72rem,3.6vw,1rem);}
  .journal-library-choice-label small{font-size:clamp(.5rem,2.4vw,.64rem);line-height:1.35;}
}

@media (prefers-reduced-motion:reduce){
  .journal-library-scene::before{animation:none;}
  .journal-library-scene,.journal-library-choice,.journal-library-choice::before,.journal-library-scene::after{transition:none;}
  .journal-library-scene.is-arriving{animation:none;}
}

/* Oathsworn Dispatch: sealed-chamber presentation. */
.dispatch-chamber-page{position:relative;isolation:isolate;width:100%;min-height:calc(100vh - 74px);padding:clamp(1.1rem,2.5vw,2rem) clamp(1rem,3vw,3rem) clamp(2rem,4vw,3.5rem);overflow:hidden;background:#090908;}
.dispatch-chamber-art{position:absolute;inset:0;z-index:-4;display:block;width:100%;height:100%;object-fit:cover;object-position:center;user-select:none;pointer-events:none;}
.dispatch-chamber-shade{position:absolute;inset:0;z-index:-3;background:linear-gradient(180deg,rgba(0,0,0,.58),rgba(0,0,0,.1) 27%,rgba(0,0,0,.04) 66%,rgba(0,0,0,.7)),radial-gradient(circle at 50% 33%,transparent 0 25%,rgba(0,0,0,.31) 70%);box-shadow:inset 0 0 130px rgba(0,0,0,.72);pointer-events:none;animation:dispatch-chamber-flicker 7.2s ease-in-out infinite;}
.dispatch-chamber-smoke{position:absolute;inset:8% -10% 18%;z-index:-2;opacity:.14;filter:blur(34px);background:radial-gradient(ellipse at 11% 38%,rgba(128,175,145,.4),transparent 28%),radial-gradient(ellipse at 88% 45%,rgba(150,116,179,.36),transparent 27%);pointer-events:none;animation:dispatch-chamber-smoke 12s ease-in-out infinite alternate;}
.dispatch-chamber-topline{position:relative;z-index:5;display:flex;align-items:center;justify-content:space-between;gap:1rem;width:min(1180px,100%);margin:0 auto;color:rgba(232,210,174,.72);font-size:.75rem;letter-spacing:.12em;}
.dispatch-chamber-topline a{color:var(--paper);text-shadow:0 2px 5px #000;}.dispatch-chamber-topline a:hover{color:var(--green);}
.dispatch-chamber-heading{position:relative;z-index:4;width:min(900px,100%);margin:clamp(.55rem,1.5vw,1.15rem) auto clamp(.35rem,1vw,.8rem);text-align:center;text-shadow:0 3px 8px #000;}
.dispatch-chamber-heading .section-kicker{margin:0 0 .28rem;color:#8de6a9;font-size:clamp(.66rem,1.15vw,.86rem);letter-spacing:.22em;}
.dispatch-chamber-heading h1{margin:0;color:#eee2c3;font-size:clamp(2.2rem,5vw,4.7rem);font-weight:400;line-height:.98;letter-spacing:.075em;}
.dispatch-chamber-heading>span{display:block;margin:.4rem auto 0;color:rgba(156,103,68,.82);font-size:1.15rem;}
.dispatch-chamber-stage{position:relative;z-index:3;display:grid;grid-template-columns:minmax(0,680px) minmax(250px,300px);align-items:center;justify-content:center;gap:clamp(1.2rem,3vw,3rem);width:min(1120px,100%);margin:0 auto;}
.dispatch-letter{position:relative;width:100%;aspect-ratio:4 / 3;color:#1a1009;filter:drop-shadow(0 25px 22px rgba(0,0,0,.66));transform:rotate(-.6deg);transition:transform .55s ease;}
.dispatch-letter.is-open{transform:rotate(.15deg) scale(1.015);}
.dispatch-letter-paper{position:absolute;inset:0;display:block;width:100%;height:100%;object-fit:contain;pointer-events:none;user-select:none;}
.dispatch-letter-closed,.dispatch-letter-open{position:absolute;inset:12.5% 11.5% 13.5%;z-index:2;}
.dispatch-letter-closed{display:flex;flex-direction:column;align-items:center;justify-content:space-between;padding:2% 4% 3%;text-align:center;transition:opacity .28s ease,transform .4s ease;}
.dispatch-letter-closed h2{max-width:88%;margin:.25rem auto 0;color:#160e08;font-size:clamp(1.45rem,3vw,2.8rem);font-weight:400;line-height:1.02;letter-spacing:.075em;}
.dispatch-letter-closed>p:last-child{max-width:80%;margin:0 auto;color:#3a2617;font-size:clamp(.76rem,1.15vw,.95rem);line-height:1.5;letter-spacing:.035em;}
.dispatch-letter-month{margin:0;color:#4d2d18;font-size:clamp(.68rem,1.05vw,.82rem);letter-spacing:.16em;}
.dispatch-letter-cord{position:absolute;top:50.5%;right:8.5%;left:8.5%;z-index:3;height:9px;border-radius:50%;background:repeating-linear-gradient(90deg,#392016 0 6px,#a16b3e 7px 10px,#4c2b1b 11px 15px);box-shadow:0 2px 4px rgba(0,0,0,.5);transform:rotate(-.5deg);transition:opacity .25s ease;}
.dispatch-wax-seal{position:absolute;top:50.5%;left:50%;z-index:5;width:clamp(88px,10vw,126px);aspect-ratio:1;padding:0;background:transparent;border:0;filter:drop-shadow(0 8px 8px rgba(0,0,0,.58));transform:translate(-50%,-48%) rotate(-4deg);transition:transform .25s ease,filter .25s ease,opacity .25s ease;}
.dispatch-wax-seal img{display:block;width:100%;height:100%;object-fit:contain;}
.dispatch-wax-seal:not(:disabled):hover,.dispatch-wax-seal:not(:disabled):focus-visible{filter:drop-shadow(0 10px 10px rgba(0,0,0,.62)) brightness(1.08);transform:translate(-50%,-48%) rotate(1deg) scale(1.06);}
.dispatch-wax-seal:disabled{cursor:not-allowed;filter:drop-shadow(0 8px 8px rgba(0,0,0,.58)) saturate(.72) brightness(.8);}
.dispatch-seal-instruction{position:absolute;top:calc(50.5% + clamp(55px,6.8vw,76px));left:50%;z-index:5;color:#4d2d18;font-size:clamp(.61rem,.95vw,.75rem);letter-spacing:.1em;text-align:center;white-space:nowrap;transform:translateX(-50%);transition:opacity .2s ease;}
.dispatch-letter-open{display:flex;flex-direction:column;padding:2.5% 5% 2%;opacity:0;pointer-events:none;transform:translateY(8px);transition:opacity .35s ease .12s,transform .45s ease .1s;}
.dispatch-letter-open h2{margin:.3rem 0 .55rem;color:#140d08;font-size:clamp(1.25rem,2.4vw,2.25rem);font-weight:400;line-height:1.03;letter-spacing:.055em;}
.dispatch-letter-copy{min-height:0;overflow:auto;padding:0 .55rem 0 0;color:#1b120c;scrollbar-color:#6d492b transparent;scrollbar-width:thin;}
.dispatch-letter-copy p{margin:0 0 .62rem;color:#1b120c;font-size:clamp(.82rem,1.2vw,1rem);line-height:1.46;letter-spacing:.02em;}
.dispatch-letter-signature{display:flex;align-items:end;justify-content:space-between;gap:1rem;margin-top:auto;padding-top:.45rem;color:#4d2d18;font-size:clamp(.62rem,.9vw,.76rem);letter-spacing:.08em;}.dispatch-letter-signature strong{font-weight:400;}
.dispatch-letter.is-open .dispatch-letter-closed,.dispatch-letter.is-open .dispatch-letter-cord,.dispatch-letter.is-open .dispatch-wax-seal,.dispatch-letter.is-open .dispatch-seal-instruction{opacity:0;pointer-events:none;}
.dispatch-letter.is-open .dispatch-letter-open{opacity:1;pointer-events:auto;transform:translateY(0);}
.dispatch-letter.is-changing .dispatch-letter-open{animation:dispatch-letter-change .42s ease;}
.dispatch-access-plaque{position:relative;align-self:center;padding:clamp(1.45rem,2.5vw,2rem) clamp(1.15rem,2vw,1.55rem);overflow:hidden;background:linear-gradient(135deg,#4a4e49,#161918 21%,#262b28 70%,#0b0d0c);border:2px solid #090a09;box-shadow:inset 0 0 0 2px rgba(124,85,50,.62),inset 0 0 28px rgba(0,0,0,.74),0 20px 34px rgba(0,0,0,.58);clip-path:polygon(2% 0,97% 1%,100% 7%,98% 91%,94% 100%,4% 98%,0 92%,1% 8%);}
.dispatch-access-plaque::before{position:absolute;inset:9px;border:1px solid rgba(171,109,58,.38);clip-path:inherit;content:"";pointer-events:none;}
.dispatch-access-plaque .section-kicker{position:relative;margin:0 0 .25rem;color:#8de6a9;font-size:.66rem;letter-spacing:.16em;}
.dispatch-access-plaque h2{position:relative;margin:.25rem 0 .65rem;color:#eee2c9;font-size:clamp(1.35rem,2.3vw,2rem);font-weight:400;line-height:1.04;}
.dispatch-access-plaque>p:not(.section-kicker):not(.dispatch-access-status){position:relative;margin:0;color:#c6bba2;font-size:.9rem;line-height:1.55;letter-spacing:.025em;}
.dispatch-access-paths{position:relative;display:grid;gap:.45rem;margin:1rem 0;}.dispatch-access-paths span{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.55rem .65rem;color:#b8ad96;border-left:2px solid rgba(156,103,68,.7);background:rgba(0,0,0,.23);font-size:.75rem;letter-spacing:.1em;}.dispatch-access-paths strong{color:#eee2c9;font-weight:400;}
.dispatch-access-button,.dispatch-reseal{position:relative;display:block;width:100%;min-height:44px;margin-top:.85rem;padding:.78rem .9rem;color:#eee2c9;background:linear-gradient(180deg,rgba(255,255,255,.05),transparent 45%),linear-gradient(120deg,#30251f,#171b19 46%,#2c2522);border:1px solid #754622;box-shadow:inset 0 0 0 1px #090a09,0 5px 9px rgba(0,0,0,.42);font-size:.78rem;letter-spacing:.08em;text-align:center;}.dispatch-access-button:hover,.dispatch-reseal:hover{color:#8de6a9;border-color:#94623a;}.dispatch-reseal{cursor:pointer;}
.dispatch-access-status{position:relative;display:flex;align-items:center;gap:.55rem;margin:.9rem 0 0;color:#afa48c;font-size:.72rem;letter-spacing:.09em;}.dispatch-access-status i{display:block;width:8px;height:8px;border-radius:50%;background:#6f665a;box-shadow:0 0 0 2px rgba(255,255,255,.04);}.dispatch-access-plaque.is-confirmed .dispatch-access-status i{background:#7de2a3;box-shadow:0 0 12px rgba(121,215,162,.7);}
.dispatch-archive-drawer{position:relative;z-index:6;width:min(720px,calc(100% - 2rem));margin:clamp(-.1rem,1vw,.55rem) auto 0;}
.dispatch-archive-trigger{position:relative;z-index:2;display:block;width:100%;min-height:48px;padding:.85rem 3rem;color:#e0d1b3;background:radial-gradient(circle at 25px 50%,#111 0 4px,#86542e 5px 7px,transparent 8px),radial-gradient(circle at calc(100% - 25px) 50%,#111 0 4px,#86542e 5px 7px,transparent 8px),url("/assets/scatters-header-timber-base-v2.webp") center/cover;border:2px solid #0b0907;box-shadow:inset 0 0 0 2px rgba(116,75,44,.78),0 7px 14px #000;font-size:.75rem;letter-spacing:.12em;}
.dispatch-archive-trigger:not(:disabled):hover{color:#8de6a9;}.dispatch-archive-trigger:disabled{cursor:not-allowed;color:#8f846e;filter:brightness(.78);}
.dispatch-archive-tray{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.6rem;max-height:0;margin:0 1.3rem;padding:0 .8rem;overflow:hidden;opacity:0;background:linear-gradient(180deg,#090a09,#211d17 18%,#0c0d0c);border-right:2px solid #46301f;border-left:2px solid #46301f;box-shadow:inset 0 0 20px #000;transform:translateY(18px);transition:max-height .45s ease,padding .35s ease,opacity .25s ease,transform .35s ease;}
.dispatch-archive-drawer.is-expanded .dispatch-archive-tray{max-height:420px;padding:.9rem .8rem 1.05rem;overflow-y:auto;opacity:1;transform:translateY(0);scrollbar-width:thin;}
.dispatch-archive-post{display:flex;min-width:0;min-height:74px;flex-direction:column;align-items:flex-start;justify-content:center;padding:.7rem .8rem;color:#1b120b;background:url("/assets/oathsworn-dispatch-parchment-v1.webp?v=321") center/cover no-repeat;border:0;filter:brightness(.78) saturate(.8);text-align:left;transition:filter .2s ease,transform .2s ease;}
.dispatch-archive-post span{font-size:.66rem;letter-spacing:.08em;}.dispatch-archive-post strong{max-width:100%;overflow:hidden;font-size:.75rem;font-weight:400;letter-spacing:.045em;text-overflow:ellipsis;white-space:nowrap;}.dispatch-archive-post:hover,.dispatch-archive-post[aria-pressed="true"]{filter:brightness(1.08) saturate(1);transform:translateY(-2px);}.dispatch-archive-post[aria-pressed="true"]{box-shadow:inset 0 -3px 0 #075f3a;}
@keyframes dispatch-chamber-flicker{0%,100%{opacity:.96}29%{opacity:1}57%{opacity:.92}73%{opacity:.98}}
@keyframes dispatch-chamber-smoke{from{transform:translate3d(-1.5%,1%,0) scale(.96)}to{transform:translate3d(1.5%,-1%,0) scale(1.04)}}
@keyframes dispatch-letter-change{0%{opacity:.35;transform:translateX(-5px)}100%{opacity:1;transform:translateX(0)}}
@media (max-width:900px){.dispatch-chamber-page{min-height:calc(100vh - 62px);padding-top:1rem;}.dispatch-chamber-art{object-position:center top;}.dispatch-chamber-stage{grid-template-columns:minmax(0,680px);gap:.5rem;}.dispatch-access-plaque{width:min(520px,92%);margin:-.8rem auto 0;}.dispatch-archive-drawer{margin-top:1.2rem;}}
@media (max-width:650px){.dispatch-chamber-page{padding-right:.65rem;padding-left:.65rem;}.dispatch-chamber-topline{align-items:flex-start;flex-direction:column;gap:.35rem;padding:0 .35rem;}.dispatch-chamber-topline span{font-size:.7rem;}.dispatch-chamber-heading{margin-top:.8rem;}.dispatch-chamber-heading h1{font-size:clamp(2rem,10vw,3.2rem);}.dispatch-letter{width:100%;}.dispatch-letter-closed,.dispatch-letter-open{inset:11.5% 10% 12.5%;}.dispatch-letter-closed{padding-top:1%;}.dispatch-letter-closed h2{font-size:clamp(1.05rem,5vw,1.45rem);}.dispatch-letter-closed>p:last-child{max-width:88%;font-size:.75rem;line-height:1.35;}.dispatch-letter-month{font-size:.68rem;}.dispatch-wax-seal{width:clamp(68px,22vw,88px);}.dispatch-seal-instruction{top:calc(50.5% + 44px);font-size:.65rem;}.dispatch-letter-open{padding:2% 4%;}.dispatch-letter-open h2{margin:.15rem 0 .35rem;font-size:clamp(1rem,5vw,1.35rem);}.dispatch-letter-copy p{margin-bottom:.45rem;font-size:clamp(.78rem,3.5vw,.86rem);line-height:1.35;}.dispatch-letter-signature{font-size:.65rem;}.dispatch-access-plaque{width:96%;margin:-.35rem auto 0;}.dispatch-archive-drawer{width:calc(100% - .5rem);}.dispatch-archive-tray{grid-template-columns:1fr;}.dispatch-archive-drawer.is-expanded .dispatch-archive-tray{max-height:360px;}.dispatch-archive-trigger{padding-right:2.2rem;padding-left:2.2rem;font-size:.72rem;}}
@media (prefers-reduced-motion:reduce){.dispatch-chamber-shade,.dispatch-chamber-smoke{animation:none;}.dispatch-letter,.dispatch-letter-closed,.dispatch-letter-open,.dispatch-letter-cord,.dispatch-wax-seal,.dispatch-seal-instruction,.dispatch-archive-tray{transition:none;}.dispatch-letter.is-changing .dispatch-letter-open{animation:none;}}

/* Preserve the established pelt/table stacking without a transition asset. */
#transmissions{z-index:2;}
#campaign{z-index:1;overflow:visible;}
#campaign .section-heading,
#campaign .campaign-layout{z-index:2;}

/* Current Campaign -> Next Signal: broken beacon-threshold shoulders mark the
   move from the campaign war room into the stronghold watch post. The center
   stays open so this reads as architecture and atmosphere, not another bar. */
#signal{z-index:0;overflow:visible;}
#signal .section-heading,
#signal .schedule{position:relative;z-index:2;}
#signal .beacon-threshold-transition{
  position:absolute;
  top:0;
  left:50%;
  z-index:0;
  width:min(1440px,100vw);
  max-width:none;
  pointer-events:none;
  transform:translate(-50%,-58%);
  isolation:isolate;
}
#signal .beacon-threshold-transition img{
  position:relative;
  z-index:2;
  display:block;
  width:100%;
  height:auto;
  max-width:none;
  filter:brightness(.78) contrast(1.1) saturate(.82) drop-shadow(0 18px 18px rgba(0,0,0,.7));
  user-select:none;
}
#signal .beacon-threshold-transition::before{
  position:absolute;
  inset:28% 16% 2%;
  z-index:1;
  content:"";
  background:
    radial-gradient(ellipse 22% 54% at 20% 68%,rgba(255,131,48,.3),transparent 72%),
    radial-gradient(ellipse 22% 54% at 80% 68%,rgba(255,131,48,.27),transparent 72%);
  mix-blend-mode:screen;
  opacity:.38;
  filter:blur(10px);
  animation:beacon-threshold-firelight 7.8s ease-in-out infinite;
}
#signal .beacon-threshold-transition::after{
  position:absolute;
  top:22%;
  right:24%;
  bottom:8%;
  left:24%;
  z-index:3;
  content:"";
  background:
    radial-gradient(ellipse 23% 52% at 29% 72%,rgba(188,191,184,.2),transparent 72%),
    radial-gradient(ellipse 25% 58% at 68% 68%,rgba(163,169,164,.16),transparent 74%);
  opacity:.2;
  filter:blur(16px);
  animation:beacon-threshold-smoke 12.5s ease-in-out infinite alternate;
}
#signal .beacon-threshold-embers{
  position:absolute;
  top:43%;
  right:21%;
  bottom:10%;
  left:21%;
  z-index:4;
  display:block;
  background:
    radial-gradient(circle at 13% 79%,rgba(255,183,83,.9) 0 1px,transparent 2px),
    radial-gradient(circle at 19% 68%,rgba(238,111,44,.72) 0 1px,transparent 2px),
    radial-gradient(circle at 27% 83%,rgba(255,151,59,.68) 0 1px,transparent 2px),
    radial-gradient(circle at 73% 78%,rgba(255,177,77,.84) 0 1px,transparent 2px),
    radial-gradient(circle at 81% 65%,rgba(238,111,44,.68) 0 1px,transparent 2px),
    radial-gradient(circle at 87% 82%,rgba(255,151,59,.74) 0 1px,transparent 2px);
  opacity:.2;
  filter:drop-shadow(0 0 4px rgba(255,119,42,.72));
  animation:beacon-threshold-embers 9.4s ease-in-out infinite;
}
@keyframes beacon-threshold-firelight{
  0%,100%{opacity:.31;transform:scale(1)}
  17%{opacity:.46;transform:scale(1.012)}
  24%{opacity:.34;transform:scale(.998)}
  53%{opacity:.5;transform:scale(1.016)}
  71%{opacity:.35;transform:scale(1.003)}
  87%{opacity:.44;transform:scale(1.009)}
}
@keyframes beacon-threshold-smoke{
  from{opacity:.12;transform:translate3d(-1.5%,8%,0) scale(.94)}
  to{opacity:.25;transform:translate3d(1.5%,-8%,0) scale(1.05)}
}
@keyframes beacon-threshold-embers{
  0%,62%,100%{opacity:.08;transform:translateY(7%)}
  68%{opacity:.46}
  80%{opacity:.25;transform:translateY(-14%)}
  88%{opacity:0;transform:translateY(-24%)}
}
@media (max-width:800px){
  #signal .beacon-threshold-transition{
    width:100vw;
    transform:translate(-50%,-56%);
  }
  #signal .beacon-threshold-transition::after{filter:blur(9px);}
}
@media (prefers-reduced-motion:reduce){
  #signal .beacon-threshold-transition::before,
  #signal .beacon-threshold-transition::after,
  #signal .beacon-threshold-embers{animation:none;}
  #signal .beacon-threshold-transition::before{opacity:.34;}
  #signal .beacon-threshold-transition::after{opacity:.12;transform:none;}
  #signal .beacon-threshold-embers{opacity:.12;transform:none;}
}
/* Keep the timber image from contributing to its container's size. */
#latest-transmission .latest-run-foundation {
  min-width: 0;
  min-height: 0;
}

#latest-transmission .latest-run-foundation > img {
  position: absolute;
  top: 0;
  left: 0;
  display: block;
  width: 100%;
  height: 100%;
  min-width: 0;
  min-height: 0;
  object-fit: fill;
}
/* Let the stacked Latest Run panels size from their own content. */
@media (max-width: 800px) {
  #latest-transmission .latest-transmission-card {
    grid-template-rows: auto auto;
    align-items: start;
    min-height: 0;
  }

  #latest-transmission .latest-transmission-copy {
    min-height: 0;
    height: auto;
    align-self: start;
  }

  #latest-transmission .media-window--feature {
    min-height: 0;
    align-self: start;
  }
}
