.twobo-benefits{
    position:relative;
    left:50%;
    width:100vw;
    max-width:100vw;
    margin-left:-50vw;
    margin-right:-50vw;
    background:
        radial-gradient(circle at 50% 24%,rgba(0,56,255,.045),transparent 31%),
        #fff;
    color:#102a63;
    padding:clamp(78px,8vw,128px) 0 clamp(76px,7vw,112px);
    overflow:hidden;
}
.twobo-benefits *{box-sizing:border-box}
.twobo-benefits__container{width:min(1280px,calc(100% - 48px));margin:0 auto}
.twobo-benefits__header{max-width:1040px;margin:0 auto clamp(48px,5.5vw,72px);text-align:center}
.twobo-benefits__eyebrow{
    display:flex;
    align-items:center;
    justify-content:center;
    gap:15px;
    margin:0 0 22px;
    color:#b57b24;
    font-size:13px;
    font-weight:700;
    letter-spacing:.18em;
    text-transform:uppercase;
}
.twobo-benefits__eyebrow:before,.twobo-benefits__eyebrow:after{content:"";width:22px;height:1px;background:#c89543}
.twobo-benefits h2{
    position:relative;
    margin:0;
    padding-bottom:32px;
    color:#082f78;
    font-family:Georgia,'Times New Roman',serif;
    font-size:clamp(46px,5.2vw,76px);
    font-weight:400;
    line-height:1.02;
    letter-spacing:-.035em;
}
.twobo-benefits h2:after{
    content:"";
    position:absolute;
    left:50%;
    bottom:2px;
    width:104px;
    height:12px;
    transform:translateX(-50%);
    background:
      linear-gradient(#c5913b,#c5913b) left 5px/43px 1px no-repeat,
      linear-gradient(#c5913b,#c5913b) right 5px/43px 1px no-repeat;
}
.twobo-benefits h2:before{
    content:"";
    position:absolute;
    left:50%;
    bottom:1px;
    width:8px;
    height:8px;
    background:#c5913b;
    transform:translateX(-50%) rotate(45deg);
}
.twobo-benefits__intro{max-width:790px;margin:25px auto 0;color:#526583;font-size:18px;line-height:1.7}
.twobo-benefits__grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px 30px}
.twobo-benefits__card{
    position:relative;
    min-height:270px;
    padding:26px 34px 31px;
    text-align:center;
    background:linear-gradient(180deg,#fff 0%,#fbfdff 100%);
    border:1px solid rgba(20,73,160,.15);
    border-radius:13px;
    box-shadow:0 14px 34px rgba(9,42,96,.075);
    transition:transform .35s ease,box-shadow .35s ease,border-color .35s ease;
    overflow:hidden;
}
.twobo-benefits__card:before{
    content:"";
    position:absolute;
    left:0;
    top:0;
    width:100%;
    height:4px;
    background:linear-gradient(90deg,#0038ff 0%,#3577ff 50%,#0038ff 100%);
}
.twobo-benefits__card:after{
    content:"";
    position:absolute;
    inset:0;
    pointer-events:none;
    background:radial-gradient(circle at 50% 15%,rgba(0,56,255,.055),transparent 28%);
    opacity:.75;
}
.twobo-benefits__card:hover{
    transform:translateY(-7px);
    border-color:rgba(0,56,255,.28);
    box-shadow:0 24px 48px rgba(9,42,96,.13);
}
.twobo-benefits__icon{
    position:relative;
    z-index:1;
    display:grid;
    place-items:center;
    width:80px;
    height:80px;
    margin:0 auto 17px;
    color:#0754f7;
    border:0;
    border-radius:50%;
    background:linear-gradient(145deg,#f5f8ff,#e8efff);
    box-shadow:inset 0 0 0 1px rgba(0,56,255,.035);
}
.twobo-benefits__icon svg{width:42px;height:42px;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.twobo-benefits__card h3{
    position:relative;
    z-index:1;
    margin:0 0 36px;
    color:#082f78;
    font-family:Georgia,'Times New Roman',serif;
    font-size:28px;
    font-weight:700;
    line-height:1.18;
}
.twobo-benefits__card h3:after{
    content:"";
    position:absolute;
    left:50%;
    bottom:-19px;
    width:39px;
    height:2px;
    transform:translateX(-50%);
    background:#c5913b;
}
.twobo-benefits__card p{position:relative;z-index:1;max-width:330px;margin:0 auto;color:#4f6385;font-size:16px;line-height:1.65}
.twobo-benefits__action{text-align:center;margin-top:46px}
.twobo-benefits__button{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-height:58px;
    padding:14px 34px;
    border:2px solid #0038ff;
    border-radius:5px;
    color:#0038ff;
    background:#fff;
    box-shadow:0 10px 26px rgba(0,56,255,.08);
    text-decoration:none!important;
    font-size:15px;
    font-weight:800;
    line-height:1.2;
    transition:background .25s ease,color .25s ease,transform .25s ease,box-shadow .25s ease;
}
.twobo-benefits__button:hover,.twobo-benefits__button:focus{background:#0038ff;color:#fff;transform:translateY(-3px);box-shadow:0 15px 30px rgba(0,56,255,.22)}
[data-2bo-benefits-reveal]{opacity:0;transform:translateY(18px);transition:opacity .65s ease,transform .65s ease}
[data-2bo-benefits-reveal].is-visible{opacity:1;transform:none}
@media(max-width:900px){
    .twobo-benefits__container{width:min(100% - 36px,1280px)}
    .twobo-benefits__grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}
    .twobo-benefits h2{font-size:clamp(42px,7vw,64px)}
}
@media(max-width:620px){
    .twobo-benefits{padding:68px 0 72px}
    .twobo-benefits__container{width:min(100% - 28px,1280px)}
    .twobo-benefits__header{margin-bottom:40px}
    .twobo-benefits__eyebrow{font-size:11px;gap:10px;letter-spacing:.14em}
    .twobo-benefits__eyebrow:before,.twobo-benefits__eyebrow:after{width:16px}
    .twobo-benefits h2{font-size:clamp(36px,11vw,48px);padding-bottom:29px}
    .twobo-benefits__intro{font-size:16px;line-height:1.65}
    .twobo-benefits__grid{grid-template-columns:1fr}
    .twobo-benefits__card{min-height:0;padding:26px 24px 30px}
    .twobo-benefits__icon{width:72px;height:72px}
    .twobo-benefits__card h3{font-size:25px}
    .twobo-benefits__action{margin-top:34px}
    .twobo-benefits__button{width:100%;min-height:54px;padding:13px 20px}
}
@media(prefers-reduced-motion:reduce){[data-2bo-benefits-reveal]{opacity:1;transform:none;transition:none}.twobo-benefits__card,.twobo-benefits__button{transition:none}}
/* Progressive reveal: content remains visible if JS or Elementor preview does not initialize. */
.twobo-benefits [data-2bo-benefits-reveal]{opacity:1;transform:none}
.twobo-benefits.is-reveal-ready [data-2bo-benefits-reveal]:not(.is-visible){opacity:0;transform:translateY(18px)}
body.elementor-editor-active .twobo-benefits [data-2bo-benefits-reveal],
body.elementor-editor-preview .twobo-benefits [data-2bo-benefits-reveal]{opacity:1!important;transform:none!important}

/* 2BO Core 4.9.4 — mobile/tablet button and card text stabilization. */
@media (max-width:1024px){
  .twobo-benefits__button::before,.twobo-benefits__button::after{content:none!important;display:none!important;}
  .twobo-benefits__button{position:relative!important;height:auto!important;min-height:56px!important;line-height:1.3!important;white-space:normal!important;text-align:center!important;word-break:normal!important;overflow-wrap:break-word!important;}
  .twobo-benefits__card h3{height:auto!important;min-height:0!important;line-height:1.22!important;overflow:visible!important;}
}
@media (max-width:620px){
  .twobo-benefits__button{display:flex!important;width:100%!important;max-width:100%!important;padding:15px 18px!important;font-size:13px!important;letter-spacing:.025em!important;}
}
