/* The source document is the focus; the reader stays separate from demo styles. */
#platform .atlas-entry { display:grid; grid-template-columns:minmax(0,1.25fr) minmax(270px,.75fr); gap:48px; align-items:center; padding:34px 0; margin-top:40px; border-block:1px solid #a8e5c936; }
.atlas-eyebrow { display:block; font:500 10px/1.7 var(--mono); letter-spacing:.06em; }
#platform .atlas-eyebrow { color:#8ae0c6; }
#platform .atlas-entry h3 { font-size:clamp(29px,3.2vw,48px); letter-spacing:-.04em; line-height:1.15; margin:13px 0; font-weight:600; }
#platform .atlas-entry h3 em { color:#8ae0c6; font:italic 500 1.12em var(--serif); }
#platform .atlas-entry-copy p { color:#bdd5c7; font-size:16px; line-height:1.65; max-width:56ch; margin:0; }
#platform .atlas-entry-action button { background:#e7f4ea; color:#062b23; padding:18px 20px; border:1px solid #e7f4ea; display:flex; align-items:center; justify-content:space-between; gap:20px; width:100%; min-height:58px; font:600 11px/1.5 var(--mono); text-align:left; }
#platform .atlas-entry-action button:hover { background:#8ae0c6; }
#platform .atlas-entry-action button span { font:28px/1 'Geist',sans-serif; }
#platform .atlas-entry-action p { font-size:12px; line-height:1.65; color:#bed2c6; margin:15px 0 0; }
#platform .atlas-entry button:focus-visible { outline:2px solid #8ae0c6; outline-offset:5px; }
html.atlas-is-open { overflow:hidden; scrollbar-gutter:stable; }
#atlas-dialog { inset:0; width:min(1500px,calc(100vw - 48px)); height:min(1000px,calc(100dvh - 48px)); max-width:none; max-height:none; padding:0; margin:auto; border:1px solid #829f90; border-radius:4px; background:#f8f8f1; color:#102b23; overflow:hidden; box-shadow:0 30px 120px #00120dc0; }
#atlas-dialog::backdrop { background:#001a15c7; backdrop-filter:blur(9px); }
#atlas-dialog[open] { display:flex; flex-direction:column; }
#atlas-dialog [hidden] { display:none!important; }
#atlas-dialog button,#atlas-dialog select,#atlas-dialog input { font:inherit; }
#atlas-dialog button { color:inherit; }
#atlas-dialog :is(button,a,select,input):focus-visible { outline:2px solid #008c7c; outline-offset:3px; }
.atlas-top { display:flex; justify-content:space-between; align-items:center; gap:20px; padding:17px 25px; border-bottom:1px solid #ccd8cf; flex:none; }
.atlas-brand { display:flex; align-items:center; gap:13px; font:500 11px/1.5 var(--mono); letter-spacing:.06em; }
.atlas-brand img { width:28px; height:28px; }
.atlas-top-actions { display:flex; align-items:center; gap:22px; }
#atlas-dialog .atlas-privacy-link { min-height:40px; background:none; border:0; border-bottom:1px solid #cad8ce; padding:4px 0; color:#007d6b; font-size:12px; white-space:nowrap; }
#atlas-dialog .atlas-close { display:flex; align-items:center; gap:12px; border:0; padding:4px 0 4px 12px; min-height:40px; background:none; font-size:12px; }
.atlas-close b { font-size:27px; font-weight:400; }
.atlas-gate { flex:1; min-height:0; overflow:auto; overscroll-behavior:contain; padding:clamp(24px,4vw,58px) clamp(24px,7vw,100px); }
.atlas-gate-inner { max-width:940px; margin:auto; }
.atlas-gate .atlas-eyebrow { color:#007c6d; }
#atlas-dialog .atlas-gate h2 { font-size:clamp(36px,4.6vw,64px); line-height:1.03; margin:20px 0 22px; font-weight:600; letter-spacing:-.055em; }
#atlas-dialog .atlas-gate h2 em { color:#008b7c; font:italic 500 1.06em/1.15 var(--serif); }
.atlas-gate-lead { color:#4b6459; font-size:clamp(16px,1.6vw,20px); line-height:1.6; max-width:65ch; margin-bottom:27px; }
.atlas-privacy-points { margin:0; padding:0; list-style:none; display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); column-gap:44px; border-block:1px solid #cad8ce; }
.atlas-privacy-points li { position:relative; display:grid; grid-template-rows:subgrid; grid-row:span 3; min-width:0; padding:23px 0 24px; }
.atlas-privacy-points li+li::before { content:''; position:absolute; top:0; bottom:0; left:-22px; width:1px; background:#cad8ce; }
.atlas-privacy-points span { color:#008b7c; font:11px var(--mono); }
.atlas-privacy-points strong { display:block; font-size:18px; line-height:1.35; font-weight:600; margin:13px 0 9px; letter-spacing:-.025em; text-wrap:balance; }
.atlas-privacy-points p { font-size:14px; line-height:1.6; color:#4b6459; margin:0; text-wrap:balance; }
@supports not (grid-template-rows:subgrid) {
  .atlas-privacy-points li { grid-template-rows:auto auto 1fr; }
  .atlas-privacy-points strong { min-height:2.7em; }
}
.atlas-gate-footer { display:flex; align-items:center; justify-content:space-between; gap:35px; margin-top:28px; }
.atlas-gate-footer p { color:#52685e; font-size:13px; line-height:1.6; max-width:40ch; margin:0; }
#atlas-dialog .atlas-continue { background:#07382c; color:#fff; border:0; display:flex; justify-content:space-between; align-items:center; gap:30px; min-height:54px; padding:16px 22px; font-size:14px; white-space:nowrap; }
#atlas-dialog .atlas-continue:hover { background:#006f60; }
.atlas-reader { display:grid; grid-template-columns:245px minmax(0,1fr); flex:1; min-height:0; }
.atlas-sidebar { padding:27px 22px 22px; display:flex; flex-direction:column; overflow:auto; border-right:1px solid #cad8ce; }
.atlas-sidebar .atlas-eyebrow { color:#008b7c; font-size:9px; }
#atlas-dialog .atlas-sidebar h2 { font-size:27px; letter-spacing:-.04em; line-height:1.15; margin:15px 0 24px; font-weight:600; }
.atlas-chapters { display:grid; gap:5px; }
#atlas-dialog .atlas-chapters button { background:none; border:0; text-align:left; display:flex; align-items:center; justify-content:space-between; gap:10px; min-height:44px; padding:11px 10px; color:#4e665b; font-size:13px; }
#atlas-dialog .atlas-chapters button span { font:10px var(--mono); color:#688277; }
#atlas-dialog .atlas-chapters button[aria-current="page"],#atlas-dialog .atlas-chapters button:hover { background:#e1eee4; color:#006b5c; }
.atlas-sidebar-bottom { border-top:1px solid #cad8ce; margin-top:auto; padding-top:22px; }
.atlas-sidebar-bottom p { font-size:12px; line-height:1.6; color:#52685e; margin:22px 0; }
.atlas-sidebar-bottom a { font-size:13px; display:flex; justify-content:space-between; align-items:center; gap:10px; font-weight:600; padding:10px 0; }
.atlas-reader-main { min-width:0; min-height:0; display:flex; flex-direction:column; background:#e8ece6; }
.atlas-toolbar { padding:12px 22px; flex:none; display:flex; gap:18px; justify-content:space-between; align-items:center; background:#f8f8f1; border-bottom:1px solid #cad8ce; }
.atlas-zoom-label { order:2; }
.atlas-page-controls { display:flex; gap:8px; align-items:center; white-space:nowrap; font-size:12px; }
#atlas-dialog .atlas-page-controls button { width:38px; height:38px; background:transparent; border:1px solid #cad8ce; font-size:19px; }
#atlas-dialog .atlas-page-controls button:disabled { opacity:.3; }
.atlas-page-controls label { margin-left:5px; }
#atlas-dialog .atlas-page-controls input { width:48px; height:38px; border:1px solid #cad8ce; background:#fff; text-align:center; appearance:textfield; border-radius:0; font-size:13px; }
.atlas-page-controls input::-webkit-inner-spin-button { appearance:none; }
.atlas-zoom-label { display:flex; align-items:center; gap:9px; font-size:12px; }
#atlas-dialog select { border:1px solid #cad8ce; color:#17382d; background:#fff; border-radius:0; min-height:38px; padding:7px; font-size:12px; max-width:100%; }
.atlas-mobile-chapters { display:none; }
.atlas-page-viewport { flex:1; min-height:0; min-width:0; overflow:auto; overscroll-behavior:contain; scroll-behavior:auto; padding:25px; outline-offset:-4px!important; }
.atlas-page-surface { width:100%; max-width:900px; margin:auto; position:relative; display:flex; flex-direction:column; gap:25px; }
.atlas-document-page { position:relative; flex:none; aspect-ratio:1203 / 1700; background:#fff; box-shadow:0 4px 18px #253b3020; }
.atlas-page-loading { position:absolute; inset:0 0 auto; padding:45px 20px; text-align:center; color:#52685e; background:#fff; margin:0; font-size:14px; }
.atlas-page-surface img { display:block; width:100%; max-width:none; height:auto; background:#fff; }
.atlas-page-error { position:absolute; inset:0 0 auto; padding:35px; background:#fff; margin:0; }
.atlas-reader-note { flex:none; display:flex; justify-content:space-between; align-items:center; gap:15px; padding:12px 22px; border-top:1px solid #cad8ce; background:#f8f8f1; }
.atlas-reader-note p { font-size:10px; line-height:1.5; color:#546b5e; margin:0; }
.atlas-mobile-rai { display:none; font-size:11px; color:#006e60; white-space:nowrap; }
.atlas-screenreader { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }
@media(max-width:800px) {
  #platform .atlas-entry { grid-template-columns:1fr; gap:23px; padding-block:28px; }
  #platform .atlas-entry-action { max-width:540px; }
  #atlas-dialog { width:calc(100vw - 24px); height:calc(100dvh - 24px); }
  .atlas-reader { grid-template-columns:1fr; }
  .atlas-sidebar { display:none; }
  .atlas-mobile-chapters { display:block; flex:1; min-width:0; }
  .atlas-mobile-chapters select { width:100%; }
  .atlas-toolbar { flex-wrap:wrap; padding:10px 14px; gap:10px; }
  .atlas-zoom-label { margin-left:auto; }
  .atlas-page-viewport { padding:12px; }
  .atlas-reader-note { padding:10px 14px; }
  .atlas-mobile-rai { display:block; padding:7px 0; }
}
@media(max-width:1023px) {
  .atlas-privacy-points { grid-template-columns:1fr; column-gap:0; }
  .atlas-privacy-points li { grid-row:auto; grid-template-columns:24px minmax(0,1fr); grid-template-rows:auto auto; gap:5px 12px; padding:20px 0; }
  .atlas-privacy-points li+li { border-top:1px solid #cad8ce; }
  .atlas-privacy-points li+li::before { display:none; }
  .atlas-privacy-points span { padding-top:4px; }
  .atlas-privacy-points strong { min-height:0; margin:0; font-size:18px; }
  .atlas-privacy-points p { grid-column:2; text-wrap:pretty; }
}
@media(max-width:560px) {
  #platform .atlas-entry { margin-top:28px; }
  #platform .atlas-entry-copy p { font-size:14px; }
  #platform .atlas-entry-action button { font-size:10px; padding:16px; }
  #platform .atlas-entry-action p { font-size:11px; }
  #atlas-dialog { width:100vw; height:100dvh; border:0; border-radius:0; }
  .atlas-top { padding:10px 16px; gap:10px; }
  .atlas-brand { font-size:9px; gap:10px; letter-spacing:.025em; }
  .atlas-brand img { width:25px; height:25px; }
  .atlas-top-actions { gap:8px; }
  #atlas-dialog .atlas-privacy-link { font-size:10px; }
  #atlas-dialog:has(.atlas-reader:not([hidden])) .atlas-brand span { max-width:120px; }
  .atlas-close span { display:none; }
  .atlas-gate { padding:24px 22px 30px; }
  #atlas-dialog .atlas-gate h2 { font-size:38px; margin:18px 0; }
  .atlas-gate-lead { font-size:15px; margin-bottom:20px; }
  .atlas-privacy-points { grid-template-columns:1fr; }
  .atlas-privacy-points li,.atlas-privacy-points li+li { display:grid; grid-template-columns:24px 1fr; gap:5px 8px; padding:15px 0; border-left:0; }
  .atlas-privacy-points li+li { border-top:1px solid #cad8ce; }
  .atlas-privacy-points span { padding-top:4px; }
  .atlas-privacy-points strong { margin:0; font-size:18px; }
  .atlas-privacy-points p { grid-column:2; font-size:13px; }
  .atlas-gate-footer { flex-direction:column-reverse; align-items:stretch; gap:15px; margin-top:22px; }
  .atlas-gate-footer p { max-width:none; font-size:12px; }
  #atlas-dialog .atlas-continue { width:100%; }
  .atlas-mobile-chapters { flex-basis:100%; }
  .atlas-page-controls { order:1; }
  .atlas-page-controls { gap:6px; }
  .atlas-page-controls label { display:none; }
  .atlas-zoom-label > span { display:none; }
  .atlas-reader-note p { font-size:9px; max-width:28ch; }
}
