/* Structural rules for public reading pages. Typography and chrome are shared. */
body.ls-guide,
body.ls-document { min-height:100svh; display:flex; flex-direction:column; background:var(--ls-paper); color:var(--ls-ink); }
body.ls-guide > .geo-wrap,
body.ls-document > .content { flex:1; }
body.ls-guide > :is(.ls-site-header,footer),
body.ls-document > :is(.ls-site-header,footer) { flex-shrink:0; }


.geo-wrap > ul:not(.geo-list) { list-style:none; margin:0; padding:0; }
.geo-list { margin:0 0 var(--ls-space-6) 22px; color:var(--ls-muted); }
.geo-directory-list { list-style:none; margin:0; padding:0; }
.geo-directory-list > li { padding:var(--ls-space-2) 0; }
.geo-directory-list > li > span { color:var(--ls-muted); font-size:var(--ls-small); }
.geo-directory-list--columns { columns:2; column-gap:var(--ls-space-8); }
.geo-wrap > ul:not(.geo-list) > li { padding:var(--ls-space-3) 0; border-bottom:1px solid var(--ls-line); break-inside:avoid; }
.geo-wrap > ul:not(.geo-list) > li > span { color:var(--ls-muted); font-size:var(--ls-small); }
.geo-wrap > ul:has(> li > a) { columns:2; column-gap:var(--ls-space-8); }
.geo-table { display:block; width:100%; overflow-x:auto; border-collapse:collapse; margin:var(--ls-space-6) 0; }
.geo-table :is(th,td) { padding:12px 16px; border-bottom:1px solid var(--ls-line); color:var(--ls-ink); text-align:left; vertical-align:top; }
.geo-table th { font-size:var(--ls-caption); font-weight:600; letter-spacing:.04em; text-transform:uppercase; }
.geo-table td { font-size:var(--ls-small); }
.geo-tag-row { display:flex; flex-wrap:wrap; gap:var(--ls-space-2); margin-top:var(--ls-space-2); }
.geo-tag { display:inline-block; padding:4px 8px; border-radius:var(--ls-radius); background:var(--ls-blue); color:var(--ls-ink); font-size:var(--ls-caption); }
.geo-cta-card { margin-top:var(--ls-space-12); padding:var(--ls-space-8); background:var(--ls-blue); }
.geo-cta-card h3 { margin-top:0; }
.geo-cta-btn,
.ls-info-action,
.ls-contact__action { display:inline-flex; align-items:center; justify-content:center; min-height:44px; margin-top:var(--ls-space-3); padding:10px 16px; background:var(--ls-ink); color:var(--ls-blue); font-size:var(--ls-small); font-weight:600; letter-spacing:.02em; text-decoration:none; text-transform:uppercase; }
.geo-related,
.geo-faq { margin-top:var(--ls-space-12); }
.geo-related ul { columns:2; column-gap:var(--ls-space-8); list-style:none; padding:0; }
.geo-related li { break-inside:avoid; padding:var(--ls-space-2) 0; }
.geo-faq details { padding:var(--ls-space-4) 0; border-top:1px solid var(--ls-line); }
.geo-faq details:last-child { border-bottom:1px solid var(--ls-line); }
.geo-faq summary { position:relative; padding-right:24px; color:var(--ls-ink); cursor:pointer; font-size:var(--ls-lead); font-weight:500; list-style:none; }
.geo-faq summary::-webkit-details-marker { display:none; }
.geo-faq summary::after { content:'+'; position:absolute; right:0; }
.geo-faq details[open] summary::after { content:'−'; }
.geo-faq details p { margin-top:var(--ls-space-3); }


.content > :first-child { margin-top:0; }
.content :is(h1,h2,h3) { color:var(--ls-ink); }
.content h1 { margin-bottom:var(--ls-space-2); }
.content h2 { margin:var(--ls-space-12) 0 var(--ls-space-4); }
.content h3 { margin:var(--ls-space-8) 0 var(--ls-space-3); }
.content p,
.content li { max-width:70ch; color:var(--ls-muted); }
.content p { margin:0 0 var(--ls-space-4); }
.content ul,
.content ol { margin:0 0 var(--ls-space-4) 22px; }
.subtitle { max-width:60ch; margin-bottom:var(--ls-space-8)!important; font-size:var(--ls-lead); }
.notice { margin-bottom:var(--ls-space-6)!important; font-size:var(--ls-small); }
.lang-section { display:none; }
.lang-section.active { display:block; }
.ls-info-email { display:block; max-width:100%; margin-top:var(--ls-space-3); padding:8px 0; border:0; border-bottom:1px solid var(--ls-line); background:transparent; color:var(--ls-ink); font:500 var(--ls-lead)/1.5 var(--ls-font); text-align:left; text-decoration:underline; text-underline-offset:4px; overflow-wrap:anywhere; cursor:pointer; }
.ls-info-copy-status { display:block; color:var(--ls-muted); font-size:var(--ls-small); }

html:has(.ls-contact),
body.ls-document:has(.ls-contact) { background:var(--ls-blue); overscroll-behavior-y:none; }
.ls-contact { position:relative; isolation:isolate; display:flex; flex:1; align-items:center; min-height:640px; overflow:hidden; background:var(--ls-ink); color:#fff; }
.ls-contact__copy { width:100%; padding:64px var(--ls-gutter); }
.ls-contact :is(h1,p) { color:#fff; }
.ls-contact h1 { margin:0 0 var(--ls-space-8); }
.ls-contact__lead { margin:0 0 var(--ls-space-4); font-size:var(--ls-lead); font-weight:600; }
.ls-contact__body { max-width:42ch; margin:0 0 var(--ls-space-8); }
.ls-contact__action { margin-top:0; background:var(--ls-blue); color:var(--ls-ink); }
.ls-contact__address { display:block; max-width:100%; margin:var(--ls-space-4) 0 0; padding:8px 0; border:0; background:transparent; color:#fff; font:500 var(--ls-lead)/1.5 var(--ls-font); text-align:left; text-decoration:underline; text-underline-offset:4px; overflow-wrap:anywhere; cursor:pointer; }
.ls-contact__copy-status { display:block; color:#fff; font-size:var(--ls-small); }
.ls-contact__image { position:absolute; inset:0; z-index:-2; background:var(--ls-ink); }
.ls-contact__image img { width:100%; height:100%; object-fit:cover; object-position:center 65%; }
.ls-contact::before { content:''; position:absolute; inset:0; z-index:-1; background:linear-gradient(90deg,rgba(7,11,17,.78),rgba(7,11,17,.45) 55%,rgba(7,11,17,.08)),linear-gradient(0deg,rgba(7,11,17,.43),transparent 65%); }

@media (max-width:600px) {
  .geo-wrap > ul:has(> li > a),
  .geo-directory-list--columns,
  .geo-related ul { columns:1; }
  .geo-cta-card { padding:var(--ls-space-6); }
  .ls-contact { min-height:560px; }
  .ls-contact__copy { padding-block:var(--ls-section-space); }
}
