/* Independent hero: click targets stay ordinary links; clipping only at outer boundary. */
.crh-hero{position:relative;isolation:isolate;width:100vw;max-width:none;margin-left:calc(50% - 50vw);overflow:hidden;background:#302921;color:#fff;min-height:clamp(300px,31vw,640px);font-family:Arial,Helvetica,sans-serif}
.crh-slide{position:relative;min-height:clamp(300px,31vw,640px);display:grid;place-items:center;padding:55px 65px;box-sizing:border-box;text-align:center}
.crh-slide[hidden]{display:none!important}
.crh-photo,.crh-shade{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.crh-shade{background:rgba(0,0,0,var(--crh-shade-opacity,0));pointer-events:none}
.crh-content{position:relative;z-index:1;max-width:1100px;margin:auto;pointer-events:none}
.crh-headline{margin:0 auto 24px;color:#fff;font-size:clamp(24px,3.05vw,50px);line-height:1.32;font-weight:400;letter-spacing:.015em;text-shadow:0 2px 10px rgba(0,0,0,.18)}
.crh-subtitle{margin:0 auto 25px;color:#fff;font-size:clamp(14px,1.3vw,19px);line-height:1.5}
.crh-buttons{display:flex;justify-content:center;flex-wrap:wrap;gap:16px 24px;position:relative;z-index:3;pointer-events:auto}
.crh-button,.crh-button:visited{display:inline-flex;align-items:center;justify-content:center;box-sizing:border-box;min-width:150px;min-height:47px;padding:11px 20px;border:2px solid #fff;background:rgba(0,0,0,.12);color:#fff!important;text-decoration:none!important;font-size:13px;font-weight:700;letter-spacing:.04em;line-height:1.35;cursor:pointer;position:relative;z-index:4;pointer-events:auto}
.crh-button:hover,.crh-button:focus-visible{background:#fff;color:#222!important}
.crh-controls{position:absolute;z-index:5;inset:50% 12px auto;display:flex;justify-content:space-between;transform:translateY(-50%);pointer-events:none}
.crh-controls button{pointer-events:auto;background:rgba(0,0,0,.25);border:0;border-radius:2px;color:#fff;width:38px;height:44px;cursor:pointer}
.crh-dots{position:absolute;z-index:5;bottom:12px;left:0;right:0;display:flex;justify-content:center;gap:9px}
.crh-dot{width:11px;height:11px;border-radius:50%;border:1px solid #fff;background:transparent;cursor:pointer;padding:0}
.crh-dot[aria-current=true]{background:#fff}
@media(max-width:700px){.crh-slide{padding:38px 25px 58px}.crh-headline{margin-bottom:18px}.crh-button{min-width:130px;min-height:42px;padding:8px 14px;font-size:11px}.crh-buttons{gap:9px}.crh-controls{inset-inline:4px}.crh-controls button{width:28px}}
@media(prefers-reduced-motion:reduce){.crh-hero *{scroll-behavior:auto!important;animation:none!important;transition:none!important}}
/* Version 0.2: four button treatments; class names are scoped to our hero only. */
.crh-hero .crh-button{border-radius:0;transition:background-color .18s ease,color .18s ease,border-color .18s ease}
.crh-hero .crh-button--outline,.crh-hero .crh-button--outline:visited{background:transparent;border:2px solid var(--crh-btn-border,#fff);color:var(--crh-btn-text,#fff)!important}
.crh-hero .crh-button--solid,.crh-hero .crh-button--solid:visited{background:var(--crh-btn-bg,#0AA7BA);border:2px solid transparent;color:var(--crh-btn-text,#fff)!important}
.crh-hero .crh-button--filled-outline,.crh-hero .crh-button--filled-outline:visited{background:var(--crh-btn-bg,#0AA7BA);border:2px solid var(--crh-btn-border,#fff);color:var(--crh-btn-text,#fff)!important}
.crh-hero .crh-button--text,.crh-hero .crh-button--text:visited{background:transparent;border:2px solid transparent;color:var(--crh-btn-text,#fff)!important;text-decoration:underline!important}
.crh-hero .crh-button:hover,.crh-hero .crh-button:focus-visible{background:#fff;border-color:#fff;color:#242424!important;text-decoration:none!important;outline-offset:3px}
/* v0.2.4: transitions. All slides share one CSS grid cell; only the active
 * slide can capture clicks. Without JS, the first slide remains visible. */
.crh-hero{display:grid}
.crh-hero>.crh-slide{grid-area:1/1;min-width:0}
.crh-hero.crh-ready>.crh-slide{opacity:0;visibility:hidden;pointer-events:none;transition:opacity var(--crh-transition-duration,700ms) ease,transform var(--crh-transition-duration,700ms) ease,visibility 0s linear var(--crh-transition-duration,700ms)}
.crh-hero.crh-ready>.crh-slide.crh-active{opacity:1;visibility:visible;pointer-events:auto;transition:opacity var(--crh-transition-duration,700ms) ease,transform var(--crh-transition-duration,700ms) ease,visibility 0s}
.crh-hero[data-transition="instant"]>.crh-slide{transition:none!important}
.crh-hero[data-transition="slide-left"].crh-ready>.crh-slide{transform:translateX(100%)}
.crh-hero[data-transition="slide-right"].crh-ready>.crh-slide{transform:translateX(-100%)}
.crh-hero[data-transition^="slide-"].crh-ready>.crh-slide.crh-active{transform:translateX(0)}
.crh-hero.crh-no-transition>.crh-slide{transition:none!important}
@media(prefers-reduced-motion:reduce){.crh-hero>.crh-slide{transition:none!important;transform:none!important}}
