/* Sign-in on the public site. The Google control follows Google's sign-in branding guidelines: the "G" mark
   as supplied, a light button with a 1px border, the approved label, 40px height, 12px between mark and text. */
.signin-page main.signin-main{max-width:34rem}
.signin-card h1{font-size:clamp(1.7rem,3.6vw,2.25rem)}
.signin-card .lede{margin-bottom:1.75rem}
.signin-providers{margin:0 0 1rem}
.google-btn{display:flex;align-items:center;justify-content:center;gap:12px;width:100%;height:44px;padding:0 12px;border:1px solid #747775;border-radius:8px;background:#fff;color:#1f1f1f;font-family:var(--sans);font-size:.9375rem;font-weight:500;letter-spacing:.01em;cursor:pointer}
.google-btn:hover{background:#f6f6f6}.google-btn:focus-visible{outline:2px solid var(--navy);outline-offset:2px}
.google-btn-icon{display:inline-flex;width:20px;height:20px}
.signin-or{display:flex;align-items:center;gap:12px;margin:1rem 0;color:var(--ws-semantic-text-secondary);font-size:.75rem;letter-spacing:.06em;text-transform:uppercase}.signin-or::before,.signin-or::after{content:"";flex:1;border-top:1px solid var(--line,#d5cec4)}
.signin-form label{display:block;margin:0 0 .4rem;font-weight:500}
.signin-form input{width:100%;box-sizing:border-box;height:44px;padding:0 12px;border:1px solid #d5cec4;border-radius:8px;background:#fcfaf6;font:inherit;color:inherit;margin-bottom:.75rem}
.signin-form .button{width:100%;justify-content:center}
.signin-actions{display:flex;gap:1rem;align-items:center;flex-wrap:wrap}.signin-actions .button{width:auto}
.link-btn{background:none;border:0;padding:0;color:var(--navy);text-decoration:underline;font:inherit;cursor:pointer}
.signin-error{margin:-.25rem 0 .75rem;color:#8a2f1a;font-size:.9375rem}
.signin-sent{margin:0 0 1rem}
.signin-legal{margin-top:1.25rem;font-size:.8125rem;line-height:1.5;color:var(--ws-semantic-text-secondary)}.signin-legal a{color:var(--navy)}
.signin-notice{padding:1rem 1.1rem;border-left:3px solid var(--gold,#bd7e23);background:var(--ws-semantic-surface-subtle);border-radius:0 8px 8px 0}
.signin-status{margin-top:1rem;color:var(--ws-semantic-text-secondary)}

/* Signed out (docs: the landscape without its foreground; stillness, one thing to read, a way out). The header keeps
   the mark and drops the navigation; the footer waits until the visitor asks for the form back. */
body.signin-page.signed-out .site-header #site-nav,body.signin-page.signed-out .site-header .menu-toggle,body.signin-page.signed-out .site-footer{display:none!important}
body.signin-page.signed-out{background:var(--navy)}
.signedout-scene{min-height:calc(100svh - 5.5rem);display:flex;align-items:center}.signedout-scene .hero-scene{position:absolute;inset:0;height:auto;margin:0}.signedout-scene::after{display:none}.signedout-scene .hero{min-height:0;padding-bottom:6rem}
.signedout-scene .hero-art-layer{inset:-60px 0 -60px;transform:none;background-position:center 40%}
.signedout-scene .hero-light-layer{background:linear-gradient(90deg,#111d35f0 0%,#111d35d4 34%,#111d3566 62%,#111d3512 88%)}
.signedout-scene .hero{grid-template-columns:minmax(0,560px);gap:0;padding-block:5rem 6rem;align-items:center}
.signedout-scene .hero-copy h1{font-size:clamp(2.4rem,5vw,3.6rem);margin:0 0 1rem}
.signedout-scene .hero-copy .lead{max-width:34ch;margin:0 0 2rem}
.signedout-actions{display:flex;align-items:center;gap:1.5rem;flex-wrap:wrap}
.signedout-link{color:var(--ws-semantic-text-inverse);text-decoration:underline;text-underline-offset:.2em;min-height:44px;display:inline-flex;align-items:center}
.signedout-link:hover{text-decoration-thickness:2px}.signedout-link:focus-visible{outline:2px solid var(--paper);outline-offset:3px;border-radius:4px}
@media(max-width:850px){.signedout-scene{min-height:0;display:block}.signedout-scene .hero-scene{position:relative;height:40svh;min-height:220px;overflow:hidden}.signedout-scene .hero-art-layer{inset:0;background-position:center 30%}.signedout-scene .hero-light-layer{inset:0;background:linear-gradient(180deg,#111d3500 40%,#111d35 100%)}.signedout-scene .hero{padding:2rem 0 3rem}.signedout-actions .button{width:100%;justify-content:center}.signedout-actions{gap:1rem}}
@media(prefers-reduced-motion:reduce){.signedout-scene .hero-art-layer,.signedout-scene .hero-light-layer{transform:none!important;animation:none!important}}
