:root { color-scheme: light;    }
* { box-sizing:border-box; }
body.os1-access { margin:0; min-height:100vh; min-height:100dvh; display:flex; flex-direction:column; color:var(--ink); font:15px/1.5 Inter,'Segoe UI',system-ui,sans-serif; background:var(--os1-canvas); -webkit-font-smoothing:antialiased; isolation:isolate; }
.os1-access-atmosphere { position:fixed; z-index:-1; inset:0; pointer-events:none; background:linear-gradient(90deg,var(--os1-decorative),var(--os1-decorative) 58%,var(--os1-decorative)),var(--os1-ribbons-image) center/cover no-repeat,radial-gradient(ellipse at 45% 50%,var(--os1-decorative),var(--os1-decorative)); }
.os1-access-header { display:flex; justify-content:space-between; align-items:center; min-height:76px; padding:0 5.5vw; border-bottom:1px solid var(--os1-border); }
.os1-access-brand { display:flex; align-items:center; gap:11px; text-decoration:none; color:var(--ink); font-size:25px; letter-spacing:-.8px; }
.os1-access-brand>img { width:40px; height:33px; }.os1-access-brand>span>span { color:var(--os1-muted); }.os1-access-brand>small { margin-left:4px; padding-left:13px; border-left:1px solid var(--os1-border); font-size:10px; letter-spacing:2px; color:var(--os1-muted); }
.os1-access-header-note { color:var(--muted); font-size:12px; }
.os1-access-main { display:grid; grid-template-columns:minmax(0,1fr) 360px; gap:clamp(60px,10vw,150px); align-items:center; width:min(1080px,calc(100% - 112px)); margin:auto; padding:54px 0 42px; }
.os1-access-eyebrow { display:block; font-size:10px; text-transform:uppercase; letter-spacing:2px; color:var(--os1-muted); }
.os1-access-intro h1 { font-size:clamp(45px,5vw,76px); font-weight:350; line-height:1.12; letter-spacing:-3px; margin:22px 0; }
.os1-access-intro h1 em { font-style:normal; color:var(--os1-accent); }.os1-access-intro>p { font-size:16px; line-height:1.7; color:var(--os1-text); }
.os1-access-presence { display:flex; flex-direction:column; align-items:flex-start; margin-top:32px; gap:6px; }.os1-access-presence img { width:132px; height:78px; }.os1-access-presence span { font-size:9px; letter-spacing:2px; text-transform:uppercase; color:var(--os1-muted); padding-left:10px; }
.os1-access-form-area { position:relative; padding:12px 0; }.os1-access-form-area::before { content:''; position:absolute; left:-45px; top:0; bottom:0; width:1px; background:linear-gradient(transparent,var(--os1-surface),transparent); }
.os1-access-form-heading h2 { margin:12px 0 3px; font-weight:400; font-size:35px; letter-spacing:-1px; }.os1-access-form-heading p { margin:0 0 27px; color:var(--muted); font-size:13px; }
.os1-access-form { display:grid; }.os1-access-form>label { margin:0 0 7px; font-size:12px; color:var(--os1-muted); }
.os1-access-form>input { appearance:none; width:100%; height:48px; margin:0 0 19px; padding:11px 14px; border:1px solid var(--os1-control-border); border-radius:12px; background:var(--os1-surface); color:var(--ink); font:inherit; box-shadow:0 3px 12px var(--os1-shadow); outline:none; transition:border-color .2s,box-shadow .2s; }
.os1-access-form>input::placeholder { color:var(--os1-muted); font-size:13px; }.os1-access-form>input:focus { border-color:var(--os1-focus); box-shadow:0 0 0 3px var(--os1-shadow); }
.os1-access-themes { display:flex; gap:6px; border:0; margin:2px 0 23px; padding:0; }.os1-access-themes legend { margin-bottom:9px; padding:0; color:var(--os1-text); font-size:11px; }.os1-access-themes label { position:relative; flex:1; cursor:pointer; }.os1-access-themes input { position:absolute; width:1px; height:1px; opacity:0; }.os1-access-themes span { display:block; border:1px solid var(--os1-border); border-radius:20px; padding:8px 4px; font-size:11px; text-align:center; color:var(--os1-muted); background:var(--os1-surface); transition:background .2s,border-color .2s; }.os1-access-themes input:checked+span { background:var(--os1-soft); border-color:var(--os1-control-border); color:var(--os1-accent); }.os1-access-themes input:focus-visible+span { outline:2px solid var(--os1-focus); outline-offset:3px; }
.os1-access-submit { display:flex; align-items:center; justify-content:space-between; padding:13px 17px; min-height:48px; border:1px solid var(--os1-border); border-radius:12px; background:linear-gradient(120deg,var(--os1-accent),var(--os1-accent)); color:var(--os1-on-accent); font:inherit;font-size:13px;font-weight:500;line-height:1.5; cursor:pointer; box-shadow:0 6px 20px var(--os1-shadow); transition:transform .2s; }.os1-access-submit:hover { transform:translateY(-1px); }.os1-access-submit span { font-size:20px; line-height:1; }
.os1-access-register { text-align:center; font-size:11px; margin:17px 0 0; color:var(--os1-text); }.os1-access-register a { color:var(--os1-accent); text-underline-offset:3px; }
.os1-access-error,.os1-access-notice { margin:0 0 17px; padding:11px 13px; border:1px solid var(--os1-error); border-radius:11px; background:var(--os1-error-soft); color:var(--os1-error); font-size:12px; }.os1-access-notice { color:var(--os1-text); border-color:var(--os1-border); }
.os1-access-footer { display:flex; justify-content:space-between; align-items:center; padding:18px 5.5vw; color:var(--os1-text); font-size:10px; letter-spacing:.6px; }.os1-access-footer b { margin-left:14px; font-size:20px; font-weight:400; }
:focus-visible { outline:2px solid var(--os1-focus); outline-offset:4px; }
@media (max-width:900px) { .os1-access-main { grid-template-columns:minmax(0,1fr) 330px; gap:55px; width:calc(100% - 70px); }.os1-access-form-area::before { left:-28px; }.os1-access-intro h1 { font-size:48px; }.os1-access-intro>p { font-size:14px; } }
@media (max-width:680px) { .os1-access-header { min-height:64px; padding:0 22px; }.os1-access-brand { font-size:23px; }.os1-access-header-note { font-size:11px; }.os1-access-main { display:block; width:min(390px,calc(100% - 44px)); padding:31px 0; }.os1-access-intro { margin-bottom:29px; }.os1-access-intro h1 { font-size:40px; margin:12px 0 8px; letter-spacing:-1.7px; line-height:1.1; }.os1-access-intro h1 br { display:none; }.os1-access-intro>p { font-size:13px; margin:10px 0 0; }.os1-access-intro>p br { display:none; }.os1-access-presence { display:none; }.os1-access-form-area { padding:0; }.os1-access-form-area::before { display:none; }.os1-access-form-heading h2 { font-size:28px; margin:7px 0 2px; }.os1-access-form-heading p { margin-bottom:20px; }.os1-access-form>input { font-size:16px; margin-bottom:16px; }.os1-access-themes { margin-bottom:19px; }.os1-access-footer { padding:12px 22px; font-size:9px; }.os1-access-atmosphere { opacity:.7; } }
@media (prefers-reduced-motion:reduce) { *,*::before,*::after { transition:none!important; } }

/* Native cross-document transition; navigation never waits for a scripted delay. */
@view-transition { navigation:auto; }
::view-transition-old(root) { animation:os1-access-out .16s ease both; }
::view-transition-new(root) { animation:os1-access-in .18s ease both; }
@keyframes os1-access-out { to { opacity:0; } }
@keyframes os1-access-in { from { opacity:0; } to { opacity:1; } }
@media (prefers-reduced-motion:reduce) { ::view-transition-old(root),::view-transition-new(root) { animation:none!important; } }
