.twobo-hero,
.twobo-hero *{box-sizing:border-box}
.twobo-hero{
  --twobo-hero-royal-950:#12193f;
  --twobo-hero-royal-800:#24336f;
  --twobo-hero-gold:#b8925a;
  --twobo-hero-gold-light:#e3cfa0;
  --twobo-hero-ivory:#fffaf0;
  --twobo-hero-blue:#0038ff;
  --twobo-hero-ease:cubic-bezier(.22,.61,.36,1);
  position:relative;
  width:100vw;
  max-width:none;
  height:100vh;
  min-height:680px;
  margin-left:calc(50% - 50vw);
  margin-right:calc(50% - 50vw);
  overflow:hidden;
  background:var(--twobo-hero-royal-950);
  isolation:isolate;
}
.twobo-hero__media{position:absolute;inset:0;z-index:0;opacity:0;animation:twoboHeroPhotoIn 1.6s var(--twobo-hero-ease) forwards}
.twobo-hero__media picture,.twobo-hero__media img{display:block;width:100%;height:100%}
.twobo-hero__media img{object-fit:cover;object-position:28% 26%;transform:scale(1.02);animation:twoboHeroKenBurns 20s ease-in-out 1.6s infinite alternate}
@keyframes twoboHeroPhotoIn{to{opacity:1}}
@keyframes twoboHeroKenBurns{from{transform:scale(1.02)}to{transform:scale(1.04)}}
.twobo-hero__scrim{position:absolute;inset:0;z-index:2;pointer-events:none;background:linear-gradient(100deg,rgba(18,25,63,.03) 0%,rgba(18,25,63,.14) 28%,rgba(18,25,63,.34) 46%,rgba(18,25,63,.58) 62%,rgba(18,25,63,.76) 78%,rgba(18,25,63,.87) 100%),linear-gradient(0deg,rgba(18,25,63,.55) 0%,rgba(18,25,63,0) 22%),linear-gradient(180deg,rgba(18,25,63,.5) 0%,rgba(18,25,63,0) 16%)}
.twobo-hero__light{position:absolute;inset:0;z-index:1;pointer-events:none;opacity:0;mix-blend-mode:soft-light;animation:twoboHeroLightIn 2s var(--twobo-hero-ease) .3s forwards}
.twobo-hero__light:before{content:"";position:absolute;inset:-12%;background:repeating-linear-gradient(68deg,rgba(255,247,225,.55) 0,rgba(255,247,225,.55) 2px,transparent 2px,transparent 130px);filter:blur(22px);animation:twoboHeroLightDrift 46s ease-in-out infinite alternate}
@keyframes twoboHeroLightIn{to{opacity:.13}}
@keyframes twoboHeroLightDrift{from{transform:translate(-2%,-1.5%) rotate(0)}to{transform:translate(2%,1.5%) rotate(.4deg)}}
.twobo-hero__mist{position:absolute;inset:0;z-index:3;pointer-events:none;opacity:0;animation:twoboHeroMistIn 1.4s var(--twobo-hero-ease) .4s forwards}
.twobo-hero__mist:before{content:"";position:absolute;top:6%;right:-10%;width:66%;height:82%;background:radial-gradient(ellipse 58% 48% at 38% 32%,rgba(227,207,160,.10) 0%,transparent 72%),radial-gradient(ellipse 48% 58% at 66% 62%,rgba(86,112,196,.09) 0%,transparent 74%);filter:blur(48px);animation:twoboHeroMistDrift 26s ease-in-out infinite}
@keyframes twoboHeroMistIn{to{opacity:1}}
@keyframes twoboHeroMistDrift{0%,100%{transform:translate(0,0) scale(1)}50%{transform:translate(-1.4%,1.2%) scale(1.04)}}
.twobo-hero__content{position:relative;z-index:4;height:100%;display:flex;align-items:center;padding-top:112px}
.twobo-hero__inner{width:min(100% - 40px,1320px);margin:0 auto}
.twobo-hero__text{width:min(760px,92vw);margin-left:auto;padding-right:clamp(20px,5vw,40px);text-align:left}
.twobo-hero__eyebrow{display:block;margin:0 0 28px;padding:4px 0 2px;overflow:visible;opacity:0;transform:translateY(16px);animation:twoboHeroIn .8s var(--twobo-hero-ease) .7s forwards;font-family:Arial,Helvetica,sans-serif;font-size:13.5px;font-weight:600;line-height:1.5;letter-spacing:.16em;text-transform:uppercase;color:var(--twobo-hero-gold-light);text-shadow:0 1px 2px rgba(0,0,0,.35),0 1px 12px rgba(0,0,0,.3)}
.twobo-hero__line{display:block;margin:0 0 24px;opacity:0;animation:twoboHeroIn .6s var(--twobo-hero-ease) .9s forwards}
.twobo-hero__line path{stroke-dasharray:64;stroke-dashoffset:64;animation:twoboHeroDraw 1s var(--twobo-hero-ease) 1s forwards}
@keyframes twoboHeroDraw{to{stroke-dashoffset:0}}
.twobo-hero__headline{display:block;max-width:760px;margin:0 0 38px;padding:0;font-family:Georgia,'Times New Roman',serif;font-size:clamp(40px,5.4vw,76px);font-style:normal;font-weight:600;line-height:1.12;letter-spacing:.005em;text-transform:uppercase;color:#fff;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased}
.twobo-hero__line-wrap{display:block;overflow:visible;min-height:1.12em}
.twobo-hero__line-wrap>span{display:block;white-space:normal;transform:none;opacity:0;animation:twoboHeroHeadlineIn .85s var(--twobo-hero-ease) forwards;text-shadow:0 1px 3px rgba(0,0,0,.4),0 10px 34px rgba(0,0,0,.3)}
.twobo-hero__line-wrap:nth-child(1)>span{animation-delay:1.1s}.twobo-hero__line-wrap:nth-child(2)>span{animation-delay:1.25s}.twobo-hero__line-wrap:nth-child(3)>span{animation-delay:1.4s}.twobo-hero__line-wrap:nth-child(4)>span{animation-delay:1.52s}
@keyframes twoboHeroHeadlineIn{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}
.twobo-hero__sub{max-width:480px;margin:0 0 48px;opacity:0;transform:translateY(14px);animation:twoboHeroIn .8s var(--twobo-hero-ease) 1.65s forwards;font-family:Arial,Helvetica,sans-serif;font-size:clamp(17px,1.6vw,20px);line-height:1.6;color:var(--twobo-hero-ivory);text-shadow:0 1px 2px rgba(0,0,0,.3),0 2px 16px rgba(0,0,0,.28)}
.twobo-hero__buttons{display:flex;gap:20px;flex-wrap:wrap;opacity:0;transform:translateY(14px);animation:twoboHeroIn .8s var(--twobo-hero-ease) 1.9s forwards}
@keyframes twoboHeroIn{to{opacity:1;transform:translateY(0)}}
.twobo-hero__button{display:inline-flex;align-items:center;justify-content:center;min-height:50px;padding:0 28px;border:2px solid var(--twobo-hero-blue);border-radius:2px;font-family:Arial,Helvetica,sans-serif;font-size:14px;font-weight:700;line-height:1;letter-spacing:.06em;text-transform:uppercase;text-decoration:none!important;white-space:nowrap;transition:transform .3s var(--twobo-hero-ease),box-shadow .3s var(--twobo-hero-ease),background-color .3s var(--twobo-hero-ease),color .3s var(--twobo-hero-ease),border-color .3s var(--twobo-hero-ease)}

.twobo-hero__button,
.twobo-hero__button:link,
.twobo-hero__button:visited,
.twobo-hero__button:hover,
.twobo-hero__button:focus,
.twobo-hero__button:focus-visible,
.twobo-hero__button:active{
  text-decoration:none!important;
  -webkit-text-decoration:none!important;
}
.twobo-hero__button--primary{background:var(--twobo-hero-blue);color:#fff;box-shadow:0 12px 26px -16px rgba(0,56,255,.85)}
.twobo-hero__button--primary:hover,.twobo-hero__button--primary:focus-visible{background:#002dcc;border-color:#002dcc;color:#fff;transform:translateY(-3px);box-shadow:0 18px 30px -14px rgba(0,56,255,.72)}
.twobo-hero__button--secondary{background:transparent;color:#fff;border-color:var(--twobo-hero-blue)}
.twobo-hero__button--secondary:hover,.twobo-hero__button--secondary:focus-visible{background:var(--twobo-hero-blue);color:#fff;transform:translateY(-3px);box-shadow:0 18px 30px -14px rgba(0,56,255,.72)}
.twobo-hero__button:focus-visible{outline:3px solid rgba(255,255,255,.8);outline-offset:4px}
@media(max-width:980px){.twobo-hero__text{width:100%;margin-left:0;padding-right:0}.twobo-hero__headline{font-size:clamp(34px,9vw,52px)}}
@media(max-width:760px){.twobo-hero{min-height:680px}.twobo-hero__content{align-items:flex-end;padding-top:76px;padding-bottom:82px}.twobo-hero__media img{object-position:50% 20%}.twobo-hero__headline{max-width:100%;font-size:clamp(29px,8.2vw,38px);line-height:1.08}.twobo-hero__scrim{background:linear-gradient(0deg,rgba(18,25,63,.92) 0%,rgba(18,25,63,.15) 55%,rgba(18,25,63,.05) 100%),linear-gradient(180deg,rgba(18,25,63,.55) 0%,rgba(18,25,63,0) 20%)}.twobo-hero__mist:before{top:auto;right:-10%;bottom:14%;width:88%;height:56%}.twobo-hero__buttons{width:100%;flex-direction:column;gap:15px}.twobo-hero__button{width:100%;padding:0 22px}.twobo-hero__inner{width:min(100% - 32px,1320px)}}
@media(prefers-reduced-motion:reduce){.twobo-hero *{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important}.twobo-hero__media,.twobo-hero__light,.twobo-hero__mist,.twobo-hero__eyebrow,.twobo-hero__line,.twobo-hero__sub,.twobo-hero__buttons{opacity:1;transform:none}.twobo-hero__media img,.twobo-hero__line-wrap>span{transform:none;animation:none}}

/* 2BO Core 4.7.5 — remove the desktop fade band between Hero and Problem. */
@media (min-width:761px){
  .twobo-hero__scrim{
    background:
      linear-gradient(100deg,rgba(18,25,63,.03) 0%,rgba(18,25,63,.14) 28%,rgba(18,25,63,.34) 46%,rgba(18,25,63,.58) 62%,rgba(18,25,63,.76) 78%,rgba(18,25,63,.87) 100%),
      linear-gradient(180deg,rgba(18,25,63,.5) 0%,rgba(18,25,63,0) 16%)!important;
  }
}

/* 2BO Core 4.9.3 — complete tablet/mobile responsive stabilization. */
@media (max-width: 1024px){
  .twobo-hero{height:auto;min-height:720px;}
  .twobo-hero__content{height:auto;min-height:720px;padding:118px 0 72px;align-items:flex-end;}
  .twobo-hero__text{width:100%;max-width:680px;margin:0;padding:0;}
  .twobo-hero__headline{font-size:clamp(38px,7vw,56px);line-height:1.08;margin-bottom:28px;}
  .twobo-hero__line-wrap{min-height:0;overflow:visible;}
  .twobo-hero__sub{max-width:600px;margin-bottom:34px;font-size:18px;line-height:1.55;}
  .twobo-hero__buttons{gap:14px;}
  .twobo-hero__button{min-height:54px;padding:12px 22px;line-height:1.25;white-space:normal;text-align:center;overflow-wrap:anywhere;}
}
@media (max-width: 767px){
  .twobo-hero{height:auto;min-height:700px;}
  .twobo-hero__content{height:auto;min-height:700px;padding:96px 0 54px;align-items:flex-end;}
  .twobo-hero__inner{width:calc(100% - 32px);}
  .twobo-hero__text{max-width:none;}
  .twobo-hero__eyebrow{margin-bottom:16px;font-size:11px;line-height:1.45;letter-spacing:.12em;}
  .twobo-hero__line{margin-bottom:16px;}
  .twobo-hero__headline{font-size:clamp(28px,9vw,40px);line-height:1.05;letter-spacing:0;margin-bottom:22px;overflow-wrap:anywhere;word-break:normal;}
  .twobo-hero__line-wrap,.twobo-hero__line-wrap>span{display:block;min-height:0;white-space:normal;}
  .twobo-hero__sub{font-size:16px;line-height:1.5;margin-bottom:26px;}
  .twobo-hero__buttons{display:grid;grid-template-columns:1fr;width:100%;gap:12px;}
  .twobo-hero__button{width:100%;min-height:52px;padding:12px 16px;font-size:12px;letter-spacing:.045em;line-height:1.25;white-space:normal;}
}
@media (max-width: 390px){
  .twobo-hero__headline{font-size:clamp(25px,8.5vw,34px);}
  .twobo-hero__button{font-size:11.5px;letter-spacing:.025em;}
}

/* 2BO Core 4.9.4 — definitive responsive typography/button fix. */
@media (max-width:1024px){
  .twobo-hero__headline,
  .twobo-hero__headline *{
    line-height:1.08!important;
    white-space:normal!important;
    height:auto!important;
    max-height:none!important;
    overflow:visible!important;
  }
  .twobo-hero__line-wrap{margin:0!important;padding:0!important;min-height:0!important;}
  .twobo-hero__line-wrap>span{position:static!important;transform:none!important;}
  .twobo-hero__button::before,.twobo-hero__button::after{content:none!important;display:none!important;}
}
@media (max-width:767px){
  .twobo-hero__content{padding-top:72px!important;padding-bottom:42px!important;}
  .twobo-hero__headline{font-size:clamp(27px,8.2vw,36px)!important;line-height:1.1!important;margin-bottom:18px!important;}
  .twobo-hero__headline *{font-size:inherit!important;line-height:inherit!important;letter-spacing:inherit!important;}
  .twobo-hero__sub{margin-bottom:22px!important;}
  .twobo-hero__button{height:auto!important;min-height:54px!important;padding:14px 16px!important;line-height:1.28!important;white-space:normal!important;word-break:normal!important;overflow-wrap:break-word!important;}
}

/* 2BO Core 5.0.2 — integrated premium Hero navigation. */
.twobo-hero-nav{position:absolute;top:0;left:0;width:100%;z-index:20;height:84px;border-bottom:1px solid rgba(184,146,90,.18);transition:background .35s ease,box-shadow .35s ease,border-color .35s ease,backdrop-filter .35s ease}
.twobo-hero-nav.is-sticky{position:fixed;background:rgba(8,20,51,.88);border-bottom-color:rgba(184,146,90,.42);box-shadow:0 14px 40px rgba(2,8,28,.28);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)}
.twobo-hero-nav__inner{width:min(100% - 48px,1440px);height:100%;margin:0 auto;display:flex;align-items:center;gap:30px}
.twobo-hero-nav__brand{display:flex;align-items:center;flex:0 0 auto;min-width:154px;color:#fff!important;text-decoration:none!important;font:600 21px/1 Georgia,serif;letter-spacing:.02em}
.twobo-hero-nav__brand img{display:block;width:auto;max-width:170px;height:58px;object-fit:contain;filter:drop-shadow(0 6px 15px rgba(0,0,0,.22))}
.twobo-hero-nav__desktop{margin-left:auto;display:flex;align-items:center;justify-content:flex-end;gap:clamp(16px,1.55vw,28px)}
.twobo-hero-nav__desktop a{position:relative;padding:31px 0 27px;color:rgba(255,255,255,.94)!important;text-decoration:none!important;font:600 12px/1.2 Arial,Helvetica,sans-serif;letter-spacing:.075em;text-transform:uppercase;white-space:nowrap;transition:color .25s ease}
.twobo-hero-nav__desktop a:after{content:"";position:absolute;left:50%;bottom:20px;width:0;height:1px;background:var(--twobo-hero-gold-light);transform:translateX(-50%);transition:width .25s ease}
.twobo-hero-nav__desktop a:hover,.twobo-hero-nav__desktop a:focus-visible,.twobo-hero-nav__desktop a.is-active{color:#fff!important}
.twobo-hero-nav__desktop a:hover:after,.twobo-hero-nav__desktop a:focus-visible:after,.twobo-hero-nav__desktop a.is-active:after{width:100%}
.twobo-hero-nav__cta{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:0 20px;border:1px solid #0038ff;color:#fff!important;text-decoration:none!important;font:700 11px/1 Arial,Helvetica,sans-serif;letter-spacing:.075em;text-transform:uppercase;white-space:nowrap;transition:background .25s ease,transform .25s ease,box-shadow .25s ease}
.twobo-hero-nav__cta:hover,.twobo-hero-nav__cta:focus-visible{background:#0038ff;color:#fff!important;transform:translateY(-2px);box-shadow:0 12px 24px -14px rgba(0,56,255,.9)}
.twobo-hero-nav__toggle{display:none;margin-left:auto;width:46px;height:46px;padding:0;border:1px solid rgba(184,146,90,.52);background:rgba(7,18,47,.28);align-items:center;justify-content:center;flex-direction:column;gap:5px;cursor:pointer}
.twobo-hero-nav__toggle span{display:block;width:21px;height:1.5px;background:#fff;transition:transform .25s ease,opacity .2s ease}
.twobo-hero-nav__toggle[aria-expanded="true"] span:nth-child(1){transform:translateY(6.5px) rotate(45deg)}
.twobo-hero-nav__toggle[aria-expanded="true"] span:nth-child(2){opacity:0}
.twobo-hero-nav__toggle[aria-expanded="true"] span:nth-child(3){transform:translateY(-6.5px) rotate(-45deg)}
.twobo-hero-nav__mobile{position:fixed;inset:0;z-index:-1;display:flex;align-items:center;justify-content:center;padding:110px 28px 40px;background:rgba(7,18,47,.98);opacity:0;visibility:hidden;transform:translateY(-14px);transition:opacity .28s ease,visibility .28s ease,transform .28s ease}
.twobo-hero-nav__mobile.is-open{opacity:1;visibility:visible;transform:translateY(0)}
.twobo-hero-nav__mobile-links{width:min(100%,460px);display:flex;flex-direction:column;align-items:center;gap:5px}
.twobo-hero-nav__mobile-links>a:not(.twobo-hero-nav__mobile-cta){width:100%;padding:13px 8px;border-bottom:1px solid rgba(184,146,90,.18);color:#fff!important;text-align:center;text-decoration:none!important;font:500 clamp(23px,7vw,34px)/1.15 Georgia,serif}
.twobo-hero-nav__mobile-cta{display:flex;align-items:center;justify-content:center;width:min(100%,330px);min-height:54px;margin-top:25px;border:1px solid #0038ff;color:#fff!important;text-decoration:none!important;font:700 12px/1 Arial,Helvetica,sans-serif;letter-spacing:.07em;text-transform:uppercase}
body.twobo-menu-open{overflow:hidden}
@media(max-width:1180px){.twobo-hero-nav__desktop{gap:15px}.twobo-hero-nav__desktop a{font-size:10.5px}.twobo-hero-nav__cta{padding:0 14px;font-size:10px}.twobo-hero-nav__brand{min-width:120px}.twobo-hero-nav__brand img{max-width:140px}}
@media(max-width:980px){.twobo-hero-nav{height:72px}.twobo-hero-nav__inner{width:calc(100% - 32px)}.twobo-hero-nav__desktop,.twobo-hero-nav__cta{display:none}.twobo-hero-nav__toggle{display:flex}.twobo-hero-nav__brand img{height:48px;max-width:150px}.twobo-hero__content{padding-top:92px!important}}
@media(max-width:767px){.twobo-hero-nav__brand{min-width:0}.twobo-hero-nav__brand img{height:44px;max-width:138px}.twobo-hero__content{padding-top:86px!important}}


/* 2BO Core 7.5.16 — mobile Hero photo must not depend on animation support. */
@media (max-width:760px){
  .twobo-hero > .twobo-hero__media{
    display:block!important;
    visibility:visible!important;
    opacity:1!important;
    animation:none!important;
    transform:none!important;
    background-position:center center;
    background-repeat:no-repeat;
    background-size:cover;
  }
  .twobo-hero > .twobo-hero__media picture,
  .twobo-hero > .twobo-hero__media img{
    display:block!important;
    visibility:visible!important;
    opacity:1!important;
  }
}
