/* Load after home, skin, editorial and brand styles. One shared measurement
   keeps the slideshow, its rounded overlays and the header inside one frame. */
body.home.hz-site{
 --hz-hero-frame:clamp(16px,2vw,28px);
 --hz-hero-radius:clamp(22px,2.2vw,32px);
 --hz-hero-admin:0px;
 --hz-hero-viewport:calc(100vh - var(--hz-hero-admin));
 --hz-hero-gutter:clamp(24px,4vw,64px);
}
@supports(height:100svh){body.home.hz-site{--hz-hero-viewport:calc(100svh - var(--hz-hero-admin))}}
body.home.hz-site.admin-bar{--hz-hero-admin:var(--wp-admin--admin-bar--height,32px)}
@media(max-width:782px){body.home.hz-site.admin-bar{--hz-hero-admin:var(--wp-admin--admin-bar--height,46px)}}

body.home.hz-site .hz-hero{
 position:relative;min-height:0;height:auto;margin:0;padding:0;
 background:var(--hz-paper);box-sizing:border-box;
}
body.home.hz-site .hz-hero .orbia-hero_one{padding:var(--hz-hero-frame);background:transparent}
body.home.hz-site .hz-hero-slideshow>.elementor-background-slideshow{
 inset:var(--hz-hero-frame);width:auto;height:auto;
 border-radius:var(--hz-hero-radius);overflow:hidden;
}
body.home.hz-site .hz-hero .hero-wrapper{
 min-height:calc(var(--hz-hero-viewport) - var(--hz-hero-frame) - var(--hz-hero-frame));
 height:auto;max-height:none;display:flex;align-items:center;
 border-radius:var(--hz-hero-radius);box-sizing:border-box;
}
body.home.hz-site .hz-hero .hero-wrapper>.container-fluid{
 width:100%;max-width:1480px;padding-inline:var(--hz-hero-gutter);
}
body.home.hz-site .hz-hero .hero-wrapper .col-xl-6:first-child{width:100%;max-width:930px;min-width:0}
body.home.hz-site .hz-hero .hero-wrapper .hero-content{
 padding:clamp(128px,18svh,190px) 0 clamp(78px,10svh,110px);
}
body.home.hz-site .hz-hero .hero-wrapper .hero-content .tag-line{
 font-size:14px;line-height:1.5;letter-spacing:.1em;margin-bottom:24px;
}
body.home.hz-site .hz-hero .hero-wrapper .hero-content h1{
 font-size:clamp(44px,min(6.8vw,10svh),108px);line-height:1.03;
 max-width:900px;margin-bottom:26px;
}
body.home.hz-site .hz-hero .hero-wrapper .hero-content>p{
 font-size:18px;line-height:1.65;max-width:450px;margin:0 0 26px;
}
body.home.hz-site .hz-hero .theme-btn.gradient-btn{font-size:16px;line-height:1.3;padding:18px 27px}
body.home.hz-site .hz-hero .hero-content>p:empty,body.home.hz-site .hz-hero .hero-content .tag-line:empty{display:none}
body.home.hz-site .hz-hero-controls{right:24px;bottom:20px}

/* These offsets affect only the initial overlay header, not its sticky state. */
body.home.hz-site .hz-header{
 top:calc(var(--hz-hero-admin) + var(--hz-hero-frame));
 left:var(--hz-hero-frame);width:calc(100% - var(--hz-hero-frame) - var(--hz-hero-frame));
}
body.home.hz-site .hz-header .header-navigation:not(.sticky){padding:18px 0}
body.home.hz-site .hz-header .header-navigation:not(.sticky)>.container-fluid{
 max-width:1480px;padding-inline:var(--hz-hero-gutter);
}
body.home.hz-site .hz-header .header-navigation:not(.sticky) .primary-menu{min-height:72px}
body.home.hz-site .hz-header .header-navigation:not(.sticky) .hz-brand{display:flex}

/* Compact vertical rhythm on laptops and shorter windows, with readable type. */
@media(max-height:760px){
 body.home.hz-site .hz-hero .hero-wrapper .hero-content{padding-top:112px;padding-bottom:72px}
 body.home.hz-site .hz-hero .hero-wrapper .hero-content .tag-line{line-height:1.4;margin-bottom:16px}
 body.home.hz-site .hz-hero .hero-wrapper .hero-content h1{font-size:clamp(44px,min(6.8vw,9.2svh),88px);margin-bottom:18px}
 body.home.hz-site .hz-hero .hero-wrapper .hero-content>p{line-height:1.6;margin-bottom:22px}
 body.home.hz-site .hz-hero .theme-btn.gradient-btn{padding:16px 25px}
 body.home.hz-site .hz-header .header-navigation:not(.sticky){padding:12px 0}
}

@media(max-width:767px){
 body.home.hz-site{--hz-hero-gutter:20px}
 body.home.hz-site .hz-hero .hero-wrapper .hero-content{padding-top:120px;padding-bottom:90px}
 body.home.hz-site .hz-hero .hero-wrapper .hero-content .tag-line{font-size:14px;line-height:1.5;letter-spacing:.05em;margin-bottom:16px}
 body.home.hz-site .hz-hero .hero-wrapper .hero-content .tag-line::before{flex-shrink:0;margin-right:9px}
 body.home.hz-site .hz-hero .hero-wrapper .hero-content h1{font-size:clamp(36px,min(10.8vw,8svh),64px);line-height:1.06;margin-bottom:20px}
 body.home.hz-site .hz-hero .hero-wrapper .hero-content>p{max-width:360px;font-size:18px;line-height:1.65;margin-bottom:24px}
 body.home.hz-site .hz-hero .theme-btn.gradient-btn{padding:16px 23px}
 body.home.hz-site .hz-hero .theme-btn i{margin-left:20px}
 body.home.hz-site .hz-hero-controls{right:18px;bottom:18px}
 body.home.hz-site .hz-header .header-navigation:not(.sticky){padding:12px 0}
 body.home.hz-site .hz-header .header-navigation:not(.sticky) .primary-menu{min-height:58px;gap:14px}
 body.home.hz-site .hz-header .header-navigation:not(.sticky)>.container-fluid{padding-inline:18px}
}
@media(max-width:767px) and (max-height:640px){
 body.home.hz-site .hz-hero .hero-wrapper .hero-content{padding-top:100px;padding-bottom:76px}
 body.home.hz-site .hz-hero .hero-wrapper .hero-content .tag-line{line-height:1.4;margin-bottom:12px}
 body.home.hz-site .hz-hero .hero-wrapper .hero-content h1{margin-bottom:16px}
 body.home.hz-site .hz-hero .hero-wrapper .hero-content>p{line-height:1.55;margin-bottom:18px}
 body.home.hz-site .hz-hero .theme-btn.gradient-btn{padding-block:14px}
}

/* Very short landscape / zoomed windows keep all text and controls reachable.
   Natural content may increase this minimum; no fixed height clips the text. */
@media(max-height:480px){
 body.home.hz-site .hz-hero .hero-wrapper{min-height:440px}
 body.home.hz-site .hz-hero .hero-wrapper .hero-content{padding-top:108px;padding-bottom:76px}
 body.home.hz-site .hz-hero .hero-wrapper .hero-content h1{font-size:clamp(36px,6.8vw,48px);margin-bottom:16px}
 body.home.hz-site .hz-hero .hero-wrapper .hero-content .tag-line{line-height:1.4;margin-bottom:12px}
 body.home.hz-site .hz-hero .hero-wrapper .hero-content>p{max-width:550px;line-height:1.55;margin-bottom:18px}
 body.home.hz-site .hz-hero .theme-btn.gradient-btn{padding-block:14px}
 body.home.hz-site .hz-header .header-navigation:not(.sticky){padding-block:10px}
}
