:root{--font-geist-sans:"Avenir Next", "Segoe UI", Helvetica, Arial, sans-serif;--font-geist-mono:"SFMono-Regular", Consolas, "Liberation Mono", monospace;--ink:#13231f;--ink-soft:#53615d;--paper:#f5f3ed;--surface:#fffefa;--line:#d9ddd8;--green:#1f6652;--green-deep:#15493d;--green-soft:#dcebe5;--gold:#d4a94f;--danger:#a23d37;--shadow:0 24px 80px #11261f1f}*{box-sizing:border-box}html{background:var(--paper)}body{color:var(--ink);background:radial-gradient(circle at 10% 5%, #1f665214, transparent 30rem), var(--paper);font-family:var(--font-geist-sans), Arial, sans-serif;-webkit-font-smoothing:antialiased;margin:0}a{color:inherit;text-decoration:none}button,input{font:inherit}button,a{-webkit-tap-highlight-color:transparent}.brand{width:fit-content;color:inherit;letter-spacing:-.02em;align-items:center;gap:.7rem;font-size:1.05rem;font-weight:700;display:inline-flex}.brand-mark{color:#fff;background:var(--green);border-radius:.45rem .45rem .8rem;place-items:center;width:2rem;height:2rem;font-size:.85rem;font-weight:800;display:grid}.eyebrow{color:var(--green);letter-spacing:.13em;text-transform:uppercase;margin:0 0 .65rem;font-size:.72rem;font-weight:750}.eyebrow-light{color:#9cc7b8}.muted{color:var(--ink-soft)}.auth-page{grid-template-columns:minmax(22rem,.95fr) minmax(28rem,1.05fr);min-height:100svh;display:grid}.auth-intro{color:#f5f6f1;background:linear-gradient(145deg,#ffffff0d,#0000 45%),linear-gradient(150deg,#173f35 0%,#0e2d26 70%);flex-direction:column;justify-content:space-between;min-height:100%;padding:clamp(2rem,5vw,5rem);display:flex;position:relative;overflow:hidden}.auth-intro:after{content:"";border:1px solid #ffffff14;border-radius:50%;width:28rem;height:28rem;position:absolute;bottom:12%;right:-9rem;box-shadow:0 0 0 5rem #ffffff06,0 0 0 10rem #ffffff04}.auth-intro .brand{z-index:1;position:relative}.auth-intro .brand-mark{color:var(--ink);background:var(--gold)}.auth-copy{z-index:1;max-width:37rem;margin:7rem 0;position:relative}.auth-copy h1{letter-spacing:-.065em;max-width:11ch;margin:0;font-size:clamp(2.8rem,5vw,5.8rem);font-weight:620;line-height:.98}.auth-copy>p:last-child{color:#c7d8d2;max-width:34rem;margin:2rem 0 0;font-size:1.05rem;line-height:1.7}.auth-footnote{z-index:1;color:#8fb1a6;font-family:var(--font-geist-mono), monospace;margin:0;font-size:.75rem;position:relative}.auth-panel{place-items:center;min-height:100%;padding:clamp(2rem,7vw,8rem);display:grid}.auth-card{width:min(100%,30rem)}.auth-card h2{letter-spacing:-.045em;margin:0;font-size:clamp(2rem,3vw,3rem);font-weight:630}.auth-card>.muted{margin:1rem 0 2rem;line-height:1.6}.auth-form{gap:.75rem;display:grid}.auth-form label{margin-top:.3rem;font-size:.86rem;font-weight:650}.auth-form input{width:100%;min-height:3.4rem;color:var(--ink);background:var(--surface);border:1px solid #c9cfca;border-radius:.65rem;outline:none;padding:0 1rem;transition:border-color .15s,box-shadow .15s}.auth-form input:focus{border-color:var(--green);box-shadow:0 0 0 3px #1f66521f}.auth-form .code-input{text-align:center;height:4.4rem;font-family:var(--font-geist-mono), monospace;letter-spacing:.28em;font-size:1.8rem;font-weight:650}.button{cursor:pointer;border:0;border-radius:.65rem;justify-content:center;align-items:center;min-height:3.25rem;padding:.75rem 1.15rem;font-weight:680;transition:background .15s,opacity .15s,transform .15s;display:inline-flex}.button:disabled{cursor:not-allowed;opacity:.55}.button:not(:disabled):active{transform:translateY(1px)}.button-primary{color:#fff;background:var(--green)}.button-primary:hover:not(:disabled){background:var(--green-deep)}.button-quiet{color:var(--ink-soft);background:0 0}.button-quiet:hover:not(:disabled){color:var(--ink);background:#13231f0d}.button-small{min-height:2.35rem;padding:.45rem .75rem;font-size:.8rem}.privacy-note{color:#74807c;margin:1.5rem 0 0;font-size:.76rem;line-height:1.5}.sent-to{color:var(--ink-soft);gap:.2rem;margin-bottom:.5rem;font-size:.8rem;display:grid}.sent-to strong{color:var(--ink);text-overflow:ellipsis;overflow:hidden}.form-message{margin:.2rem 0;font-size:.82rem;line-height:1.45}.form-error{color:var(--danger)}.app-shell{min-height:100svh}.app-header{border-bottom:1px solid var(--line);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:#f5f3edd9;justify-content:space-between;align-items:center;min-height:4.75rem;padding:0 clamp(1.25rem,5vw,5rem);display:flex}.session-controls{align-items:center;gap:1rem;display:flex}.session-email{max-width:18rem;color:var(--ink-soft);text-overflow:ellipsis;font-size:.78rem;overflow:hidden}.app-main{width:min(100%,80rem);margin:0 auto;padding:clamp(3rem,7vw,7rem) clamp(1.25rem,5vw,5rem)}.page-heading,.facility-hero{max-width:52rem;margin-bottom:3rem}.page-heading h1,.facility-hero h1{letter-spacing:-.06em;margin:0;font-size:clamp(2.5rem,6vw,5rem);font-weight:620;line-height:1}.page-heading>p:not(.eyebrow),.facility-hero p{max-width:44rem;color:var(--ink-soft);line-height:1.65}.page-heading .text-link{margin-top:1.25rem;display:inline-block}.facility-grid,.module-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;display:grid}.facility-card,.module-card{border:1px solid var(--line);background:var(--surface);border-radius:1rem;flex-direction:column;justify-content:space-between;min-height:15rem;padding:1.5rem;transition:border-color .16s,box-shadow .16s,transform .16s;display:flex;box-shadow:0 10px 40px #11261f0a}a.facility-card:hover,a.module-card:hover{border-color:#a9b9b2;transform:translateY(-2px);box-shadow:0 18px 50px #11261f17}.facility-card strong{letter-spacing:-.035em;font-size:1.65rem}.facility-card>span:not(.eyebrow,.card-link){color:var(--ink-soft);text-transform:capitalize;font-size:.85rem}.card-link,.text-link{color:var(--green);font-size:.85rem;font-weight:700}.facility-hero{justify-content:space-between;align-items:end;gap:2rem;max-width:none;display:flex}.access-badge{color:var(--green-deep);background:var(--green-soft);border-radius:999px;flex:none;padding:.6rem .85rem;font-size:.76rem;font-weight:720}.section-heading{justify-content:space-between;align-items:end;gap:2rem;margin-bottom:1.25rem;display:flex}.section-heading h2{letter-spacing:-.035em;margin:0;font-size:1.75rem}.module-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.module-card{min-height:18rem}.module-card h3{letter-spacing:-.025em;margin:0 0 .6rem;font-size:1.3rem}.module-card p{color:var(--ink-soft);margin:0;font-size:.88rem;line-height:1.55}.module-number{color:#87918d;font-family:var(--font-geist-mono), monospace;font-size:.72rem}.module-card-muted{background:#fffefa80;border-style:dashed}.module-status{color:#6c746f;background:#e6e6e0;border-radius:999px;width:fit-content;padding:.4rem .65rem;font-size:.7rem;font-weight:700}.status-page{place-items:center;min-height:100svh;padding:2rem;display:grid}.status-card{border:1px solid var(--line);background:var(--surface);width:min(100%,42rem);box-shadow:var(--shadow);border-radius:1.2rem;padding:clamp(2rem,6vw,4.5rem)}.status-code{color:var(--green);font-family:var(--font-geist-mono), monospace;letter-spacing:.1em;text-transform:uppercase;margin:3rem 0 .75rem;font-size:.76rem;font-weight:700}.status-card h1{letter-spacing:-.055em;margin:0;font-size:clamp(2rem,5vw,3.5rem);line-height:1.05}.status-card>p:not(.status-code){color:var(--ink-soft);line-height:1.65}.status-actions{flex-wrap:wrap;gap:.5rem;margin-top:2rem;display:flex}@media (max-width:900px){.auth-page{grid-template-columns:1fr}.auth-intro{min-height:26rem}.auth-copy{margin:5rem 0 2rem}.auth-copy h1{font-size:clamp(2.7rem,12vw,4.5rem)}.auth-panel{min-height:34rem}.module-grid{grid-template-columns:1fr}}@media (max-width:640px){.auth-intro{padding:1.5rem}.auth-panel{padding:4rem 1.5rem}.app-header{min-height:4.25rem}.session-email{display:none}.facility-grid{grid-template-columns:1fr}.facility-hero,.section-heading{flex-direction:column;align-items:start}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important}}
