/* Editorial motion: readable without JavaScript, native touch scrolling. */
.headline-line{display:block;overflow:clip;padding-bottom:.15em;margin-bottom:-.15em}.headline-words{display:inline-block;transform-origin:left bottom}.hands-on{position:relative;padding-bottom:.08em}.headline-stroke{position:absolute;left:0;bottom:-.035em;width:100%;height:.17em;overflow:visible;pointer-events:none}.headline-stroke path{fill:none;stroke:currentColor;stroke-width:2.5;stroke-linecap:round;stroke-dasharray:900;stroke-dashoffset:0;opacity:.65;animation:headline-ink 7s cubic-bezier(.4,0,.2,1) infinite;animation-delay:1s}
@keyframes headline-ink{0%{stroke-dashoffset:900;opacity:0}8%{opacity:.65}26%,80%{stroke-dashoffset:0;opacity:.65}96%,100%{stroke-dashoffset:0;opacity:0}}
@media(prefers-reduced-motion:reduce){.headline-stroke path{animation:none;opacity:.65}}

.reading-progress{position:fixed;inset:0 0 auto;height:3px;z-index:100;background:var(--red);transform:scaleX(0);transform-origin:left;pointer-events:none}
.production-mark{position:absolute;right:-18px;bottom:-22px;width:100px;height:100px;z-index:2;color:var(--paper);background:var(--ink);border:6px solid var(--paper);border-radius:50%;display:grid;place-items:center;box-shadow:0 5px 20px #24231f15;pointer-events:none}
.production-mark svg{position:absolute;inset:5px;width:78px;height:78px;animation:production-orbit 25s linear infinite}
.production-mark .mark-center{font:italic 27px var(--serif);color:#d5a38b}
@keyframes production-orbit{to{transform:rotate(360deg)}}
.portrait::after{content:'';position:absolute;top:25px;right:25px;width:7px;height:7px;border-radius:50%;background:#f27162;box-shadow:0 0 0 5px #f2716226;animation:recording 3s ease-in-out infinite;pointer-events:none}
@keyframes recording{50%{box-shadow:0 0 0 9px #f2716200}}
.strip>span{position:relative;transition:color .5s}.strip>span::after{content:'';height:2px;background:var(--red);position:absolute;bottom:-22px;left:0;right:0;transform:scaleX(0);transform-origin:left;transition:transform .8s cubic-bezier(.2,.7,.2,1)}
.strip>span.is-active{color:var(--ink)}.strip>span.is-active::after{transform:scaleX(1)}
.button span,.card-arrow{transition:transform .3s,background .3s,color .3s}.button:hover span{transform:translate(3px,-2px)}.work-card:hover .card-arrow{transform:rotate(35deg)}
.site-menu[open] .site-menu-panel{animation:menu-arrive .24s cubic-bezier(.2,.7,.2,1)}@keyframes menu-arrive{from{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}
.carousel-controls,.chapter-dock{display:none}
@media(max-width:700px){
.production-mark{width:73px;height:73px;right:5px;bottom:-17px;border-width:4px}.production-mark svg{inset:3px;width:59px;height:59px}.production-mark .mark-center{font-size:21px}.portrait::after{top:18px;right:18px}
.strip>span::after{bottom:-6px;right:22px}
.work-grid{display:flex;gap:16px;overflow-x:auto;scroll-snap-type:x mandatory;scroll-padding-inline:0;overscroll-behavior-x:contain;-webkit-overflow-scrolling:touch;scrollbar-width:none;padding:0 0 10px;margin-right:-20px;padding-right:20px;align-items:stretch}
.work-grid::-webkit-scrollbar{display:none}.work-grid .work-card{flex:0 0 calc(100% - 26px);scroll-snap-align:start;scroll-snap-stop:always}.work-grid .work-image{height:235px}.work-grid .card-top h3{font-size:25px}.work-grid .card-copy p{min-height:88px}.work-grid .tags{line-height:1.7;font-size:8px}.work-grid:focus-visible{outline:2px solid var(--red);outline-offset:5px}
.motion-ready .carousel-controls{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:15px;padding-top:16px;border-top:1px solid var(--line)}.carousel-caption{font:9px var(--mono);letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}.carousel-buttons{display:flex;align-items:center;gap:9px}.carousel-buttons button{border:1px solid var(--line);color:var(--ink);background:transparent;width:42px;height:42px;border-radius:50%;cursor:pointer}.carousel-buttons button:disabled{opacity:.3;cursor:default}.carousel-buttons button:focus-visible{outline:2px solid var(--red);outline-offset:3px}.carousel-dots{display:flex;gap:6px;margin:0 6px}.carousel-dot{width:5px;height:5px;border-radius:50%;background:#c5bfb1;transition:width .3s,background .3s}.carousel-dot.on{width:19px;border-radius:5px;background:var(--red)}
.chapter-dock{position:fixed;z-index:35;bottom:max(14px,env(safe-area-inset-bottom));left:50%;transform:translateX(-50%);display:flex;align-items:center;gap:3px;padding:5px;background:#24231ff5;color:var(--paper);border:1px solid #ffffff26;border-radius:40px;box-shadow:0 6px 22px #0003;backdrop-filter:blur(10px)}.chapter-dock a{padding:12px 16px;text-decoration:none;font-size:10px;white-space:nowrap;border-radius:30px;transition:background .25s,color .25s}.chapter-dock a[aria-current=true]{background:var(--paper);color:var(--ink)}.chapter-dock a:focus-visible{outline:2px solid #d5a38b;outline-offset:1px}footer{padding-bottom:100px}
}
@media(max-width:360px){.carousel-caption{font-size:8px}.carousel-buttons{gap:6px}.carousel-dots{display:none}.chapter-dock a{padding-inline:13px}}
@media(prefers-reduced-motion:reduce){.production-mark svg,.portrait::after{animation:none}.strip>span::after{transition:none}.site-menu[open] .site-menu-panel{animation:none}.work-grid{scroll-behavior:auto}.reading-progress{transition:none}}
