/* KL1: native layout refinements for GL4. */
body:has(>main.gl2-page[data-gl2-page]){overflow-x:clip;overflow-y:visible}
/* GL4: main dashboard and generous right-hand hero above the chapter navigation. */
.gl2-page{--gl-bg:#f7f5f0;--gl-paper:#fffefa;--gl-ink:#252827;--gl-muted:#626760;--gl-line:#dddace;--gl-accent:#7b1724;--gl-gold:#a17a37;background:var(--gl-bg);color:var(--gl-ink);font-size:17px;line-height:1.75;padding:24px 0 60px}
body.dark .gl2-page{--gl-bg:#171b1e;--gl-paper:#20262a;--gl-ink:#ecebe5;--gl-muted:#bbc0ba;--gl-line:#3c4549;--gl-accent:#f0b9af;--gl-gold:#ddbc7c}
.gl2-page *{box-sizing:border-box}.gl2-page [hidden],.gl2-lightbox [hidden]{display:none!important}.gl2-page a{color:var(--gl-accent);text-underline-offset:4px}.gl2-page :is(button,a,summary):focus-visible,.gl2-lightbox :is(button,a):focus-visible{outline:3px solid #b78223;outline-offset:4px}
.gl2-page h1,.gl2-page h2,.gl2-page h3{color:inherit;line-height:1.2;text-wrap:balance}.gl2-page h1{font-family:Georgia,serif;font-size:clamp(2rem,2.9vw,3.15rem);font-weight:500;margin:10px 0 18px}.gl2-page h2{font-family:Georgia,serif;font-size:clamp(1.65rem,2.3vw,2.3rem);font-weight:500;margin:0 0 22px}.gl2-page h3{font-size:1.2rem;margin:0 0 15px}.gl2-page p{margin:0 0 1.15em}.gl2-page button{font:inherit;cursor:pointer;border:1px solid var(--gl-line);border-radius:6px;padding:9px 14px;background:var(--gl-paper);color:var(--gl-ink);line-height:1.4;min-height:44px}.gl2-page button:disabled{opacity:.48;cursor:default}.gl2-page button:hover:not(:disabled){border-color:var(--gl-accent)}
.gl2-shell{width:97%;max-width:none;margin-inline:auto}.gl4-layout{display:grid;grid-template-columns:minmax(190px,230px) minmax(0,1fr);grid-template-areas:"dashboard dashboard" "hero hero" "sidebar content";column-gap:clamp(24px,3vw,48px);align-items:start}.gl3-dashboard{grid-area:dashboard}.gl3-hero-row{grid-area:hero}.gl3-content{grid-area:content;min-width:0}.gl3-sidebar{grid-area:sidebar;position:sticky;top:var(--gl-header-offset,180px);padding-top:12px;max-height:calc(100vh - var(--gl-header-offset,180px) - 20px);overflow:auto}.gl3-sidebar>details>summary{display:none}.gl2-toc{border-top:2px solid var(--gl-gold);padding-top:17px;font-size:.85rem;line-height:1.45}.gl2-toc h2{font:700 .76rem system-ui;letter-spacing:.07em;text-transform:uppercase;color:var(--gl-muted);margin:0 0 12px}.gl2-toc a{display:block;padding:7px 0;border-bottom:1px solid var(--gl-line);text-decoration:none}.gl3-topic-links{margin-bottom:14px}.gl3-topic-links a[aria-current=page]{font-weight:750;border-left:3px solid var(--gl-accent);padding-left:10px;background:var(--gl-paper)}
.gl3-dashboard{padding-bottom:23px;border-bottom:1px solid var(--gl-line)}.gl2-eyebrow{color:var(--gl-gold);letter-spacing:.12em;text-transform:uppercase;font-size:.72rem;font-weight:750;margin-bottom:10px!important}.gl2-local-nav{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.gl2-local-nav a{display:flex;align-items:flex-start;gap:10px;padding:13px 12px;border:1px solid var(--gl-line);border-radius:6px;background:var(--gl-paper);text-decoration:none;line-height:1.35;min-width:0}.gl2-local-nav strong{display:block;font-size:1rem}.gl2-local-nav small{display:block;color:var(--gl-muted);font-size:.8rem;margin-top:7px}.gl3-dashboard-number{font-size:.72rem;font-weight:700;color:var(--gl-gold);padding-top:2px}.gl2-local-nav a[aria-current=page]{border-color:var(--gl-accent);box-shadow:inset 0 -3px var(--gl-accent)}
.gl3-hero-row{display:grid;grid-template-columns:minmax(0,.78fr) minmax(0,1.22fr);gap:clamp(30px,4vw,72px);align-items:center;padding:30px 0;border-bottom:1px solid var(--gl-line)}.gl2-intro{min-width:0;text-align:center}.gl2-lead{font-size:clamp(1rem,1.2vw,1.13rem);color:var(--gl-muted);line-height:1.7;margin-bottom:0!important}.gl2-hero{margin:0;width:100%;max-width:100%;justify-self:end}.gl2-hero-image{background:var(--gl-paper);border:1px solid var(--gl-line);border-radius:7px;overflow:hidden}.gl2-hero-image>img{display:block;width:100%;height:auto;aspect-ratio:1672/941;object-fit:contain}.gl2-hero figcaption{display:flex;justify-content:flex-end;font-size:.76rem;padding-top:6px}.gl2-hero figcaption a{padding:4px 0}.gl2-prose{min-width:0}.gl2-section{padding:32px 0;border-bottom:1px solid var(--gl-line);scroll-margin-top:var(--gl-header-offset,180px)}.gl2-section>p{max-width:none}.gl2-citations{font-size:.77rem;color:var(--gl-muted);display:flex;gap:10px;flex-wrap:wrap;margin-top:18px}.gl2-citations a{text-decoration:none}.gl2-jumps{display:flex;flex-wrap:wrap;gap:10px;margin:24px 0}.gl2-jumps a{display:block;border:1px solid var(--gl-line);border-radius:5px;background:var(--gl-paper);padding:9px 13px;text-decoration:none;font-size:.86rem}.gl2-muted{color:var(--gl-muted);font-size:.84rem}
.gl2-routes{padding-top:35px}.gl2-route-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:15px}.gl2-route{color:var(--gl-ink)!important;background:var(--gl-paper);border:1px solid var(--gl-line);border-radius:6px;overflow:hidden;text-decoration:none!important}.gl2-route img{display:block;width:100%;height:auto;aspect-ratio:16/9;object-fit:cover}.gl2-route div{padding:15px}.gl2-route h3{font-family:Georgia,serif;font-size:1.08rem}.gl2-route p{font-size:.8rem;line-height:1.55;color:var(--gl-muted)}.gl2-route b{font-size:.8rem;color:var(--gl-accent)}.gl2-sources{font-size:.84rem;line-height:1.6;padding-left:1.3em}.gl2-sources li{margin-bottom:13px;overflow-wrap:anywhere;scroll-margin-top:var(--gl-header-offset,180px)}
.gl2-mansions{display:grid;grid-template-columns:minmax(240px,.7fr) minmax(0,1.3fr);gap:30px;margin-top:22px}.gl3-mansion-map{min-width:0}.gl3-castle-plan{margin:0 0 18px}.gl3-castle-plan svg{display:block;width:100%;max-width:340px;margin:auto}.gl3-castle-plan figcaption{font-size:.78rem;color:var(--gl-muted);line-height:1.55;text-align:center}.gl3-castle-plan figcaption p{margin:8px 0}.gl3-wall{stroke:#766953;stroke-width:2;transition:fill .15s}.gl3-battlements{fill:none;stroke:#998a70;stroke-width:3;stroke-dasharray:7 6;pointer-events:none}.gl3-ring[aria-current=true]>.gl3-wall{stroke:#7b1724;stroke-width:5}.gl3-ring:hover>.gl3-wall,.gl3-ring:focus>.gl3-wall{stroke:#7b1724;stroke-width:5}.gl3-tower,.gl3-plan-gate{fill:#b7ab91;stroke:#766953;stroke-width:2;pointer-events:none}.gl3-plan-chapel{fill:#f6e5b8;stroke:#63422a;stroke-width:2;pointer-events:none}.gl3-plan-number circle{fill:#fff7e4;stroke:#9e8157;stroke-width:2}.gl3-plan-number text{font:700 19px Georgia,serif;fill:#512b22}.gl3-plan-number[aria-current=true] circle{fill:#7b1724;stroke:#7b1724}.gl3-plan-number[aria-current=true] text{fill:white}
.gl2-mansion-tabs{display:grid;grid-template-columns:1fr;gap:5px}.gl2-mansion-tabs a{padding:8px 10px;border:1px solid var(--gl-line);border-radius:4px;text-decoration:none;color:var(--gl-ink);font-size:.79rem;line-height:1.4;min-height:40px}.gl2-mansion-tabs a[aria-selected=true]{background:var(--gl-accent);border-color:var(--gl-accent);color:var(--gl-paper);font-weight:650}.gl2-mansion-panel{scroll-margin-top:var(--gl-header-offset,180px)}.gl2-mansion-panel h3{font-family:Georgia,serif;font-size:1.7rem}.gl2-mansion-panel p:last-of-type{border-left:2px solid var(--gl-gold);padding-left:17px}.gl2-mansion-panel+.gl2-mansion-panel{margin-top:38px}.gl2-mansion-controls{display:flex;flex-wrap:wrap;gap:9px;margin:18px 0}.gl3-grace-thread{background:var(--gl-paper);border-top:2px solid var(--gl-gold);padding:14px 17px;color:var(--gl-accent);font-size:.98rem}

/* Native castle comparison: one size definition for both illustrations. */
.gl4-castle-comparison {
  --castle-height: clamp(290px, 36vh, 360px);
  display: grid;
  grid-template-columns: minmax(0, .75fr) minmax(0, 1.25fr);
  gap: 18px;
  align-items: start;
  margin: 10px 0 0;
}
.gl4-castle-comparison .gl3-castle-plan { margin: 0; }
.gl4-castle-comparison .gl3-castle-plan svg {
  display: block;
  width: min(100%, var(--castle-height));
  height: auto;
  max-width: none;
  margin: auto;
}
.gl4-castle-photo {
  margin: 0;
  min-width: 0;
  width: min(100%, calc(var(--castle-height) * 1.777));
  justify-self: center;
}
.gl4-castle-photo figcaption {
  color: var(--gl-muted);
  padding: 2px 0;
  text-align: right;
  font-size: .73rem;
  line-height: 1.3;
}
.gl4-numbered-photo { position: relative; height: var(--castle-height); }
.gl4-numbered-photo > img {
  width: 100%;
  height: 100%;
  aspect-ratio: auto;
  object-fit: contain;
}
.gl4-photo-number {
  position: absolute;
  transform: translate(-50%, -50%);
  display: grid;
  place-items: center;
  width: 24px;
  height: 24px;
  border-radius: 50%;
  background: #fff8e6;
  color: #66252a !important;
  border: 1.5px solid #8d6834;
  box-shadow: 0 1px 5px #0008;
  text-decoration: none;
  font: bold 14px Georgia;
}
.gl4-photo-number[aria-current=true] {
  background: #7b1724;
  color: white !important;
  border-color: #fff0c5;
}
.gl4-readings{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.gl4-reading{padding:19px;border:1px solid var(--gl-line);border-radius:6px;background:var(--gl-paper)}.gl4-reading p{font-size:.95rem}.gl4-reading a{font-size:.85rem}.gl4-reading-languages{display:flex;flex-wrap:wrap;gap:9px;margin-top:12px}.gl4-reading-languages a{font-size:.75rem}

.gl2-timer{background:var(--gl-paper);border:1px solid var(--gl-line);border-radius:12px;padding:clamp(18px,3vw,32px);margin:25px 0}.gl2-timer-top{display:flex;align-items:center;justify-content:space-between;gap:25px;flex-wrap:wrap}.gl2-clock{font-variant-numeric:tabular-nums;font-size:clamp(2.8rem,6vw,5rem);font-weight:300;line-height:1.1;letter-spacing:-.04em}.gl2-timer progress{display:block;width:100%;height:8px;border:0;accent-color:var(--gl-accent);margin:20px 0}.gl2-timer-controls{display:flex;flex-wrap:wrap;gap:10px}.gl2-page .gl2-primary{background:var(--gl-accent);color:var(--gl-paper);border-color:var(--gl-accent)}.gl2-timer-stage{font-size:1.08rem;font-weight:700;margin:0!important}.gl2-step-list{padding:0;list-style:none;counter-reset:gl-steps;display:grid;gap:15px}.gl2-step{counter-increment:gl-steps;border-left:3px solid var(--gl-line);padding:12px 0 12px 22px}.gl2-step h3:before{content:counter(gl-steps,decimal-leading-zero) ' / ';color:var(--gl-gold);font-size:.9em}.gl2-step p{margin:0}.gl2-step.gl2-active{border-color:var(--gl-accent);background:var(--gl-paper)}.gl2-step-select{margin-top:12px!important;font-size:.83rem!important}.gl2-example{background:var(--gl-paper);padding:30px!important;border:1px solid var(--gl-line);border-radius:10px;margin-top:25px}.gl2-example h2{font-size:1.8rem}

.gl2-prayer{background:var(--gl-paper);border-left:4px solid var(--gl-gold);padding:30px!important;margin-top:30px;font-family:Georgia,serif;font-size:1.2rem}.gl2-mystery{background:var(--gl-paper);border:1px solid var(--gl-line);border-radius:8px;margin:14px 0}.gl2-mystery summary{padding:20px;cursor:pointer;font-weight:650}.gl2-mystery>div{padding:0 20px 20px}.gl2-mystery p{margin:0 0 14px}
.gl2-lightbox{color:#f5f1e8;background:#121619;border:1px solid #596165;padding:0;width:min(96vw,1800px);max-width:96vw;max-height:95vh;max-height:95dvh;border-radius:10px;box-shadow:0 20px 80px #0008}.gl2-lightbox::backdrop{background:#000c}.gl2-lightbox-toolbar{display:flex;align-items:center;gap:8px;flex-wrap:wrap;padding:12px 16px;border-bottom:1px solid #4c5355}.gl2-lightbox-toolbar button,.gl2-lightbox-toolbar a{color:#f5f1e8;background:#262e32;border:1px solid #657177;border-radius:5px;padding:8px 12px;cursor:pointer;font:inherit;font-size:.88rem;text-decoration:none}.gl2-lightbox-toolbar .gl2-close{margin-left:auto}.gl2-lightbox-view{overflow:auto;height:min(74vh,1000px);height:min(74dvh,1000px);overscroll-behavior:contain;touch-action:pan-x pan-y}.gl2-lightbox-canvas{display:grid;place-items:center;min-width:100%;min-height:100%;width:max-content}.gl2-lightbox-image{display:block;max-width:none!important;height:auto;flex:none}.gl2-lightbox-help{font-size:.77rem;padding:9px 16px;margin:0;color:#d6d9d8}.gl2-zoom-value{font-variant-numeric:tabular-nums;font-size:.82rem;min-width:3.2em;text-align:center}.gl2-visually-hidden{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}

@media(max-width:1150px){.gl2-local-nav{grid-template-columns:repeat(2,minmax(0,1fr))}.gl4-layout{grid-template-columns:195px minmax(0,1fr);gap:25px}.gl3-hero-row{gap:20px}.gl2-mansions{grid-template-columns:minmax(220px,.7fr) minmax(0,1.3fr);gap:22px}.gl2-route-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:900px){.gl4-layout{grid-template-columns:1fr;grid-template-areas:"dashboard" "hero" "sidebar" "content";gap:18px}.gl3-sidebar{position:static;padding-top:0;max-height:none;overflow:visible}.gl3-sidebar>details{border:1px solid var(--gl-line);border-radius:6px;background:var(--gl-paper);padding:10px 14px}.gl3-sidebar>details>summary{display:list-item;cursor:pointer;color:var(--gl-accent);font-weight:650}.gl2-toc{border:0;padding-top:15px}.gl3-topic-links{display:grid;grid-template-columns:1fr 1fr;gap:0 15px}.gl2-toc>h2:first-child{display:none}.gl3-dashboard{padding-bottom:18px}.gl3-hero-row{padding:24px 0}}
@media(max-width:640px){.gl2-page{font-size:16px;padding-top:16px}.gl2-shell{width:94%}.gl2-local-nav{gap:7px}.gl2-local-nav a{padding:10px 9px;gap:6px}.gl2-local-nav strong{font-size:.77rem}.gl2-local-nav small{font-size:.67rem}.gl3-dashboard-number{font-size:.65rem}.gl3-hero-row{grid-template-columns:1fr;gap:18px}.gl2-page h1{font-size:2rem;line-height:1.2}.gl2-hero{max-width:100%;justify-self:end}.gl2-hero-image>img{max-height:none}.gl2-hero figcaption{font-size:.75rem}.gl2-mansions{grid-template-columns:1fr}.gl3-castle-plan svg{max-width:300px}.gl2-mansion-tabs{grid-template-columns:1fr 1fr;gap:6px}.gl2-mansion-tabs a{font-size:.78rem;min-height:44px}.gl2-route-grid{grid-template-columns:1fr}.gl2-route{display:grid;grid-template-columns:32% minmax(0,1fr)}.gl2-route img{height:100%;min-height:125px;object-fit:cover}.gl2-route p{display:none}.gl2-timer-top{gap:14px}.gl2-timer-controls button{flex-grow:1}.gl2-step{padding-left:14px}.gl2-lightbox-toolbar{padding:10px;gap:6px}.gl2-lightbox-toolbar button,.gl2-lightbox-toolbar a{font-size:.75rem;padding:8px}.gl2-lightbox-view{height:65vh;height:65dvh}.gl2-lightbox .gl2-zoom-value{display:none}.gl2-lightbox-toolbar .gl2-close{margin-left:0}.gl2-mansion-controls button{font-size:.85rem}}
@media(prefers-reduced-motion:reduce){.gl2-page *{scroll-behavior:auto!important;transition:none!important}}
@media print{body[data-gl2-print] header,body[data-gl2-print] footer,body[data-gl2-print] .gl2-hero,body[data-gl2-print] .gl3-dashboard,body[data-gl2-print] .gl3-sidebar,body[data-gl2-print] .gl2-routes,body[data-gl2-print] .gl2-timer,body[data-gl2-print] .gl2-jumps,body[data-gl2-print] .gl2-step-select,body[data-gl2-print] [data-gl2-print-button]{display:none!important}body[data-gl2-print] .gl2-section:not([data-gl2-print-section]){display:none!important}body[data-gl2-print] .gl4-layout,body[data-gl2-print] .gl3-hero-row{display:block}body[data-gl2-print] .gl2-page{background:white;color:black;font-size:11pt;padding:0}body[data-gl2-print] .gl2-section{padding:15px 0;border:0}body[data-gl2-print] .gl2-step{break-inside:avoid;background:white;border-color:#777}body[data-gl2-print] .gl2-example{border:0;padding:0!important}body[data-gl2-print] .gl2-shell{width:100%}}

@media(max-width:760px){.gl3-hero-row{grid-template-columns:1fr}.gl4-castle-comparison{--castle-height:clamp(270px,60vw,330px);grid-template-columns:1fr;gap:12px}.gl4-readings{grid-template-columns:1fr}}

/* A compact, two-picture overview; deeper reading remains expandable below. */
.gl5-explorer{padding:20px 0}.gl5-explorer>h2{margin-bottom:8px;font-size:clamp(1.5rem,2vw,2rem)}.gl5-explorer>p{margin-bottom:8px;font-size:.94rem}






.gl5-explorer .gl2-mansions{grid-template-columns:minmax(150px,.36fr) minmax(0,1.64fr);gap:18px;margin-top:8px}
.gl5-explorer .gl2-mansion-tabs{gap:4px}.gl5-explorer .gl2-mansion-tabs a{min-height:30px;padding:5px 9px;font-size:.8rem}
.gl5-explorer .gl2-mansion-controls{margin:0 0 8px;gap:7px}.gl5-explorer .gl2-mansion-controls button{padding:5px 10px;min-height:32px;font-size:.78rem}
.gl5-explorer .gl2-mansion-panel h3{font-size:1.23rem;margin:0 0 7px}.gl5-explorer .gl2-mansion-panel p{font-size:.9rem;line-height:1.55;margin-bottom:8px}
.gl5-explorer .gl3-grace-thread{padding:7px 10px}.gl5-explorer .gl2-mansion-panel>p:last-of-type{border:0;padding-left:0}
.gl5-mansion-detail{font-size:.9rem}.gl5-mansion-detail summary{cursor:pointer;color:var(--gl-accent);font-weight:650;padding:6px 0}.gl5-mansion-detail[open]{padding-bottom:10px}.gl5-mansion-detail>p:last-of-type{border-left:2px solid var(--gl-gold);padding-left:13px}
.gl5-prayer-bridge{padding-bottom:20px;margin-bottom:24px;border-bottom:1px solid var(--gl-line)}.gl5-prayer-bridge p{max-width:none}
@media(max-width:900px){.gl3-sidebar{position:sticky;top:var(--gl-mobile-top,0px);z-index:12}.gl3-sidebar>details[open]{max-height:60vh;overflow:auto}.gl5-explorer .gl2-mansions{grid-template-columns:150px minmax(0,1fr)}}
@media(max-width:640px){.gl5-explorer .gl2-mansions{grid-template-columns:1fr}.gl5-explorer .gl2-mansion-tabs{grid-template-columns:repeat(4,minmax(0,1fr))}.gl5-explorer .gl2-mansion-tabs a{min-height:44px;display:flex;align-items:center;justify-content:center;padding:4px;font-size:.75rem}.gl5-explorer .gl2-mansion-controls button{min-height:44px}.gl5-explorer .gl2-mansion-panel p{font-size:1rem}.gl3-sidebar>details{padding:8px 12px}}
