.access-wrap{max-width:1080px;width:calc(100% - 96px);display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:40px 64px;align-items:start;margin:80px auto 120px}
.access-page .nav{gap:20px;flex-wrap:wrap}
.access-page .nav>.text-button{text-align:right;white-space:normal;font-size:.9375rem}
.preview-notice{grid-column:1/-1;display:flex;gap:20px;align-items:start;background:var(--warning-bg);border:1px solid var(--warning-line);padding:16px 20px;border-radius:12px;font-size:.875rem;color:var(--warning)}
.preview-notice strong{flex-shrink:0}
.preview-notice>div{min-width:0;overflow-wrap:anywhere;line-height:1.75}
.preview-notice details{margin-top:8px}
.preview-notice summary{cursor:pointer;min-height:44px;align-content:center}
.preview-notice details p{font-size:.875rem;margin:8px 0;line-height:1.8;color:inherit}
.preview-notice code{font-family:inherit;font-weight:600;white-space:normal;overflow-wrap:anywhere}
.access-heading{min-width:0;padding-top:16px}
.access-heading>.eyebrow{margin-bottom:16px}
.access-heading h1{font-size:clamp(2.75rem,4.6vw,3.75rem);line-height:1.15;font-weight:650;letter-spacing:-.045em;margin:0 0 24px}
.access-intro{font-size:1.25rem;line-height:1.65;max-width:420px;margin:0 0 20px;color:var(--muted)}
.access-heading .release-note{font-size:.875rem;max-width:420px;line-height:1.8;margin:0}
.access-layout{min-width:0}
.access-panel{min-width:0;border:1px solid var(--line);border-radius:28px;background:var(--surface);padding:40px;overflow-wrap:anywhere;box-shadow:0 12px 40px color-mix(in srgb,var(--ink) 3%,transparent)}
.access-panel-top{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:12px;min-width:0}
.access-icon{width:48px;height:48px;flex:none;padding:10px;background:var(--brand-soft);border-radius:16px}
.status-badge{display:inline-block;padding:6px 12px;color:var(--accent);background:var(--brand-soft);border-radius:999px;font-size:.8125rem;font-weight:600;max-width:100%;line-height:1.5}
.access-panel[data-status="ready"] .status-badge{color:var(--success);background:var(--success-bg)}
.access-panel:is([data-status="module_unavailable"],[data-status="unavailable"],[data-status="restricted"],[data-status="environment_blocked"]) .status-badge{color:var(--warning);background:var(--warning-bg)}
.access-panel h2{font-size:1.75rem;font-weight:600;letter-spacing:-.035em;line-height:1.4;margin:28px 0 12px;scroll-margin-top:96px}
.access-panel h2:focus-visible{outline:3px solid var(--accent);outline-offset:6px;border-radius:2px}
.access-panel>p{font-size:1rem;line-height:1.75}
#access-description:empty,#access-entitlement-description:empty{display:none}
.access-panel .account-summary{color:var(--ink);padding:16px 0 0;border-top:1px solid var(--line);font-size:1rem;font-weight:600;margin:24px 0 0}
.access-actions{display:grid;gap:12px;margin-top:28px}
.access-panel .wide{width:100%;justify-content:center;min-width:0;white-space:normal;text-align:center;font-size:1rem;min-height:52px;border-radius:16px}
.access-panel .outline{border:1px solid var(--control-line);background:transparent;color:var(--ink)}
.access-panel .field-note{font-size:.9375rem;line-height:1.8;margin:16px 0}
.access-panel .status-announcement{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}
.account-actions{display:flex;flex-wrap:wrap;column-gap:20px;row-gap:4px;margin:20px 0 0;padding-top:12px;border-top:1px solid var(--line)}
.account-actions:not(:has(>button:not([hidden]))){display:none}
.account-actions .text-button{min-height:44px;white-space:normal;text-align:left;font-size:.9375rem}
.access-panel button:disabled{background:var(--panel);color:var(--muted);border-color:var(--line);cursor:not-allowed;opacity:1}
.access-panel .text-button:disabled{background:transparent;color:var(--muted)}
.access-links{display:flex;flex-wrap:wrap;gap:4px 24px;margin-top:20px;padding-top:12px;border-top:1px solid var(--line)}
.access-guide{white-space:normal;text-align:left;font-size:.9375rem;min-height:44px;gap:8px}
.entitlement-panel{margin-top:24px;background:var(--panel);border-color:transparent;box-shadow:none;padding:32px 40px}
.entitlement-panel>.eyebrow{margin:0}
.entitlement-panel .entitlement-state{font-size:1.125rem;font-weight:600;color:var(--ink)}
.entitlement-panel:is([data-entitlement-state="active"],[data-entitlement-state="trial"]) .entitlement-state{color:var(--accent)}
.entitlement-panel[data-entitlement-state="unavailable"] .entitlement-state{color:var(--warning)}
.entitlement-facts{margin:24px 0;padding:16px 0;border-block:1px solid var(--line);font-size:.9375rem}
.entitlement-facts>div{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.5fr);gap:16px;margin:12px 0;line-height:1.7}
.entitlement-facts dt{color:var(--muted)}
.entitlement-facts dd{margin:0;overflow-wrap:anywhere}
.entitlement-panel .text-button{white-space:normal;text-align:left;min-height:44px;font-size:.9375rem}
.panel-footnote{font-size:.875rem!important;margin:24px 0 0!important;padding-top:20px;border-top:1px solid var(--line)}
.access-wrap>noscript{grid-column:2;min-width:0}
.access-fallback{padding:20px;background:var(--warning-bg);color:var(--warning);border-radius:12px;font-size:1rem;line-height:1.8}
@media(max-width:1050px){.access-wrap{gap:40px;width:calc(100% - 64px)}.access-panel{padding:28px}}
@media(max-width:800px){.access-wrap{display:block;width:calc(100% - 40px);margin:48px auto 72px}.preview-notice{display:block;margin-bottom:40px}.preview-notice strong{display:block;margin-bottom:8px}.access-heading{padding:0;margin-bottom:40px}.access-heading h1{font-size:2.75rem;margin-bottom:20px}.access-intro,.access-heading .release-note{max-width:none}.access-panel{padding:28px 24px}.access-page .nav>.text-button{font-size:.875rem}}
@media(max-width:600px){.entitlement-facts>div{display:block}.entitlement-facts dd{margin-top:4px}}
@media(max-width:380px){.access-wrap{width:calc(100% - 32px)}.access-heading h1{font-size:2.5rem}.access-panel{padding:24px 20px}.access-panel h2{font-size:1.5rem}.status-badge{padding:6px 8px}}
