/* Focused sign-in surface. Shared auth behaviour stays in login.html. */
body.access-body{padding:0;background:#fff}
.access-layout{min-height:100svh;display:grid;grid-template-columns:minmax(0,1.05fr) minmax(420px,1fr);align-items:center}
.access-body .shell{width:100%;max-width:440px;margin:auto;padding:64px 40px}
.access-body .topnav{display:none;margin-bottom:44px}
.access-body .logo{font-size:22px}
.access-body .card{padding:0;border:0;border-radius:0;background:transparent;box-shadow:none}
.access-body .card h1{font-size:28px;font-weight:500;letter-spacing:-.04em;line-height:1.2;margin-bottom:28px}
.access-body .sub{font-size:13px;margin:0 0 20px;color:var(--muted)}
.access-body .sub:empty,.access-body .err:empty,.access-body .ok:empty{display:none}
.access-body .stack{gap:18px}
.access-body .label{font:500 13px var(--sans);letter-spacing:0;text-transform:none;color:var(--ink)}
.access-body .field{gap:8px}
.access-body .field input{border:1px solid var(--line);border-radius:6px;min-height:44px;padding:11px 12px;font-size:16px;box-shadow:none}
.access-body .social{gap:10px}
.access-body .divider{font-size:12px;margin:2px 0}
.access-body .muted{font-size:12px}
.access-body .auth-switch{margin-top:24px;font-size:13px;color:var(--muted)}
.access-body .foot{font-size:11px;line-height:1.7;margin-top:36px;color:var(--muted)}
.access-body .foot a{text-decoration:underline;text-underline-offset:3px}
.access-body .err,.access-body .ok{font-size:13px;margin-top:18px}
/* One illustration, one action. Illustrative query, match and gap details. */
.access-showcase{min-height:100svh;background:#f5f5f3;border-right:1px solid #e8e8e5;display:flex;flex-direction:column;padding:44px clamp(32px,5vw,88px);align-self:stretch}
.showcase-content{width:100%;max-width:520px;margin:auto 0;padding:60px 0}
.showcase-content h2{font-size:clamp(42px,4.1vw,68px);line-height:1.06;letter-spacing:-.055em;font-weight:500}
.showcase-content h2 em{font-family:'Instrument Serif',Georgia,serif;font-weight:400;color:var(--accent)}
.showcase-content>p{font-size:14px;line-height:1.6;margin-top:20px;color:var(--muted);max-width:34ch}
.search-flow{margin:44px -8px 38px;color:#50504d}
.search-flow svg{display:block;width:100%;height:auto;overflow:visible}
.flow-track{stroke:#d8d8d3;stroke-width:1.5}
.flow-node{fill:#fff;stroke:#deded9;stroke-width:1}
.flow-text{font:14px var(--sans);fill:currentColor;letter-spacing:-.02em}
.flow-detail{font:11px var(--mono);fill:#797974;letter-spacing:-.025em}
.flow-divider{stroke:#e9e9e4;stroke-width:1}
.flow-scan{fill:var(--accent);opacity:0;animation:query-scan 4s ease-in-out infinite}
.flow-junction{fill:var(--accent);stroke:#f5f5f3;stroke-width:3;animation:junction-pulse 4s ease infinite}
.flow-check{stroke:#22a06b;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}
.flow-thumbnail{fill:#f2f6f2;stroke:#e3e9e2}
.flow-product-icon{stroke:#6e876e;stroke-width:1;stroke-linejoin:round}
.flow-product-lines{stroke:#d7ddd5;stroke-width:4;stroke-linecap:round}
.flow-product{animation:flow-detail-reveal 8s ease infinite}
.flow-ledger{animation:flow-detail-reveal 8s ease infinite;animation-delay:4s}
.flow-bar{fill:var(--accent);opacity:.35;transform-box:fill-box;transform-origin:left;animation:ledger-grow 8s ease infinite;animation-delay:4s}
.flow-bar:nth-of-type(2){animation-delay:4.15s;opacity:.25}
.flow-bar:nth-of-type(3){animation-delay:4.3s;opacity:.18}
.flow-signal{stroke:var(--accent);stroke-width:2;stroke-linecap:round;stroke-dasharray:18 222;stroke-dashoffset:240;opacity:0;animation:search-signal 8s linear infinite}
.flow-gap{animation-delay:4s}
.flow-found{animation:found-pulse 8s ease infinite}
.flow-unmatched{animation:found-pulse 8s ease infinite;animation-delay:4s;color:var(--accent)}
.search-flow figcaption{font:10px var(--mono);color:#90908a;margin:8px 0 0 18px}
.showcase-cta{font-size:14px;display:inline-flex;align-items:center;gap:36px;padding:12px 0;border-bottom:1px solid #b4b4ad;color:var(--ink)}
.showcase-cta:hover{border-color:var(--accent);color:var(--accent)}
.showcase-cta span{font-size:18px}
@keyframes search-signal{0%{stroke-dashoffset:240;opacity:0}8%{opacity:1}40%{stroke-dashoffset:0;opacity:1}45%,100%{stroke-dashoffset:0;opacity:0}}
@keyframes found-pulse{0%,27%,56%,100%{opacity:.72}36%,46%{opacity:1}}
@keyframes query-scan{0%,12%{opacity:0;transform:translateX(0)}20%{opacity:.14}54%{opacity:.14;transform:translateX(194px)}62%,100%{opacity:0;transform:translateX(194px)}}
@keyframes junction-pulse{0%,15%,65%,100%{opacity:.3}30%,42%{opacity:1}}
@keyframes flow-detail-reveal{0%,25%,64%,100%{opacity:.85}38%,51%{opacity:1}}
@keyframes ledger-grow{0%,27%,68%,100%{transform:scaleX(.65)}40%,52%{transform:scaleX(1)}}
@media(prefers-reduced-motion:reduce){.search-flow *{animation:none!important}.flow-signal,.flow-scan{display:none}.flow-found,.flow-unmatched,.flow-product,.flow-ledger,.flow-junction{opacity:1}.flow-bar{transform:none}}
@media(max-width:850px){.access-layout{grid-template-columns:1fr}.access-showcase{min-height:auto;border-right:0;border-bottom:1px solid #e8e8e5;padding:28px 24px}.showcase-content{max-width:480px;padding:40px 0;margin:0 auto}.showcase-content h2{font-size:42px}.search-flow{margin:24px 0}.access-body .shell{padding:48px 24px;max-width:408px}}
@media(max-width:520px){.showcase-content{padding:30px 0}.showcase-content h2{font-size:38px}.showcase-content>p{font-size:13px}.search-flow{max-width:340px}.access-body .shell{padding:40px 24px}.access-showcase>.logo{font-size:20px}}
