/* Standalone page using the accepted scoped presentation. */
html { background:#fff; font-family:system-ui,sans-serif; }
body { margin:0; }
#atc100-landing { box-sizing:border-box; max-width:800px; width:calc(100% - 32px); margin:0 auto; padding:1px 0 20px; color:#203b34; background:#f6f1e5; font:normal 16px/1.55 system-ui,-apple-system,"Segoe UI",sans-serif; }
#atc100-landing *, #atc100-landing *::before, #atc100-landing *::after { box-sizing:border-box; }
#atc100-landing .atc100-intro { position:static; float:none; width:auto; background:transparent; box-shadow:none; text-align:left; padding:3rem 0 1rem; }
#atc100-landing .atc100-eyebrow { color:#765719; font-weight:700; }
#atc100-landing .atc100-title { font-size:clamp(2rem,6vw,3.4rem); line-height:1.1; margin:.5rem 0 1rem; color:#203b34; text-transform:none; }
#atc100-landing .atc100-section-heading { font-size:clamp(1.35rem,4vw,1.9rem); line-height:1.3; color:#203b34; margin:0 0 .8rem; }
#atc100-landing p { line-height:1.55; margin:1em 0; }
#atc100-landing .atc100-section { display:block; margin:3.5rem 0; }
#atc100-landing .atc100-actions { display:flex; flex-wrap:wrap; gap:.75rem; margin-top:1.5rem; }
#atc100-landing .atc100-action { display:inline-block; max-width:100%; padding:.85rem 1.15rem; border:2px solid #203b34; border-radius:.4rem; font-weight:700; text-decoration:none; box-shadow:none; text-align:center; }
#atc100-landing .atc100-primary { background:#203b34; color:#fff; }
#atc100-landing .atc100-secondary { background:transparent; color:#203b34; }
#atc100-landing .atc100-action:hover { text-decoration:underline; }
#atc100-landing .atc100-figure { margin:0; padding:0; border:0; }
#atc100-landing .atc100-figure picture, #atc100-landing .atc100-image-button { display:block; width:100%; aspect-ratio:8/5; }
#atc100-landing .atc100-figure img { display:block; width:100%; height:100%; object-fit:contain; padding:0; border:0; margin:0; }
#atc100-landing .atc100-image-button { padding:0; margin:0; border:0; background:transparent; cursor:zoom-in; }
#atc100-landing .atc100-image-button picture { width:100%; }
#atc100-landing .atc100-figure figcaption { margin-top:.4rem; font-size:.9rem; color:#555; }
#atc100-landing :focus-visible { outline:3px solid #bd8123; outline-offset:3px; }
#atc100-landing .atc100-transcript { margin:.8rem 0; padding:.65rem .85rem; border:1px solid #c5bca7; border-radius:.35rem; background:#fffefa; }
#atc100-landing .atc100-transcript summary { cursor:pointer; font-weight:650; }
#atc100-landing .atc100-transcript-content { margin-top:.8rem; }
#atc100-landing .atc100-transcript-content h3 { margin:1.1rem 0 .2rem; font-size:1rem; font-weight:700; color:#203b34; }
#atc100-landing .atc100-transcript-content p { margin:.25rem 0 .8rem; }
#atc100-landing .atc100-price { border-left:3px solid #bd8123; padding:.3rem 0 .3rem .75rem; }
#atc100-landing .atc100-lightbox { border:0; border-radius:.5rem; padding:1rem; width:min(96vw,1450px); max-width:none; max-height:92vh; overflow:hidden; color:#203b34; background:#fffefa; }
#atc100-landing .atc100-lightbox::backdrop { background:rgb(0 0 0 / .75); }
#atc100-landing .atc100-dialog-header { display:flex; align-items:center; justify-content:space-between; gap:.5rem; }
#atc100-landing .atc100-dialog-header h2 { font-size:1.2rem; margin:0; color:#203b34; }
#atc100-landing .atc100-dialog-header button { padding:.6rem .8rem; cursor:pointer; }
#atc100-landing .atc100-image-scroll { overflow:auto; max-height:min(72vh,1000px); overscroll-behavior:contain; }
#atc100-landing .atc100-image-scroll picture, #atc100-landing .atc100-image-scroll img { display:block; width:1600px; max-width:none; height:1000px; }
#atc100-landing .atc100-note { font-size:.9rem; color:#52605b; }
@media (max-width:600px) { #atc100-landing .atc100-intro { padding-top:1.2rem; } #atc100-landing .atc100-action { width:100%; } }
/* RC2: hide duplicated visual headings while retaining their document semantics. */
#atc100-landing .atc100-visually-hidden {
  position:absolute !important;
  width:1px !important;
  height:1px !important;
  padding:0 !important;
  margin:-1px !important;
  overflow:hidden !important;
  clip:rect(0, 0, 0, 0) !important;
  white-space:nowrap !important;
  border:0 !important;
}

/* The accepted compositions contain production-only S01-S06 tags and footer
   provenance labels baked into the raster. These overlays hide those labels
   without cropping or modifying any published assets. Same effect in lightbox.
   Canvas #f6f1e5 is from exact original PNG background RGB (246,241,229). */
#atc100-landing .atc100-visual {
  position:relative;
  display:block;
  width:100%;
  aspect-ratio:8/5;
}
#atc100-landing .atc100-visual::before,
#atc100-landing .atc100-visual::after {
  content:"";
  position:absolute;
  display:block;
  z-index:2;
  pointer-events:none;
  background:#f6f1e5;
}
#atc100-landing .atc100-visual::before {
  left:3.85%;
  top:3.6%;
  width:8.1%;
  height:4.6%;
}
#atc100-landing .atc100-visual::after {
  left:2.9%;
  bottom:0;
  width:94.4%;
  height:5.5%;
}
#atc100-landing .atc100-visual picture {
  display:block;
  width:100%;
  height:100%;
}
#atc100-landing .atc100-zoom-canvas,
#atc100-landing .atc100-image-scroll .atc100-zoom-canvas {
  width:1600px;
  height:1000px;
  min-width:1600px;
  aspect-ratio:8/5;
}

/* RC3: accessible, always-visible chapter index. */
@counter-style atc100-chapter-number {
  system:numeric;
  symbols:"0" "1" "2" "3" "4" "5" "6" "7" "8" "9";
  pad:3 "0";
  suffix:". ";
}
#atc100-landing .atc100-towns-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:1.5rem 1rem; align-items:start; }
#atc100-landing .atc100-region { min-width:0; }
#atc100-landing .atc100-region h3 { margin:0 0 .45rem; color:#203b34; font-size:1.05rem; line-height:1.3; }
#atc100-landing .atc100-region ol { margin:0; padding-left:2.8rem; list-style-type:atc100-chapter-number; }
#atc100-landing .atc100-region li { overflow-wrap:anywhere; }
@media (max-width:900px) { #atc100-landing .atc100-towns-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media (max-width:600px) { #atc100-landing .atc100-towns-grid { grid-template-columns:minmax(0,1fr); } }
