.hc-native-composition, .hc-native-composition * { box-sizing: border-box; }
.hc-native-composition .hc-native-heading { margin: 0; }
.hc-native-composition .hc-native-text > :first-child { margin-top: 0; }
.hc-native-composition .hc-native-text > :last-child { margin-bottom: 0; }
.hc-native-composition .hc-native-button a { display: inline-block; text-decoration: none; line-height: 1.2; }
.hc-native-composition .hc-native-button a:hover, .hc-native-composition .hc-native-button a:focus-visible { text-decoration: underline; }
.hc-native-composition .hc-native-image { margin: 0; width: 100%; }
.hc-native-composition .hc-native-image img { display: block; max-width: 100%; }
.hc-native-composition .hc-native-container {
  --hc-nc-content-limit: initial;
  position: relative; isolation: isolate;
  width: var(--hc-nc-mode-width, 100%); max-width: var(--hc-nc-content-limit, var(--hc-nc-width)); min-height: var(--hc-nc-min-height);
  height: var(--hc-nc-mode-height, auto);
  margin: var(--hc-nc-margin-box, var(--hc-nc-margin) auto); padding: var(--hc-nc-padding);
  display: flex; flex-direction: var(--hc-nc-direction); gap: var(--hc-nc-gap);
  justify-content: var(--hc-nc-justify); align-items: var(--hc-nc-align);
  background: var(--hc-nc-background); border: var(--hc-nc-border) solid currentColor;
  border-radius: var(--hc-nc-radius); overflow: var(--hc-nc-overflow);
}
.hc-native-composition .hc-native-container > [data-hc-node] { position: relative; z-index: 1; min-width: 0; }
.hc-native-composition .hc-native-layout-row > .hc-native-container { width: 0; min-width: 0; flex: var(--hc-nc-item-flex, var(--hc-nc-flex, 1) 1 0); }
.hc-native-background-media, .hc-native-background-overlay { position: absolute; inset: 0; z-index: -1; pointer-events: none; overflow: hidden; border-radius: inherit; }
.hc-native-background-media img, .hc-native-background-media video { display: block; width: 100%; height: 100%; object-fit: var(--hc-nc-bg-size,cover); object-position: var(--hc-nc-bg-position,center); }
.hc-native-background-media .hc-native-video-fallback { display: none; }
.hc-native-slideshow > span { position: absolute; inset: 0; opacity: 0; transition: opacity .8s ease; }
.hc-native-slideshow > span:first-child, .hc-native-slideshow > span.is-active { opacity: 1; }
.hc-native-transition { position: absolute; left: 0; width: 100%; z-index: 2; pointer-events: none; }
.hc-native-transition--top { top: 0; transform: rotate(180deg); }
.hc-native-transition--bottom { bottom: 0; }
@media (min-width: 1025px) { .hc-native-composition .hc-native-hide-desktop { display: none; } }
@media (min-width: 768px) and (max-width: 1024px) { .hc-native-composition .hc-native-hide-tablet { display: none; } }
@media (min-width: 768px) and (max-width: 1024px) {
  .hc-native-composition .hc-native-container {
    width: var(--hc-nc-tablet-mode-width, var(--hc-nc-mode-width, 100%));
    max-width: var(--hc-nc-content-limit, var(--hc-nc-tablet-width, var(--hc-nc-width)));
    min-height: var(--hc-nc-tablet-min-height, var(--hc-nc-min-height));
    height: var(--hc-nc-tablet-mode-height, var(--hc-nc-mode-height, auto));
    margin: var(--hc-nc-tablet-margin-box, var(--hc-nc-margin-box, var(--hc-nc-margin) auto));
    padding: var(--hc-nc-tablet-padding, var(--hc-nc-padding));
    flex-direction: var(--hc-nc-tablet-direction, var(--hc-nc-direction));
    gap: var(--hc-nc-tablet-gap, var(--hc-nc-gap));
    justify-content: var(--hc-nc-tablet-justify, var(--hc-nc-justify));
    align-items: var(--hc-nc-tablet-align, var(--hc-nc-align));
    background: var(--hc-nc-tablet-background, var(--hc-nc-background));
    border-width: var(--hc-nc-tablet-border, var(--hc-nc-border));
    border-radius: var(--hc-nc-tablet-radius, var(--hc-nc-radius));
    overflow: var(--hc-nc-tablet-overflow, var(--hc-nc-overflow));
  }
}
@media (max-width: 767px) {
  .hc-native-composition .hc-native-stack-mobile > .hc-native-container { width: 100%; flex: none; }
  .hc-native-composition .hc-native-hide-mobile { display: none; }
  .hc-native-composition .hc-native-container {
    width: var(--hc-nc-mobile-mode-width, var(--hc-nc-mode-width, 100%));
    max-width: var(--hc-nc-content-limit, var(--hc-nc-mobile-width, var(--hc-nc-width)));
    min-height: var(--hc-nc-mobile-min-height, var(--hc-nc-min-height));
    height: var(--hc-nc-mobile-mode-height, var(--hc-nc-mode-height, auto));
    margin: var(--hc-nc-mobile-margin-box, var(--hc-nc-margin-box, var(--hc-nc-margin) auto));
    padding: var(--hc-nc-mobile-padding, var(--hc-nc-padding));
    flex-direction: var(--hc-nc-mobile-direction, var(--hc-nc-direction));
    gap: var(--hc-nc-mobile-gap, var(--hc-nc-gap));
    justify-content: var(--hc-nc-mobile-justify, var(--hc-nc-justify));
    align-items: var(--hc-nc-mobile-align, var(--hc-nc-align));
    background: var(--hc-nc-mobile-background, var(--hc-nc-background));
    border-width: var(--hc-nc-mobile-border, var(--hc-nc-border));
    border-radius: var(--hc-nc-mobile-radius, var(--hc-nc-radius));
    overflow: var(--hc-nc-mobile-overflow, var(--hc-nc-overflow));
  }
}
@media (prefers-reduced-motion: reduce) {
  .hc-native-background-media video { display: none; }
  .hc-native-background-media .hc-native-video-fallback { display: block; }
  .hc-native-slideshow > span { transition: none; }
}

/* Responsive geometry is local to each node; Foundation tokens still inherit. */
.hc-native-container {
  --hc-nc-mobile-align: initial;
  --hc-nc-mobile-background: initial;
  --hc-nc-mobile-border: initial;
  --hc-nc-mobile-direction: initial;
  --hc-nc-mobile-gap: initial;
  --hc-nc-mobile-justify: initial;
  --hc-nc-mobile-margin-box: initial;
  --hc-nc-mobile-min-height: initial;
  --hc-nc-mobile-mode-height: initial;
  --hc-nc-mobile-mode-width: initial;
  --hc-nc-mobile-overflow: initial;
  --hc-nc-mobile-padding: initial;
  --hc-nc-mobile-radius: initial;
  --hc-nc-mobile-width: initial;
  --hc-nc-tablet-align: initial;
  --hc-nc-tablet-background: initial;
  --hc-nc-tablet-border: initial;
  --hc-nc-tablet-direction: initial;
  --hc-nc-tablet-gap: initial;
  --hc-nc-tablet-justify: initial;
  --hc-nc-tablet-margin-box: initial;
  --hc-nc-tablet-min-height: initial;
  --hc-nc-tablet-mode-height: initial;
  --hc-nc-tablet-mode-width: initial;
  --hc-nc-tablet-overflow: initial;
  --hc-nc-tablet-padding: initial;
  --hc-nc-tablet-radius: initial;
  --hc-nc-tablet-width: initial;
}

/* Shared Surface layers: background media, overlay, then existing widget content. */
.hc-surface-host{isolation:isolate;background:transparent!important}
.hc-flip-card__face.hc-surface-host::before{display:none}
.hc-surface-host--relative{position:relative}
.hc-surface-layers{display:block;position:absolute;inset:0;z-index:-1;pointer-events:none;border-radius:inherit;overflow:hidden}
.hc-surface-layers>.hc-native-background-media{z-index:0}
.hc-surface-layers>.hc-native-background-overlay{z-index:1}
.hc-surface-layers .hc-native-background-media img,.hc-surface-layers .hc-native-background-media video{transform:scale(var(--hc-surface-scale,1))}
.hc-native-background-media iframe{width:100%;height:100%;border:0;pointer-events:none;transform:scale(var(--hc-surface-scale,1));object-fit:cover}
.hc-surface-layers--tablet,.hc-surface-layers--mobile{display:none}
@media(min-width:768px) and (max-width:1024px){.hc-surface-layers--desktop{display:none}.hc-surface-layers--tablet{display:block}}
@media(max-width:767px){.hc-surface-layers--desktop{display:none}.hc-surface-layers--mobile{display:block}}
[data-hc-background-video] .hc-native-video-fallback{display:block;position:absolute;inset:0}
[data-hc-background-video][data-playing="true"] .hc-native-video-fallback{display:none}

.hc-surface-content-video{display:block;width:100%;aspect-ratio:16/9;height:auto;border:0;object-fit:contain}

.hc-native-background-media:has(>iframe){container-type:size}
.hc-native-background-media>iframe[data-hc-video-provider]{position:absolute;left:var(--hc-surface-focal-x,50%);top:var(--hc-surface-focal-y,50%);width:max(100cqw,177.7778cqh);height:max(100cqh,56.25cqw);max-width:none;max-height:none;transform:translate(calc(-1 * var(--hc-surface-focal-x,50%)),calc(-1 * var(--hc-surface-focal-y,50%))) scale(var(--hc-surface-scale,1))}
.hc-native-background-media[data-fit="contain"]>iframe[data-hc-video-provider]{width:min(100cqw,177.7778cqh);height:min(100cqh,56.25cqw)}

/* Reveal's primary photograph is also background media; points remain in its sibling scene. */
.hc-reveal__media.hc-surface-host>.hc-surface-layers{z-index:1}
.hc-reveal__media.hc-surface-host::after{display:none}
.hc-header__surface.hc-surface-host{opacity:1}

/* Authored container border interaction. Shared edges are assigned once in the composition. */
.hc-border-draw{position:absolute;inset:0;pointer-events:none;z-index:4;display:block}
.hc-border-line{position:absolute;display:block;background:var(--hc-bd-color,#000);transition:transform var(--hc-bd-duration,2000ms) var(--hc-bd-ease,ease-out) var(--hc-bd-delay,0ms)}
.hc-border-line--top,.hc-border-line--bottom{height:var(--hc-bd-width,1px);left:0;right:0;transform-origin:left}
.hc-border-line--left,.hc-border-line--right{width:var(--hc-bd-width,1px);top:0;bottom:0;transform-origin:top}
.hc-border-line--top{top:0}.hc-border-line--bottom{bottom:0}.hc-border-line--left{left:0}.hc-border-line--right{right:0}
.hc-border-draw[data-direction=reverse] .hc-border-line--top,.hc-border-draw[data-direction=reverse] .hc-border-line--bottom{transform-origin:right}
.hc-border-draw[data-direction=reverse] .hc-border-line--left,.hc-border-draw[data-direction=reverse] .hc-border-line--right{transform-origin:bottom}
.hc-border-draw[data-drawn=false] .hc-border-line--top,.hc-border-draw[data-drawn=false] .hc-border-line--bottom{transform:scaleX(0)}
.hc-border-draw[data-drawn=false] .hc-border-line--left,.hc-border-draw[data-drawn=false] .hc-border-line--right{transform:scaleY(0)}
@media(prefers-reduced-motion:reduce){.hc-border-draw .hc-border-line{transform:none!important;transition:none}}

.hc-border-line--top{display:var(--hc-bd-top,block)}.hc-border-line--right{display:var(--hc-bd-right,block)}.hc-border-line--bottom{display:var(--hc-bd-bottom,block)}.hc-border-line--left{display:var(--hc-bd-left,block)}
@media(max-width:767px){.hc-border-line--top{display:var(--hc-bd-mobile-top,var(--hc-bd-top,block))}.hc-border-line--right{display:var(--hc-bd-mobile-right,var(--hc-bd-right,block))}.hc-border-line--bottom{display:var(--hc-bd-mobile-bottom,var(--hc-bd-bottom,block))}.hc-border-line--left{display:var(--hc-bd-mobile-left,var(--hc-bd-left,block))}}

/* Inline links inherit the native Text controls instead of browser link colors. */
.hc-native-composition .hc-native-text a:any-link { color:inherit; text-decoration:inherit; }
/* Optional monochrome SVG recoloring; original image supplies dimensions and alt text. */
.hc-native-image__svg { display:block;position:relative;width:100%; }
.hc-native-image__svg-mask { display:none;position:absolute;inset:0;background:var(--hc-native-svg-color,currentColor);-webkit-mask:var(--hc-native-svg-mask) center / var(--hc-native-svg-fit,contain) no-repeat;mask:var(--hc-native-svg-mask) center / var(--hc-native-svg-fit,contain) no-repeat;pointer-events:none; }
.hc-native-image__svg[data-hc-svg-base=yes]>img,.hc-native-image:is(:hover,:focus-within) .hc-native-image__svg>img { opacity:0; }
.hc-native-image__svg[data-hc-svg-base=yes]>.hc-native-image__svg-mask,.hc-native-image:is(:hover,:focus-within) .hc-native-image__svg-mask { display:block; }
.hc-native-image:is(:hover,:focus-within) .hc-native-image__svg-mask { background:var(--hc-native-svg-hover-color,var(--hc-native-svg-color,currentColor)); }

/* Native hash links retain normal navigation, with clearance for a sticky Frame. */
.hc-native-composition [id]{scroll-margin-top:var(--hc-native-anchor-offset,16px)}

/* Opt-in inner content box: surface remains on the full outer container. */
.hc-native-composition .hc-native-content{display:var(--hc-nc-inner-display,contents);width:100%;max-width:var(--hc-nc-inner-width,1200px);min-width:0;margin-inline:auto;align-self:stretch;flex:1 1 auto;flex-direction:inherit;justify-content:inherit;align-items:inherit;gap:inherit;flex-wrap:inherit;row-gap:inherit;column-gap:inherit}
.hc-native-content>[data-hc-node]{position:relative;z-index:1;min-width:0}
.hc-native-composition .hc-native-layout-row>.hc-native-content>.hc-native-container{width:0;min-width:0;flex:var(--hc-nc-item-flex,var(--hc-nc-flex,1) 1 0)}
.hc-native-container{--hc-nc-item-flex:initial;--hc-nc-inner-display:initial;--hc-nc-inner-width:initial;--hc-nc-tablet-inner-display:initial;--hc-nc-mobile-inner-display:initial;--hc-nc-tablet-inner-width:initial;--hc-nc-mobile-inner-width:initial;--hc-nc-tablet-item-flex:initial;--hc-nc-mobile-item-flex:initial}
@media(min-width:768px) and (max-width:1024px){.hc-native-composition .hc-native-container>.hc-native-content{display:var(--hc-nc-tablet-inner-display,var(--hc-nc-inner-display,contents));max-width:var(--hc-nc-tablet-inner-width,var(--hc-nc-inner-width,1200px))}}
@media(max-width:767px){.hc-native-composition .hc-native-container>.hc-native-content{display:var(--hc-nc-mobile-inner-display,var(--hc-nc-tablet-inner-display,var(--hc-nc-inner-display,contents)));max-width:var(--hc-nc-mobile-inner-width,var(--hc-nc-tablet-inner-width,var(--hc-nc-inner-width,1200px)))}}
