/* Hero: one responsive rule set, aligned to the site's section grid. */
#tb-home-hero{--blue:#344e73;--ink:#3a3d4a;--body:#51535c;--copper:#c4957a;--accent:#b07d62;--sand:#e5d9c9;--paper:#f7f5f1;margin:0;background:var(--sand);color:var(--ink);font-family:Manrope,Arial,sans-serif;-webkit-font-smoothing:antialiased}
#tb-home-hero *{box-sizing:border-box}
#tb-home-hero a{color:inherit;text-decoration:none}
#tb-home-hero .hero{position:relative;isolation:isolate;display:flex;align-items:center;width:100%;height:auto;min-height:clamp(700px,55vw,900px);padding-inline:var(--tb-site-inset,32px);overflow:hidden;background:var(--blue)}
#tb-home-hero .hero-image{position:absolute;inset:0;width:100%;height:100%;max-width:none;object-fit:cover;object-position:center;z-index:-2}
/* Fade only the upper photo; the base stays opaque to prevent a dark flash. */
#tb-home-hero .hero-image-secondary{opacity:0;pointer-events:none}
#tb-home-hero .hero:after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(10,25,41,.81),rgba(10,25,41,.68) 35%,rgba(10,25,41,.18) 65%,rgba(10,25,41,0) 85%);pointer-events:none}
#tb-home-hero .hero-content{width:min(60%,900px);min-width:0;padding:170px 0 80px}
#tb-home-hero .eyebrow{margin:0 0 29px;font-size:12px;font-weight:700;letter-spacing:2.7px;line-height:1.6;color:var(--paper)}
#tb-home-hero h2{margin:0;color:var(--paper);font-size:clamp(42px,4.2vw,78px);font-weight:700;line-height:1.12;letter-spacing:-.055em}
#tb-home-hero h2 span{display:block;white-space:normal}
#tb-home-hero .description{max-width:440px;margin:29px 0 0;font-size:clamp(16px,1.35vw,20px);line-height:1.65;font-weight:500;color:var(--paper);text-wrap:pretty}
#tb-home-hero .actions{display:flex;align-items:center;flex-wrap:wrap;gap:12px;margin-top:36px}
/* Match existing Elementor CTA typography and padding at every breakpoint. */
#tb-home-hero .button{display:inline-flex;flex:0 0 auto;align-items:center;justify-content:center;gap:5px;width:auto;max-width:100%;min-height:46px;padding:12px 24px;border:1px solid transparent;border-radius:30px;font-family:Manrope,Arial,sans-serif;font-size:13px;font-weight:700;letter-spacing:1.5px;line-height:13px;text-transform:uppercase;text-align:center;transition:background-color .5s ease,color .5s ease,border-color .5s ease}
#tb-home-hero .button svg{display:block;width:1em;height:1em;flex:none;fill:currentColor}
#tb-home-hero .button svg path{fill:currentColor}
#tb-home-hero .button-primary{background:var(--copper);border-color:var(--copper);color:#f8f8f8}
#tb-home-hero .button-primary:hover,#tb-home-hero .button-primary:focus-visible{background:var(--accent);border-color:var(--accent)}
#tb-home-hero .button-secondary{background:var(--paper);border-color:var(--paper);color:var(--blue)}
#tb-home-hero .button-secondary:hover,#tb-home-hero .button-secondary:focus-visible{background:var(--sand);border-color:var(--sand);color:var(--blue)}
#tb-home-hero .button-secondary:active{background:#d8d0c4;border-color:#d8d0c4}
#tb-home-hero a:focus-visible{outline:3px solid var(--paper);outline-offset:6px}
@media(max-width:1199px){
#tb-home-hero .hero-content{width:66%}
#tb-home-hero h2{font-size:clamp(38px,4.7vw,58px)}
}
@media(max-width:1050px) and (min-width:801px){
#tb-home-hero .eyebrow{font-size:10px;letter-spacing:2px}
#tb-home-hero .description{max-width:340px}
}
@media(max-width:800px){
#tb-home-hero .hero{min-height:650px;padding-top:92px;padding-bottom:32px}
#tb-home-hero .hero-content{width:100%;padding:42px 0 52px}
#tb-home-hero h2{font-size:clamp(32px,5.7vw,46px);max-width:620px;line-height:1.15}
#tb-home-hero .eyebrow{margin-bottom:24px}
#tb-home-hero .description{font-size:16px;max-width:430px;margin-top:24px}
#tb-home-hero .actions{margin-top:28px}
#tb-home-hero .hero-image{object-position:66% center}
#tb-home-hero .hero:after{background:linear-gradient(180deg,rgba(10,25,41,.83),rgba(10,25,41,.73) 50%,rgba(10,25,41,.15) 88%)}
}
@media(max-width:540px){
#tb-home-hero .hero{padding-top:88px;padding-bottom:24px}
#tb-home-hero .hero-content{padding:40px 0 48px}
#tb-home-hero .eyebrow{font-size:9px;letter-spacing:2.1px}
#tb-home-hero h2{font-size:clamp(30px,8.1vw,42px);letter-spacing:-.045em}
#tb-home-hero .description{max-width:350px;font-size:15px;line-height:1.7}
#tb-home-hero .actions{align-items:flex-start;flex-direction:column;margin-top:30px}
}
@media(prefers-reduced-motion:reduce){#tb-home-hero *,#tb-home-hero *:before,#tb-home-hero *:after{transition:none!important;scroll-behavior:auto!important}}
