/* DineSafe's motion follows the document: a line, a chapter, a milestone. */
:root{--ease:cubic-bezier(.22,1,.36,1)}
.site-header{position:sticky;top:0;height:100px;transition:height .45s var(--ease),border-color .45s;background:#101110f5;backdrop-filter:blur(12px)}
.site-header.scrolled{height:78px;border-color:#514937}
.header-progress{position:absolute;top:0;left:0;width:100%;height:2px;overflow:hidden}
.header-progress span{display:block;width:100%;height:100%;background:var(--gold);transform:scaleX(0);transform-origin:left;will-change:transform}
.brand-mark{font-size:1.02rem;letter-spacing:-.12em;border-color:#a18c63;color:var(--gold);position:relative}
.brand-mark:after{content:'';position:absolute;inset:4px;border:1px solid #c5ad7d30}
.brand-name{letter-spacing:.16em;font-size:1rem}.brand-name span{color:#c5ad7d;font-size:.68rem;letter-spacing:.23em}
.hero-signature{font:.94rem/1.5 var(--sans);letter-spacing:.23em;color:#d4cbb5;margin-bottom:22px}
.hero-signature span{color:var(--gold)}.hero .eyebrow{margin-bottom:15px;font-size:.73rem;letter-spacing:.11em}
.hero-copy{position:relative}.hero-copy:after{content:'';display:block;width:72px;height:1px;background:var(--gold);margin-top:35px;transform-origin:left;animation:trace-intro 1.2s var(--ease) both}
.hero h1{margin-bottom:30px}.hero-visual{overflow:hidden;background:#171a14}
.hero-visual img{height:calc(100% + 40px);top:-20px;will-change:transform}
.hero-visual:before{content:'';position:absolute;inset:15px;z-index:2;border:1px solid #c5ad7d35;pointer-events:none}
.image-caption{bottom:35px;left:35px;right:35px}.image-caption .meta{font-size:.72rem;letter-spacing:.12em;color:#d6c39d}
.hero-bottom{margin-top:30px}.ticker{position:relative}.ticker:after{content:'';position:absolute;bottom:-1px;left:0;height:1px;width:100%;background:var(--gold);transform:scaleX(.12);transform-origin:left;transition:transform 1.8s var(--ease)}.ticker.is-visible:after{transform:scaleX(1)}
.journey-rail{position:fixed;right:13px;top:50%;transform:translateY(-50%);z-index:25;display:flex;flex-direction:column;gap:13px}
.journey-rail a{position:relative;display:flex;align-items:center;justify-content:end;gap:8px;height:20px;color:#64685e}
.journey-number{font:.65rem var(--mono);opacity:0;transition:opacity .25s,color .25s}
.journey-tick{width:8px;height:1px;background:currentColor;transition:width .5s var(--ease),background .4s}
.journey-label{position:absolute;right:38px;white-space:nowrap;opacity:0;transform:translateX(7px);transition:opacity .2s,transform .3s;background:var(--bg);padding:5px 9px;font:.75rem var(--mono);pointer-events:none}
.journey-rail a.active,.journey-rail a:hover,.journey-rail a:focus-visible{color:var(--gold)}
.journey-rail a.active .journey-tick{width:20px}.journey-rail a.active .journey-number{opacity:1}
.journey-rail a:hover .journey-label,.journey-rail a:focus-visible .journey-label{opacity:1;transform:none}
.mobile-chapter{display:none}
.motion-ready .reveal{opacity:0;transform:translateY(24px);transition:opacity .85s var(--ease),transform 1.05s var(--ease);transition-delay:var(--reveal-delay,0ms)}
.motion-ready .reveal.is-visible,.motion-ready .reveal:focus-within{opacity:1;transform:none}
.feature,.source-card,.support-card{transition:border-color .35s,background .35s}
.feature:hover,.source-card:hover,.support-card:hover{border-color:var(--gold)}
.btn{position:relative;overflow:hidden;transition:background .3s,color .3s,border-color .3s,transform .35s var(--ease)}
.btn:hover{transform:translateY(-2px)}.btn:active{transform:translateY(0)}
.text-link{position:relative;border-color:transparent}.text-link:after{content:'';position:absolute;bottom:0;left:0;right:0;height:1px;background:#706345;transform:scaleX(.35);transform-origin:left;transition:transform .55s var(--ease),background .3s}.text-link:hover:after,.text-link:focus-visible:after{transform:scaleX(1);background:var(--gold)}
.network-flow{position:relative;overflow:hidden}.network-flow:before{content:'';position:absolute;left:0;top:0;height:1px;width:100%;background:linear-gradient(90deg,transparent,#c5ad7d,transparent);transform:translateX(-100%)}
.network-flow.is-visible:before{animation:trace-network 3s var(--ease) forwards}
.network-flow div{position:relative}.network-flow div small{color:#958466;transition:color .5s}
.network-flow.is-visible div small{color:var(--gold)}.network-flow div:nth-child(2) small{transition-delay:.45s}.network-flow div:nth-child(3) small{transition-delay:.9s}.network-flow div:nth-child(4) small{transition-delay:1.35s}
.timeline-section{position:relative}.timeline-pin{padding-bottom:20px}
.timeline-system{--timeline-fill:0%;position:relative;border-top:1px solid #5b503b}
.timeline-meta,.timeline-foot{display:flex;justify-content:space-between;gap:18px;font:.72rem/1.6 var(--mono);letter-spacing:.08em;color:var(--muted);padding:22px 0}
.timeline-meta span:first-child{color:var(--gold)}.timeline-position{color:var(--gold);min-width:65px;text-align:right}
.timeline-rail{position:relative;padding:12px 0 0;overflow-x:auto;scrollbar-width:thin;scrollbar-color:#817049 #22251e}
.timeline-line{position:absolute;left:calc(100% / 12);right:calc(100% / 12);top:25px;height:1px;background:#4c4f43}
.timeline-line span{position:absolute;inset:0;transform:scaleX(var(--timeline-fraction,0));transform-origin:left;background:var(--gold);transition:transform .65s var(--ease)}
.timeline-stops{position:relative;display:grid;grid-template-columns:repeat(6,minmax(110px,1fr));gap:0;list-style:none;padding:0;margin:0}
.timeline-stop{position:relative;display:flex;align-items:center;flex-direction:column;justify-content:start;width:100%;background:none;border:0;color:var(--muted);padding:7px 6px 22px;line-height:1.5;min-height:115px}
.timeline-node{width:13px;height:13px;border:1px solid #747866;background:var(--bg);margin-bottom:20px;transform:scale(.7);transition:transform .6s var(--ease),background .5s,border-color .5s;z-index:1}
.timeline-date{font:.84rem var(--mono);margin-bottom:8px}.timeline-name{font-size:.82rem;color:#8f9486}
.timeline-stop.passed .timeline-node{border-color:var(--gold);background:#7f6c45}.timeline-stop.active .timeline-node{border-color:var(--gold);background:var(--gold);transform:scale(1);box-shadow:0 0 0 6px #c5ad7d0b}
.timeline-stop.active .timeline-date,.timeline-stop:hover .timeline-date{color:var(--gold)}.timeline-stop.active .timeline-name{color:var(--paper)}
.milestone-card{display:grid;grid-template-columns:190px minmax(0,1fr);gap:45px;padding:34px 0;border-top:1px solid var(--line);min-height:220px;align-items:start}
.milestone-index{font:6.5rem/1 var(--serif);letter-spacing:-.06em;color:var(--gold)}.milestone-copy .pill{margin-bottom:20px;font-size:.7rem}.milestone-date{display:block;color:var(--muted);font:.79rem/1.5 var(--mono);margin-bottom:14px}
.milestone-copy h3{font:2.2rem/1.2 var(--serif);letter-spacing:-.02em;margin-bottom:16px;max-width:27ch}.milestone-copy p{font-size:1rem;max-width:61ch;margin:0}
.milestone-card[hidden]{display:none}.timeline-system[data-enhanced] .milestone-card.entering{animation:milestone-enter .6s var(--ease) both}
.timeline-foot{border-top:1px solid var(--line);padding-bottom:0;font-size:.67rem}
.timeline-system[data-mode=compact] .milestone-card{grid-template-columns:100px minmax(0,1fr);gap:25px}.timeline-system[data-mode=compact] .milestone-index{font-size:4.8rem}.timeline-system[data-mode=compact] .milestone-copy h3{font-size:1.9rem}
.timeline-system[data-mode=compact] .timeline-stops{grid-template-columns:repeat(6,minmax(92px,1fr))}
.timeline-system[data-mode=compact] .timeline-line{min-width:460px}
.collective-wordmark{position:relative;display:grid;grid-template-columns:1fr auto;gap:35px;padding:25px 0 45px;margin-top:15px;overflow:hidden;color:#d4cbb5;font:clamp(2rem,6.4vw,6.6rem)/1 var(--sans);font-weight:400;letter-spacing:-.065em;white-space:nowrap}
.collective-wordmark span:last-of-type{color:var(--gold)}.collective-wordmark i{position:absolute;bottom:20px;left:0;height:1px;width:100%;background:var(--gold);transform:scaleX(.07);transform-origin:left;transition:transform 1.7s var(--ease)}.collective-wordmark.is-visible i{transform:scaleX(1)}
.chapter-nav a{position:relative;transition:color .35s}.chapter-nav a:before{content:'';position:absolute;left:-14px;top:19px;height:1px;width:0;background:var(--gold);transition:width .35s var(--ease)}.chapter-nav a.active:before{width:7px}
@keyframes trace-intro{from{transform:scaleX(0)}to{transform:scaleX(1)}}
@keyframes trace-network{from{transform:translateX(-100%)}to{transform:translateX(100%)}}
@keyframes milestone-enter{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}
@media(min-width:1100px) and (min-height:760px){.timeline-section.scroll-timeline{min-height:235vh;padding-top:90px;padding-bottom:90px}.scroll-timeline .timeline-pin{position:sticky;top:110px}.scroll-timeline .section-head{margin-bottom:32px}.scroll-timeline .section-head h2{font-size:clamp(2.8rem,3.6vw,4rem)}.scroll-timeline .milestone-panels{min-height:260px}.scroll-timeline .milestone-card{min-height:260px}}
@media(max-width:1099px){.journey-rail{display:none}.timeline-rail{display:none}.timeline-meta{font-size:.7rem}.milestone-card{grid-template-columns:80px minmax(0,1fr);gap:25px;position:relative;padding:30px 0 30px 20px;border-top:0;border-left:1px solid #4c4f43;min-height:0;margin-left:6px}.milestone-card:before{content:'';position:absolute;left:-5px;top:39px;width:9px;height:9px;background:var(--gold);border:1px solid var(--bg)}.milestone-index{font-size:3.4rem}.milestone-copy h3{font-size:1.8rem}.timeline-system[data-mode=compact] .timeline-rail{display:block}.timeline-system[data-mode=compact] .milestone-card{border-left:0;padding:28px 0;grid-template-columns:80px minmax(0,1fr)}.timeline-system[data-mode=compact] .milestone-card:before{display:none}.timeline-foot{font-size:.65rem}.collective-wordmark{gap:20px}.mobile-chapter{position:fixed;bottom:13px;left:50%;transform:translate(-50%,14px);display:block;padding:9px 17px;background:#101110eb;border:1px solid #5f563f;color:var(--gold);font:.65rem var(--mono);letter-spacing:.1em;z-index:20;pointer-events:none;opacity:0;transition:opacity .4s,transform .5s var(--ease)}.mobile-chapter.shown{opacity:1;transform:translate(-50%,0)}}
@media(max-width:640px){.site-header{height:84px}.site-header.scrolled{height:72px}.scrolled .nav{top:72px}.hero .eyebrow{font-size:.67rem;display:block;max-width:40ch}.hero .eyebrow:before{display:none}.hero-signature{font-size:.82rem;letter-spacing:.14em;margin-bottom:18px}.hero-copy:after{margin-top:25px;width:50px}.hero-visual img{height:calc(100% + 24px);top:-12px}.brand-name{font-size:.86rem}.brand-name span{font-size:.63rem}.milestone-card{grid-template-columns:45px minmax(0,1fr);gap:16px;padding-left:14px}.milestone-index{font-size:2.4rem}.milestone-date{font-size:.75rem}.milestone-copy h3{font-size:1.6rem}.milestone-copy p{font-size:.95rem}.timeline-meta{flex-wrap:wrap;font-size:.65rem}.timeline-meta span:first-child{max-width:30ch}.timeline-position{margin-left:auto}.timeline-foot{display:block}.timeline-foot span{display:block;margin-bottom:6px}.timeline-system[data-mode=compact] .milestone-card{grid-template-columns:45px minmax(0,1fr);gap:18px}.timeline-system[data-mode=compact] .milestone-index{font-size:2.8rem}.collective-wordmark{grid-template-columns:1fr;gap:8px;font-size:clamp(2.8rem,13.5vw,5rem);padding-bottom:35px}.collective-wordmark i{bottom:15px}.footer-bottom{padding-bottom:35px}.timeline-stop{min-height:110px}.image-caption{left:30px;right:30px;bottom:30px}.image-caption .meta{font-size:.64rem}.motion-ready .reveal{transform:translateY(15px)}}
@media(prefers-reduced-motion:reduce){.site-header{transition:none}.motion-ready .reveal{opacity:1!important;transform:none!important}.hero-copy:after{animation:none}.network-flow.is-visible:before{animation:none;transform:none;opacity:.3}.timeline-section.scroll-timeline{min-height:auto}.scroll-timeline .timeline-pin{position:static}.scroll-timeline .milestone-panels{min-height:0}.timeline-system[data-mode=scroll] .milestone-card[hidden]{display:grid}.milestone-card{animation:none!important}.collective-wordmark i{transform:scaleX(1)}.timeline-line span{transform:scaleX(1)}.btn:hover{transform:none}.mobile-chapter{display:none}.hero-visual img{transform:none!important}}
@media print{.site-header,.journey-rail,.mobile-chapter,.hero-signature{display:none}.motion-ready .reveal{opacity:1!important;transform:none!important}.timeline-rail{display:none}.milestone-card[hidden]{display:grid}.timeline-section.scroll-timeline{min-height:0}.timeline-pin{position:static!important}.timeline-meta,.timeline-foot,.milestone-date,.milestone-index{color:#333}.milestone-copy h3{font-size:18px}.milestone-card{break-inside:avoid;min-height:0;grid-template-columns:50px 1fr;gap:20px;padding:20px 0}.milestone-index{font-size:30px}.collective-wordmark{font-size:30px}}

.milestone-panels{position:relative}.timeline-system[data-mode=scroll] .milestone-panels:before{content:"";display:none;position:absolute;left:6px;top:40px;bottom:45px;width:1px;background:var(--gold);transform:scaleY(var(--timeline-fraction,0));transform-origin:top;transition:transform .6s var(--ease);z-index:1;pointer-events:none}@media(max-width:1099px){.timeline-system[data-mode=scroll] .milestone-panels:before{display:block}}
