/* Public Stage One introduction. No member content or access rules are changed. */
.d4c-public{max-width:1200px;margin:0 auto;color:#103451;font-family:inherit}
.d4c-public *{box-sizing:border-box}
.d4c-public-visually-hidden{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.d4c-public-poster{position:relative;max-width:1024px;margin:0 auto;background:#dceefa;box-shadow:0 25px 65px rgba(1,22,38,.3)}
.d4c-public-poster-tip{margin:0;padding:10px 18px;text-align:center;background:#e8f6ff;color:#075382;font-weight:800;font-size:15px}
.d4c-public-poster-tip b{display:inline-grid;place-items:center;width:23px;height:23px;border-radius:50%;background:#ffbf38;color:#143a5e}
.d4c-public .d4c-public-admission-note{margin:0;padding:13px 22px;background:#fff8e7;border-bottom:2px solid #e8b953;color:#334458;font-size:15px;line-height:1.5;text-align:center}
.d4c-public-admission-note strong{color:#0b4770}
.d4c-public-phone-tip{display:none}
.d4c-public-poster-art{aspect-ratio:1024/1230;overflow:hidden}
.d4c-public-poster-art img{display:block;width:100%;height:auto}
.d4c-public-poster-art{position:relative}
.d4c-public-founder-trigger{position:absolute;z-index:4;left:50%;top:34%;transform:translateX(-50%);display:flex;flex-direction:column;align-items:center;gap:5px;width:21%;padding:6px;background:#e7f6fd;border:2px solid #fff;border-radius:15px;box-shadow:0 8px 23px #0028448c;cursor:pointer;color:#083e68}
.d4c-public-founder-trigger img{display:block;width:100%;height:auto;aspect-ratio:4/3;object-fit:cover;border-radius:9px;filter:brightness(1.22) contrast(1.04)}
.d4c-public-founder-trigger span{display:flex;align-items:center;justify-content:center;gap:5px;font-size:clamp(10px,1.4vw,15px);font-weight:900;line-height:1.15;text-align:center}
.d4c-public-founder-trigger b{display:inline-grid;place-items:center;width:21px;height:21px;border-radius:50%;background:#0873b3;color:#fff;font-size:10px}
.d4c-public-founder-trigger:hover,.d4c-public-founder-trigger:focus-visible{outline:3px solid #ffbf38;outline-offset:3px}
.d4c-public-founder-dialog{width:min(94vw,720px);max-height:85vh;overflow:auto;padding:26px;border:2px solid #8fc7e3;border-radius:18px;color:#173854;background:#f2f9fd;box-shadow:0 18px 60px #001b31ad}
.d4c-public-founder-dialog::backdrop{background:#001d32ad}
.d4c-public-founder-dialog h2{margin:0 44px 18px 0;color:#0a385c;font-size:clamp(24px,3vw,34px)}
.d4c-public-dialog-close{position:absolute;top:12px;right:14px;width:38px;height:38px;border:1px solid #8fc7e3;border-radius:50%;background:#fff;color:#0a385c;font-size:26px;line-height:1;cursor:pointer}
.d4c-public-dialog-close:focus-visible{outline:3px solid #ffbf38}
.d4c-public-hotspots{position:absolute;inset:0;z-index:2}
.d4c-public-hotspot{position:absolute;width:5.8%;aspect-ratio:1}
.d4c-public-hotspot-left{left:2.4%}
.d4c-public-hotspot-right{right:12.1%}
.d4c-public-hotspot-row-1{top:14.9%}
.d4c-public-hotspot-row-2{top:20.4%}
.d4c-public-hotspot-row-3{top:26.0%}
.d4c-public-hotspot-row-4{top:31.6%}
.d4c-public-hotspot-row-5{top:37.1%}
.d4c-public-hotspot>button{position:relative;width:100%;height:100%;padding:0;border:2px solid transparent;border-radius:50%;background:transparent;cursor:pointer;color:#fff}
.d4c-public-hotspot>button span{position:absolute;right:-5px;bottom:-4px;display:grid;place-items:center;width:24px;height:24px;border-radius:50%;background:#ffbf38;color:#143a5e;font-size:19px;line-height:1;font-weight:900;box-shadow:0 2px 8px #00375288}
.d4c-public-hotspot>button:hover,.d4c-public-hotspot>button[aria-expanded="true"],.d4c-public-hotspot>button:focus-visible{border-color:#ffbf38;background:#ffffff2b;outline:2px solid #073653;outline-offset:2px}
.d4c-public-hotspot-note{position:absolute;left:calc(100% + 16px);top:-8px;width:clamp(230px,28vw,330px);padding:17px 19px;border-radius:18px;background:#fff;color:#173854;border:3px solid #ffc044;box-shadow:0 15px 32px #001a2b88;line-height:1.4;font-size:15px;z-index:5}
.d4c-public-hotspot-right .d4c-public-hotspot-note{left:auto;right:calc(100% + 16px)}
.d4c-public-hotspot-note:before{content:"";position:absolute;left:-12px;top:24px;width:20px;height:20px;transform:rotate(45deg);background:#fff;border-left:3px solid #ffc044;border-bottom:3px solid #ffc044}
.d4c-public-hotspot-right .d4c-public-hotspot-note:before{left:auto;right:-12px;border:0;border-top:3px solid #ffc044;border-right:3px solid #ffc044}
.d4c-public-hotspot-note[hidden]{display:none}
.d4c-public-hotspot-note strong{display:block;margin-bottom:6px;color:#07528a;font-size:17px}
.d4c-public-hotspot-note span{display:block}
.d4c-public-world-spot{top:77.3%;width:47.2%;height:22.3%;aspect-ratio:auto}
.d4c-public-world-network{left:2%}
.d4c-public-world-prison{left:50.7%;right:auto}
.d4c-public-world-spot>button{border-radius:12px}
.d4c-public-world-spot>button span.d4c-public-world-chip{top:11px;right:12px;bottom:auto;display:inline-flex;width:auto;height:auto;padding:6px 10px;border-radius:15px;font-size:13px;white-space:nowrap}
.d4c-public-world-spot .d4c-public-hotspot-note{top:auto;bottom:calc(100% + 13px);left:8%;width:84%}
.d4c-public-world-prison .d4c-public-hotspot-note{left:8%;right:auto}
.d4c-public-world-spot .d4c-public-hotspot-note:before{top:auto;bottom:-12px;left:45%;border:0;border-right:3px solid #ffc044;border-bottom:3px solid #ffc044}
.d4c-public-mobile-features{display:none}
.d4c-public-poster-actions{position:relative;display:flex;justify-content:center;gap:12px;width:100%;padding:22px;background:linear-gradient(110deg,#ddf2fe,#fff 45%,#cfebfc);border-top:4px solid #1475b6;box-shadow:0 6px 22px rgba(0,24,50,.16)}
.d4c-public .d4c-public-age-note{box-sizing:border-box;margin:0;padding:12px 24px 16px;background:#eaf6fc;color:#24435d;font-size:14px;line-height:1.45;text-align:center}
.d4c-public a.d4c-public-primary,.d4c-public a.d4c-public-secondary{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:11px 20px;border-radius:6px;text-decoration:none;font-weight:800;line-height:1.2;text-align:center}
.d4c-public a.d4c-public-primary{background:#0869ac;color:#fff!important}
.d4c-public a.d4c-public-primary:hover,.d4c-public a.d4c-public-primary:focus{background:#034c82;color:#fff!important}
.d4c-public a.d4c-public-secondary{background:#fff;color:#064b7d!important;border:2px solid #0d68a5}
.d4c-public a.d4c-public-secondary:hover,.d4c-public a.d4c-public-secondary:focus{background:#e8f5fd}
.d4c-public-details{max-width:1024px;margin:0 auto;padding:clamp(35px,6vw,70px);background:#f2f9fd;border-top:5px solid #117abc}
.d4c-public-details .d4c-public-eyebrow{color:#12618e;font-size:12px;font-weight:800;letter-spacing:.16em}
.d4c-public-details h2{color:#102e51;font-size:clamp(26px,4vw,42px);line-height:1.13;margin:12px 0 24px}
.d4c-public-waitlist{scroll-margin-top:110px;margin:0 0 34px;padding:clamp(22px,3vw,38px);background:linear-gradient(135deg,#fff,#e2f5ff);border:2px solid #7bbfe2;border-radius:18px;box-shadow:0 12px 30px #0b4b6e20}
.d4c-public-waitlist h2{margin-top:0}
.d4c-public-waitlist-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin:20px 0}
.d4c-public-waitlist-fields label{display:block;font-weight:800;color:#123c5b}
.d4c-public-waitlist-fields input{display:block;width:100%;min-height:48px;margin-top:7px;padding:10px 12px;border:1px solid #80b5d0;border-radius:7px;background:#fff;color:#142f47;font:inherit}
.d4c-public-waitlist-check{display:flex;align-items:flex-start;gap:9px;margin:12px 0;color:#24435d;line-height:1.5}
.d4c-public-waitlist-check input{flex:none;width:19px;height:19px;margin:2px 0 0}
.d4c-public-waitlist .d4c-public-waitlist-privacy{font-size:14px;line-height:1.5}
.d4c-public-waitlist button.d4c-public-primary{min-height:48px;padding:11px 20px;border:0;border-radius:6px;background:#0869ac;color:#fff;font:inherit;font-weight:800;cursor:pointer}
.d4c-public-waitlist button.d4c-public-primary:hover{background:#034c82}
.d4c-public-waitlist button.d4c-public-primary:focus-visible,.d4c-public-waitlist input:focus-visible{outline:3px solid #d28b00;outline-offset:2px}
.d4c-public-honeypot{position:absolute!important;left:-9999px!important;width:1px!important;height:1px!important;overflow:hidden!important}
.d4c-public-waitlist .d4c-public-waitlist-result{padding:12px 15px;background:#e5f6e9;border-left:4px solid #297d45}
.d4c-public-waitlist .d4c-public-waitlist-error{padding:12px 15px;background:#fff0ec;border-left:4px solid #a63121}
.d4c-public-founder-message{padding:clamp(22px,3vw,38px);border-radius:18px;background:#fff;border:1px solid #b5d8ec;border-left:6px solid #0873b3;box-shadow:0 12px 30px #0b4b6e1c}
.d4c-public-founder-media{float:right;width:min(36%,290px);margin:0 0 18px 28px;padding:10px;background:#eaf6fc;border:1px solid #b5d8ec;border-radius:14px}
.d4c-public-founder-media img{display:block;width:100%;height:auto;aspect-ratio:4/3;object-fit:cover;border-radius:8px;filter:brightness(1.16) contrast(1.03)}
.d4c-public-founder-audio{padding:12px 2px 2px;color:#0a385c;font-size:14px;line-height:1.4}
.d4c-public-founder-audio strong{display:block;margin-bottom:8px}
.d4c-public-founder-audio audio{display:block;width:100%;max-width:100%}
.d4c-public-founder-message:after{content:"";display:block;clear:both}
.d4c-public-founder-dialog .d4c-public-founder-message p{font-size:16px;line-height:1.6;color:#23435d}
.d4c-public-founder-message p:first-child{margin-top:0;font-weight:800;color:#0a385c}
.d4c-public-founder-message p:last-child{margin-bottom:0}
.d4c-public-founder-message .d4c-public-founder-signoff{color:#075b95;font-weight:800;text-align:right}
.d4c-public-details p{color:#23435d;font-size:clamp(16px,1.5vw,19px);line-height:1.6}
.d4c-public-actions{display:flex;align-items:center;flex-wrap:wrap;gap:14px;margin-top:28px}
.d4c-public a.d4c-public-text-link{color:#075b95;font-weight:800}
.d4c-public-notes{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:24px 0}
.d4c-public-notes details{background:#fff;border:1px solid #a9d2e8;border-radius:8px;padding:0 18px;color:#153d58}
.d4c-public-notes summary{cursor:pointer;padding:18px 0;font-weight:800;color:#075b95}
.d4c-public-notes summary:focus-visible{outline:3px solid #e0a329;outline-offset:2px}
.d4c-public-notes details p{font-size:16px;margin:0 0 18px}
.d4c-public-guide-card{position:relative;display:flex;gap:22px;padding:30px;margin:30px 0;border:2px solid #a8d9ee;border-radius:22px;background:linear-gradient(135deg,#e2f6ff,#fff 53%,#d1edfc);box-shadow:0 12px 25px #0b4b6e1b}
.d4c-public-guide-icon{flex:none;display:grid;place-items:center;width:68px;height:68px;border-radius:20px;background:#0873b3;color:#fff;font-size:45px;font-weight:900;transform:rotate(-7deg);box-shadow:7px 8px 0 #b4def3}
.d4c-public-guide-content{min-width:0}
.d4c-public-guide-content .d4c-public-guide-kicker{margin:0;color:#0873b3;font-size:12px;font-weight:900;letter-spacing:.16em}
.d4c-public-guide-content h2{margin:5px 0 8px;color:#0a385c;font-size:clamp(24px,3vw,32px)}
.d4c-public-guide-content p{margin:0 0 14px}
.d4c-public-guide-prompts{display:flex;gap:8px;flex-wrap:wrap;margin:0 0 20px}
.d4c-public-guide-prompts span{display:inline-block;padding:7px 11px;border-radius:18px;background:#fff;border:1px solid #aed6ec;color:#175277;font-size:14px;font-weight:700}
.d4c-public a.d4c-public-guide-button{display:inline-flex;padding:12px 18px;border-radius:8px;background:#0873b3;color:#fff!important;font-weight:800;text-decoration:none;gap:18px;align-items:center}
.d4c-public a.d4c-public-guide-button:hover{background:#034c82}
.d4c-public a:focus-visible{outline:3px solid #d28b00;outline-offset:3px}
@media(max-width:700px){
 .d4c-public-poster{box-shadow:none}
 .d4c-public-desktop-tip{display:none}
 .d4c-public-phone-tip{display:inline}
 .d4c-public-hotspots{display:none}
 .d4c-public-founder-trigger{width:23%;top:34%;padding:3px;border-radius:7px;gap:2px}
 .d4c-public-founder-trigger img{border-radius:4px}
 .d4c-public-founder-trigger b{width:13px;height:13px;font-size:7px}
 .d4c-public-founder-dialog{padding:19px}
 .d4c-public-mobile-features{display:block;padding:20px;background:#e8f6ff}
 .d4c-public-mobile-features h2{margin:0 0 14px;font-size:21px;color:#0a385c}
 .d4c-public-mobile-features details{margin:7px 0;padding:11px 14px;border-radius:8px;background:#fff;color:#153d58}
 .d4c-public-mobile-features summary{cursor:pointer;font-weight:800;color:#075b95}
 .d4c-public-mobile-features p{margin:9px 0 3px;line-height:1.5}
 .d4c-public-poster-actions{flex-direction:column;padding:16px;box-shadow:none}
 .d4c-public-details{padding:28px 20px 40px}
 .d4c-public-waitlist-fields{grid-template-columns:1fr}
 .d4c-public-notes{grid-template-columns:1fr}
 .d4c-public-actions{flex-direction:column;align-items:stretch}
 .d4c-public-actions a{width:100%}
 .d4c-public-guide-card{padding:21px;gap:18px;flex-direction:column}
 .d4c-public-guide-content{width:100%}
 .d4c-public a.d4c-public-guide-button{display:flex;width:100%;box-sizing:border-box;justify-content:space-between;gap:12px}
 .d4c-public-guide-button span{flex:none}
 .d4c-public-guide-icon{width:50px;height:50px;font-size:32px}
 .d4c-public-founder-media{float:none;width:100%;max-width:330px;margin:0 auto 24px}
}

/* v0.7.5 — targeted desktop poster-note placement repair.
   Only the three audited notes are moved outward. Mobile <=700px remains on
   the existing details list; narrower desktop/tablet layouts retain the
   established inward fallback so notes cannot escape the viewport. */
@media (min-width:1151px) and (hover:hover) and (pointer:fine){
 .d4c-public-poster-art{overflow:visible}
 .d4c-public-poster-art>img{height:100%;object-fit:cover;object-position:top}
 .d4c-public-hotspot-left.d4c-public-hotspot-row-5 .d4c-public-hotspot-note{left:auto;right:calc(100% + 16px)}
 .d4c-public-hotspot-left.d4c-public-hotspot-row-5 .d4c-public-hotspot-note:before{left:auto;right:-12px;border:0;border-top:3px solid #ffc044;border-right:3px solid #ffc044}
 .d4c-public-hotspot-right.d4c-public-hotspot-row-1 .d4c-public-hotspot-note,
 .d4c-public-hotspot-right.d4c-public-hotspot-row-2 .d4c-public-hotspot-note{left:calc(100% + 16px);right:auto}
 .d4c-public-hotspot-right.d4c-public-hotspot-row-1 .d4c-public-hotspot-note:before,
 .d4c-public-hotspot-right.d4c-public-hotspot-row-2 .d4c-public-hotspot-note:before{left:-12px;right:auto;border:0;border-left:3px solid #ffc044;border-bottom:3px solid #ffc044}
}

/* v0.7.7 — audit correction.
   Restore the authoritative shared hotspot geometry: v0.7.6 moved only three
   buttons inside fixed hotspot containers, which displaced the active rings
   without moving their note anchors. Keep the containers/buttons unshifted.
   Extend the already-proven outward Prison World note rule to Visitor
   Experiences (row 4). Mobile behaviour remains unchanged. */
@media (min-width:1151px) and (hover:hover) and (pointer:fine){
 .d4c-public-hotspot-right.d4c-public-hotspot-row-4 .d4c-public-hotspot-note{left:calc(100% + 16px);right:auto}
 .d4c-public-hotspot-right.d4c-public-hotspot-row-4 .d4c-public-hotspot-note:before{left:-12px;right:auto;border:0;border-left:3px solid #ffc044;border-bottom:3px solid #ffc044}
 .d4c-public-hotspot-right.d4c-public-hotspot-row-5 .d4c-public-hotspot-note{left:calc(100% + 16px);right:auto}
 .d4c-public-hotspot-right.d4c-public-hotspot-row-5 .d4c-public-hotspot-note:before{left:-12px;right:auto;border:0;border-left:3px solid #ffc044;border-bottom:3px solid #ffc044}
}


/* v0.7.8 — shared desktop hotspot geometry + outward note rule.
   Audit against the 1024px poster artwork: use a 5.4% control diameter while
   preserving the artwork icon centres, and make every desktop side note open
   into its adjacent gutter. Mobile remains on the existing details list. */
@media (min-width:1151px) and (hover:hover) and (pointer:fine){
 .d4c-public-hotspot:not(.d4c-public-world-spot){width:5.4%}
 .d4c-public-hotspot-left{left:2.6%}
 .d4c-public-hotspot-right{right:12.3%}
 .d4c-public-hotspot-row-1{top:15.06%}
 .d4c-public-hotspot-row-2{top:20.56%}
 .d4c-public-hotspot-row-3{top:26.16%}
 .d4c-public-hotspot-row-4{top:31.76%}
 .d4c-public-hotspot-row-5{top:37.26%}
 .d4c-public-hotspot-left .d4c-public-hotspot-note{left:auto;right:calc(100% + 16px)}
 .d4c-public-hotspot-left .d4c-public-hotspot-note:before{left:auto;right:-12px;border:0;border-top:3px solid #ffc044;border-right:3px solid #ffc044}
 .d4c-public-hotspot-right .d4c-public-hotspot-note{left:calc(100% + 16px);right:auto}
 .d4c-public-hotspot-right .d4c-public-hotspot-note:before{left:-12px;right:auto;border:0;border-left:3px solid #ffc044;border-bottom:3px solid #ffc044}
}

/* v0.7.11 — two-item desktop ring micro-calibration.
   A Real Community remains locked at its accepted v0.7.10 position.
   Only Jail & Sentencing and Prison Records move a further 2px down. */
@media (min-width:1151px) and (hover:hover) and (pointer:fine){
 .d4c-public-hotspot-left.d4c-public-hotspot-row-5>button{transform:translate(1px,3px)}
 .d4c-public-hotspot-right.d4c-public-hotspot-row-1>button,
 .d4c-public-hotspot-right.d4c-public-hotspot-row-2>button{transform:translate(1px,5px)}
}
