
.iab-tob-section{
    position:relative;
    width:100%;
    overflow:hidden;
    background:#f8f5ef;
    padding:24px;
    font-family:"Montserrat",Arial,sans-serif;
}
.iab-tob-section *{box-sizing:border-box;}
.iab-tob-inner{
    position:relative;
    max-width:1540px;
    margin:0 auto;
}
.iab-tob-grid{
    position:relative;
    z-index:2;
    display:grid;
    grid-template-columns:1.05fr 1fr;
    gap:24px;
    align-items:stretch;
}
.iab-tob-panel{
    position:relative;
    min-width:0;
    overflow:hidden;
    background:rgba(244,240,230,.84);
    border:1px solid rgba(255,255,255,.42);
    border-radius:30px;
    padding:26px 28px;
    box-shadow:0 10px 30px rgba(33,51,34,.08);
}

.iab-tob-panel::before{
    content:"";
    position:absolute;
    inset:0;
    border-radius:inherit;
    pointer-events:none;
    box-shadow:inset 0 1px 0 rgba(255,255,255,.42);
}
.iab-tob-title{
    color:#123d27;
    font-size:clamp(23px,1.6vw,31px);
    line-height:1.05;
    font-weight:900;
    letter-spacing:-.03em;
    text-transform:uppercase;
    margin:0 0 5px;
}
.iab-tob-subtitle{
    color:#625e57;
    font-size:11px;
    line-height:1.2;
    font-weight:700;
    text-transform:uppercase;
    margin:0 0 18px;
}
.iab-tob-left-layout{
    display:grid;
    grid-template-columns:minmax(0,1.16fr) minmax(200px,.84fr);
    gap:22px;
    align-items:center;
}
.iab-tob-list-row{
    display:grid;
    grid-template-columns:14px minmax(0,1fr) 48px;
    gap:10px;
    align-items:center;
    margin-bottom:13px;
}
.iab-tob-bullet{
    width:10px;height:10px;border-radius:50%;
    display:block;
}
.iab-tob-label{
    color:#252c28;
    font-size:13px;
    line-height:1.35;
    font-weight:600;
}
.iab-tob-pct{
    color:#292d29;
    font-size:13px;
    line-height:1;
    font-weight:700;
    text-align:right;
}
.iab-tob-chart-wrap{
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
}
.iab-tob-chart{
    width:188px;
    height:188px;
    border-radius:50%;
    position:relative;
    box-shadow: inset 0 0 0 1px rgba(0,0,0,.03);
}
.iab-tob-chart-center{
    position:absolute;
    inset:33px;
    display:flex;
    align-items:center;
    justify-content:center;
    border-radius:50%;
    background:#fff;
    box-shadow:0 1px 0 rgba(0,0,0,.03);
}
.iab-tob-chart-total{
    color:#1e2320;
    font-size:34px;
    line-height:1;
    font-weight:900;
    letter-spacing:-.03em;
}
.iab-tob-chart-caption{
    margin-top:14px;
    color:#2a2d29;
    text-align:center;
    font-size:15px;
    line-height:1.28;
    font-weight:800;
    text-transform:uppercase;
}
.iab-tob-btn{
    margin-top:18px;
    min-height:46px;
    padding:0 22px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    border-radius:999px;
    background:#2a6a37;
    color:#fff !important;
    text-decoration:none !important;
    font-size:12px;
    line-height:1;
    font-weight:800;
    letter-spacing:.015em;
    text-transform:uppercase;
    box-shadow:0 8px 20px rgba(31,69,39,.12);
}
.iab-tob-summary-row,
.iab-tob-current-row{
    display:grid;
    grid-template-columns:minmax(0,1fr) auto;
    gap:14px;
    align-items:start;
}
.iab-tob-summary-row{
    margin-bottom:8px;
}
.iab-tob-summary-label,
.iab-tob-current-label{
    color:#232723;
    font-size:13px;
    line-height:1.4;
    font-weight:700;
}
.iab-tob-summary-value,
.iab-tob-current-value{
    color:#1d1e1c;
    font-size:13px;
    line-height:1.4;
    font-weight:800;
    text-align:right;
    white-space:nowrap;
}
.iab-tob-divider{
    height:1px;
    background:#cec7bb;
    margin:14px 0 16px;
}
.iab-tob-current-heading{
    color:#1e241e;
    font-size:24px;
    line-height:1;
    font-weight:900;
    letter-spacing:-.03em;
    text-transform:uppercase;
    margin-bottom:14px;
}
.iab-tob-current-row{
    padding:6px 0;
    border-bottom:1px dotted rgba(71,68,60,.18);
}
.iab-tob-current-row:last-child{border-bottom:none;padding-bottom:0;}


.iab-tob-panel-content{
    position:relative;
    z-index:2;
}
.iab-tob-panel-botanical{
    position:absolute;
    z-index:1;
    pointer-events:none;
    user-select:none;
    line-height:0;
}
.iab-tob-panel-botanical img{
    display:block;
    width:100%;
    height:auto;
}
/* White floral spray grows into lower-left of the money panel */
.iab-tob-panel-botanical-left{
    left:-16px;
    bottom:-24px;
    width:min(27vw,285px);
    opacity:.48;
    transform:rotate(-2deg);
}
/* Jacaranda forms a soft right-side background inside Open Books */
.iab-tob-panel-botanical-right{
    right:-30px;
    bottom:-72px;
    width:min(31vw,340px);
    opacity:.34;
    transform:rotate(1deg);
}

@media (max-width: 1180px){
    .iab-tob-grid{
        grid-template-columns:1fr;
    }
    .iab-tob-panel{
        border-radius:26px;
    }
    .iab-tob-panel-botanical-left{
        left:-10px;
        bottom:-24px;
        width:min(36vw,280px);
        opacity:.44;
    }
    .iab-tob-panel-botanical-right{
        right:-20px;
        bottom:-66px;
        width:min(39vw,320px);
        opacity:.31;
    }
}

@media (max-width: 767px){
    .iab-tob-section{
        padding:18px;
    }
    .iab-tob-panel{
        padding:20px 18px;
        border-radius:22px;
        background:rgba(244,240,230,.88);
    }
    .iab-tob-panel-botanical-left{
        left:-20px;
        bottom:-18px;
        width:185px;
        opacity:.34;
    }
    .iab-tob-panel-botanical-right{
        right:-28px;
        bottom:-42px;
        width:205px;
        opacity:.25;
    }
    .iab-tob-title{
        font-size:22px;
    }
    .iab-tob-left-layout{
        grid-template-columns:1fr;
        gap:18px;
    }
    .iab-tob-list-row{
        grid-template-columns:14px minmax(0,1fr) 40px;
        gap:8px;
        margin-bottom:11px;
    }
    .iab-tob-label,
    .iab-tob-pct,
    .iab-tob-summary-label,
    .iab-tob-summary-value,
    .iab-tob-current-label,
    .iab-tob-current-value{
        font-size:12px;
    }
    .iab-tob-chart{
        width:164px;
        height:164px;
    }
    .iab-tob-chart-center{
        inset:29px;
    }
    .iab-tob-chart-total{
        font-size:29px;
    }
    .iab-tob-chart-caption{
        font-size:13px;
    }
    .iab-tob-summary-row,
    .iab-tob-current-row{
        grid-template-columns:1fr;
        gap:2px;
    }
    .iab-tob-summary-value,
    .iab-tob-current-value{
        text-align:left;
        white-space:normal;
    }
    .iab-tob-current-heading{
        font-size:21px;
    }
    .iab-tob-btn{
        width:100%;
        min-height:44px;
        padding:0 14px;
        text-align:center;
        font-size:11px;
    }
}


/* ==========================================
   Intro animation system v1.0.4
   ========================================== */
.iab-tob-section{
    --iab-intro-distance:12px;
}

.iab-tob-animate:not(.iab-tob-is-visible) .iab-tob-list-row.iab-tob-anim-row,
.iab-tob-animate:not(.iab-tob-is-visible) .iab-tob-summary-row.iab-tob-anim-row,
.iab-tob-animate:not(.iab-tob-is-visible) .iab-tob-current-row.iab-tob-anim-row{
    opacity:0;
    transform:translateY(var(--iab-intro-distance));
}

.iab-tob-animate .iab-tob-anim-row{
    transition-property:opacity,transform;
    transition-timing-function:var(--iab-tob-ease, cubic-bezier(0.22,1,0.36,1));
}

.iab-tob-chart{
    transition:filter .25s ease;
}

.iab-tob-animate:not(.iab-tob-is-visible) .iab-tob-chart.iab-tob-chart-will-animate{
    background:conic-gradient(#e8e1d5 0 100%) !important;
}

.iab-tob-chart-center{
    transition:transform .45s cubic-bezier(0.22,1,0.36,1), opacity .3s ease;
}

.iab-tob-animate:not(.iab-tob-is-visible) .iab-tob-chart-center{
    transform:scale(.88);
    opacity:.25;
}

.iab-tob-is-visible .iab-tob-chart-center{
    transform:scale(1);
    opacity:1;
}

@media (prefers-reduced-motion: reduce){
    .iab-tob-animate .iab-tob-anim-row{
        opacity:1 !important;
        transform:none !important;
        transition:none !important;
    }
    .iab-tob-chart-center{
        transform:none !important;
        opacity:1 !important;
        transition:none !important;
    }
}

@media(max-width:767px){
    .iab-tob-no-mobile-animation .iab-tob-anim-row{
        opacity:1 !important;
        transform:none !important;
        transition:none !important;
    }
    .iab-tob-no-mobile-animation .iab-tob-chart-center{
        transform:none !important;
        opacity:1 !important;
    }
}
