/* Sticky header, smooth motion, responsive fixes, blog design */
html{scroll-behavior:smooth}
html,body{overflow-x:clip}
img,video,iframe{max-width:100%}
/* ---- sticky header (the template-part wrapper is the sticky element) ---- */
header.wp-block-template-part{position:sticky;top:0;z-index:100;background:#fff}
body.admin-bar header.wp-block-template-part{top:32px}
@media(max-width:782px){body.admin-bar header.wp-block-template-part{top:46px}}
.hr-header{position:relative!important;top:auto!important;transition:box-shadow .35s ease}
.hr-top{max-height:44px;overflow:hidden;transition:max-height .35s ease,opacity .35s ease}
.hr-header .hr-logo img{transition:width .35s ease,height .35s ease}
.hstuck .hr-header{box-shadow:0 8px 28px rgba(23,23,23,.10)}
.hstuck .hr-top{max-height:0;opacity:0}
.hstuck .hr-header .hr-logo img{width:54px!important;height:54px!important}
.hr-header.hr-open .hr-nav{max-height:calc(100vh - 110px);overflow-y:auto}
.hr-nav a{transition:color .25s ease}
/* ---- smooth reveal (only active when JS adds .hjs) ---- */
.hjs .hrv{opacity:0;transform:translateY(26px);transition:opacity .85s cubic-bezier(.22,.61,.36,1),transform .85s cubic-bezier(.22,.61,.36,1);will-change:opacity,transform}
.hjs .hrv.hin{opacity:1;transform:none;will-change:auto}
.hjs .hrv.hin.hr-card:hover,.hjs .hrv.hin.hbc:hover{transform:translateY(-5px)}
.hr-card,.hbc,.hp,.hsv>div,.hfacts>div{transition:transform .45s cubic-bezier(.22,.61,.36,1),border-color .3s,box-shadow .3s,opacity .85s cubic-bezier(.22,.61,.36,1)}
.hr-card__img{transition:transform .9s cubic-bezier(.22,.61,.36,1)}
.hr-card:hover .hr-card__img{transform:scale(1.05)}
.hp{background-size:100% auto;background-size:cover}
.hp::after{content:"";position:absolute;left:32px;right:32px;bottom:22px;height:2px;background:#9D790C;transform:scaleX(0);transform-origin:left;transition:transform .5s cubic-bezier(.22,.61,.36,1)}
.hp:hover::after{transform:scaleX(1)}
.hb-btn .elementor-button,.hz-btn .elementor-button,.hcta a.b,.hr-btn{transition:background-color .3s ease,color .3s ease,border-color .3s ease,transform .3s ease}
.hb-btn .elementor-button:hover,.hz-btn .elementor-button:hover,.hcta a.b:hover{transform:translateY(-2px)}
.e-con.hb{animation:hbzoom 14s ease-out both}
@keyframes hbzoom{from{background-size:112%}to{background-size:cover}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.hjs .hrv{opacity:1;transform:none;transition:none}.e-con.hb{animation:none}*{transition-duration:.01ms!important}}
/* ---- responsive hardening ---- */
@media(max-width:959px){.hres{position:static}.hcalc{gap:20px}}
@media(max-width:600px){
.hcalc .row2{grid-template-columns:1fr}
.hcalc fieldset{padding:16px}
.hres{padding:20px}
.hp{min-height:320px;padding:24px}.hp h3{font-size:24px}
.hsplit__img::after{left:-8px;bottom:-8px}
.hsplit{gap:28px}
.hcta .btns{width:100%}.hcta .btns a.b{flex:1;text-align:center}
.hr-msearch{flex-wrap:wrap}.hr-msearch button{width:100%}
.hsteps>div{padding-right:0}
.hb-btns .elementor-widget{width:100%!important}.hb-btns .elementor-button{width:100%;text-align:center}
.hr-itemgrid{gap:14px}
.hr-footer{padding-bottom:84px}
.hz-lead{font-size:16px}
.hb-sub p{font-size:16px}
}
@media(max-width:400px){.hr-itemgrid{grid-template-columns:1fr}}
.hr-fgrid>*{min-width:0}
.hz-in .elementor-widget-shortcode,.hz-in .elementor-widget-html{min-width:0}
/* ---- blog ---- */
.hbl-feature{display:grid;grid-template-columns:1fr;background:#fff;border:1px solid #EAEAEA;margin:0 0 44px;text-decoration:none;color:inherit;overflow:hidden}
@media(min-width:900px){.hbl-feature{grid-template-columns:1.25fr 1fr}}
.hbl-feature .im,.hbc .im{overflow:hidden;background:#F7F7F5}
.hbl-feature .im{aspect-ratio:16/11}
.hbl-feature .im img,.hbc .im img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .9s cubic-bezier(.22,.61,.36,1)}
.hbl-feature:hover .im img,.hbc:hover .im img{transform:scale(1.05)}
.hbl-feature .tx{padding:36px;display:flex;flex-direction:column;justify-content:center;gap:10px}
@media(max-width:600px){.hbl-feature .tx{padding:24px}}
.hbl-feature h2{font:800 clamp(24px,3vw,34px)/1.2 Manrope,sans-serif;margin:4px 0}
.hbl-feature p{color:#555;line-height:1.7;margin:0}
.hbl-meta{font:600 12px Inter,sans-serif;letter-spacing:.12em;text-transform:uppercase;color:#9D790C}
.hbl-more{font:700 14px Manrope,sans-serif;color:#9D790C;letter-spacing:.06em;text-transform:uppercase;margin-top:8px}
.hbl-more::after{content:" \2192";display:inline-block;transition:transform .3s}
.hbl-feature:hover .hbl-more::after,.hbc:hover .hbl-more::after{transform:translateX(6px)}
.hbl-grid{display:grid;gap:28px;grid-template-columns:1fr}
@media(min-width:640px){.hbl-grid{grid-template-columns:repeat(2,1fr)}}
@media(min-width:1000px){.hbl-grid{grid-template-columns:repeat(3,1fr)}}
.hbc{display:flex;flex-direction:column;background:#fff;border:1px solid #EAEAEA;text-decoration:none;color:inherit;overflow:hidden}
.hbc:hover{border-color:#9D790C}
.hbc .im{aspect-ratio:3/2}
.hbc .tx{padding:22px;display:flex;flex-direction:column;gap:8px;flex:1}
.hbc h3{font:800 19px/1.3 Manrope,sans-serif;margin:0;color:#171717}
.hbc p{color:#555;font-size:15px;line-height:1.65;margin:0}
.hbc .hbl-more{margin-top:auto;padding-top:8px}
.hbl-pager{display:flex;gap:8px;justify-content:center;margin-top:44px;flex-wrap:wrap}
.hbl-pager a,.hbl-pager span{padding:10px 16px;border:1px solid #EAEAEA;text-decoration:none;color:#171717;font-weight:600}
.hbl-pager .current{background:#171717;color:#fff;border-color:#171717}
.hbl-pager a:hover{border-color:#9D790C;color:#9D790C}
/* single article */
body.single-post .wp-site-blocks>main,body.single-post main.wp-block-group{max-width:820px;margin-left:auto;margin-right:auto;padding:40px 20px 72px!important}
body.single-post .wp-block-post-title{font:800 clamp(30px,5vw,46px)/1.12 Manrope,sans-serif;margin:0 0 18px}
body.single-post .wp-block-post-featured-image img{width:100%;height:auto;aspect-ratio:16/9;object-fit:cover}
body.single-post .wp-block-post-content p{font-size:18px;line-height:1.85;color:#333;margin:0 0 1.2em}
.hpost-cta{margin:44px 0 0;padding:30px;background:#171717;color:#fff;border-left:5px solid #9D790C}
.hpost-cta h3{margin:0 0 8px;font:800 22px Manrope;color:#fff}
.hpost-cta p{margin:0 0 16px;color:#d4d4d4!important;font-size:16px!important}
.hpost-cta a{display:inline-block;background:#9D790C;color:#fff;padding:13px 22px;font:700 15px Manrope;text-decoration:none;margin:0 10px 8px 0}
.hpost-cta a.o{background:transparent;border:2px solid #fff;padding:11px 20px}
