@import url('./fonts.css');
:root{color-scheme:light;--ink:#18221f;--paper:#f1ede3;--accent:#b18b51;--forest:#294b3b;--red:#a84146;font-family:'DM Sans',Arial,sans-serif;scroll-behavior:smooth}
*{box-sizing:border-box}body{margin:0;background:#e9e4d9;color:var(--ink)}button,a{touch-action:manipulation}a{color:inherit}button{font:inherit}img{display:block;max-width:100%}h1,h2,h3,p,figure{margin:0}h1,h2,h3{letter-spacing:0}h1,h2{font-family:'Libre Baskerville',Georgia,serif;font-weight:700;line-height:1.14}p{line-height:1.6}a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid #e7b350;outline-offset:4px}.skip-link{position:fixed;z-index:100;top:-100px;left:1rem;padding:.7rem 1rem;background:#fff}.skip-link:focus{top:1rem}
.site-head{position:absolute;top:0;left:0;right:0;z-index:30;display:flex;align-items:center;justify-content:space-between;gap:2rem;padding:1.15rem max(1.5rem,calc((100vw - 1400px)/2));color:#fff;border-bottom:1px solid #ffffff55}.site-head .brand,.page-footer .brand{font-size:1.13rem;font-weight:700;text-decoration:none;white-space:nowrap}.brand-mark{display:inline-block;color:#e9b544;font-size:1.4em;vertical-align:-.07em}.site-head nav{display:flex;align-items:center;gap:1.6rem;font-size:.84rem;font-weight:700}.site-head nav a{text-decoration:none}.site-head nav a:hover,.page-footer a:hover{text-decoration:underline}.back-link{border:1px solid #ffffff90;padding:.6rem .85rem;border-radius:2px}
.hero{position:relative;height:min(850px,88svh);min-height:580px;overflow:hidden;background:#29352f;color:#fff}.hero-photo{width:100%;height:100%;object-fit:cover;object-position:center 55%;filter:contrast(1.08) brightness(.72)}.hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(13,25,22,.88) 0%,rgba(13,25,22,.53) 49%,rgba(13,25,22,.07) 100%),linear-gradient(0deg,rgba(13,25,22,.66),transparent 33%)}.hero-content{position:absolute;top:50%;left:max(1.5rem,calc((100vw - 1400px)/2));transform:translateY(-39%);max-width:780px}.eyebrow,.chapter-no,.story-date{display:block;text-transform:uppercase;font-size:.73rem;font-weight:700;letter-spacing:.15em}.eyebrow{color:#f0cd86;margin-bottom:1.55rem}.hero h1{font-size:clamp(3.7rem,6.3vw,6.8rem);text-wrap:balance}.hero-content>p:not(.eyebrow){max-width:580px;margin-top:1.55rem;font-size:1.17rem;color:#f1eee7}.scroll-cue{display:inline-flex;align-items:center;gap:1.3rem;margin-top:2rem;padding-bottom:.4rem;border-bottom:1px solid #e6cf9c;text-decoration:none;font-size:.87rem;font-weight:700}.scroll-cue span{font-size:1.3rem}.hero-caption{position:absolute;bottom:1.2rem;right:1.5rem;font-size:.68rem;color:#eae4d8}
.era-indicator{position:fixed;z-index:25;left:1.2rem;top:50%;transform:translateY(-50%);display:grid;gap:.35rem;width:150px;color:#fff;text-shadow:0 1px 8px #17211e;background:#23352fb8;padding:1rem;border-left:3px solid #d4ad71;opacity:0;pointer-events:none;transition:opacity .25s}.era-indicator.visible{opacity:1}.era-indicator>span:first-child{font-size:.64rem;text-transform:uppercase;letter-spacing:.1em}.era-indicator strong{font-size:.82rem;line-height:1.3}.era-line{height:3px;background:#ffffff55;margin-top:.35rem}.era-line>span{display:block;width:0;height:100%;background:#f5ce85;transition:width .15s linear}
.story-act,.names-act,.civic-act{position:relative;background:#32463b;color:#fff;isolation:isolate}.story-act+.story-act{border-top:1px solid #e9dfc844}.act-stage,.names-stage,.civic-stage{position:sticky;top:0;height:100svh;overflow:hidden}.act-stage:after,.civic-stage:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,transparent 0 42%,#182820c9 70%,#182820eb)}.scene-svg{width:100%;height:100%;object-fit:cover;object-position:center;display:block}.act-track,.names-track,.civic-track{position:relative;z-index:2;margin-top:-100svh;pointer-events:none}.act-intro,.story-step{width:min(32%,440px);margin-left:auto;margin-right:max(3.8%,calc((100vw - 1400px)/2));min-height:100svh;display:flex;flex-direction:column;align-items:flex-start;justify-content:center;padding:3rem 0}.act-intro h2,.names-stage h2{font-size:clamp(2.3rem,3.4vw,4.4rem);margin-top:1rem}.chapter-no{color:#f1c582}.story-step{min-height:80svh}.story-date{color:#e1be85;margin-bottom:1rem}.story-step h3{font-family:'Libre Baskerville',Georgia,serif;font-size:clamp(1.5rem,2vw,2.4rem);line-height:1.22}.story-step p{font-size:1rem;margin-top:1rem;color:#f2eee5;max-width:36ch}.act-intro,.story-step{filter:opacity(.5);transition:filter .4s}.act-intro.is-current,.story-step.is-current{filter:opacity(1)}
.cloud-a{animation:cloudDrift 34s linear infinite}.bird-a{animation:birdFlight 18s linear infinite}.bird-b{animation:birdFlight 22s linear infinite 8s}.tree-a,.tree-b,.cane{transform-box:fill-box;transform-origin:center bottom;animation:sway 6s ease-in-out infinite alternate}.tree-b,.cane-b{animation-delay:-2s}.walker{animation:walkTravel 9s ease-in-out infinite alternate}.animal{animation:animalShift 4s ease-in-out infinite alternate}.leg,.arm{transform-box:fill-box;transform-origin:center top;animation:stride 1.1s ease-in-out infinite alternate}.leg-b{animation-direction:alternate-reverse}.arm{animation-duration:1.6s}.wheel{transform-box:fill-box;transform-origin:center;animation:spin 5s linear infinite}.orbit-animal{transform-box:view-box;transform-origin:645px 482px;animation:spin 12s linear infinite}.worker-one{animation:workTravel 5s ease-in-out infinite alternate}.worker-two{animation:workTravel 6s ease-in-out infinite alternate-reverse}.worker-one .arm{animation:stride 1.3s ease-in-out infinite alternate}.cart{animation:cartTravel 9s ease-in-out infinite alternate}.awning{transform-box:fill-box;transform-origin:center top;animation:sway 4s ease-in-out infinite alternate}.bell{transform-box:fill-box;transform-origin:center top;animation:sway 2.8s ease-in-out infinite alternate}.market-person{animation:marketTravel 7s ease-in-out infinite alternate}.market-person-two{animation:marketTravel 9s ease-in-out infinite alternate-reverse}.town-cart{animation:cartTravel 12s ease-in-out infinite alternate}.story-act:not(.is-active) .scene-svg *, .names-act:not(.is-active) .name-stack *, .civic-act:not(.is-active) .flag-panel img{animation-play-state:paused!important}
.house,.stall,.chapel{transition:opacity .8s,transform .8s;transform-box:fill-box;transform-origin:center bottom}.act-povoado[data-phase="0"] .house-two,.act-povoado[data-phase="0"] .house-three,.act-povoado[data-phase="0"] .stall,.act-povoado[data-phase="0"] .chapel,.act-povoado[data-phase="0"] .market-person,.act-povoado[data-phase="0"] .town-cart{opacity:0;transform:translateY(65px) scale(.65)}.act-povoado[data-phase="1"] .stall,.act-povoado[data-phase="1"] .chapel,.act-povoado[data-phase="1"] .market-person,.act-povoado[data-phase="1"] .town-cart{opacity:0;transform:translateY(65px) scale(.65)}.act-povoado[data-phase="2"] .chapel{opacity:0;transform:translateY(75px) scale(.6)}
.names-act{background:#262f2b}.names-stage{display:flex;flex-direction:column;justify-content:center;align-items:flex-start;padding:5rem max(3rem,calc((100vw - 1400px)/2));background:linear-gradient(105deg,#263e34,#25302e 68%,#674d3d)}.names-stage>p{margin-top:1rem;color:#e0d8c9}.name-stack{margin-top:2.5rem;display:grid;gap:.65rem;width:min(58%,760px)}.name-stack>*{display:block;font-family:'Libre Baskerville',Georgia,serif;line-height:1.2;transition:opacity .6s,transform .6s}.name-stack span{font-size:clamp(1.5rem,3vw,3rem);color:#c0cbbd}.name-stack strong{font-size:clamp(2.5rem,5vw,5.8rem);color:#f0cf91}.name-date{margin-top:2rem;color:#d6be96;letter-spacing:.14em}.name-date span{padding:0 .9rem}.names-track{margin-left:60%;padding-right:5%;background:linear-gradient(90deg,transparent,#121c19c4 30%)}.names-track .story-step{width:100%;margin:0}.names-act[data-phase="0"] .name-stack>*:not(:first-child),.names-act[data-phase="1"] .name-stack strong{opacity:.18;transform:translateX(40px)}.names-act[data-phase="0"] .name-stack>*:first-child,.names-act[data-phase="1"] .name-stack>*:nth-child(2),.names-act[data-phase="2"] .name-stack strong{color:#f0cf91}.names-act[data-phase="2"] .name-stack>*:not(:last-child){opacity:.43}
.civic-act{background:#1e302a}.civic-stage{padding:4rem max(3rem,calc((100vw - 1400px)/2));background:radial-gradient(circle at 25% 45%,#496b58,#22372d 66%)}.big-year{position:absolute;top:12%;left:max(3rem,calc((100vw - 1400px)/2));font-family:'Libre Baskerville',Georgia,serif;font-size:clamp(7rem,19vw,24rem);line-height:1;color:#f1d6a9;opacity:.15}.civic-document{position:absolute;left:7%;top:37%;width:min(40vw,500px);min-height:300px;padding:2.5rem;background:#e6ddc6;color:#27352c;display:flex;flex-direction:column;justify-content:center;gap:1rem;box-shadow:12px 18px 0 #141e1b4d;transform:rotate(-3deg);transition:transform .7s,opacity .7s}.civic-document:after{content:"";display:block;width:68px;height:68px;border:5px double #9c6551;border-radius:50%;align-self:flex-end}.civic-document span,.civic-document small{text-transform:uppercase;letter-spacing:.11em;font-weight:700}.civic-document strong{font-family:'Libre Baskerville',Georgia,serif;font-size:clamp(1.5rem,2.6vw,2.5rem);line-height:1.2}.flag-panel{position:absolute;left:8%;top:26%;width:min(38vw,460px);opacity:0;transition:opacity .6s}.flag-label{display:block;font-size:.78rem;font-weight:700;color:#f5dfad;margin-bottom:.7rem}.flag-reveal{overflow:hidden;clip-path:inset(0 100% 0 0);transition:clip-path 1s ease}.flag-reveal img{width:100%;height:auto;box-shadow:0 15px 40px #0d181780;animation:flagBreath 4s ease-in-out infinite alternate}.civic-track{margin-left:60%;padding-right:5%;background:linear-gradient(90deg,transparent,#102019da 22%)}.civic-track .story-step{width:100%;margin:0}.civic-act[data-phase="0"] .civic-document{opacity:0;transform:translateY(100px) rotate(-13deg)}.civic-act[data-phase="1"] .civic-document{opacity:1}.civic-act[data-phase="2"] .civic-document,.civic-act[data-phase="3"] .civic-document{opacity:.16;transform:translateX(-65px) rotate(-6deg)}.civic-act[data-phase="3"] .flag-panel{opacity:1}.civic-act[data-phase="3"] .flag-reveal{clip-path:inset(0 0 0 0)}
.memory-act{padding:8rem max(1.5rem,calc((100vw - 1400px)/2));background:#e6e1d6;color:#23332a}.memory-heading{max-width:800px}.memory-heading .chapter-no,.gallery .chapter-no{color:#8b6038}.memory-heading h2,.gallery h2,.present-copy h2{font-size:clamp(2.4rem,4vw,4.7rem);margin-top:1rem}.memory-heading p{font-size:1.07rem;max-width:650px;margin-top:1.4rem}.album{display:grid;grid-template-columns:1.1fr 1fr;grid-template-rows:repeat(2,minmax(240px,27vw));gap:1.4rem;margin-top:4rem}.album figure{position:relative;overflow:hidden;background:#d4c9b5}.album figure:first-child{grid-row:span 2}.album a,.album img{display:block;width:100%;height:100%}.album img{object-fit:cover;transition:transform .7s}.album a:hover img,.album a:focus-visible img{transform:scale(1.04)}.album figcaption{position:absolute;bottom:0;left:0;right:0;padding:2rem 1.2rem 1rem;background:linear-gradient(transparent,#111b18ce);color:#fff;font-weight:700;pointer-events:none}.album figcaption span{font-size:.77rem;font-weight:400}.photo-detail{position:absolute;top:1rem;right:1rem;background:#faf8f1;color:#1a2a22;font-size:.76rem;max-width:210px}.photo-detail summary{padding:.55rem .75rem;cursor:pointer;font-weight:700}.photo-detail p{padding:0 .75rem .75rem;line-height:1.4}
.present-act{position:relative;min-height:85svh;background:#253e34;color:#fff;display:grid;grid-template-columns:1.1fr .9fr}.present-photo{min-height:75svh;overflow:hidden}.present-photo img{width:100%;height:100%;object-fit:cover}.present-copy{display:flex;flex-direction:column;align-items:flex-start;justify-content:center;padding:6rem clamp(2rem,5vw,6rem)}.present-copy p{font-size:1.13rem;margin:1.5rem 0 2rem;max-width:42ch;color:#efeae0}.present-copy>span:not(.chapter-no){font-size:.72rem;font-weight:700;letter-spacing:.16em;color:#e8c689}.present-copy a{display:inline-flex;gap:1rem;padding:.85rem 0;border-bottom:1px solid #e9c486;margin-top:2rem;text-decoration:none;font-weight:700}
.gallery{padding:8rem max(1.5rem,calc((100vw - 1400px)/2));background:#f3f0e9}.gallery-heading{max-width:680px}.gallery-heading p{margin:1.2rem 0 2rem}.gallery-filters{display:flex;gap:.55rem;flex-wrap:wrap;margin-bottom:2rem}.gallery-filters button{background:transparent;border:1px solid #a5aaa1;color:#22392d;padding:.65rem .9rem;cursor:pointer;border-radius:2px;font-size:.8rem;font-weight:700;min-height:44px}.gallery-filters button[aria-pressed="true"]{background:#244839;border-color:#244839;color:#fff}.gallery-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1.6rem 1rem}.archive-photo{min-width:0}.archive-photo a{display:block;aspect-ratio:4/3;overflow:hidden;background:#d8d4c8}.archive-photo img{width:100%;height:100%;object-fit:cover;transition:transform .5s}.archive-photo a:hover img,.archive-photo a:focus-visible img{transform:scale(1.05)}.archive-photo figcaption{display:flex;flex-direction:column;gap:.2rem;padding:.6rem .05rem 0;font-size:.85rem;font-weight:700}.archive-photo figcaption small{font-size:.69rem;font-weight:400;color:#677369}.archive-photo[hidden]{display:none}.source-note{padding:4rem max(1.5rem,calc((100vw - 1400px)/2));background:#e4dfd3;color:#283a2e}.source-note h2{font-size:1.7rem}.source-note p{max-width:900px;margin-top:1rem;font-size:.85rem}.source-note a{text-decoration-thickness:1px;text-underline-offset:3px}.page-footer{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:2rem max(1.5rem,calc((100vw - 1400px)/2));background:#172920;color:#eee}.page-footer span:not(.brand-mark){font-size:.75rem}.page-footer>a:last-child{font-size:.8rem;text-decoration:none}
.lightbox{position:fixed;inset:0;width:100vw;max-width:none;height:100dvh;max-height:none;margin:0;padding:1.5rem;background:#101815f2;color:#fff;border:0}.lightbox::backdrop{background:#101815ef}.lightbox[open]{display:grid;grid-template-columns:56px minmax(0,1fr) 56px;align-items:center;gap:1rem}.lightbox figure{min-width:0;max-width:min(1100px,100%);max-height:calc(100dvh - 3rem);margin:auto;display:flex;flex-direction:column;align-items:center;gap:.6rem}.lightbox img{max-height:calc(100dvh - 8rem);width:auto;max-width:100%;object-fit:contain}.lightbox figcaption{display:flex;gap:.6rem;flex-wrap:wrap;font-size:.85rem}.lightbox figcaption span{color:#c6ccc7}.lightbox button{width:50px;height:50px;background:#ffffff22;color:#fff;border:1px solid #ffffff55;cursor:pointer;font-size:2rem}.lightbox-close{position:absolute;top:1rem;right:1rem;z-index:2}
@keyframes cloudDrift{from{transform:translateX(-70px)}to{transform:translateX(150px)}}@keyframes birdFlight{from{transform:translate(-50px,155px)}to{transform:translate(1280px,110px)}}@keyframes sway{from{transform:rotate(-2deg)}to{transform:rotate(2deg)}}@keyframes walkTravel{from{translate:-20px 0}to{translate:35px 0}}@keyframes animalShift{from{translate:-12px 0}to{translate:15px 0}}@keyframes stride{from{transform:rotate(-19deg)}to{transform:rotate(19deg)}}@keyframes spin{to{transform:rotate(360deg)}}@keyframes workTravel{from{translate:-10px 0}to{translate:13px 0}}@keyframes cartTravel{from{translate:-25px 0}to{translate:20px 0}}@keyframes marketTravel{from{translate:-35px 0}to{translate:40px 0}}@keyframes flagBreath{from{transform:perspective(500px) rotateY(-1deg)}to{transform:perspective(500px) rotateY(2deg)}}
@media(max-width:900px){.site-head{padding:1rem 1.2rem}.site-head nav{gap:.9rem}.era-indicator{top:auto;bottom:0;left:0;right:0;transform:none;width:auto;display:flex;align-items:center;gap:.6rem;padding:.6rem 1rem;border-left:0;border-top:2px solid #d4ad71}.era-indicator .era-line{flex:1}.hero-content{left:1.5rem;right:1.5rem}.hero h1{font-size:clamp(3.2rem,8vw,5.5rem)}.act-stage,.names-stage,.civic-stage{top:0;height:57svh}.act-stage:after,.civic-stage:after{background:linear-gradient(0deg,#17251d99,transparent 45%)}.act-track,.names-track,.civic-track{margin-top:0;pointer-events:auto;background:#263e32;padding:0 1.5rem 2.5rem}.act-intro,.story-step,.names-track .story-step,.civic-track .story-step{width:100%;max-width:650px;min-height:0;margin:0 auto;padding:2rem 0;filter:none}.act-intro{padding-top:2.5rem}.story-step{border-top:1px solid #ffffff35}.story-step p{max-width:60ch}.names-stage{padding:2rem 1.5rem}.name-stack{width:100%}.name-stack span{font-size:clamp(1.3rem,3.8vw,2.3rem)}.name-stack strong{font-size:clamp(2.3rem,6vw,4rem)}.civic-stage{padding:2rem 1.5rem}.big-year{left:1.5rem;font-size:20vw}.civic-document{left:5%;top:38%;width:57%;min-height:180px;padding:1.2rem}.civic-document strong{font-size:1.3rem}.civic-document:after{width:38px;height:38px}.flag-panel{left:6%;top:27%;width:55%}.memory-act,.gallery{padding:5rem 1.5rem}.gallery-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.present-copy{padding:3rem 2rem}}
@media(max-width:600px){.site-head{gap:.5rem}.site-head .brand{font-size:.94rem}.site-head nav{gap:.65rem;font-size:.73rem}.site-head nav a:first-child{display:none}.back-link{padding:.5rem}.hero{height:84svh;min-height:560px}.hero-photo{object-position:58% center}.hero-shade{background:linear-gradient(0deg,#0e1e1de8,#0e1e1d55 78%),linear-gradient(90deg,#0e1e1d66,transparent)}.hero-content{top:auto;bottom:4.8rem;transform:none}.hero h1{font-size:clamp(2.75rem,11vw,4rem)}.hero-content>p:not(.eyebrow){font-size:1rem}.eyebrow{font-size:.62rem;line-height:1.5}.hero-caption{font-size:.59rem;left:1.5rem;right:1.5rem;bottom:.7rem}.act-stage,.names-stage,.civic-stage{height:43svh;min-height:310px}.scene-svg{width:170%;max-width:none;transform:translateX(-23%)}.act-intro h2{font-size:2.2rem}.story-step h3{font-size:1.5rem}.story-step p{font-size:.96rem}.names-stage{padding:1.4rem}.names-stage>p{margin-top:.5rem}.name-stack{margin-top:1.2rem;gap:.4rem}.name-stack span{font-size:1.25rem}.name-stack strong{font-size:2.2rem}.name-date{font-size:.8rem;margin-top:1rem}.name-date span{padding:0 .3rem}.big-year{top:13%;font-size:27vw}.civic-document{top:36%;min-height:160px;width:73%;padding:1rem}.civic-document strong{font-size:1.14rem}.civic-document span,.civic-document small{font-size:.62rem}.flag-panel{width:80%;top:28%}.memory-act,.gallery{padding:4rem 1.2rem}.memory-heading h2,.gallery h2,.present-copy h2{font-size:2.3rem}.album{display:block;margin-top:2.5rem}.album figure{height:auto;aspect-ratio:4/3;margin-bottom:1rem}.album figure:first-child{aspect-ratio:3/4}.album figure:first-child img{object-position:center}.present-act{display:block}.present-photo{min-height:0;height:44svh}.present-copy{padding:3rem 1.5rem 4rem}.gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:1.4rem .75rem}.gallery-filters{overflow-x:auto;flex-wrap:nowrap;padding-bottom:.5rem}.gallery-filters button{white-space:nowrap}.archive-photo figcaption{font-size:.78rem}.lightbox{padding:.6rem}.lightbox[open]{grid-template-columns:35px minmax(0,1fr) 35px;gap:.2rem}.lightbox button{width:35px;height:43px}.lightbox img{max-height:calc(100dvh - 9rem)}.lightbox figcaption{font-size:.75rem}.page-footer{align-items:flex-start;flex-direction:column;padding:2rem 1.2rem}}
@media(prefers-reduced-motion:reduce){:root{scroll-behavior:auto!important}*,*:before,*:after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important}.act-intro,.story-step{filter:none!important}.house,.stall,.chapel,.market-person,.town-cart,.name-stack>*{opacity:1!important;transform:none!important}.civic-document{opacity:1!important;transform:none!important}.flag-panel{opacity:1!important}.flag-reveal{clip-path:none!important}.hero-photo{filter:brightness(.67)}}
.story-act .scene-svg{translate:0 var(--scene-shift,0px)}
.flag-panel:before{content:"";position:absolute;left:-10px;top:1.65rem;bottom:-8px;width:5px;background:#d7c6a0;box-shadow:1px 0 0 #544b3a}
.civic-act[data-phase="3"] .flag-reveal{clip-path:inset(0 var(--flag-hide,0%) 0 0)}
.low-power .scene-svg *{animation-duration:12s!important}
@media(max-width:900px){.names-track,.civic-track{margin-left:0;width:100%;padding-left:1.5rem;padding-right:1.5rem}.names-track .story-step,.civic-track .story-step{max-width:650px}}
@media(max-width:600px){.names-track,.civic-track{padding-left:1.5rem;padding-right:1.5rem}.flag-panel:before{top:1.6rem}}
@media(prefers-reduced-motion:reduce){.civic-act[data-phase="3"] .flag-reveal{clip-path:none!important}}
.scene-svg{position:absolute;top:0;left:50%;width:auto;height:100%;min-width:100%;max-width:none;aspect-ratio:1200/620;object-fit:fill;transform:translateX(-50%)}
@media(max-width:900px){.act-stage,.names-stage,.civic-stage{z-index:3}.act-track,.names-track,.civic-track{z-index:2}}
@media(prefers-reduced-motion:reduce){.low-power .scene-svg *{animation-duration:.001ms!important}}
html:not(.js) .act-intro,html:not(.js) .story-step{filter:none}
.story-step{position:relative;border-left:1px solid #d4b98080;padding-left:1.7rem}
.story-step:before{content:"";position:absolute;top:50%;left:-5px;width:9px;height:9px;border-radius:50%;background:#d4b980;box-shadow:0 0 0 3px #314536}
.story-step.is-current:before{background:#fff1c2;box-shadow:0 0 0 5px #c79354}
@media(max-width:600px){.act-povoado .scene-svg{transition:transform .8s}.act-povoado[data-phase="0"] .scene-svg,.act-povoado[data-phase="1"] .scene-svg{transform:translateX(-36%)}.act-povoado[data-phase="2"] .scene-svg,.act-povoado[data-phase="3"] .scene-svg{transform:translateX(-60%)}.story-step{padding-left:1.2rem}}
.act-track .story-step,.names-track .story-step,.civic-track .story-step{padding-left:1.5rem}
.fact{margin-top:1.3rem;border-top:1px solid #e7c79488;padding-top:.7rem;pointer-events:auto}.fact summary{cursor:pointer;font-weight:700;color:#f1ca88;font-size:.87rem}.fact p{margin-top:.5rem;font-size:.88rem}
.orbit-animal{transform-box:fill-box;transform-origin:center;animation:oxWalk 12s linear infinite}
@keyframes oxWalk{0%{transform:translate(-70px,0) scale(.85)}25%{transform:translate(0,-16px) scale(.72)}50%{transform:translate(70px,0) scale(-.85,.85)}75%{transform:translate(0,16px) scale(-1,1)}100%{transform:translate(-70px,0) scale(.85)}}
@media(max-width:900px){.era-indicator strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:55vw}}

/* Primary action follows the reader's scroll; only small environmental motion loops. */
.sync-motion .scene-svg .walker,.sync-motion .scene-svg .animal,
.sync-motion .scene-svg .worker,.sync-motion .scene-svg .cart,
.sync-motion .scene-svg .wheel,.sync-motion .scene-svg .orbit-animal,
.sync-motion .scene-svg .leg,.sync-motion .scene-svg .arm,
.sync-motion .scene-svg .bird,.sync-motion .scene-svg .cloud,
.sync-motion .scene-svg .market-person,.sync-motion .scene-svg .market-person-two,
.sync-motion .scene-svg .town-cart{animation:none!important}
.sync-motion .scene-svg .leg{transform:rotate(var(--stride-angle,0deg))}
.sync-motion .scene-svg .leg-b{transform:rotate(calc(-1 * var(--stride-angle,0deg)))}
.sync-motion .scene-svg .arm{transform:rotate(var(--arm-angle,0deg))}
.sync-motion .scene-svg .animal-leg{transform-box:fill-box;transform-origin:center top;transform:rotate(var(--stride-angle,0deg))}
.sync-motion .scene-svg .animal-leg-b{transform:rotate(calc(-1 * var(--stride-angle,0deg)))}
.sync-motion .act-origens .walker{translate:var(--walker-x,0px) 0}
.sync-motion .act-origens .animal{translate:var(--animal-x,0px) 0}
.sync-motion .act-origens .bird-a{transform:translate(var(--bird-x,0px),var(--bird-y,120px))}
.sync-motion .act-origens .bird-b{transform:translate(calc(var(--bird-x,0px) - 170px),calc(var(--bird-y,120px) + 35px))}
.sync-motion .act-origens .cloud-a{transform:translateX(var(--cloud-x,0px))}
.sync-motion .act-engenho .wheel,.sync-motion .act-povoado .wheel{transform:rotate(var(--wheel-angle,0deg))}
.sync-motion .act-engenho .orbit-animal{transform:translate(var(--ox-x,0px),var(--ox-y,0px)) scale(.88)}
.sync-motion .act-engenho .worker-one{translate:var(--worker-one-x,0px) 0}
.sync-motion .act-engenho .worker-two{translate:var(--worker-two-x,0px) 0}
.sync-motion .act-engenho .cart{translate:var(--cart-x,0px) 0}
.sync-motion .act-povoado .house-two{opacity:var(--house-two-opacity,0);transform:translate(339px,342px) translateY(var(--house-two-y,55px)) scale(var(--house-two-scale,.88))}
.sync-motion .act-povoado .house-three{opacity:var(--house-three-opacity,0);transform:translate(623px,349px) translateY(var(--house-three-y,55px)) scale(var(--house-three-scale,.88))}
.sync-motion .act-povoado .stall-one{opacity:var(--stall-opacity,0);transform:translate(231px,475px) translateY(var(--stall-y,55px)) scale(var(--stall-scale,.88))}
.sync-motion .act-povoado .stall-two{opacity:var(--stall-opacity,0);transform:translate(500px,495px) translateY(var(--stall-y,55px)) scale(var(--stall-scale,.88))}
.sync-motion .act-povoado .chapel{opacity:var(--chapel-opacity,0);transform:translate(938px,258px) translateY(var(--chapel-y,55px)) scale(var(--chapel-scale,.88))}
.sync-motion .act-povoado .market-person{opacity:var(--market-people-opacity,0);transform:translate(750px,503px) translateY(var(--market-people-y,55px)) scale(var(--market-people-scale,.88))}
.sync-motion .act-povoado .market-person-two{opacity:var(--market-people-opacity,0);transform:translate(444px,509px) translateY(var(--market-people-y,55px)) scale(var(--market-people-scale,.88))}
.sync-motion .act-povoado .town-cart{opacity:var(--market-people-opacity,0);transform:translate(812px,518px) translateY(var(--market-people-y,55px)) scale(var(--market-people-scale,.88))}
.sync-motion .act-povoado .market-person{translate:var(--market-a-x,0px) 0}
.sync-motion .act-povoado .market-person-two{translate:var(--market-b-x,0px) 0}
.sync-motion .act-povoado .town-cart{translate:var(--town-cart-x,0px) 0}
.sync-motion .act-povoado .bell{animation:none!important;transform:rotate(var(--bell-angle,0deg))}
.sync-motion .act-povoado .house,.sync-motion .act-povoado .stall,.sync-motion .act-povoado .chapel{transition:none}
.sync-motion .names-act .name-stack{position:relative;display:block;width:min(58%,760px);height:176px;padding:0 2rem;border:2px solid #b89a6b;background:#4e4a37;box-shadow:0 15px 0 #171c18a1,inset 0 0 0 7px #625a42}
.sync-motion .names-act .name-stack:before,.sync-motion .names-act .name-stack:after{content:"";position:absolute;top:12px;width:8px;height:8px;border-radius:50%;background:#bca77a;box-shadow:0 140px 0 #bca77a}
.sync-motion .names-act .name-stack:before{left:12px}.sync-motion .names-act .name-stack:after{right:12px}
.sync-motion .names-act .name-stack>*{position:absolute;left:2rem;right:2rem;top:50%;margin:0;color:#f0e1c4;line-height:1.18;transition:none}
.sync-motion .names-act .name-stack>*:first-child{opacity:var(--name-one-opacity,1);transform:translateY(calc(-50% + var(--name-one-y,0px)))}
.sync-motion .names-act .name-stack>*:nth-child(2){opacity:var(--name-two-opacity,0);transform:translateY(calc(-50% + var(--name-two-y,40px)))}
.sync-motion .names-act .name-stack>*:last-child{opacity:var(--name-three-opacity,0);transform:translateY(calc(-50% + var(--name-three-y,40px)));color:#f2d191}
.sync-motion .civic-act .civic-document{opacity:var(--document-opacity,0);transform:translateY(var(--document-y,75px)) rotate(-3deg);transition:none}
.sync-motion .civic-act[data-phase="3"] .flag-reveal{clip-path:inset(0 var(--flag-hide,100%) 0 0);transition:none}
@media(max-width:600px){.sync-motion .names-act .name-stack{width:100%;height:132px;padding:0 1.4rem}.sync-motion .names-act .name-stack>*{left:1.5rem;right:1.5rem}.sync-motion .names-act .name-stack:before,.sync-motion .names-act .name-stack:after{box-shadow:0 98px 0 #bca77a}.sync-motion .act-povoado .scene-svg{transform:translateX(var(--camera-shift,-36%));transition:none}}
