/* Shared, approved collapsible product header. */
.calendar-product-intro>.product-intro-photo{display:block;max-width:50%;height:auto;margin-left:auto}
html:has(.product-scroll-hero),body:has(.product-scroll-hero){overflow-anchor:none}
.calendar-product-page .product-scroll-hero{position:relative;padding:0;overflow:visible;isolation:isolate;flex-shrink:0;background:none;height:480px;--hero-pad:clamp(24px,3.6vw,58px)}
.product-hero-stage{position:absolute;inset:0 0 auto;width:100%;height:480px;overflow:hidden;contain:layout paint;border-radius:inherit;background:radial-gradient(ellipse at 100% 0%,#d9e2fc99,transparent 62%),linear-gradient(115deg,#e4f2ef 0%,#eaf1f5 52%,#efedf9 100%)}
.product-scroll-hero .calendar-breadcrumbs{position:absolute;z-index:2;left:var(--hero-pad);top:28px;margin:0}
.product-scroll-hero .pvd-intro-layout,.product-scroll-hero .calendar-intro-row,.product-scroll-hero .calendar-intro-copy{display:contents}
.calendar-product-page .product-scroll-hero h1{position:absolute;z-index:2;left:var(--hero-pad);top:0;width:calc(50% - var(--hero-pad) * 1.65);margin:0;font-size:clamp(32px,3.1vw,48px);line-height:1.15;transform-origin:top left;text-wrap:balance}
.product-scroll-hero .calendar-intro-copy>p{position:absolute;left:var(--hero-pad);top:260px;width:calc(50% - var(--hero-pad) * 1.7);max-width:none;margin:0;font-size:15px;line-height:1.8;color:#567486}
.calendar-product-page .product-scroll-hero .calendar-intro-actions{position:absolute;z-index:3;left:0;top:0;width:max-content;max-width:none;display:flex;flex-wrap:nowrap;align-items:stretch;gap:12px;margin:0}
.product-scroll-hero .calendar-intro-actions a{white-space:nowrap}
.product-scroll-hero[data-compact="true"] .product-hero-stage{cursor:pointer}
.product-hero-reveal{position:absolute;z-index:4;left:calc(50% - 18px);bottom:4px;width:36px;height:32px;display:grid;place-items:center;padding:0;border:0;border-radius:12px;background:transparent;color:#638596;cursor:pointer;transition:background .16s,color .16s}
.product-hero-reveal[hidden]{display:none}
.product-hero-reveal svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.product-hero-reveal:hover{background:#ffffff80;color:#173d50}
.product-hero-reveal:focus-visible{outline:2px solid #168ba3;outline-offset:0}
.calendar-product-page .product-scroll-hero .product-intro-photo{position:absolute;z-index:1;right:0;top:0;width:50%;height:480px;max-height:none;object-fit:cover;object-position:center;border-radius:0;mix-blend-mode:normal;pointer-events:none}
/* Soft studio shadow is separate from the cutout; it stays static during motion. */
.calendar-product-page .product-scroll-hero .product-intro-photo{filter:drop-shadow(10px 18px 26px rgb(28 48 66 / 12%))}
@media(min-width:761px) and (max-width:1000px){
 .calendar-product-page .product-scroll-hero .calendar-intro-actions{gap:8px}
 .product-scroll-hero .calendar-intro-actions a{font-size:12px;padding-inline:12px}
}
@media(max-width:760px){
 .product-scroll-hero{--hero-pad:24px!important}
 .product-scroll-hero .calendar-breadcrumbs{top:22px}
 .calendar-product-page .product-scroll-hero h1{width:calc(100% - var(--hero-pad) * 2);font-size:clamp(27px,5.8vw,36px)}
 .product-scroll-hero .calendar-intro-copy>p{width:calc(100% - var(--hero-pad) * 2);font-size:13px;line-height:1.7}
 .calendar-product-page .product-scroll-hero .product-intro-photo{width:100%;object-position:center}
 .calendar-product-page .product-scroll-hero .product-intro-photo{filter:drop-shadow(6px 12px 20px rgb(28 48 66 / 10%))}
 .calendar-product-page .product-scroll-hero .calendar-intro-actions{width:calc(100% - var(--hero-pad) * 2);gap:8px}
 .product-scroll-hero .calendar-intro-actions a{font-size:12px;padding:11px 12px;flex:1;min-width:0;white-space:normal;line-height:1.4}
}
@media(max-width:360px){.product-scroll-hero{--hero-pad:20px!important}.product-scroll-hero .calendar-intro-actions a{font-size:11px;padding-inline:8px}}

.calendar-product-page:not(.pvd-product-page) .product-scroll-hero .product-intro-photo{object-fit:contain;filter:none}
.product-scroll-hero h1:focus-visible{outline:2px solid #168ba3;outline-offset:6px;border-radius:6px}
