:root{--paper:#f4f3f1;--canvas:#eae8e3;--ink:#1b1a18;--charcoal:#23221f;--stone:#76746d;--hairline:#cbc8c1;--white:#fdfcfb;--card-shadow:0 1px 2px rgba(27,26,24,0.05),0 1px 1px rgba(27,26,24,0.03);--signal-green:#3e5c3a;--signal-yellow:#8a6d1f;--signal-red:#7a2e2a;--font-sans:Arial,"Helvetica Neue",Helvetica,sans-serif;--tracking-label:0.18em;--tracking-nav:0.16em;--tracking-masthead:0.28em}*,:after,:before{box-sizing:border-box}body,html{margin:0;padding:0}body{font-family:var(--font-sans);background:var(--canvas);color:var(--ink);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;zoom:1.08}[style*="var(--white)"]:not(input):not(select):not(textarea):not(button){box-shadow:var(--card-shadow)}button:not(:disabled){cursor:pointer}button:disabled{cursor:not-allowed;opacity:.4}button:not(:disabled):hover{box-shadow:inset 0 0 0 999px rgba(27,26,24,.06)}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid var(--ink);outline-offset:2px}@media (prefers-reduced-motion:reduce){*,:after,:before{animation-duration:.01ms!important;transition-duration:.01ms!important}}@media (max-width:820px){.coach-grid,.dash-grid,.passport-grid{grid-template-columns:1fr!important}}.ravens{position:fixed;inset:0;overflow:hidden;pointer-events:none;z-index:0}.guardian,.raven{position:absolute;will-change:transform,opacity}.raven{opacity:0;animation-name:raven-depart;animation-timing-function:cubic-bezier(.42,0,.7,1);animation-fill-mode:forwards}.flap{display:inline-block;transform-origin:50% 50%;animation:raven-wingbeat var(--flap,.55s) ease-in-out infinite;will-change:transform}.guardian svg,.raven svg{display:block;fill:var(--ink);opacity:.62}@keyframes raven-depart{0%{transform:translate(0) scale(1);opacity:0}12%{opacity:.5}to{transform:var(--to) scale(.32);opacity:0}}@keyframes raven-wingbeat{0%,to{transform:scaleX(1) scaleY(1)}50%{transform:scaleX(.76) scaleY(1.06)}}.guardian{top:23%;left:50%;margin-left:-26px}.guardian .flap{animation-duration:1.15s}.guardian .move{display:inline-block;animation:guardian-enter 3s ease-out both,guardian-circle 12s ease-in-out 3s infinite;will-change:transform,opacity}@keyframes guardian-enter{0%{transform:translate(52px,-140px) scale(.5);opacity:0}to{transform:translate(0) scale(1);opacity:1}}@keyframes guardian-circle{0%,to{transform:translate(0) rotate(0deg)}25%{transform:translate(24px,-13px) rotate(7deg)}50%{transform:translateY(-22px) rotate(0deg)}75%{transform:translate(-24px,-13px) rotate(-7deg)}}.seek-raven{position:relative;display:inline-block;width:60px;height:26px}.seek-fly{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;animation:seek-flight 2.6s ease-in-out infinite}.seek-raven svg{fill:var(--ink);opacity:.6}@keyframes seek-flight{0%,to{transform:translate(-16px,2px) rotate(-9deg)}50%{transform:translate(16px,-5px) rotate(9deg)}}.reading-enter{animation:reading-enter .55s ease-out both}@keyframes reading-enter{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.raven-liftoff{position:fixed;top:24%;left:50%;margin-left:-26px;z-index:60;pointer-events:none;animation:raven-liftoff 1.9s ease-in forwards}.raven-liftoff svg{fill:var(--ink);opacity:.62}@keyframes raven-liftoff{0%{transform:translateY(24px) scale(.95);opacity:0}16%{opacity:.7}to{transform:translate(64px,-180px) scale(.5);opacity:0}}.settle{position:fixed;inset:0;z-index:60;pointer-events:none;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;animation:settle-fade 2s ease-out forwards}.settle .needle{transform-box:view-box;transform-origin:30px 110px;animation:needle-swing 1.5s cubic-bezier(.2,.8,.2,1) forwards}.settle .settle-caption{font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--stone);opacity:0;animation:caption-in 1.9s ease-out forwards}@keyframes needle-swing{0%{transform:rotate(-72deg)}32%{transform:rotate(38deg)}58%{transform:rotate(-20deg)}78%{transform:rotate(9deg)}to{transform:rotate(0deg)}}@keyframes settle-fade{0%,72%{opacity:1}to{opacity:0}}@keyframes caption-in{0%,55%{opacity:0}70%,90%{opacity:1}to{opacity:0}}