/* Base reset: remove default browser body margin so content reaches the page edges. */
html,
body {
	margin: 0;
	padding: 0;
}
/* Hide scrollbars across all pages while keeping scrolling functional. */
html {
	-ms-overflow-style: none;
	scrollbar-width: none;
}

html::-webkit-scrollbar,
body::-webkit-scrollbar {
	width: 0;
	height: 0;
	display: none;
}
/* ==== carrd-source_about-page.txt ==== */

.tb-page-header{
position:sticky;
top:0;
z-index:999;
background:#263445;
border-bottom:1px solid rgba(255,255,255,.08);
font-family:'Plus Jakarta Sans', Arial, sans-serif;
}

.tb-page-header-wrap{
max-width:1320px;
margin:0 auto;
padding:17px 6%;
display:flex;
align-items:center;
justify-content:space-between;
gap:34px;
}

.tb-page-logo{
display:flex;
align-items:center;
text-decoration:none;
}

.tb-page-logo img{
height:80px;
width:auto;
display:block;
}

.tb-page-nav{
display:flex;
align-items:center;
gap:32px;
}

.tb-page-nav a{
text-decoration:none;
font-size:12px;
font-weight:800;
letter-spacing:.12em;
text-transform:uppercase;
color:rgba(255,255,255,.78);
transition:.2s ease;
}

.tb-page-nav a:hover{
color:#ffffff;
}

.tb-page-actions{
display:flex;
align-items:center;
gap:16px;
}

.tb-page-cta{
display:inline-flex;
align-items:center;
justify-content:center;
padding:13px 18px;
border:1px solid #d0a85f;
background:#d0a85f;
color:#263445;
text-decoration:none;
font-size:12px;
font-weight:800;
letter-spacing:.1em;
text-transform:uppercase;
cursor:pointer;
transition:.2s ease;
}

.tb-page-cta:hover{
opacity:.92;
}

.tb-menu-button{
display:none;
}

@media(max-width:720px){

.tb-page-header-wrap{
padding:18px 5%;
}

.tb-page-nav,
.tb-page-actions{
display:none;
}

.tb-page-logo img{
height:82px;
}

.tb-menu-button{
display:flex;
width:42px;
height:42px;
border:0;
background:rgba(255,255,255,.06);
align-items:center;
justify-content:center;
flex-direction:column;
gap:6px;
cursor:pointer;
position:relative;
z-index:10001;
}

.tb-menu-button span{
display:block;
width:24px;
height:2px;
background:#ffffff;
transition:.25s ease;
}

.tb-menu-button.active span:first-child{
transform:translateY(4px) rotate(45deg);
}

.tb-menu-button.active span:last-child{
transform:translateY(-4px) rotate(-45deg);
}
}

.tb-about-page{
background:#f6f4ef;
font-family:'Plus Jakarta Sans', Arial, sans-serif;
color:#263445;
}

.tb-about-hero{
padding:90px 6% 74px;
background:#263445;
color:#ffffff;
}

.tb-about-hero-inner{
max-width:1080px;
margin:0 auto;
padding-left:34px;
border-left:2px solid rgba(208,168,95,.45);
}

.tb-about-eyebrow{
margin:0 0 12px;
color:#d0a85f;
font-size:12px;
font-weight:800;
letter-spacing:.16em;
text-transform:uppercase;
}

.tb-about-title{
margin:0;
max-width:820px;
font-size: clamp(36px, 4.2vw, 64px);line-height:.96;
letter-spacing:-.065em;
font-weight:800;
color:#ffffff;
}

.tb-about-sub{
margin:24px 0 0;
max-width:660px;
font-size:16px;
line-height:1.75;
color:rgba(255,255,255,.72);
}

.tb-about-intro{
padding:82px 6%;
background:#ffffff;
}

.tb-about-intro-grid{
max-width:1200px;
margin:0 auto;
display:grid;
grid-template-columns:.95fr 1.05fr;
gap:60px;
align-items:center;
}

.tb-about-image{
min-height:470px;
background:url('https://res.cloudinary.com/dlgn2pybf/image/upload/v1779817870/TotalBAberdourOverview_ek0yar.jpg') center/cover no-repeat;
}

.tb-about-content{
max-width:680px;
}

.tb-about-section-eyebrow{
margin:0 0 12px;
color:#8a6f45;
font-size:12px;
font-weight:800;
letter-spacing:.16em;
text-transform:uppercase;
}

.tb-about-heading{
margin:0;
max-width:640px;
font-size:clamp(30px,4vw,54px);
line-height:1;
letter-spacing:-.06em;
font-weight:800;
color:#263445;
}

.tb-about-copy{
margin:22px 0 0;
font-size:15px;
line-height:1.8;
color:#66717c;
max-width:640px;
}

.tb-about-capability{
padding:76px 6%;
background:#f6f4ef;
}

.tb-about-capability-wrap{
max-width:1200px;
margin:0 auto;
}

.tb-about-capability-head{
max-width:980px;
margin:0 auto 34px;
padding-right:30px;
border-right:2px solid rgba(138,111,69,.35);
text-align:right;
}

.tb-about-capability-title{
margin:0 0 0 auto;
max-width:720px;
font-size:clamp(30px,4vw,54px);
line-height:1;
letter-spacing:-.06em;
font-weight:800;
color:#263445;
}

.tb-about-capability-sub{
margin:18px 0 0 auto;
max-width:620px;
font-size:15px;
line-height:1.75;
color:#66717c;
}

.tb-about-grid{
display:grid;
grid-template-columns:repeat(4,1fr);
gap:14px;
}

.tb-about-card{
background:#ffffff;
border:1px solid rgba(38,52,69,.08);
padding:24px 22px;
min-height:155px;
}

.tb-about-card svg{
width:28px;
height:28px;
color:#8a6f45;
margin-bottom:18px;
}

.tb-about-card h3{
margin:0 0 8px;
font-size:18px;
line-height:1.18;
letter-spacing:-.025em;
font-weight:700;
color:#263445;
}

.tb-about-card p{
margin:0;
font-size:14px;
line-height:1.62;
color:#707b86;
}

.tb-about-dark{
padding:76px 6%;
background:#263445;
color:#ffffff;
}

.tb-about-dark-wrap{
max-width:1100px;
margin:0 auto;
display:grid;
grid-template-columns:1fr 1fr;
gap:56px;
align-items:start;
}

.tb-about-dark h2{
margin:0;
font-size:clamp(30px,4vw,54px);
line-height:1;
letter-spacing:-.06em;
font-weight:800;
color:#ffffff;
}

.tb-about-dark p{
margin:0;
font-size:15px;
line-height:1.8;
color:rgba(255,255,255,.72);
}

.tb-about-dark .tb-about-eyebrow {
margin: 0 0 12px;
color: #d0a85f;
font-size: 15px;
font-weight: 800;
letter-spacing: .16em;
line-height: 1.2;
text-transform: uppercase;
}

@media(max-width:900px){
.tb-about-hero,
.tb-about-intro,
.tb-about-capability,
.tb-about-dark{
padding:58px 5%;
}

.tb-about-hero-inner{
padding-left:22px;
}

.tb-about-intro-grid,
.tb-about-dark-wrap{
grid-template-columns:1fr;
gap:34px;
}

.tb-about-image{
min-height:0;
aspect-ratio:16/11;
}

.tb-about-capability-head{
padding-right:22px;
margin-bottom:28px;
}

.tb-about-grid{
grid-template-columns:repeat(2,1fr);
}
}

@media(max-width:560px){
.tb-about-title{
font-size:clamp(40px,12vw,56px);
}

.tb-about-dark-wrap{
padding-left:22px;
border-left:2px solid rgba(138,111,69,.35);
}

.tb-about-heading,
.tb-about-capability-title,
.tb-about-dark h2{
font-size:clamp(32px,10vw,46px);
}

.tb-about-grid{
grid-template-columns:1fr;
}

.tb-about-content{
padding-left:22px;
border-left:2px solid rgba(138,111,69,.35);
}

}

.tb-white-cta{
padding:54px 6%;
background:#ffffff;
font-family:'Plus Jakarta Sans', Arial, sans-serif;
}

.tb-white-cta-wrap{
max-width:1200px;
margin:0 auto;
display:flex;
align-items:center;
justify-content:center;
gap:18px;
flex-wrap:wrap;
}

.tb-white-cta-btn{
display:inline-flex;
align-items:center;
justify-content:center;
padding:14px 20px;
background:#263445;
border:1px solid #263445;
color:#ffffff;
text-decoration:none;
font-size:12px;
font-weight:800;
letter-spacing:.1em;
text-transform:uppercase;
cursor:pointer;
transition:.2s ease;
}

.tb-white-cta-btn:hover{
opacity:.92;
}

.tb-white-cta-link{
font-size:13px;
font-weight:800;
letter-spacing:.08em;
text-transform:uppercase;
color:#8a6f45;
text-decoration:none;
cursor:pointer;
}

@media(max-width:900px){

.tb-white-cta{
padding:46px 5%;
}
}

.tb-footer{
padding:64px 6% 34px;
background:#1d2834;
font-family:'Plus Jakarta Sans', Arial, sans-serif;
color:#ffffff;
}

.tb-footer-wrap{
max-width:1200px;
margin:0 auto;
}

.tb-footer-top{
display:grid;
grid-template-columns:1.2fr .8fr .8fr;
gap:54px;
padding-bottom:42px;
border-bottom:1px solid rgba(255,255,255,.08);
}

.tb-footer-brand img{
width:270px;
height:auto;
margin-bottom:12px;
display:block;
}

.tb-footer-copy{
max-width:420px;
font-size:15px;
line-height:1.75;
color:rgba(255,255,255,.68);
}

.tb-footer-heading{
margin:0 0 18px;
font-size:13px;
font-weight:800;
letter-spacing:.12em;
text-transform:uppercase;
color:#d0a85f;
}

.tb-footer-links{
display:flex;
flex-direction:column;
gap:14px;
}

.tb-footer-links a{
color:rgba(255,255,255,.76);
text-decoration:none;
font-size:15px;
transition:.2s ease;
}

.tb-footer-links a:hover{
color:#ffffff;
}

.tb-footer-contact{
display:flex;
flex-direction:column;
gap:12px;
}

.tb-footer-contact a,
.tb-footer-contact span{
color:rgba(255,255,255,.76);
text-decoration:none;
font-size:15px;
line-height:1.6;
}

.tb-footer-bottom{
padding-top:24px;
display:flex;
justify-content:space-between;
align-items:center;
gap:18px;
flex-wrap:wrap;
}

.tb-footer-small{
font-size:13px;
color:rgba(255,255,255,.48);
}

.tb-footer-credit{
font-size:13px;
color:rgba(255,255,255,.42);
}

@media (max-width:900px){

.tb-footer{
padding:54px 5% 28px;
}

.tb-footer-top{
grid-template-columns:1fr;
gap:38px;
}

.tb-footer-bottom{
flex-direction:column;
align-items:flex-start;
}
}

@media (max-width:560px){

.tb-footer-brand img{
width:190px !important;
height:auto !important;
margin-bottom:10px;
}

.tb-footer-copy,
.tb-footer-links a,
.tb-footer-contact a,
.tb-footer-contact span{
font-size:14px;
}
}

/* ==== carrd-source_approach-page.txt ==== */

.tb-page-header{
position:sticky;
top:0;
z-index:999;
background:#263445;
border-bottom:1px solid rgba(255,255,255,.08);
font-family:'Plus Jakarta Sans', Arial, sans-serif;
}

.tb-page-header-wrap{
max-width:1320px;
margin:0 auto;
padding:17px 6%;
display:flex;
align-items:center;
justify-content:space-between;
gap:34px;
}

.tb-page-logo{
display:flex;
align-items:center;
text-decoration:none;
}

.tb-page-logo img{
height:80px;
width:auto;
display:block;
}

.tb-page-nav{
display:flex;
align-items:center;
gap:32px;
}

.tb-page-nav a{
text-decoration:none;
font-size:12px;
font-weight:800;
letter-spacing:.12em;
text-transform:uppercase;
color:rgba(255,255,255,.78);
transition:.2s ease;
}

.tb-page-nav a:hover{
color:#ffffff;
}

.tb-page-actions{
display:flex;
align-items:center;
gap:16px;
}

.tb-page-cta{
display:inline-flex;
align-items:center;
justify-content:center;
padding:13px 18px;
border:1px solid #d0a85f;
background:#d0a85f;
color:#263445;
text-decoration:none;
font-size:12px;
font-weight:800;
letter-spacing:.1em;
text-transform:uppercase;
cursor:pointer;
transition:.2s ease;
}

.tb-page-cta:hover{
opacity:.92;
}

.tb-menu-button{
display:none;
}

@media(max-width:720px){

.tb-page-header-wrap{
padding:18px 5%;
}

.tb-page-nav,
.tb-page-actions{
display:none;
}

.tb-page-logo img{
height:82px;
}

.tb-menu-button{
display:flex;
width:42px;
height:42px;
border:0;
background:rgba(255,255,255,.06);
align-items:center;
justify-content:center;
flex-direction:column;
gap:6px;
cursor:pointer;
position:relative;
z-index:10001;
}

.tb-menu-button span{
display:block;
width:24px;
height:2px;
background:#ffffff;
transition:.25s ease;
}

.tb-menu-button.active span:first-child{
transform:translateY(4px) rotate(45deg);
}

.tb-menu-button.active span:last-child{
transform:translateY(-4px) rotate(-45deg);
}
}

.tb-approach-page{
background:#f6f4ef;
font-family:'Plus Jakarta Sans', Arial, sans-serif;
color:#263445;
}

.tb-approach-hero{
padding:90px 6% 70px;
background:#263445;
color:#ffffff;
}

.tb-approach-hero-inner{
max-width:1080px;
margin:0 auto;
padding-left:34px;
border-left:2px solid rgba(208,168,95,.45);
}

.tb-approach-page .tb-eyebrow{
margin:0 0 12px;
color:#d0a85f;
font-size:12px;
font-weight:800;
letter-spacing:.16em;
text-transform:uppercase;
}

.tb-approach-title{
margin:0;
max-width:780px;
font-size: clamp(36px, 4.2vw, 64px);line-height:.96;
letter-spacing:-.065em;
font-weight:800;
color:#ffffff;
}

.tb-approach-sub{
margin:24px 0 0;
max-width:640px;
font-size:16px;
line-height:1.75;
color:rgba(255,255,255,.72);
}

.tb-process-section{
padding:82px 6%;
background:#f6f4ef;
}

.tb-process-wrap{
max-width:1200px;
margin:0 auto;
}

.tb-process-head{
max-width:980px;
margin:0 auto 38px;
padding-left:30px;
border-left:2px solid rgba(138,111,69,.35);
}

.tb-process-title{
margin:0;
max-width:720px;
font-size:clamp(30px,4vw,54px);
line-height:1;
letter-spacing:-.06em;
font-weight:800;
color:#263445;
}

.tb-process-grid{
display:grid;
grid-template-columns:repeat(3,1fr);
gap:14px;
}

.tb-process-card{
background:#ffffff;
border:1px solid rgba(38,52,69,.08);
padding:26px 24px;
min-height:210px;
}

.tb-process-number{
display:block;
margin-bottom:18px;
color:#8a6f45;
font-size:12px;
font-weight:800;
letter-spacing:.16em;
text-transform:uppercase;
}

.tb-process-card h3{
margin:0 0 10px;
font-size:20px;
line-height:1.18;
letter-spacing:-.03em;
font-weight:700;
color:#263445;
}

.tb-process-card p{
margin:0;
font-size:14px;
line-height:1.65;
color:#707b86;
}

.tb-risk-section{
padding:76px 6%;
background:#263445;
color:#ffffff;
}

.tb-risk-wrap{
max-width:1200px;
margin:0 auto;
display:grid;
grid-template-columns:.9fr 1.1fr;
gap:60px;
align-items:center;
}

.tb-risk-title{
margin:0;
font-size:clamp(30px,4vw,54px);
line-height:1;
letter-spacing:-.06em;
font-weight:800;
color:#ffffff;
}

.tb-risk-copy{
margin:22px 0 0;
font-size:15px;
line-height:1.75;
color:rgba(255,255,255,.72);
max-width:560px;
}

.tb-risk-list{
display:grid;
gap:14px;
}

.tb-risk-item{
border:1px solid rgba(255,255,255,.08);
background:rgba(255,255,255,.035);
padding:24px;
}

.tb-risk-item h3{
margin:0 0 8px;
font-size:18px;
line-height:1.2;
letter-spacing:-.025em;
color:#ffffff;
}

.tb-risk-item p{
margin:0;
font-size:14px;
line-height:1.65;
color:rgba(255,255,255,.68);
}

.tb-approach-gallery {
padding: 76px 6% 110px;
background: #ffffff;
overflow: hidden;
}

.tb-approach-gallery-wrap {
max-width: 1200px;
width: 100%;
margin: 0 auto;
display: grid;
grid-template-columns: 1.5fr 1fr 1fr;
grid-template-rows: 230px 230px;
gap: 14px;
box-sizing: border-box;
}

.tb-approach-gallery-wrap .tb-gallery-img {
width: 100%;
height: 100%;
min-width: 0;
min-height: 0;
background-size: cover;
background-position: center;
background-repeat: no-repeat;
overflow: hidden;
}

.tb-approach-gallery-wrap .tb-gallery-img.large {
grid-row: 1 / span 2;
}

@media (max-width: 900px) {
.tb-approach-gallery {
padding: 58px 5%;
}

.tb-approach-gallery-wrap {
grid-template-columns: repeat(2, minmax(0, 1fr));
grid-template-rows: none;
grid-auto-rows: 220px;
gap: 12px;
}

.tb-approach-gallery-wrap .tb-gallery-img.large {
grid-column: 1 / -1;
grid-row: auto;
}

.tb-approach-gallery-wrap .tb-gallery-img {
height: 220px;
}
}

@media (max-width: 560px) {
.tb-approach-gallery-wrap {
grid-template-columns: 1fr;
grid-auto-rows: 220px;
}

.tb-approach-gallery-wrap .tb-gallery-img,
.tb-approach-gallery-wrap .tb-gallery-img.large {
grid-column: auto;
grid-row: auto;
height: 220px;
}
}
@media(max-width:900px){
.tb-approach-hero,
.tb-process-section,
.tb-risk-section,{
padding:58px 5%;
}

.tb-approach-hero-inner,
.tb-process-head{
padding-left:22px;
}

.tb-process-grid,
.tb-risk-wrap{
grid-template-columns:1fr;
}
}

}

@media(max-width:560px){
.tb-approach-title{
font-size:clamp(40px,12vw,56px);
}

.tb-process-title,
.tb-risk-title{
font-size:clamp(32px,10vw,46px);
}
}

.tb-risk-item {
display: flex;
align-items: flex-start;
gap: 20px;
}

.tb-risk-icon {
flex: 0 0 26px;
width: 26px;
height: 26px;
margin-top: 2px;
color: #b99252;
stroke-linecap: round;
stroke-linejoin: round;
}

.tb-risk-content h3 {
margin: 0 0 10px;
}

.tb-risk-content p {
margin: 0;
}

.tb-white-cta{
padding:54px 6%;
background:#ffffff;
font-family:'Plus Jakarta Sans', Arial, sans-serif;
}

.tb-white-cta-wrap{
max-width:1200px;
margin:0 auto;
display:flex;
align-items:center;
justify-content:center;
gap:18px;
flex-wrap:wrap;
}

.tb-white-cta-btn{
display:inline-flex;
align-items:center;
justify-content:center;
padding:14px 20px;
background:#263445;
border:1px solid #263445;
color:#ffffff;
text-decoration:none;
font-size:12px;
font-weight:800;
letter-spacing:.1em;
text-transform:uppercase;
cursor:pointer;
transition:.2s ease;
}

.tb-white-cta-btn:hover{
opacity:.92;
}

.tb-white-cta-link{
font-size:13px;
font-weight:800;
letter-spacing:.08em;
text-transform:uppercase;
color:#8a6f45;
text-decoration:none;
cursor:pointer;
}

@media(max-width:900px){

.tb-white-cta{
padding:46px 5%;
}
}

.tb-footer{
padding:64px 6% 34px;
background:#1d2834;
font-family:'Plus Jakarta Sans', Arial, sans-serif;
color:#ffffff;
}

.tb-footer-wrap{
max-width:1200px;
margin:0 auto;
}

.tb-footer-top{
display:grid;
grid-template-columns:1.2fr .8fr .8fr;
gap:54px;
padding-bottom:42px;
border-bottom:1px solid rgba(255,255,255,.08);
}

.tb-footer-brand img{
width:270px;
height:auto;
margin-bottom:12px;
display:block;
}

.tb-footer-copy{
max-width:420px;
font-size:15px;
line-height:1.75;
color:rgba(255,255,255,.68);
}

.tb-footer-heading{
margin:0 0 18px;
font-size:13px;
font-weight:800;
letter-spacing:.12em;
text-transform:uppercase;
color:#d0a85f;
}

.tb-footer-links{
display:flex;
flex-direction:column;
gap:14px;
}

.tb-footer-links a{
color:rgba(255,255,255,.76);
text-decoration:none;
font-size:15px;
transition:.2s ease;
}

.tb-footer-links a:hover{
color:#ffffff;
}

.tb-footer-contact{
display:flex;
flex-direction:column;
gap:12px;
}

.tb-footer-contact a,
.tb-footer-contact span{
color:rgba(255,255,255,.76);
text-decoration:none;
font-size:15px;
line-height:1.6;
}

.tb-footer-bottom{
padding-top:24px;
display:flex;
justify-content:space-between;
align-items:center;
gap:18px;
flex-wrap:wrap;
}

.tb-footer-small{
font-size:13px;
color:rgba(255,255,255,.48);
}

.tb-footer-credit{
font-size:13px;
color:rgba(255,255,255,.42);
}

@media (max-width:900px){

.tb-footer{
padding:54px 5% 28px;
}

.tb-footer-top{
grid-template-columns:1fr;
gap:38px;
}

.tb-footer-bottom{
flex-direction:column;
align-items:flex-start;
}
}

@media (max-width:560px){

.tb-footer-brand img{
width:190px !important;
height:auto !important;
margin-bottom:10px;
}

.tb-footer-copy,
.tb-footer-links a,
.tb-footer-contact a,
.tb-footer-contact span{
font-size:14px;
}
}

/* ==== carrd-source_contact-page.txt ==== */

.tb-page-header{
position:sticky;
top:0;
z-index:999;
background:#263445;
border-bottom:1px solid rgba(255,255,255,.08);
font-family:'Plus Jakarta Sans', Arial, sans-serif;
}

.tb-page-header-wrap{
max-width:1320px;
margin:0 auto;
padding:17px 6%;
display:flex;
align-items:center;
justify-content:space-between;
gap:34px;
}

.tb-page-logo{
display:flex;
align-items:center;
text-decoration:none;
}

.tb-page-logo img{
height:80px;
width:auto;
display:block;
}

.tb-page-nav{
display:flex;
align-items:center;
gap:32px;
}

.tb-page-nav a{
text-decoration:none;
font-size:12px;
font-weight:800;
letter-spacing:.12em;
text-transform:uppercase;
color:rgba(255,255,255,.78);
transition:.2s ease;
}

.tb-page-nav a:hover{
color:#ffffff;
}

.tb-page-actions{
display:flex;
align-items:center;
gap:16px;
}

.tb-page-cta{
display:inline-flex;
align-items:center;
justify-content:center;
padding:13px 18px;
border:1px solid #d0a85f;
background:#d0a85f;
color:#263445;
text-decoration:none;
font-size:12px;
font-weight:800;
letter-spacing:.1em;
text-transform:uppercase;
cursor:pointer;
transition:.2s ease;
}

.tb-page-cta:hover{
opacity:.92;
}

.tb-menu-button{
display:none;
}

@media(max-width:720px){

.tb-page-header-wrap{
padding:18px 5%;
}

.tb-page-nav,
.tb-page-actions{
display:none;
}

.tb-page-logo img{
height:82px;
}

.tb-menu-button{
display:flex;
width:42px;
height:42px;
border:0;
background:rgba(255,255,255,.06);
align-items:center;
justify-content:center;
flex-direction:column;
gap:6px;
cursor:pointer;
position:relative;
z-index:10001;
}

.tb-menu-button span{
display:block;
width:24px;
height:2px;
background:#ffffff;
transition:.25s ease;
}

.tb-menu-button.active span:first-child{
transform:translateY(4px) rotate(45deg);
}

.tb-menu-button.active span:last-child{
transform:translateY(-4px) rotate(-45deg);
}
}

.tb-contact-page{
background:#f6f4ef;
padding:90px 7%;
font-family:'Plus Jakarta Sans', Arial, sans-serif;
color:#263445;
}

.tb-contact-wrap{
max-width:1180px;
margin:0 auto;
display:grid;
grid-template-columns:1fr 520px;
gap:70px;
align-items:start;
}

.tb-contact-left{
padding-top:12px;
padding-left:34px;
border-left:2px solid rgba(138,111,69,.35);
}

.tb-contact-eyebrow{
margin:0 0 14px;
color:#8a6f45;
font-size:12px;
font-weight:800;
letter-spacing:.16em;
text-transform:uppercase;
}

.tb-contact-title{
margin:0;
font-size:clamp(40px,4vw,64px);
line-height:0.96;
letter-spacing:-.06em;
font-weight:700;
max-width:620px;
color:#263445;
}

.tb-contact-sub{
margin:24px 0 0;
max-width:520px;
font-size:16px;
line-height:1.8;
color:#66717c;
}

.tb-contact-details{
margin-top:42px;
display:grid;
gap:22px;
}

.tb-contact-item span{
display:block;
margin-bottom:8px;
font-size:11px;
font-weight:800;
letter-spacing:.14em;
text-transform:uppercase;
color:#8a6f45;
}

.tb-contact-item a,
.tb-contact-item p{
margin:0;
font-size:18px;
line-height:1.6;
text-decoration:none;
color:#263445;
}

.tb-contact-card{
background:#263445;
padding:34px;
box-shadow:0 24px 70px rgba(0,0,0,.08);
}

.tb-contact-card h2{
margin:0 0 10px;
font-size:34px;
line-height:1;
letter-spacing:-.05em;
font-weight:700;
color:#ffffff;
}

.tb-contact-card p{
margin:0 0 24px;
font-size:14px;
line-height:1.7;
color:rgba(255,255,255,.72);
}

.tb-contact-form{
display:grid;
gap:10px;
}

.tb-contact-form input,
.tb-contact-form textarea{
width:100%;
box-sizing:border-box;
border:1px solid rgba(255,255,255,.12);
background:rgba(255,255,255,.05);
padding:14px 14px;
font-family:'Plus Jakarta Sans', Arial, sans-serif;
font-size:14px;
color:#ffffff;
outline:none;
transition:.2s ease;
}

.tb-contact-form textarea{
min-height:130px;
resize:vertical;
}

.tb-contact-form input::placeholder,
.tb-contact-form textarea::placeholder{
color:rgba(255,255,255,.52);
}

.tb-contact-form input:focus,
.tb-contact-form textarea:focus{
border-color:rgba(208,168,95,.65);
background:rgba(255,255,255,.08);
}

.tb-contact-form button{
margin-top:8px;
padding:14px 18px;
border:none;
background:#d0a85f;
color:#263445;
font-size:12px;
font-weight:800;
letter-spacing:.1em;
text-transform:uppercase;
cursor:pointer;
transition:.2s ease;
}

.tb-contact-form button:hover{
opacity:.92;
}

@media(max-width:980px){

.tb-contact-page{
padding:72px 6%;
}

.tb-contact-wrap{
grid-template-columns:1fr;
gap:42px;
}

.tb-contact-title{
max-width:720px;
}

.tb-contact-card{
max-width:620px;
}
}

@media(max-width:560px){

.tb-contact-page{
padding:58px 6%;
}

.tb-contact-title{
font-size:42px;
line-height:0.98;
}

.tb-contact-sub{
font-size:15px;
line-height:1.7;
margin-top:18px;
}

.tb-contact-item a,
.tb-contact-item p{
font-size:16px;
}

.tb-contact-card{
padding:24px 20px;
}

.tb-contact-left{
padding-left:22px;
}

.tb-contact-card h2{
font-size:30px;
}

.tb-contact-card p{
font-size:13px;
margin-bottom:20px;
}

.tb-contact-form input,
.tb-contact-form textarea{
padding:13px;
font-size:13px;
}
}

.tb-footer{
padding:64px 6% 34px;
background:#1d2834;
font-family:'Plus Jakarta Sans', Arial, sans-serif;
color:#ffffff;
}

.tb-footer-wrap{
max-width:1200px;
margin:0 auto;
}

.tb-footer-top{
display:grid;
grid-template-columns:1.2fr .8fr .8fr;
gap:54px;
padding-bottom:42px;
border-bottom:1px solid rgba(255,255,255,.08);
}

.tb-footer-brand img{
width:270px;
height:auto;
margin-bottom:12px;
display:block;
}

.tb-footer-copy{
max-width:420px;
font-size:15px;
line-height:1.75;
color:rgba(255,255,255,.68);
}

.tb-footer-heading{
margin:0 0 18px;
font-size:13px;
font-weight:800;
letter-spacing:.12em;
text-transform:uppercase;
color:#d0a85f;
}

.tb-footer-links{
display:flex;
flex-direction:column;
gap:14px;
}

.tb-footer-links a{
color:rgba(255,255,255,.76);
text-decoration:none;
font-size:15px;
transition:.2s ease;
}

.tb-footer-links a:hover{
color:#ffffff;
}

.tb-footer-contact{
display:flex;
flex-direction:column;
gap:12px;
}

.tb-footer-contact a,
.tb-footer-contact span{
color:rgba(255,255,255,.76);
text-decoration:none;
font-size:15px;
line-height:1.6;
}

.tb-footer-bottom{
padding-top:24px;
display:flex;
justify-content:space-between;
align-items:center;
gap:18px;
flex-wrap:wrap;
}

.tb-footer-small{
font-size:13px;
color:rgba(255,255,255,.48);
}

.tb-footer-credit{
font-size:13px;
color:rgba(255,255,255,.42);
}

@media (max-width:900px){

.tb-footer{
padding:54px 5% 28px;
}

.tb-footer-top{
grid-template-columns:1fr;
gap:38px;
}

.tb-footer-bottom{
flex-direction:column;
align-items:flex-start;
}
}

@media (max-width:560px){

.tb-footer-brand img{
width:190px !important;
height:auto !important;
margin-bottom:10px;
}

.tb-footer-copy,
.tb-footer-links a,
.tb-footer-contact a,
.tb-footer-contact span{
font-size:14px;
}
}

/* ==== carrd-source_main-page.txt ==== */

.tb-wrap {
font-family: 'Plus Jakarta Sans', Arial, sans-serif;
color: #263445;
}

.tb-hero {
position: relative;
min-height: 570px;
overflow: hidden;
display: flex;
align-items: flex-end;
padding: 118px 6% 52px;
background: #263445;
}

.tb-slide {
position: absolute;
inset: 0;
background-size: cover;
background-position: center;
opacity: 0;
animation: tbFade 16s infinite;
}

.tb-slide:nth-child(1) { animation-delay: 0s; }
.tb-slide:nth-child(2) { animation-delay: 4s; }
.tb-slide:nth-child(3) { animation-delay: 8s; }
.tb-slide:nth-child(4) { animation-delay: 12s; }

@keyframes tbFade {
0% { opacity: 0; transform: scale(1); }
6% { opacity: 1; }
25% { opacity: 1; }
31% { opacity: 0; transform: scale(1.035); }
100% { opacity: 0; transform: scale(1.035); }
}

.tb-hero::after {
content: "";
position: absolute;
inset: 0;
background: linear-gradient(
90deg,
rgba(24,32,42,.72) 0%,
rgba(24,32,42,.52) 30%,
rgba(24,32,42,.18) 58%,
rgba(24,32,42,.05) 100%
);
z-index: 1;
}

.tb-header {
position: absolute;
top: 0;
left: 0;
right: 0;
z-index: 10005;
display: grid;
grid-template-columns: 1fr auto 1fr;
align-items: center;
padding: 18px 6%;
background: linear-gradient(
to bottom,
rgba(18,24,32,.24),
rgba(18,24,32,0)
);
}

.tb-nav {
display: flex;
gap: 28px;
align-items: center;
}

.tb-nav a,
.tb-cta {
color: rgba(255,255,255,.88);
text-decoration: none;
font-size: 13px;
font-weight: 700;
letter-spacing: .08em;
text-transform: uppercase;
cursor:pointer;
}

.tb-header-logo {
width: 210px;
display: block;
}

.tb-cta-wrap {
display: flex;
justify-content: flex-end;
}

.tb-cta {
border: 1px solid rgba(255,255,255,.42);
padding: 13px 18px;
transition: .2s ease;
}

.tb-cta:hover {
background: #d0a85f;
color: #263445;
}

/* MOBILE MENU */
.tb-menu-toggle,
.tb-mobile-drawer,
.tb-mobile-backdrop {
display:none;
}

.tb-hero-content {
position: relative;
z-index: 2;
max-width: 520px;
}

.tb-hero-eyebrow {
margin: 0 0 18px;
color: #d0a85f;
font-size: 12px;
font-weight: 800;
letter-spacing: .17em;
text-transform: uppercase;
}

.tb-hero-title {
margin: 0;
font-size:clamp(38px,4.8vw,64px);
line-height: 1.03;
letter-spacing: -.055em;
font-weight: 700;
color: #ffffff;
max-width: 540px;
}

.tb-hero-sub {
margin: 22px 0 0;
max-width: 500px;
font-size: clamp(16px, 1.2vw, 20px);
line-height: 1.7;
font-weight: 500;
color: rgba(255,255,255,.86);
}

.tb-proof-grid {
background: #263445;
display: grid;
grid-template-columns: repeat(4, 1fr);
border-top: 1px solid rgba(255,255,255,.12);
}

.tb-proof-card {
padding: 34px 26px;
min-height: 168px;
display: flex;
flex-direction: column;
justify-content: center;
align-items: center;
text-align: center;
border-right: 1px solid rgba(255,255,255,.12);
background: radial-gradient(circle at top, rgba(255,255,255,.045), rgba(255,255,255,0));
}

.tb-proof-card:last-child {
border-right: none;
}

.tb-proof-icon {
width: 34px;
height: 34px;
margin-bottom: 18px;
color: #d0a85f;
}

.tb-proof-label {
margin: 0 0 11px;
color: rgba(255,255,255,.66);
font-size: 10px;
line-height: 1.5;
letter-spacing: .10em;
text-transform: uppercase;
font-weight: 700;
}

.tb-proof-value {
margin: 0;
color: #ffffff;
font-size: clamp(18px, 1.45vw, 24px);
line-height: 1.22;
letter-spacing: -.04em;
font-weight: 700;
}

@media (max-width: 900px) {
.tb-header {
grid-template-columns: 1fr;
justify-items: center;
gap: 12px;
padding:18px 5%;
}

.tb-nav,
.tb-cta-wrap {
display: none;
}

.tb-header-logo {
width: 185px;
}

.tb-menu-toggle{
display:flex;
position:absolute;
right:5%;
top:50%;
transform:translateY(-50%);
z-index:10004;
width:42px;
height:42px;
border:0;
background:rgba(255,255,255,.06);
align-items:center;
justify-content:center;
flex-direction:column;
gap:6px;
cursor:pointer;
}

.tb-menu-toggle span{
display:block;
width:24px;
height:2px;
background:#ffffff;
transition:.25s ease;
}

.tb-menu-toggle.active span:first-child{
transform:translateY(4px) rotate(45deg);
}

.tb-menu-toggle.active span:last-child{
transform:translateY(-4px) rotate(-45deg);
}

.tb-mobile-backdrop{
display:block;
position:fixed;
inset:0;
background:rgba(18,24,32,.58);
z-index:9997;
opacity:0;
pointer-events:none;
transition:.25s ease;
}

.tb-mobile-backdrop.active{
opacity:1;
pointer-events:auto;
}

.tb-mobile-drawer{
display:flex;
position:fixed;
top:0;
right:0;
bottom:0;
width:min(82vw,340px);
background:#263445;
z-index:9998;
transform:translateX(calc(100% + 80px));
transition:transform .28s ease;
padding:156px 28px 34px;
box-shadow:-24px 0 60px rgba(0,0,0,.25);
flex-direction:column;
}

.tb-mobile-drawer.active{
transform:translateX(0);
}

.tb-mobile-links{
display:grid;
gap:20px;
}

.tb-mobile-links a{
color:#ffffff;
text-decoration:none;
font-size:14px;
font-weight:800;
letter-spacing:.1em;
text-transform:uppercase;
cursor:pointer;
}

.tb-mobile-links a:last-child{
color:#d0a85f;
margin-top:8px;
}

.tb-proof-grid {
grid-template-columns: repeat(2, 1fr);
}

.tb-proof-card {
border-bottom: 1px solid rgba(255,255,255,.12);
}
}

@media (max-width: 560px){

.tb-proof-grid{
grid-template-columns:repeat(2,1fr);
}

.tb-proof-card:nth-child(3),
.tb-proof-card:nth-child(4){
display:none;
}

.tb-proof-card{
min-height:112px;
padding:22px 12px;
border-right:1px solid rgba(255,255,255,.12);
border-bottom:0;
}

.tb-proof-card:nth-child(2){
border-right:none;
}

.tb-proof-icon{
width:22px;
height:22px;
margin-bottom:10px;
}

.tb-proof-label{
font-size:10px;
line-height:1.35;
letter-spacing:.12em;
margin-bottom:8px;
}

.tb-proof-value{
font-size:15px;
line-height:1.18;
letter-spacing:-.03em;
max-width:120px;
margin:0 auto;
}
}

.tb-modular-strip{

padding:90px 6%;
background:#f6f4ef;
font-family:'Plus Jakarta Sans', Arial, sans-serif;
color:#263445;
}

.tb-project-actions{
display:flex;
gap:22px;
align-items:center;
margin-top:24px;
flex-wrap:wrap;
}

.tb-project-btn{
display:inline-block;
padding:13px 18px;
border:1px solid #263445;
color:#263445;
text-decoration:none;
font-size:12px;
font-weight:800;
letter-spacing:.1em;
text-transform:uppercase;
transition:.2s ease;
}

.tb-project-btn:hover{
background:#263445;
color:#ffffff;
}

.tb-project-link{
color:#263445;
text-decoration:none;
font-size:13px;
font-weight:800;
letter-spacing:.08em;
text-transform:uppercase;
cursor:pointer;
}

.tb-modular-strip-wrap{
max-width:1200px;
margin:0 auto;
}

.tb-modular-strip-top{
max-width:1080px;
margin:0 auto 34px;
padding-left:34px;
border-left:2px solid rgba(138,111,69,.35);
}

.tb-modular-strip-eyebrow{
margin:0 0 12px;
color:#8a6f45;
font-size:12px;
font-weight:800;
letter-spacing:.16em;
text-transform:uppercase;
}

.tb-title-mobile,
.tb-copy-mobile{
display:none;
}

.tb-modular-strip-title{
margin:0;
max-width:850px;
font-size:clamp(34px,3.2vw,62px);
line-height:1.02;
letter-spacing:-.06em;
font-weight:700;
color:#263445;
}

.tb-modular-strip-copy{
margin:22px 0 0;
max-width:720px;
font-size:16px;
line-height:1.65;
color:#5b6671;
}

.tb-modular-grid{
display:grid;
grid-template-columns:1.35fr 1fr 1fr;
grid-auto-rows:240px;
gap:18px;
}

.tb-modular-item{
position:relative;
overflow:hidden;
background-size:cover;
background-position:center;
min-height:220px;
}

.tb-modular-large{
grid-row:span 2;
min-height:500px;
}

.tb-modular-overlay{
position:absolute;
inset:0;
background:linear-gradient(to top, rgba(20,27,36,.58), rgba(20,27,36,.06));
}

.tb-modular-caption{
position:absolute;
left:22px;
bottom:20px;
z-index:2;
color:#ffffff;
}

.tb-modular-caption span{
display:block;
font-size:11px;
font-weight:800;
letter-spacing:.12em;
text-transform:uppercase;
opacity:.82;
margin-bottom:6px;
}

.tb-modular-caption strong{
display:block;
font-size:18px;
line-height:1.2;
letter-spacing:-.03em;
font-weight:600;
max-width:280px;
}

@media (max-width:950px){
.tb-modular-strip{
padding:60px 5%;
}

.tb-modular-strip-top{
padding-left:22px;
margin-bottom:36px;
}

.tb-modular-strip-title{
font-size:clamp(32px,6vw,48px);
max-width:620px;
}

.tb-modular-strip-copy{
font-size:16px;
max-width:560px;
}

.tb-modular-grid{
grid-template-columns:1fr 1fr;
}

.tb-modular-large{
grid-column:span 2;
grid-row:auto;
min-height:420px;
}
}

@media (max-width:640px){
.tb-modular-strip{
padding:64px 6% 56px;
}

.tb-modular-strip-top{
padding-left:26px;
margin-bottom:38px;
}

.tb-title-desktop,
.tb-copy-desktop{
display:none;
}

.tb-title-mobile,
.tb-copy-mobile{
display:block;
}

.tb-modular-strip-eyebrow{
font-size:11px;
letter-spacing:.16em;
line-height:1.45;
margin-bottom:12px;
}

.tb-modular-strip-title{
font-size:clamp(31px,8.6vw,40px);
line-height:.98;
letter-spacing:-.055em;
max-width:310px;
}

.tb-modular-strip-copy{
font-size:16px;
line-height:1.72;
max-width:310px;
margin-top:22px;
}

.tb-project-actions{
display:flex;
flex-wrap:wrap;
gap:18px;
align-items:flex-start;
margin-top:28px;
}

.tb-project-btn{
display:inline-block;
padding:13px 16px;
font-size:11px;
}

.tb-project-link{
font-size:12px;
line-height:1.4;
}
.tb-modular-grid{
grid-template-columns:1fr;
gap:14px;
}

.tb-modular-large{
grid-column:auto;
min-height:280px;
}

.tb-modular-item{
min-height:180px;
}

.tb-modular-caption{
left:16px;
bottom:16px;
}

.tb-modular-caption strong{
font-size:16px;
}
}

.tb-methods-section {
padding: 74px 6%;
background: #ffffff;
font-family: 'Plus Jakarta Sans', Arial, sans-serif;
color: #263445;
}

.tb-methods-grid {
max-width: 1200px;
margin: 0 auto;
display: grid;
grid-template-columns: 1.05fr 0.95fr;
gap: 58px;
align-items: center;
}

.tb-methods-image {
min-height: 440px;
background:
url('https://res.cloudinary.com/dlgn2pybf/image/upload/v1779533671/TotalBSchoolSnow_foz1n3.jpg')
center / cover no-repeat;
}

.tb-methods-content {
max-width: 680px;
}

.tb-methods-eyebrow {
margin: 0 0 12px;
color: #8a6f45;
font-size: 12px;
font-weight: 800;
letter-spacing: .16em;
text-transform: uppercase;
}

.tb-methods-title {
margin: 0;
max-width: 620px;
font-size: clamp(28px, 3.2vw, 44px);
line-height: 1.06;
letter-spacing: -.05em;
font-weight: 700;
color: #263445;
}

.tb-methods-list {
display: grid;
gap: 26px;
margin-top: 34px;
max-width: 600px;
}

.tb-method-card {
display: grid;
grid-template-columns: 38px 1fr;
gap: 18px;
align-items: start;
}

.tb-method-icon {
width: 30px;
height: 30px;
color: #8a6f45;
margin-top: 2px;
flex-shrink: 0;
}

.tb-method-card h3 {
margin: 0 0 7px;
font-size: 19px;
line-height: 1.22;
letter-spacing: -.03em;
font-weight: 700;
color: #263445;
}

.tb-method-card p {
margin: 0;
font-size: 15px;
line-height: 1.7;
font-weight: 500;
color: #66717c;
}

@media (max-width: 900px) {
.tb-methods-section {
padding: 56px 5%;
}

.tb-methods-grid {
grid-template-columns: 1fr;
gap: 32px;
}

.tb-methods-content {
order: 1;
}

.tb-methods-image {
order: 2;
min-height: 0;
aspect-ratio: 16 / 11;
}

.tb-methods-list {
gap: 22px;
}
}

@media (max-width: 560px) {
.tb-methods-title {
font-size: clamp(26px, 8vw, 36px);
line-height: 1.08;
}

.tb-methods-content{
padding-left:22px;
border-left:2px solid rgba(138,111,69,.35);
}

.tb-method-card {
grid-template-columns: 30px 1fr;
gap: 14px;
}

.tb-method-icon {
width: 24px;
height: 24px;
}

.tb-method-card h3 {
font-size: 18px;
}

.tb-method-card p {
font-size: 14px;
line-height: 1.65;
}
}

.tb-collage-section{
padding:70px 6%;
background:#f6f4ef;
font-family:'Plus Jakarta Sans', Arial, sans-serif;
}

.tb-section-head{
max-width:980px;
margin:0 auto 30px;
padding-left:28px;
border-left:2px solid rgba(138,111,69,.35);
}

.tb-collage-section .tb-eyebrow{
margin:0 0 12px;
color:#8a6f45;
font-size:12px;
font-weight:800;
letter-spacing:.16em;
text-transform:uppercase;
}

.tb-section-title{
margin:0;
max-width:700px;
font-size:clamp(26px,3.2vw,42px);
line-height:1.05;
letter-spacing:-.05em;
font-weight:700;
color:#263445;
}

.tb-collage-ctas{
display:flex;
gap:22px;
align-items:center;
margin-top:24px;
}

.tb-collage-btn{
display:inline-block;
padding:13px 18px;
border:1px solid #263445;
color:#263445;
text-decoration:none;
font-size:12px;
font-weight:800;
letter-spacing:.1em;
text-transform:uppercase;
}

.tb-collage-link{
color:#263445;
text-decoration:none;
font-size:13px;
font-weight:800;
letter-spacing:.08em;
text-transform:uppercase;
}

.tb-collage{
max-width:1080px;
margin:0 auto;
display:grid;
grid-template-columns:1.8fr 1fr 1fr;
grid-auto-rows:200px;
gap:14px;
}

.tb-collage-item{
background-size:cover;
background-position:center;
background-repeat:no-repeat;
overflow:hidden;
}

.tb-collage-large{
grid-row:span 2;
min-height:414px;
}

@media (max-width:900px){
.tb-collage-section{
padding:54px 5%;
}

.tb-section-head{
padding-left:22px;
margin-bottom:24px;
}

.tb-collage-ctas{
flex-wrap:wrap;
gap:16px;
}

.tb-collage{
grid-template-columns:repeat(2,1fr);
grid-auto-rows:auto;
gap:10px;
}

.tb-collage-item{
aspect-ratio:1 / 1;
}

.tb-collage-large{
grid-column:span 2;
grid-row:auto;
min-height:0;
aspect-ratio:16 / 10;
}
}

.tb-control-section{
padding:76px 6%;
background:#263445;
font-family:'Plus Jakarta Sans', Arial, sans-serif;
color:#ffffff;
overflow:hidden;
position:relative;
}

.tb-control-section::before{
content:"";
position:absolute;
inset:0;
background:
radial-gradient(circle at top left, rgba(255,255,255,.05), transparent 34%),
radial-gradient(circle at bottom right, rgba(255,255,255,.04), transparent 30%);
pointer-events:none;
}

.tb-control-wrap{
max-width:1200px;
margin:0 auto;
position:relative;
z-index:2;
}

.tb-control-head{
max-width:980px;
margin:0 auto 34px;
padding-right:30px;
border-right:2px solid rgba(208,168,95,.45);
text-align:right;
}

.tb-control-eyebrow{
margin:0 0 12px;
color:#d0a85f;
font-size:12px;
font-weight:800;
letter-spacing:.16em;
text-transform:uppercase;
}

.tb-control-title{
margin:0;
margin-left:auto;
max-width:720px;
font-size:clamp(28px,3.2vw,44px);
line-height:1.06;
letter-spacing:-.05em;
font-weight:700;
color:#ffffff;
}

.tb-control-sub{
margin:16px 0 0 auto;
max-width:620px;
font-size:15px;
line-height:1.7;
color:rgba(255,255,255,.72);
}

.tb-control-grid{
display:grid;
grid-template-columns:repeat(3,1fr);
gap:14px;
max-width:1200px;
margin:0 auto;
}

.tb-control-card{
background:rgba(255,255,255,.03);
border:1px solid rgba(255,255,255,.08);
padding:26px 24px;
min-height:200px;
display:flex;
flex-direction:column;
backdrop-filter:blur(2px);
}

.tb-control-icon{
width:28px;
height:28px;
color:#d0a85f;
margin-bottom:18px;
flex-shrink:0;
}

.tb-control-card h3{
margin:0 0 8px;
font-size:18px;
line-height:1.18;
letter-spacing:-.025em;
font-weight:700;
color:#ffffff;
}

.tb-control-card p{
margin:0;
font-size:14px;
line-height:1.65;
color:rgba(255,255,255,.68);
}

@media (max-width:900px){
.tb-control-section{
padding:56px 5%;
}

.tb-control-head{
padding-right:22px;
margin-bottom:28px;
}

.tb-control-grid{
grid-template-columns:1fr;
gap:12px;
}

.tb-control-card{
min-height:auto;
padding:22px 20px;
}
}

@media (max-width:560px){
.tb-control-title{
font-size:clamp(26px,8vw,36px);
line-height:1.08;
}

.tb-control-card h3{
font-size:18px;
}

.tb-control-card p{
font-size:14px;
line-height:1.6;
}

.tb-control-icon{
width:26px;
height:26px;
margin-bottom:16px;
}
}

.tb-sectors-section{
padding:76px 6%;
background:#f6f4ef;
font-family:'Plus Jakarta Sans', Arial, sans-serif;
color:#263445;
}

.tb-sectors-wrap{
max-width:1200px;
margin:0 auto;
}

.tb-sectors-head{
max-width:980px;
margin:0 auto 34px;
padding-left:30px;
border-left:2px solid rgba(138,111,69,.35);
}

.tb-sectors-eyebrow{
margin:0 0 12px;
color:#8a6f45;
font-size:12px;
font-weight:800;
letter-spacing:.16em;
text-transform:uppercase;
}

.tb-sectors-title{
margin:0;
max-width:720px;
font-size:clamp(28px,3.2vw,44px);
line-height:1.06;
letter-spacing:-.05em;
font-weight:700;
color:#263445;
}

.tb-sectors-sub{
margin:16px 0 0;
max-width:620px;
font-size:15px;
line-height:1.7;
color:#66717c;
}

.tb-sectors-grid{
display:grid;
grid-template-columns:repeat(3,1fr);
gap:14px;
max-width:1200px;
margin:0 auto;
}

.tb-sector-card{
background:#ffffff;
padding:24px 22px;
border:1px solid rgba(38,52,69,.08);
min-height:160px;
display:flex;
flex-direction:column;
justify-content:space-between;
}

.tb-sector-icon{
width:28px;
height:28px;
color:#8a6f45;
margin-bottom:18px;
}

.tb-sector-card h3{
margin:0 0 8px;
font-size:18px;
line-height:1.18;
letter-spacing:-.025em;
font-weight:700;
color:#263445;
}

.tb-sector-card p{
margin:0;
font-size:14px;
line-height:1.62;
color:#707b86;
}

@media (max-width:900px){
.tb-sectors-section{
padding:56px 5%;
}

.tb-sectors-head{
padding-left:22px;
margin-bottom:28px;
}

.tb-sectors-grid{
grid-template-columns:1fr;
gap:12px;
}

.tb-sector-card{
min-height:auto;
padding:22px 20px;
}
}

@media (max-width:560px){
.tb-sectors-title{
font-size:clamp(26px,8vw,36px);
line-height:1.08;
}

.tb-sector-card h3{
font-size:18px;
}

.tb-sector-card p{
font-size:14px;
line-height:1.6;
}

.tb-sector-icon{
width:26px;
height:26px;
margin-bottom:16px;
}
}

.tb-final-cta{
padding:110px 6%;
background:#263445;
font-family:'Plus Jakarta Sans', Arial, sans-serif;
color:#ffffff;
position:relative;
overflow:hidden;
}

.tb-final-cta::before{
content:"";
position:absolute;
inset:0;
background:
radial-gradient(circle at top left, rgba(255,255,255,.05), transparent 34%),
radial-gradient(circle at bottom right, rgba(255,255,255,.04), transparent 30%);
pointer-events:none;
}

.tb-final-cta-wrap{
max-width:980px;
margin:0 auto;
position:relative;
z-index:2;
}

.tb-final-cta-head{
padding-left:32px;
border-left:2px solid rgba(208,168,95,.45);
}

.tb-final-cta-eyebrow{
margin:0 0 14px;
color:#d0a85f;
font-size:12px;
font-weight:800;
letter-spacing:.16em;
text-transform:uppercase;
}

.tb-final-cta-title{
margin:0;
max-width:760px;
font-size:clamp(34px,3.5vw,54px);
line-height:.98;
letter-spacing:-.06em;
font-weight:700;
color:#ffffff;
}

.tb-final-cta-copy{
margin:28px 0 0;
max-width:640px;
font-size:17px;
line-height:1.8;
color:rgba(255,255,255,.76);
}

.tb-final-actions{
display:flex;
gap:22px;
align-items:center;
margin-top:40px;
flex-wrap:wrap;
}

.tb-final-btn{
display:inline-block;
padding:15px 22px;
border:1px solid rgba(255,255,255,.18);
background:#ffffff;
color:#263445;
text-decoration:none;
font-size:12px;
font-weight:800;
letter-spacing:.1em;
text-transform:uppercase;
transition:.2s ease;
}

.tb-final-btn:hover{
transform:translateY(-1px);
opacity:.92;
}

.tb-final-link{
color:#ffffff;
text-decoration:none;
font-size:13px;
font-weight:800;
letter-spacing:.08em;
text-transform:uppercase;
opacity:.82;
}

@media (max-width:900px){

.tb-final-cta{
padding:72px 5%;
}

.tb-final-cta-head{
padding-left:22px;
}

.tb-final-actions{
gap:16px;
}
}

@media (max-width:560px){

.tb-final-cta-title{
font-size:clamp(34px,11vw,52px);
line-height:1;
}

.tb-final-cta-copy{
font-size:15px;
line-height:1.75;
}
}

.tb-footer{
padding:64px 6% 34px;
background:#1d2834;
font-family:'Plus Jakarta Sans', Arial, sans-serif;
color:#ffffff;
}

.tb-footer-wrap{
max-width:1200px;
margin:0 auto;
}

.tb-footer-top{
display:grid;
grid-template-columns:1.2fr .8fr .8fr;
gap:54px;
padding-bottom:42px;
border-bottom:1px solid rgba(255,255,255,.08);
}

.tb-footer-brand img{
width:270px;
height:auto;
margin-bottom:12px;
display:block;
}

.tb-footer-copy{
max-width:420px;
font-size:15px;
line-height:1.75;
color:rgba(255,255,255,.68);
}

.tb-footer-heading{
margin:0 0 18px;
font-size:13px;
font-weight:800;
letter-spacing:.12em;
text-transform:uppercase;
color:#d0a85f;
}

.tb-footer-links{
display:flex;
flex-direction:column;
gap:14px;
}

.tb-footer-links a{
color:rgba(255,255,255,.76);
text-decoration:none;
font-size:15px;
transition:.2s ease;
}

.tb-footer-links a:hover{
color:#ffffff;
}

.tb-footer-contact{
display:flex;
flex-direction:column;
gap:12px;
}

.tb-footer-contact a,
.tb-footer-contact span{
color:rgba(255,255,255,.76);
text-decoration:none;
font-size:15px;
line-height:1.6;
}

.tb-footer-bottom{
padding-top:24px;
display:flex;
justify-content:space-between;
align-items:center;
gap:18px;
flex-wrap:wrap;
}

.tb-footer-small{
font-size:13px;
color:rgba(255,255,255,.48);
}

.tb-footer-credit{
font-size:13px;
color:rgba(255,255,255,.42);
}

@media (max-width:900px){

.tb-footer{
padding:54px 5% 28px;
}

.tb-footer-top{
grid-template-columns:1fr;
gap:38px;
}

.tb-footer-bottom{
flex-direction:column;
align-items:flex-start;
}
}

@media (max-width:560px){

.tb-footer-brand img{
width:190px !important;
height:auto !important;
margin-bottom:10px;
}

.tb-footer-copy,
.tb-footer-links a,
.tb-footer-contact a,
.tb-footer-contact span{
font-size:14px;
}
}

.tb-global-backdrop{
position:fixed;
inset:0;
background:rgba(18,24,32,.58);
z-index:9997;
opacity:0;
pointer-events:none;
transition:.25s ease;
}

.tb-global-contact{
background:none;
border:none;
padding:0;
text-align:left;
color:#d0a85f;
font-size:14px;
font-weight:800;
letter-spacing:.1em;
text-transform:uppercase;
cursor:pointer;
font-family:'Plus Jakarta Sans', Arial, sans-serif;
margin-top:8px;
}

.tb-global-drawer{
position:fixed;
top:0;
right:0;
bottom:0;
width:min(78vw,320px);
background:#263445;
z-index:9998;
transform:translateX(calc(100% + 80px));
transition:transform .28s ease;
padding:38px 30px;
box-shadow:-24px 0 60px rgba(0,0,0,.25);
display:flex;
flex-direction:column;
font-family:'Plus Jakarta Sans', Arial, sans-serif;
}

body.tb-menu-open .tb-global-backdrop{
opacity:1;
pointer-events:auto;
}

body.tb-menu-open .tb-global-drawer{
transform:translateX(0);
}

.tb-global-drawer-top{
margin-bottom:46px;
}

.tb-global-drawer-logo{
width:170px;
height:auto;
display:block;
}

.tb-global-links{
display:grid;
gap:20px;
}

.tb-global-links a{
color:#ffffff;
text-decoration:none;
font-size:14px;
font-weight:800;
letter-spacing:.1em;
text-transform:uppercase;
cursor:pointer;
}

.tb-global-links a:last-child{
color:#d0a85f;
margin-top:8px;
}

@media(min-width:721px){
.tb-global-backdrop,
.tb-global-drawer{
display:none;
}
}

.tb-modal-overlay{
display:none;
position:fixed;
inset:0;
z-index:99999;
background:rgba(18,24,32,.74);
align-items:center;
justify-content:center;
padding:12px;
}



.tb-modal{
width:100%;
max-width:460px;
background:#263445;
font-family:'Plus Jakarta Sans', Arial, sans-serif;
color:#ffffff;
padding:28px;
position:relative;
box-shadow:0 24px 70px rgba(0,0,0,.28);
}

.tb-modal-close{
position:absolute;
top:14px;
right:14px;
width:34px;
height:34px;
border:none;
background:rgba(255,255,255,.06);
color:rgba(255,255,255,.82);
display:flex;
align-items:center;
justify-content:center;
font-size:18px;
line-height:1;
cursor:pointer;
transition:.2s ease;
backdrop-filter:blur(2px);
}

.tb-modal-close:hover{
background:rgba(255,255,255,.12);
color:#ffffff;
}

.tb-modal-close:hover{
color:#ffffff;
}

.tb-modal-eyebrow{
margin:0 0 12px;
color:#d0a85f;
font-size:11px;
font-weight:800;
letter-spacing:.18em;
text-transform:uppercase;
opacity:.95;
}

.tb-modal h2{
margin:0;
font-size:clamp(28px,3.2vw,40px);
line-height:0.96;
letter-spacing:-.055em;
color:#ffffff;
font-weight:800;
max-width:420px;
}

.tb-modal p{
margin:13px 0 18px;
font-size:13px;
line-height:1.55;
color:rgba(255,255,255,.72);
max-width:420px;
}

.tb-form{
display:grid;
gap:8px;
}

.tb-form input,
.tb-form textarea{
width:100%;
box-sizing:border-box;
border:1px solid rgba(255,255,255,.14);
padding:11px 12px;
font-family:'Plus Jakarta Sans', Arial, sans-serif;
font-size:13px;
color:#ffffff;
background:rgba(255,255,255,.055);
outline:none;
transition:.2s ease;
}

.tb-form input::placeholder,
.tb-form textarea::placeholder{
color:rgba(255,255,255,.58);
}

.tb-form textarea{
min-height:82px;
resize:vertical;
}

.tb-form input:focus,
.tb-form textarea:focus{
border-color:rgba(208,168,95,.7);
background:rgba(255,255,255,.08);
}

.tb-form button{
margin-top:6px;
padding:13px 18px;
border:1px solid #d0a85f;
background:#d0a85f;
color:#263445;
font-size:12px;
font-weight:800;
letter-spacing:.1em;
text-transform:uppercase;
cursor:pointer;
transition:.2s ease;
}

.tb-form button:hover{
opacity:.9;
}

@media(max-width:560px){

.tb-modal{
max-width:100%;
padding:22px 18px;
}

.tb-modal h2{
font-size:30px;
}

.tb-modal-overlay{
padding:10px;
}
}

/* ==== carrd-source_projects-page.txt ==== */

.tb-page-header{
position:sticky;
top:0;
z-index:999;
background:#263445;
border-bottom:1px solid rgba(255,255,255,.08);
font-family:'Plus Jakarta Sans', Arial, sans-serif;
}

.tb-page-header-wrap{
max-width:1320px;
margin:0 auto;
padding:17px 6%;
display:flex;
align-items:center;
justify-content:space-between;
gap:34px;
}

.tb-page-logo{
display:flex;
align-items:center;
text-decoration:none;
}

.tb-page-logo img{
height:80px;
width:auto;
display:block;
}

.tb-page-nav{
display:flex;
align-items:center;
gap:32px;
}

.tb-page-nav a{
text-decoration:none;
font-size:12px;
font-weight:800;
letter-spacing:.12em;
text-transform:uppercase;
color:rgba(255,255,255,.78);
transition:.2s ease;
}

.tb-page-nav a:hover{
color:#ffffff;
}

.tb-page-actions{
display:flex;
align-items:center;
gap:16px;
}

.tb-page-cta{
display:inline-flex;
align-items:center;
justify-content:center;
padding:13px 18px;
border:1px solid #d0a85f;
background:#d0a85f;
color:#263445;
text-decoration:none;
font-size:12px;
font-weight:800;
letter-spacing:.1em;
text-transform:uppercase;
cursor:pointer;
transition:.2s ease;
}

.tb-page-cta:hover{
opacity:.92;
}

.tb-menu-button{
display:none;
}

@media(max-width:720px){

.tb-page-header-wrap{
padding:18px 5%;
}

.tb-page-nav,
.tb-page-actions{
display:none;
}

.tb-page-logo img{
height:82px;
}

.tb-menu-button{
display:flex;
width:42px;
height:42px;
border:0;
background:rgba(255,255,255,.06);
align-items:center;
justify-content:center;
flex-direction:column;
gap:6px;
cursor:pointer;
position:relative;
z-index:10001;
}

.tb-menu-button span{
display:block;
width:24px;
height:2px;
background:#ffffff;
transition:.25s ease;
}

.tb-menu-button.active span:first-child{
transform:translateY(4px) rotate(45deg);
}

.tb-menu-button.active span:last-child{
transform:translateY(-4px) rotate(-45deg);
}
}

.tb-projects-page{
background:#f6f4ef;
font-family:'Plus Jakarta Sans', Arial, sans-serif;
color:#263445;
}

.tb-projects-hero{
padding:70px 6% 42px;
}

.tb-projects-head{
max-width:1080px;
margin:0 auto;
padding-left:34px;
border-left:2px solid rgba(138,111,69,.35);
}

.tb-projects-eyebrow{
margin:0 0 12px;
color:#8a6f45;
font-size:12px;
font-weight:800;
letter-spacing:.16em;
text-transform:uppercase;
}

.tb-projects-title{
margin:0;
max-width:720px;
font-size: clamp(32px, 3.6vw, 64px);
line-height:1.02;
letter-spacing:-.06em;
font-weight:800;
color:#263445;
}

.tb-projects-sub{
margin:22px 0 0;
max-width:580px;
font-size:15px;
line-height:1.75;
color:#66717c;
}

.tb-featured-projects{
padding:0 6% 72px;
}

.tb-featured-grid{
max-width:1120px;
margin:0 auto;
display:grid;
grid-template-columns:repeat(2,1fr);
gap:16px;
}

.tb-feature-card{
position:relative;
min-height:420px;
background-size:cover;
background-position:center;
overflow:hidden;
cursor:pointer;
}

.tb-feature-card::after{
content:"";
position:absolute;
inset:0;
background:linear-gradient(to top,rgba(18,24,32,.74),rgba(18,24,32,.08));
}

.tb-feature-content{
position:absolute;
left:26px;
right:26px;
bottom:26px;
z-index:2;
color:#fff;
}

.tb-feature-label{
margin:0 0 10px;
color:#d0a85f;
font-size:11px;
font-weight:800;
letter-spacing:.14em;
text-transform:uppercase;
}

.tb-feature-content h3{
margin:0 0 12px;
font-size:clamp(24px,2.6vw,32px);
line-height:1.04;
letter-spacing:-.05em;
font-weight:800;
}

.tb-feature-content p{
margin:0 0 16px;
max-width:460px;
font-size:14px;
line-height:1.7;
color:rgba(255,255,255,.78);
}

.tb-feature-link{
font-size:12px;
font-weight:800;
letter-spacing:.1em;
text-transform:uppercase;
color:#fff;
}

.tb-gallery-modal{
display:none;
position:fixed;
inset:0;
z-index:9999;
background:rgba(18,24,32,.88);
padding:28px;
overflow-y:auto;
}

.tb-gallery-modal.active{
display:block;
}

.tb-gallery-inner{
max-width:1120px;
margin:0 auto;
background:#f6f4ef;
padding:32px;
position:relative;
font-family:'Plus Jakarta Sans', Arial, sans-serif;
}

.tb-gallery-close{
position:absolute;
top:18px;
right:18px;
width:34px;
height:34px;
border:none;
background:#263445;
color:#fff;
cursor:pointer;
font-size:20px;
}

.tb-gallery-title{
margin:0 0 24px;
font-family:'Plus Jakarta Sans', Arial, sans-serif;
font-size:clamp(32px,4vw,48px);
line-height:.98;
letter-spacing:-.06em;
font-weight:800;
color:#263445;
max-width:720px;
}

.tb-gallery-grid{
display:grid;
grid-template-columns:repeat(3,1fr);
gap:12px;
}

.tb-gallery-grid .tb-gallery-img{
aspect-ratio:4/3;
background-size:cover;
background-position:center;
}

.tb-gallery-grid .tb-gallery-img.large{
grid-column:span 2;
grid-row:span 2;
}

@media(max-width:900px){
.tb-projects-hero{
padding:64px 5% 38px;
}

.tb-projects-head{
padding-left:22px;
}

.tb-featured-projects{
padding:0 5% 64px;
}

.tb-featured-grid{
grid-template-columns:1fr;
}

.tb-feature-card{
min-height:360px;
}

.tb-gallery-grid{
grid-template-columns:repeat(2,1fr);
}

.tb-gallery-grid .tb-gallery-img.large{
grid-column:span 2;
}
}

@media(max-width:560px){
.tb-projects-title{
font-size:clamp(34px,11vw,48px);
}

.tb-feature-card{
min-height:330px;
}

.tb-feature-content{
left:22px;
right:22px;
bottom:24px;
}

.tb-gallery-modal{
padding:12px;
}

.tb-gallery-inner{
padding:22px;
}

.tb-gallery-grid{
grid-template-columns:1fr;
}

.tb-gallery-grid .tb-gallery-img.large{
grid-column:auto;
grid-row:auto;
}
}

@media(max-width:560px){

.tb-gallery-modal{
padding:14px;
overflow-y:auto;
}

.tb-gallery-inner{
padding:22px 18px;
max-width:100%;
overflow:hidden;
}

.tb-gallery-title{
font-size:clamp(30px,9vw,38px);
line-height:1;
margin:0 48px 22px 0;
}

.tb-gallery-grid{
display:grid;
grid-template-columns:1fr;
gap:12px;
}

.tb-gallery-grid .tb-gallery-img,
.tb-gallery-grid .tb-gallery-img.large{
grid-column:auto !important;
grid-row:auto !important;
width:100%;
aspect-ratio:4 / 3;
min-height:0;
}

.tb-gallery-close{
top:18px;
right:18px;
z-index:5;
}
}

.tb-all-gallery{
padding:64px 6% 70px;
background:#263445;
font-family:'Plus Jakarta Sans', Arial, sans-serif;
color:#ffffff;
}

.tb-additional-item.tall{ grid-row:span 2; min-height:494px; }

.tb-all-gallery-wrap{
max-width:1200px;
margin:0 auto;
}

.tb-all-gallery-head{
max-width:920px;
margin:0 auto 30px;
padding-left:30px;
border-left:2px solid rgba(208,168,95,.45);
}

.tb-all-gallery-head p{
margin:0 0 10px;
color:#d0a85f;
font-size:12px;
font-weight:800;
letter-spacing:.16em;
text-transform:uppercase;
}

.tb-all-gallery-head h2{
margin:0;
max-width:720px;
font-size:clamp(30px,4vw,54px);
line-height:1;
letter-spacing:-.055em;
font-weight:800;
color:#ffffff;
}

.tb-all-gallery-sub{
margin:18px 0 0;
max-width:620px;
font-size:15px;
line-height:1.75;
color:rgba(255,255,255,.72);
}

.tb-all-gallery-grid{
display:grid;
grid-template-columns:repeat(4,1fr);
gap:12px;
}

.tb-all-img{
aspect-ratio:4/3;
background-size:cover;
background-position:center;
}

.tb-all-img.tall{
grid-row:span 2;
aspect-ratio:auto;
}

@media(max-width:900px){

.tb-all-gallery{
padding:54px 5% 60px;
}

.tb-all-gallery-head{
padding-left:22px;
margin-bottom:26px;
}

.tb-all-gallery-grid{
grid-template-columns:repeat(2,1fr);
}
}

@media(max-width:560px){

.tb-all-gallery-head h2{
font-size:clamp(32px,10vw,46px);
}

.tb-all-gallery-sub{
font-size:14px;
line-height:1.65;
}

.tb-all-gallery-grid{
gap:9px;
}
}

.tb-additional-section{
padding:82px 6%;
background:#ffffff;
font-family:'Plus Jakarta Sans', Arial, sans-serif;
color:#263445;
overflow:hidden;
}

.tb-additional-wrap{
max-width:1200px;
margin:0 auto;
}

.tb-additional-head{
max-width:980px;
margin:0 auto 38px;
padding-right:30px;
border-right:2px solid rgba(138,111,69,.35);
text-align:right;
}

.tb-additional-eyebrow{
margin:0 0 12px;
color:#8a6f45;
font-size:12px;
font-weight:800;
letter-spacing:.16em;
text-transform:uppercase;
}

.tb-additional-title{
margin:0;
margin-left:auto;
max-width:720px;
font-size:clamp(30px,4vw,54px);
line-height:1;
letter-spacing:-.06em;
font-weight:800;
color:#263445;
}

.tb-additional-sub{
margin:20px 0 0 auto;
max-width:620px;
font-size:15px;
line-height:1.75;
color:#66717c;
}

.tb-additional-grid{
display:grid;
grid-template-columns:1.4fr 1fr 1fr;
grid-auto-rows:240px;
gap:14px;
max-width:1200px;
margin:0 auto;
}

.tb-additional-item{
position:relative;
overflow:hidden;
background-size:cover;
background-position:center;
}

.tb-additional-item.large{
grid-row:span 2;
min-height:494px;
}

.tb-additional-overlay{
position:absolute;
inset:0;
background:linear-gradient(to top, rgba(18,24,32,.62), rgba(18,24,32,.06));
}

.tb-additional-caption{
position:absolute;
left:24px;
bottom:22px;
z-index:2;
color:#ffffff;
}

.tb-additional-caption span{
display:block;
margin-bottom:8px;
font-size:11px;
font-weight:800;
letter-spacing:.14em;
text-transform:uppercase;
color:#d0a85f;
}

.tb-additional-caption h3{
margin:0;
max-width:320px;
font-size:clamp(24px,3vw,34px);
line-height:1.02;
letter-spacing:-.05em;
font-weight:800;
}

.tb-additional-caption p{
margin:12px 0 0;
max-width:420px;
font-size:14px;
line-height:1.7;
color:rgba(255,255,255,.76);
}

.tb-additional-gallery{
display:grid;
grid-template-columns:repeat(3,1fr);
gap:14px;
margin-top:14px;
}

.tb-additional-gallery .tb-additional-item{
aspect-ratio:4/3;
}

@media(max-width:900px){

.tb-additional-section{
padding:58px 5%;
}

.tb-additional-head{
padding-right:22px;
margin-bottom:30px;
}

.tb-additional-grid{
grid-template-columns:1fr 1fr;
grid-auto-rows:180px;
}

.tb-additional-item.large{
grid-column:span 2;
grid-row:auto;
min-height:360px;
}

.tb-additional-gallery{
grid-template-columns:1fr 1fr;
}

}

@media(max-width:560px){

.tb-additional-title{
font-size:clamp(34px,11vw,48px);
}

.tb-additional-grid{
grid-template-columns:1fr;
}

.tb-additional-item.large{
grid-column:auto;
min-height:320px;
}

.tb-additional-gallery{
grid-template-columns:1fr;
gap:10px;
}

.tb-additional-caption{
left:20px;
bottom:20px;
}

.tb-additional-caption h3{
font-size:28px;
}
}

.tb-additional-item.tall{
grid-row:span 2;
min-height:494px;
}

@media(max-width:560px){

.tb-additional-grid{
display:grid;
grid-template-columns:1fr;
grid-auto-rows:auto;
gap:10px;
}

.tb-additional-item,
.tb-additional-item.large,
.tb-additional-item.tall{
grid-column:auto;
grid-row:auto;
min-height:0;
aspect-ratio:4 / 3;
}

.tb-additional-item.tall{
aspect-ratio:3 / 4;
}

.tb-additional-caption h3{
font-size:25px;
}

.tb-additional-caption p{
font-size:13px;
line-height:1.55;
}
}

.tb-white-cta{
padding:54px 6%;
background:#ffffff;
font-family:'Plus Jakarta Sans', Arial, sans-serif;
}

.tb-white-cta-wrap{
max-width:1200px;
margin:0 auto;
display:flex;
align-items:center;
justify-content:center;
gap:18px;
flex-wrap:wrap;
}

.tb-white-cta-btn{
display:inline-flex;
align-items:center;
justify-content:center;
padding:14px 20px;
background:#263445;
border:1px solid #263445;
color:#ffffff;
text-decoration:none;
font-size:12px;
font-weight:800;
letter-spacing:.1em;
text-transform:uppercase;
cursor:pointer;
transition:.2s ease;
}

.tb-white-cta-btn:hover{
opacity:.92;
}

.tb-white-cta-link{
font-size:13px;
font-weight:800;
letter-spacing:.08em;
text-transform:uppercase;
color:#8a6f45;
text-decoration:none;
cursor:pointer;
}

@media(max-width:900px){

.tb-white-cta{
padding:46px 5%;
}
}

.tb-footer{
padding:64px 6% 34px;
background:#1d2834;
font-family:'Plus Jakarta Sans', Arial, sans-serif;
color:#ffffff;
}

.tb-footer-wrap{
max-width:1200px;
margin:0 auto;
}

.tb-footer-top{
display:grid;
grid-template-columns:1.2fr .8fr .8fr;
gap:54px;
padding-bottom:42px;
border-bottom:1px solid rgba(255,255,255,.08);
}

.tb-footer-brand img{
width:270px;
height:auto;
margin-bottom:12px;
display:block;
}

.tb-footer-copy{
max-width:420px;
font-size:15px;
line-height:1.75;
color:rgba(255,255,255,.68);
}

.tb-footer-heading{
margin:0 0 18px;
font-size:13px;
font-weight:800;
letter-spacing:.12em;
text-transform:uppercase;
color:#d0a85f;
}

.tb-footer-links{
display:flex;
flex-direction:column;
gap:14px;
}

.tb-footer-links a{
color:rgba(255,255,255,.76);
text-decoration:none;
font-size:15px;
transition:.2s ease;
}

.tb-footer-links a:hover{
color:#ffffff;
}

.tb-footer-contact{
display:flex;
flex-direction:column;
gap:12px;
}

.tb-footer-contact a,
.tb-footer-contact span{
color:rgba(255,255,255,.76);
text-decoration:none;
font-size:15px;
line-height:1.6;
}

.tb-footer-bottom{
padding-top:24px;
display:flex;
justify-content:space-between;
align-items:center;
gap:18px;
flex-wrap:wrap;
}

.tb-footer-small{
font-size:13px;
color:rgba(255,255,255,.48);
}

.tb-footer-credit{
font-size:13px;
color:rgba(255,255,255,.42);
}

@media (max-width:900px){

.tb-footer{
padding:54px 5% 28px;
}

.tb-footer-top{
grid-template-columns:1fr;
gap:38px;
}

.tb-footer-bottom{
flex-direction:column;
align-items:flex-start;
}
}

@media (max-width:560px){

.tb-footer-brand img{
width:190px !important;
height:auto !important;
margin-bottom:10px;
}

.tb-footer-copy,
.tb-footer-links a,
.tb-footer-contact a,
.tb-footer-contact span{
font-size:14px;
}
}

/* ==== carrd-source_residential-page.txt ==== */

.tb-residential-page{
background:#f6f4ef;
color:#263445;
font-family:'Plus Jakarta Sans',system-ui,-apple-system,BlinkMacSystemFont,sans-serif;
overflow:hidden;
width:100%;
max-width:100%;
}

.tb-residential-page *{
box-sizing:border-box;
}

/* HERO */
.tb-res-hero{
min-height:82vh;
position:relative;
display:flex;
align-items:flex-end;
padding:0 6%;
background:
linear-gradient(90deg,rgba(16,24,34,.82),rgba(16,24,34,.34),rgba(16,24,34,.08)),
url("https://res.cloudinary.com/dlgn2pybf/image/upload/v1779538143/TotalBResidential3_u7cz7e.jpg") center/cover no-repeat;
}

/* HERO TOP BAR */
.tb-res-topbar{
position:absolute;
top:0;
left:0;
right:0;
z-index:20;
max-width:1320px;
margin:0 auto;
padding:34px 6%;
display:flex;
align-items:center;
justify-content:space-between;
gap:32px;
}

.tb-res-logo{
display:flex;
align-items:center;
text-decoration:none;
}

.tb-res-logo img{
height:72px;
width:auto;
display:block;
}

.tb-res-nav{
display:flex;
align-items:center;
gap:32px;
}

.tb-res-nav a{
text-decoration:none;
font-size:12px;
font-weight:800;
letter-spacing:.12em;
text-transform:uppercase;
color:rgba(255,255,255,.82);
transition:.2s ease;
}

.tb-res-nav a:hover{
color:#ffffff;
}

.tb-res-cta{
display:inline-flex;
align-items:center;
justify-content:center;
padding:16px 26px;
border:1px solid rgba(255,255,255,.28);
color:#ffffff;
text-decoration:none;
font-size:13px;
font-weight:800;
letter-spacing:.08em;
text-transform:uppercase;
transition:.2s ease;
}

.tb-res-cta:hover{
background:rgba(255,255,255,.08);
border-color:rgba(255,255,255,.45);
}

/* MOBILE MENU BUTTON */
.tb-res-menu-button{
display:none;
}

.tb-res-menu-button span{
display:block;
width:24px;
height:2px;
background:#ffffff;
transition:.25s ease;
}

.tb-res-menu-button.active span:first-child{
transform:translateY(4px) rotate(45deg);
}

.tb-res-menu-button.active span:last-child{
transform:translateY(-4px) rotate(-45deg);
}

.tb-res-hero-inner{
max-width:1200px;
width:100%;
margin:0 auto;
padding:160px 0 92px;
}

.tb-res-eyebrow{
color:#d0a85f;
text-transform:uppercase;
letter-spacing:.16em;
font-size:12px;
font-weight:800;
margin-bottom:18px;
}

.tb-res-hero h1{
color:#fff;
font-size:clamp(38px,4.8vw,64px);
line-height:.92;
letter-spacing:-.065em;
margin:0 0 24px;
max-width:760px;
font-weight:700;
}

.tb-res-hero p{
color:rgba(255,255,255,.78);
font-size:18px;
line-height:1.65;
max-width:560px;
margin:0;
}

/* PROOF BAR */
.tb-res-proofbar{
background:#263445;
display:grid;
grid-template-columns:repeat(4,1fr);
}

.tb-res-proofbar-card{
min-height:128px;
padding:32px 34px;
border-right:1px solid rgba(255,255,255,.08);
display:flex;
flex-direction:column;
justify-content:center;
}

.tb-res-proofbar-card span{
color:#d0a85f;
text-transform:uppercase;
letter-spacing:.14em;
font-size:10px;
font-weight:800;
margin-bottom:10px;
}

.tb-res-proofbar-card strong{
color:#fff;
font-size:20px;
line-height:1.15;
letter-spacing:-.035em;
}

/* INTRO */
.tb-res-intro{
padding:105px 6%;
}

.tb-res-intro-inner{
max-width:1200px;
margin:0 auto;
}

.tb-res-feature-line{
max-width:1080px;
padding-left:34px;
border-left:2px solid rgba(208,168,95,.45);
}

.tb-res-feature-line h2{
font-size:clamp(36px,4.7vw,64px);
line-height:1;
letter-spacing:-.06em;
margin:0;
max-width:760px;
font-weight:800;
}

.tb-res-feature-line p{
font-size:17px;
line-height:1.75;
color:#66717c;
max-width:660px;
margin:22px 0 0;
}

/* FEATURE GRID */
.tb-res-feature{
padding:0 6% 115px;
}

.tb-res-feature-grid{
max-width:1200px;
margin:0 auto;
display:grid;
grid-template-columns:1.25fr .9fr .9fr;
grid-auto-rows:250px;
gap:18px;
}

.tb-res-card{
position:relative;
overflow:hidden;
background-size:cover;
background-position:center;
min-height:250px;
}

.tb-res-card.large{
grid-row:span 2;
}

.tb-res-card.kitchen{
background-image:url("https://res.cloudinary.com/dlgn2pybf/image/upload/v1779619685/TotalBResidential6_oy1tej.jpg");
}

.tb-res-card.stair{
background-image:url("https://res.cloudinary.com/dlgn2pybf/image/upload/v1779538143/TotalBResidential4_a9vavz.jpg");
}

.tb-res-card.house{
background-image:url("https://res.cloudinary.com/dlgn2pybf/image/upload/v1780251416/TotalBHouse_ymos1u.jpg");
}

.tb-res-card.exterior{
background-image:url("https://res.cloudinary.com/dlgn2pybf/image/upload/v1779817871/TotalBHouseExterior_p8v9wu.jpg");
}

.tb-res-card.garden{
background-image:url("https://res.cloudinary.com/dlgn2pybf/image/upload/v1779817870/TotalBGarden_dueggb.jpg");
}

.tb-res-overlay{
position:absolute;
inset:0;
background:linear-gradient(to top,rgba(16,24,34,.72),rgba(16,24,34,.06));
}

.tb-res-caption{
position:absolute;
left:28px;
right:28px;
bottom:26px;
z-index:2;
}

.tb-res-caption span{
display:block;
color:#d0a85f;
text-transform:uppercase;
letter-spacing:.14em;
font-size:10px;
font-weight:800;
margin-bottom:8px;
}

.tb-res-caption h3{
color:#fff;
margin:0;
font-size:clamp(24px,3vw,38px);
line-height:1;
letter-spacing:-.055em;
max-width:420px;
}

/* SPLIT SECTION */
.tb-res-split{
background:#fff;
padding:110px 6%;
}

.tb-res-split-inner{
max-width:1200px;
margin:0 auto;
display:grid;
grid-template-columns:1fr 1fr;
gap:70px;
align-items:center;
}

.tb-res-split-img{
min-height:560px;
background:url("https://res.cloudinary.com/dlgn2pybf/image/upload/v1779619684/TotalBResidential7_fdz59l.jpg") center/cover no-repeat;
}

.tb-res-split h2{
font-size:clamp(38px,5vw,70px);
line-height:.98;
letter-spacing:-.06em;
margin:0;
max-width:680px;
}

.tb-res-split p{
color:#66717c;
font-size:17px;
line-height:1.75;
max-width:590px;
margin:24px 0 0;
}

/* DARK SECTION */
.tb-res-dark{
background:#263445;
color:#f6f4ef;
padding:115px 6%;
}

.tb-res-dark-inner{
max-width:1200px;
margin:0 auto;
text-align:center;
}

.tb-res-dark h2{
font-size:clamp(38px,5.5vw,76px);
line-height:.98;
letter-spacing:-.06em;
margin:0 auto 24px;
max-width:860px;
}

.tb-res-dark p{
color:rgba(246,244,239,.72);
font-size:17px;
line-height:1.75;
max-width:680px;
margin:0 auto 48px;
}

.tb-res-methods{
display:grid;
grid-template-columns:repeat(3,1fr);
gap:18px;
margin-top:54px;
text-align:left;
}

.tb-res-method{
background:rgba(255,255,255,.045);
padding:36px 32px;
min-height:190px;
}

.tb-res-method span{
color:#d0a85f;
text-transform:uppercase;
letter-spacing:.14em;
font-size:10px;
font-weight:800;
display:block;
margin-bottom:14px;
}

.tb-res-method h3{
color:#fff;
font-size:22px;
line-height:1.1;
letter-spacing:-.04em;
margin:0 0 14px;
}

.tb-res-method p{
color:rgba(246,244,239,.68);
font-size:14px;
line-height:1.65;
margin:0;
}

/* FINAL */
.tb-res-final{
padding:105px 6%;
}

.tb-res-final-inner{
max-width:1200px;
margin:0 auto;
display:grid;
grid-template-columns:.82fr 1.18fr;
gap:70px;
align-items:center;
}

.tb-res-final h2{
font-size:clamp(36px,4.8vw,66px);
line-height:1;
letter-spacing:-.06em;
margin:0;
}

.tb-res-final p{
color:#66717c;
font-size:17px;
line-height:1.75;
margin:22px 0 0;
max-width:620px;
}

.tb-res-final-img{
min-height:520px;
background:url("https://res.cloudinary.com/dlgn2pybf/image/upload/v1779818405/qleNX4lguk3GwUFullKUU7hLrE_ey0twr.jpg") center/cover no-repeat;
}

/* MOBILE */
@media(max-width:900px){

.tb-res-hero{
min-height:72vh;
padding:0 26px;
}

.tb-res-topbar{
padding:26px 26px;
}

.tb-res-nav,
.tb-res-cta{
display:none;
}

.tb-res-menu-button{
display:flex;
width:42px;
height:42px;
border:0;
background:rgba(255,255,255,.06);
align-items:center;
justify-content:center;
flex-direction:column;
gap:6px;
cursor:pointer;
position:relative;
z-index:10001;
padding:0;
}

.tb-res-logo img{
height:62px;
}

.tb-res-hero-inner{
padding:130px 0 70px;
}

.tb-res-hero h1{
font-size:52px;
max-width:520px;
}

.tb-res-hero p{
font-size:16px;
}

.tb-res-proofbar{
grid-template-columns:1fr 1fr;
}

.tb-hide-mobile{
display:none;
}

.tb-res-proofbar-card{
min-height:110px;
padding:28px 24px;
}

.tb-res-proofbar-card strong{
font-size:18px;
}

.tb-res-intro{
padding:82px 26px;
}

.tb-res-feature-line{
padding-left:24px;
}

.tb-res-feature-line h2{
font-size:42px;
}

.tb-res-feature{
padding:0 26px 80px;
}

.tb-res-feature-grid{
grid-template-columns:1fr 1fr;
grid-auto-rows:210px;
}

.tb-res-card.large{
grid-row:auto;
grid-column:span 2;
min-height:420px;
}

.tb-res-split{
padding:82px 26px;
}

.tb-res-split-inner{
grid-template-columns:1fr;
gap:40px;
}

.tb-res-split-img{
order:2;
min-height:480px;
}

.tb-res-split-inner > div:not(.tb-res-split-img){
order:1;
}

.tb-res-split h2{
font-size:42px;
}

.tb-res-dark{
padding:82px 26px;
}

.tb-res-dark h2{
font-size:42px;
}

.tb-res-methods{
grid-template-columns:1fr;
}

.tb-res-final{
padding:82px 26px;
}

.tb-res-final-inner{
grid-template-columns:1fr;
gap:40px;
}

.tb-res-final h2{
font-size:42px;
}

.tb-res-final-img{
min-height:390px;
}
}

@media(max-width:560px){

.tb-res-feature-grid{
grid-template-columns:1fr;
grid-auto-rows:auto;
}

.tb-res-card,
.tb-res-card.large{
grid-column:auto;
grid-row:auto;
min-height:330px;
}

.tb-res-card.stair{
min-height:460px;
}

.tb-res-caption{
left:22px;
right:22px;
bottom:22px;
}
}

.tb-footer{
padding:64px 6% 34px;
background:#1d2834;
font-family:'Plus Jakarta Sans', Arial, sans-serif;
color:#ffffff;
}

.tb-footer-wrap{
max-width:1200px;
margin:0 auto;
}

.tb-footer-top{
display:grid;
grid-template-columns:1.2fr .8fr .8fr;
gap:54px;
padding-bottom:42px;
border-bottom:1px solid rgba(255,255,255,.08);
}

.tb-footer-brand img{
width:270px;
height:auto;
margin-bottom:12px;
display:block;
}

.tb-footer-copy{
max-width:420px;
font-size:15px;
line-height:1.75;
color:rgba(255,255,255,.68);
}

.tb-footer-heading{
margin:0 0 18px;
font-size:13px;
font-weight:800;
letter-spacing:.12em;
text-transform:uppercase;
color:#d0a85f;
}

.tb-footer-links{
display:flex;
flex-direction:column;
gap:14px;
}

.tb-footer-links a{
color:rgba(255,255,255,.76);
text-decoration:none;
font-size:15px;
transition:.2s ease;
}

.tb-footer-links a:hover{
color:#ffffff;
}

.tb-footer-contact{
display:flex;
flex-direction:column;
gap:12px;
}

.tb-footer-contact a,
.tb-footer-contact span{
color:rgba(255,255,255,.76);
text-decoration:none;
font-size:15px;
line-height:1.6;
}

.tb-footer-bottom{
padding-top:24px;
display:flex;
justify-content:space-between;
align-items:center;
gap:18px;
flex-wrap:wrap;
}

.tb-footer-small{
font-size:13px;
color:rgba(255,255,255,.48);
}

.tb-footer-credit{
font-size:13px;
color:rgba(255,255,255,.42);
}

@media (max-width:900px){

.tb-footer{
padding:54px 5% 28px;
}

.tb-footer-top{
grid-template-columns:1fr;
gap:38px;
}

.tb-footer-bottom{
flex-direction:column;
align-items:flex-start;
}
}

@media (max-width:560px){

.tb-footer-brand img{
width:190px !important;
height:auto !important;
margin-bottom:10px;
}

.tb-footer-copy,
.tb-footer-links a,
.tb-footer-contact a,
.tb-footer-contact span{
font-size:14px;
}
}