/* Hoshi 1.6: additive, scoped styles. No resets of user-saved Elementor settings. */
.hls .hls-contact-list{display:grid;gap:4px;min-width:0}
.hls .hls-contact-item{display:flex;align-items:flex-start;gap:12px;padding:10px 0;min-width:0;text-decoration:none;color:var(--hls-text);border:0;border-bottom:1px solid var(--hls-border);border-radius:0}
.hls .hls-contact-item:last-child{border-bottom:0}
.hls .hls-contact-icon{display:grid;place-items:center;flex:0 0 38px;width:38px;height:38px;border:1px solid var(--hls-border);border-radius:12px;color:var(--hls-accent);background:var(--hls-surface);transition:border-color .2s,background-color .2s}
.hls .hls-contact-icon .hls-icon{width:20px;height:20px}
.hls .hls-contact-copy{display:grid;gap:3px;min-width:0;align-self:center}
.hls .hls-contact-label{font-size:11px;line-height:1.8;color:var(--hls-muted)}
.hls .hls-contact-value{font-size:13px;font-weight:500;line-height:1.9;overflow-wrap:anywhere;white-space:normal}
.hls .hls-contact-value[dir=ltr]{text-align:start;unicode-bidi:isolate}
.hls a.hls-contact-item:hover .hls-contact-icon,.hls a.hls-contact-item:focus-visible .hls-contact-icon{border-color:var(--hls-accent)}
.hls a.hls-contact-item:focus-visible{outline:2px solid var(--hls-accent);outline-offset:3px}
.hls .hls-contact-layout-strip{grid-template-columns:repeat(auto-fit,minmax(min(100%,200px),1fr));gap:16px 24px;padding-block:24px;margin-block:12px;border-block:1px solid var(--hls-border)}
.hls .hls-contact-layout-strip .hls-contact-item{border-bottom:0}
@media(min-width:768px){
 .hls .hls-slide.hls-content-right .hls-hero-copy{margin-left:auto;margin-right:0}
 .hls .hls-slide.hls-content-left .hls-hero-copy{margin-left:0;margin-right:auto}
 .hls .hls-slide.hls-content-center .hls-hero-copy{margin-inline:auto}
 .hls :where(.hls-content-center) .hls-hero-copy{text-align:center}
 .hls :where(.hls-content-center) .hls-hero-description{margin-inline:auto}
 .hls .hls-content-center .hls-hero-actions{justify-content:center}
 .hls .hls-slide.hls-content-center.hls-overlay-gradient .hls-hero-overlay{background:radial-gradient(ellipse at center,rgb(0 0 0 / var(--hls-overlay,.68)) 0%,rgb(0 0 0 / .16) 86%)}
 .hls .hls-slide.hls-content-right.hls-overlay-gradient .hls-hero-overlay{background:linear-gradient(270deg,rgb(0 0 0 / var(--hls-overlay,.68)),rgb(0 0 0 / .16) 75%,transparent)}
 .hls .hls-slide.hls-content-left.hls-overlay-gradient .hls-hero-overlay{background:linear-gradient(90deg,rgb(0 0 0 / var(--hls-overlay,.68)),rgb(0 0 0 / .16) 75%,transparent)}
}
@media(max-width:767px){
 .hls .hls-contact-layout-strip{grid-template-columns:minmax(0,1fr);gap:2px;padding-block:16px}
 .hls .hls-contact-layout-strip .hls-contact-item:not(:last-child){border-bottom:1px solid var(--hls-border)}
 /* No empty copy block when text and buttons are disabled. Image/video share one cell. */
 .hls.hls-mobile-stacked .hls-slide.hls-no-copy{display:grid;grid-template-columns:minmax(0,1fr);grid-template-rows:1fr;padding-bottom:68px}
 .hls.hls-mobile-stacked .hls-slide.hls-no-copy .hls-hero-picture,
 .hls.hls-mobile-stacked .hls-slide.hls-no-copy .hls-hero-video,
 .hls.hls-mobile-stacked .hls-slide.hls-no-copy .hls-light-scene{grid-area:1/1;height:100%;min-height:var(--hls-mobile-media-height,290px);margin:0;align-self:stretch}
}

/* 1.8 categories: transparent by default, manual Elementor styles still win. */
.hls.hls-categories:where(.hls-cat-section-transparent){background-color:transparent;background-image:none}
.hls.hls-categories:where(.hls-cat-section-custom){background-color:var(--hls-cat-section-bg,transparent);background-image:none}
.hls.hls-categories:where(.hls-cat-media-transparent) .hls-category-media{background-color:transparent;background-image:none}
:where(.hls.hls-categories.hls-cat-media-custom) .hls-category-media{background-color:transparent}
.hls.hls-categories:where(.hls-cat-frame-none) .hls-category-media{border-color:transparent;box-shadow:none}
.hls.hls-categories:where(.hls-cat-frame-none) :where(.hls-category-card:hover) .hls-category-media{border-color:transparent;box-shadow:none}
.hls.hls-categories .hls-category-media img{display:block;min-width:0;min-height:0;max-width:100%;max-height:100%}

/* 1.8.2: Opt-in hero breakout. Contained widgets and other sections are not resized.
   Physical margins are intentional: the frame can inherit LTR while the hero is RTL.
   JS uses clientWidth rather than 100vw so scrollbars do not create horizontal overflow. */
.hls-hero-width-frame{display:block;width:100%;max-width:100%;min-width:0;box-sizing:border-box;padding:0;border:0}
.hls-hero-width-frame.hls-hero-width-ready>.hls.hls-hero{
  width:var(--hls-hero-viewport-width)!important;
  max-width:none!important;min-width:0!important;
  margin-left:var(--hls-hero-breakout-left)!important;
  margin-right:var(--hls-hero-breakout-right)!important;
  box-sizing:border-box;
}
/* Only explicitly enabled, individually tracked Elementor ancestors receive this marker. */
[data-hls-hero-unclip="1"]{overflow:visible!important}
@media print{
  .hls-hero-width-frame.hls-hero-width-ready>.hls.hls-hero{width:100%!important;max-width:100%!important;margin-left:0!important;margin-right:0!important}
}
