/* The site's own background and font, with monochrome emphasis over the model. */
html .product-story-section.is-courthouse { --bp-bg:var(--bg); --bp-ink:var(--fg); }
.product-story-section.is-courthouse .bp-stage { inset:0; }
.court-type { position:absolute; inset:0; z-index:2; pointer-events:none; color:#fff; font-family:inherit; --court-halo:#000000; --court-shadow:rgba(0,0,0,.7); }
html.theme-light .court-type { color:#000; --court-halo:#fff; --court-shadow:rgba(0,0,0,.3); }
.court-type__cylinder { position:absolute; inset:0; perspective:var(--court-perspective,1800px); perspective-origin:50% 50%; transform-style:preserve-3d; }
.court-type__face {
  position:absolute;
  left:50%; top:50%;
  width:82%; max-width:1120px;
  display:flex; flex-direction:column; align-items:center; gap:clamp(24px,3.5vw,48px);
  backface-visibility:hidden;
  text-align:center;
  transform-style:preserve-3d;
  will-change:transform,opacity;
  color:inherit;
  text-shadow:none;
  filter:drop-shadow(0 0 2px var(--court-halo)) drop-shadow(0 3px 3px var(--court-shadow));
}
.court-type__first { display:block; font-size:clamp(24px,2.9vw,46px); font-weight:400; line-height:1.12; letter-spacing:-1px; }
.court-type__second { display:block; margin:0; color:inherit; font-family:inherit; font-size:clamp(32px,4.2vw,66px); font-weight:400; line-height:1.13; letter-spacing:-1.5px; }
.court-type__second em { font-family:Georgia,'Times New Roman',serif; font-weight:400; }
.court-type__face--0 .court-type__second { font-size:clamp(42px,5.5vw,86px); letter-spacing:-2px; }
.court-type__face--4 .court-type__second { font-size:clamp(29px,3.8vw,60px); }
.court-type__audience { max-width:850px; margin:0; font-size:clamp(20px,1.65vw,25px); font-weight:500; line-height:1.6; color:inherit; text-shadow:0 0 3px var(--court-halo),0 0 7px var(--court-halo); }
.court-type__accessible { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip-path:inset(50%); white-space:nowrap; border:0; }
@media (max-width:760px) {
  .product-story-section.is-courthouse .bp-stage { inset:0 -11%; }
  .court-type__face { width:89%; gap:24px; }
  .court-type__first { font-size:clamp(20px,5.5vw,33px); letter-spacing:-1px; }
  .court-type__second { font-size:clamp(25px,6.8vw,44px); letter-spacing:-1.3px; line-height:1.14; }
  .court-type__face--0 .court-type__second { font-size:clamp(31px,8.8vw,57px); letter-spacing:-1px; }
  .court-type__face--4 .court-type__second { font-size:clamp(24px,6.6vw,42px); }
  .court-type__audience { max-width:340px; font-size:17px; }
}
@media (prefers-reduced-motion:reduce) {
  .court-type__face { will-change:auto; }
}

.court-type__first,.court-type__second { -webkit-text-stroke:1.6px var(--court-halo); paint-order:stroke fill; }
.court-type__second em { paint-order:stroke fill; }

.court-type__closing { position:absolute; inset:0; opacity:0; visibility:hidden; }
.court-type__product {
  position:absolute; left:50%; top:50%; transform:translate(-50%,-50%);
  width:90%; text-align:center; font-size:clamp(32px,4.4vw,68px);
  font-weight:500; letter-spacing:-.045em;
  filter:drop-shadow(0 0 2px var(--court-halo)) drop-shadow(0 3px 3px var(--court-shadow));
}
.court-type__more {
  position:absolute; right:clamp(24px,5vw,80px); bottom:clamp(28px,5vh,64px);
  display:inline-flex; align-items:center; justify-content:center;
  min-height:48px; padding:0 26px; box-sizing:border-box;
  border:1.5px solid currentColor; border-radius:999px;
  background:var(--court-halo); color:inherit;
  font-size:16px; font-weight:500; letter-spacing:.01em;
}

/* The closing CTA is an interactive link above the architectural scene. */
.court-type__more{pointer-events:auto;text-decoration:none;cursor:pointer;}
.court-type__more:hover{background:var(--fg);color:var(--bg);}
.court-type__more:focus-visible{outline:3px solid #e58b35;outline-offset:5px;}
