/* Parade Manager homepage modules; scoped to shortcodes. */
.poh-home-carousel{width:100%;max-width:1500px;margin-inline:auto;color:#173353}
.poh-home-page[hidden]{display:none!important}
.poh-home-grid{display:grid;grid-template-columns:repeat(var(--poh-home-cols,4),minmax(0,1fr));gap:14px}
.poh-home-carousel a{text-decoration:none!important}
.poh-home-entry-card{display:block;min-width:0;background:#fff;color:#163454!important;transition:transform .25s}
.poh-home-entry-card:hover{transform:translateY(-3px)}
.poh-home-entry-photo{aspect-ratio:1.62;background:#e9e7e3;overflow:hidden}
.poh-home-entry-photo img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .4s}
.poh-home-entry-card:hover img{transform:scale(1.035)}
.poh-home-entry-info{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:12px 10px 14px}
.poh-home-entry-info h3{font-family:"Cormorant Garamond",Georgia,serif;font-weight:400;font-size:clamp(18px,1.7vw,25px);line-height:1.15;margin:0 0 5px;color:#163454}
.poh-home-entry-info span:not(.poh-home-entry-arrow),.poh-home-entry-info small{display:block;font-size:10px;letter-spacing:.07em;text-transform:uppercase;color:#69717a;line-height:1.5}
.poh-home-entry-arrow{display:grid;place-items:center;flex:none;width:32px;height:32px;border:1px solid #c7a86a;border-radius:50%;color:#b28b47;font-size:18px}
.poh-home-logo-card{min-height:115px;background:#fff;display:flex;align-items:center;justify-content:center;padding:20px;color:#173353!important;text-align:center}
.poh-home-logo-card img{max-width:100%;max-height:92px;width:auto;height:auto;object-fit:contain}
.poh-home-logo-card span{font-family:"Cormorant Garamond",Georgia,serif;font-size:18px}
.poh-home-sponsor-card{display:flex;flex-direction:column;min-width:0;background:#fff;color:#173353!important;text-align:center}
.poh-home-sponsor-logo{min-height:125px;flex:1;display:flex;align-items:center;justify-content:center;padding:17px}
.poh-home-sponsor-logo img{max-width:100%;max-height:100px;width:auto;height:auto;object-fit:contain}
.poh-home-sponsor-level{background:#142f56;color:#fff;font-size:10px;letter-spacing:.12em;text-transform:uppercase;padding:9px 8px}
.poh-home-controls{display:flex;align-items:center;justify-content:center;gap:16px;margin:20px auto 0}
.poh-home-controls>button{border:0!important;background:transparent!important;color:#9d7c44!important;font-size:22px;padding:5px 9px;cursor:pointer;box-shadow:none!important}
.poh-home-dots{display:flex;align-items:center;gap:9px}
.poh-home-dots button{border:0!important;width:7px;height:7px;border-radius:50%;padding:0!important;background:#c8c8c8!important;cursor:pointer;box-shadow:none!important}
.poh-home-dots button.is-active{background:#173353!important}
.poh-title-hero{position:relative;min-height:650px;height:var(--poh-title-height,100vh);display:flex;align-items:center;overflow:hidden;color:#fff;background:#152d46}
.poh-title-hero:before{content:"";position:absolute;inset:0;background-image:linear-gradient(90deg,rgba(12,28,49,.86),rgba(12,28,49,.42) 50%,rgba(12,28,49,.08)),var(--poh-title-photo,linear-gradient(#213c55,#213c55));background-position:center;background-size:cover}
.poh-title-hero-content{position:relative;z-index:1;width:min(1250px,90%);margin:auto;padding:110px 0 70px}
.poh-home-kicker{display:block;color:#e4d3b0;font-size:11px;letter-spacing:.24em;text-transform:uppercase;font-weight:600;margin-bottom:22px}
.poh-title-hero h1{font-family:"Cormorant Garamond",Georgia,serif;color:#fff!important;font-weight:400;font-size:clamp(65px,8.5vw,146px);line-height:.95;letter-spacing:-.045em;margin:0 0 32px}
.poh-title-presented{display:flex;align-items:center;gap:24px;margin-bottom:22px}
.poh-title-presented>span{font-size:11px;text-transform:uppercase;letter-spacing:.22em;color:#e6d6bd}
.poh-title-presented a{display:inline-flex;align-items:center;min-height:45px;color:#fff!important}
.poh-title-presented img{max-height:75px;max-width:250px;width:auto;height:auto;object-fit:contain;filter:brightness(0) invert(1)}
.poh-title-presented strong{font-family:"Cormorant Garamond",Georgia,serif;font-size:27px}
.poh-title-dates{font-size:13px;letter-spacing:.15em;text-transform:uppercase;color:#fff;margin:0 0 30px}
.poh-title-cta{display:inline-flex;gap:28px;align-items:center;background:#c8a76a;color:#fff!important;padding:15px 24px;font-size:11px;font-weight:700;letter-spacing:.12em;text-transform:uppercase}
.poh-title-credit{position:absolute;bottom:35px;right:5%;z-index:1;color:#fff;font-size:10px;letter-spacing:.12em;text-transform:uppercase}
.poh-title-credit span{padding:0 8px;color:#c8a76a}
@media(max-width:950px){.poh-home-grid{grid-template-columns:repeat(min(3,var(--poh-home-cols)),minmax(0,1fr))}.poh-title-hero{min-height:560px}}
@media(max-width:650px){.poh-home-grid{grid-template-columns:repeat(min(2,var(--poh-home-cols)),minmax(0,1fr));gap:10px}.poh-home-entry-info{padding:10px 5px}.poh-home-entry-info h3{font-size:17px}.poh-home-entry-arrow{width:27px;height:27px}.poh-home-logo-card{min-height:90px;padding:12px}.poh-home-logo-card img{max-height:68px}.poh-home-sponsor-logo{min-height:95px}.poh-title-hero{min-height:600px;height:85svh}.poh-title-hero-content{padding:80px 0 70px}.poh-title-hero h1{font-size:clamp(56px,12vw,85px)}.poh-title-presented{align-items:flex-start;flex-direction:column;gap:12px}.poh-title-presented img{max-height:55px}.poh-title-credit{bottom:18px;left:5%;right:auto}}

.poh-title-hero-content{max-width:1600px;width:calc(100% - 8%)}

/* JPEG and other opaque builder logos should retain their original colors.
   Present them on a subtle light plaque rather than applying the white silhouette filter. */
.poh-title-presented img.poh-title-builder-logo--original{filter:none!important;background:#fff;padding:12px 16px;border-radius:3px;box-sizing:content-box;max-height:75px;max-width:250px}
@media(max-width:650px){.poh-title-presented img.poh-title-builder-logo--original{max-height:55px}}

/* 0.13.21: smooth page transitions and consistent mobile card controls */
@keyframes pohPageFade{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}
.poh-home-page.is-active{animation:pohPageFade .4s ease both}
@media(prefers-reduced-motion:reduce){.poh-home-page.is-active{animation:none}}
.poh-home-entry-arrow{line-height:1!important;display:flex;align-items:center;justify-content:center;vertical-align:middle;padding:0!important;box-sizing:border-box}
.poh-home-entry-info{align-items:center}
.poh-title-presented{margin-bottom:20px}
.poh-title-presented img{filter:none}
.poh-title-credit{max-width:70%;font-size:12px;letter-spacing:.06em;text-transform:none;text-align:right}
@media(max-width:650px){
 .poh-home-entry-arrow{width:30px;height:30px;font-size:17px;line-height:1}
 .poh-title-credit{max-width:90%;text-align:left;font-size:11px}
 .poh-home-pages{touch-action:pan-y}
}

/* 0.13.22 — refined hero credit and true luxury carousel crossfade */
.poh-title-credit{display:flex;flex-direction:column;align-items:flex-end;gap:5px;max-width:min(560px,70%);padding:13px 17px;background:linear-gradient(90deg,transparent,rgba(9,24,39,.62));border-right:3px solid #c8a76a;text-shadow:0 2px 10px rgba(0,0,0,.4);text-align:right}
.poh-title-credit .poh-title-credit__home{font-size:clamp(15px,1.5vw,22px);font-weight:600;line-height:1.3;letter-spacing:.015em;text-transform:none;color:#fff}
.poh-title-credit .poh-title-credit__sponsor{font-size:clamp(12px,1.05vw,16px);font-weight:500;line-height:1.3;letter-spacing:.025em;text-transform:none;color:#f0dfbb;padding:0}
.poh-home-builders .poh-home-pages{position:relative;isolation:isolate}
.poh-home-builders .poh-home-page{position:absolute;inset:0;opacity:0;visibility:hidden;pointer-events:none;transition:opacity 1.05s cubic-bezier(.25,.1,.25,1),visibility 0s linear 1.05s;z-index:0}
.poh-home-builders .poh-home-page.is-active{position:relative;opacity:1;visibility:visible;pointer-events:auto;transition:opacity 1.05s cubic-bezier(.25,.1,.25,1);z-index:2;animation:none}
.poh-home-builders .poh-home-page.is-leaving{position:absolute;opacity:0;visibility:visible;pointer-events:none;transition:opacity 1.05s cubic-bezier(.25,.1,.25,1);z-index:1;animation:none}
.poh-home-builders .poh-home-page[hidden]{display:none!important}
@media(max-width:650px){.poh-title-credit{max-width:90%;align-items:flex-start;text-align:left;padding:10px 13px;border-right:0;border-left:3px solid #c8a76a;background:linear-gradient(90deg,rgba(9,24,39,.7),transparent)}.poh-title-credit .poh-title-credit__home{font-size:15px}.poh-title-credit .poh-title-credit__sponsor{font-size:12px}}
@media(prefers-reduced-motion:reduce){.poh-home-builders .poh-home-page{transition:none!important}}

/* v0.13.23 — overlap outgoing/incoming groups in the SAME grid cell.
   Avoid position:absolute/relative toggling: they cause the reported extra row. */
.poh-home-builders .poh-home-pages{display:grid!important;grid-template-columns:minmax(0,1fr);align-items:start;position:relative!important}
.poh-home-builders .poh-home-pages>.poh-home-page,
.poh-home-builders .poh-home-pages>.poh-home-page.is-active,
.poh-home-builders .poh-home-pages>.poh-home-page.is-leaving{
  grid-area:1/1!important;position:relative!important;inset:auto!important;min-width:0;
  animation:none!important;transform:none!important;
}
.poh-home-builders .poh-home-pages>.poh-home-page{opacity:0;visibility:hidden;pointer-events:none;z-index:0;transition:opacity 1.15s ease,visibility 0s linear 1.15s}
.poh-home-builders .poh-home-pages>.poh-home-page.is-leaving{opacity:0;visibility:visible;z-index:1;transition:opacity 1.15s ease}
.poh-home-builders .poh-home-pages>.poh-home-page.is-active{opacity:1;visibility:visible;pointer-events:auto;z-index:2;transition:opacity 1.15s ease}
@media(prefers-reduced-motion:reduce){.poh-home-builders .poh-home-pages>.poh-home-page{transition:none!important}}

/* v0.13.24 — force a single stacking viewport, regardless of Salient styles. */
.poh-home-carousel .poh-home-pages{display:block!important;position:relative!important;isolation:isolate!important;min-height:1px}
.poh-home-carousel .poh-home-pages>.poh-home-page,
.poh-home-carousel .poh-home-pages>.poh-home-page.is-active,
.poh-home-carousel .poh-home-pages>.poh-home-page.is-leaving{
 position:absolute!important;inset:0!important;width:100%!important;
 margin:0!important;float:none!important;display:block;
 transform:none!important;animation:none!important;transition:none!important;
 visibility:visible!important;
}
.poh-home-carousel .poh-home-pages>.poh-home-page[hidden]{display:none!important}

/* v0.13.28: a single carousel page must occupy its natural document height.
   The multi-page carousel continues to use the JS-measured stacking viewport. */
.poh-home-carousel.poh-home-single-page .poh-home-pages{height:auto!important;min-height:0!important;display:block!important}
.poh-home-carousel.poh-home-single-page .poh-home-pages>.poh-home-page,
.poh-home-carousel.poh-home-single-page .poh-home-pages>.poh-home-page.is-active{position:relative!important;inset:auto!important;width:100%!important;opacity:1!important;visibility:visible!important;pointer-events:auto!important}
