/* TEH SERVICE Page Builder — scoped styles; independent of Divi header/footer. */
.tsb{--tsb-navy:#153a82;--tsb-navy-dark:#102c5d;--tsb-red:#e11f2c;--tsb-red-dark:#bc1524;--tsb-ink:#182d49;--tsb-muted:#62738b;--tsb-line:#e5e9f0;--tsb-bg:#f6f8fc;color:var(--tsb-ink);font-family:inherit;line-height:1.6;font-size:16px;text-align:left;box-sizing:border-box;isolation:isolate}
.tsb *, .tsb *::before,.tsb *::after{box-sizing:border-box}
.tsb--fullbleed{width:100vw;max-width:100vw;margin-left:calc(50% - 50vw);margin-right:calc(50% - 50vw)}
.tsb .tsb-section{padding:clamp(60px,6.4vw,105px) 22px;margin:0;position:relative;overflow:hidden}
.tsb .tsb-container{width:100%;max-width:1180px;margin:0 auto}
.tsb h1,.tsb h2,.tsb h3,.tsb p{padding:0;margin:0;color:inherit;letter-spacing:normal;text-transform:none}
.tsb h1,.tsb h2,.tsb h3{line-height:1.16;font-weight:750}
.tsb h1{font-size:clamp(36px,4.6vw,66px);letter-spacing:-.035em}
.tsb h2{font-size:clamp(29px,3.1vw,45px);letter-spacing:-.025em}
.tsb h3{font-size:clamp(19px,1.55vw,24px);letter-spacing:-.018em}
.tsb p{font-size:inherit;line-height:1.7}
.tsb p+p{margin-top:12px}
.tsb a{text-decoration:none;color:inherit}
.tsb a:focus-visible{outline:3px solid #68b5ff;outline-offset:3px}
.tsb .tsb-eyebrow{display:inline-flex;align-items:center;gap:12px;color:var(--tsb-red);font-size:12px;font-weight:800;letter-spacing:.14em;text-transform:uppercase;margin-bottom:20px}
.tsb .tsb-eyebrow::before{content:'';height:2px;width:28px;background:currentColor;border-radius:2px;flex:none}
.tsb .tsb-heading{max-width:730px;margin-bottom:36px}
.tsb .tsb-heading h2{margin:0 0 16px}
.tsb .tsb-intro-copy,.tsb .tsb-lead{color:var(--tsb-muted);font-size:18px;line-height:1.7}
.tsb .tsb-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:29px}
.tsb .tsb-button{display:inline-flex;align-items:center;justify-content:center;gap:18px;min-height:49px;border-radius:6px;padding:12px 22px;font-size:14px;font-weight:750;line-height:1.4;letter-spacing:.01em;transition:background .2s,transform .2s,border-color .2s;white-space:normal;text-align:center}
.tsb .tsb-button span{font-size:19px;font-weight:400}
.tsb .tsb-button:hover{transform:translateY(-2px)}
.tsb .tsb-button--primary{background:var(--tsb-red);color:#fff;border:1px solid var(--tsb-red)}
.tsb .tsb-button--primary:hover{background:var(--tsb-red-dark);border-color:var(--tsb-red-dark);color:white}
.tsb .tsb-button--outline{color:var(--tsb-navy);border:1px solid #c6d5e1;background:transparent}
.tsb .tsb-button--outline:hover{border-color:var(--tsb-navy);color:var(--tsb-navy)}
.tsb .tsb-section--hero{background:#f4f8fb;padding-top:clamp(78px,9vw,140px);padding-bottom:clamp(78px,9vw,140px)}
.tsb .tsb-hero{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);gap:50px;align-items:center;min-height:350px}
.tsb .tsb-hero__copy{position:relative;z-index:1}
.tsb .tsb-hero__copy .tsb-lead{margin-top:25px;max-width:635px}
.tsb .tsb-hero__media{position:relative;max-height:530px;overflow:hidden;border-radius:12px;box-shadow:0 22px 60px rgba(16,43,74,.13)}
.tsb .tsb-hero__image{width:100%;height:auto;min-height:320px;max-height:530px;object-fit:cover;display:block}
.tsb .tsb-variant--center .tsb-hero{grid-template-columns:1fr;text-align:center;min-height:180px;justify-items:center}
.tsb .tsb-variant--center .tsb-eyebrow{justify-content:center}
.tsb .tsb-variant--center .tsb-hero__copy{max-width:850px}
.tsb .tsb-variant--center .tsb-hero__copy .tsb-lead{margin:20px auto 0}
.tsb .tsb-variant--center .tsb-actions{justify-content:center}
.tsb .tsb-variant--center .tsb-hero__media{width:min(100%,800px)}
.tsb .tsb-variant--dark.tsb-section--hero{background:var(--tsb-navy-dark);color:white}
.tsb .tsb-variant--dark.tsb-section--hero .tsb-lead{color:#d1e0ec}
.tsb .tsb-variant--dark.tsb-section--hero .tsb-button--outline{color:white;border-color:#a3b5c7}
.tsb .tsb-section--intro{background:white}
.tsb .tsb-intro{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:40px 70px;align-items:start}
.tsb .tsb-intro .tsb-eyebrow{grid-column:1/-1;margin-bottom:-20px}
.tsb .tsb-intro h2{max-width:440px}
.tsb .tsb-intro .tsb-rich{font-size:18px;color:var(--tsb-muted);line-height:1.8}
.tsb .tsb-intro .tsb-rich strong{color:var(--tsb-navy)}
.tsb .tsb-variant--center .tsb-intro{display:block;max-width:870px;text-align:center}
.tsb .tsb-variant--center .tsb-intro h2{max-width:none;margin-bottom:20px}
.tsb .tsb-section--benefits{background:var(--tsb-bg)}
.tsb .tsb-benefit-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}
.tsb .tsb-benefit{background:white;border:1px solid var(--tsb-line);padding:28px 24px;border-radius:11px;box-shadow:0 7px 26px rgba(18,44,68,.04);min-height:220px}
.tsb .tsb-benefit h3{font-size:19px;margin:22px 0 9px}
.tsb .tsb-benefit p{font-size:14px;color:var(--tsb-muted)}
.tsb .tsb-icon-box{height:49px;width:49px;background:#e9f0f7;border-radius:9px;color:var(--tsb-navy);display:inline-flex;align-items:center;justify-content:center}
.tsb .tsb-icon{width:27px;height:27px;display:block}
.tsb .tsb-variant--minimal .tsb-benefit{background:transparent;border:none;padding:18px 0;box-shadow:none}
.tsb .tsb-section--service_grid{background:white}
.tsb .tsb-services-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:21px}
.tsb .tsb-service-card{border:1px solid var(--tsb-line);border-radius:11px;overflow:hidden;background:white;transition:box-shadow .25s,transform .25s}
.tsb .tsb-service-card:hover{transform:translateY(-4px);box-shadow:0 16px 38px rgba(17,46,72,.09)}
.tsb .tsb-service-card__media{height:195px;overflow:hidden;background:#e8eef2}
.tsb .tsb-service-card__image{display:block;width:100%;height:100%;object-fit:cover;transition:transform .4s}
.tsb .tsb-service-card:hover .tsb-service-card__image{transform:scale(1.035)}
.tsb .tsb-service-card__body{padding:26px 25px 24px}
.tsb .tsb-service-card__body h3{margin:18px 0 12px;font-size:22px}
.tsb .tsb-service-card__body p{font-size:14px;color:var(--tsb-muted)}
.tsb .tsb-arrow-link{display:inline-flex;align-items:center;gap:15px;margin-top:18px;font-size:13px;font-weight:750;color:var(--tsb-red)!important}
.tsb .tsb-variant--rows .tsb-services-grid{grid-template-columns:1fr;gap:17px}
.tsb .tsb-variant--rows .tsb-service-card{display:grid;grid-template-columns:minmax(0,.65fr) minmax(0,1fr);align-items:stretch}
.tsb .tsb-variant--rows .tsb-service-card__media{height:100%;min-height:240px}
.tsb .tsb-variant--rows .tsb-service-card__body{padding:35px 36px}
.tsb .tsb-variant--rows .tsb-service-card--no-media{display:block}
.tsb .tsb-section--steps{background:var(--tsb-bg)}
.tsb .tsb-steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}
.tsb .tsb-step{position:relative;padding:30px 24px;border-top:2px solid var(--tsb-navy);background:white;border-radius:0 0 10px 10px}
.tsb .tsb-step__number{font-size:37px;font-weight:850;color:#b9cbd9;letter-spacing:-.05em;margin-bottom:12px;line-height:1}
.tsb .tsb-step h3{font-size:20px;margin-bottom:10px}
.tsb .tsb-step p{font-size:14px;color:var(--tsb-muted)}
.tsb .tsb-variant--vertical .tsb-steps{grid-template-columns:1fr;max-width:750px}
.tsb .tsb-section--price_table{background:white}
.tsb .tsb-price-group{margin-top:28px;border:1px solid var(--tsb-line);border-radius:11px;overflow:hidden}
.tsb .tsb-price-group h3{font-size:20px;background:#eaf1f7;padding:20px 25px}
.tsb .tsb-table-scroll{overflow-x:auto;-webkit-overflow-scrolling:touch}
.tsb table.tsb-price-table{width:100%;margin:0;border:0;border-collapse:collapse;font-size:14px;min-width:450px}
.tsb table.tsb-price-table th,.tsb table.tsb-price-table td{padding:17px 20px;text-align:left;vertical-align:top;border:0;border-bottom:1px solid #e6edf1;line-height:1.55}
.tsb table.tsb-price-table thead th{background:#f8fafb;font-size:11px;text-transform:uppercase;letter-spacing:.085em;color:#607083}
.tsb table.tsb-price-table tbody tr:last-child td{border-bottom:0}
.tsb table.tsb-price-table td:last-child{text-align:right;font-weight:750;white-space:nowrap;color:var(--tsb-navy)}
.tsb .tsb-price-note{display:block;color:var(--tsb-muted);font-size:12px;font-weight:400;margin-top:3px}
.tsb .tsb-table-footnote{color:var(--tsb-muted);font-size:13px;margin-top:18px}
.tsb .tsb-variant--separated .tsb-price-group{box-shadow:0 8px 25px rgba(13,48,77,.05)}
.tsb .tsb-section--contact_details{background:white}
.tsb .tsb-contact-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.tsb .tsb-contact-card{border:1px solid var(--tsb-line);border-radius:10px;padding:26px;background:var(--tsb-bg);min-height:120px;overflow-wrap:anywhere}
.tsb .tsb-contact-card__label{display:block;font-size:12px;color:var(--tsb-muted);text-transform:uppercase;letter-spacing:.07em;font-weight:750;margin-bottom:10px}
.tsb .tsb-contact-card a,.tsb .tsb-contact-card__value{font-size:19px;font-weight:750;color:var(--tsb-navy);line-height:1.35}
.tsb .tsb-contact-card a:hover{color:var(--tsb-red)}
.tsb .tsb-variant--split .tsb-contact-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
.tsb .tsb-section--form{background:var(--tsb-bg)}
.tsb .tsb-form-wrapper{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:60px;align-items:start}
.tsb .tsb-form-panel{background:white;border:1px solid var(--tsb-line);padding:32px;border-radius:11px;box-shadow:0 12px 32px rgba(0,0,0,.04)}
.tsb .tsb-form-panel input:not([type="checkbox"]),.tsb .tsb-form-panel textarea,.tsb .tsb-form-panel select{width:100%;max-width:100%;padding:11px 13px;border:1px solid #d9e4ed;border-radius:5px;background:#fff;color:var(--tsb-ink);min-height:40px}
.tsb .tsb-form-panel button,.tsb .tsb-form-panel input[type="submit"]{background:var(--tsb-red);color:white;padding:13px 22px;border:0;border-radius:5px;cursor:pointer}
.tsb .tsb-variant--dark.tsb-section--form{background:var(--tsb-navy-dark);color:white}
.tsb .tsb-variant--dark.tsb-section--form .tsb-intro-copy{color:#d2deea}
.tsb .tsb-section--cta{background:var(--tsb-navy-dark);color:white;padding:clamp(50px,5.5vw,88px) 22px}
.tsb .tsb-cta{display:flex;align-items:center;justify-content:space-between;gap:35px}
.tsb .tsb-cta__text{max-width:750px}
.tsb .tsb-cta h2{margin-bottom:14px}
.tsb .tsb-cta p{color:#c7d8e7;font-size:17px}
.tsb .tsb-cta .tsb-button{flex:0 0 auto}
.tsb .tsb-variant--light.tsb-section--cta{background:#eaf1f7;color:var(--tsb-navy)}
.tsb .tsb-variant--light.tsb-section--cta p{color:var(--tsb-muted)}
@media(max-width:980px){.tsb .tsb-hero{grid-template-columns:1fr;gap:30px}.tsb .tsb-hero__media{max-width:720px}.tsb .tsb-benefit-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.tsb .tsb-contact-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.tsb .tsb-form-wrapper{grid-template-columns:1fr;gap:24px}.tsb .tsb-services-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.tsb .tsb-intro{grid-template-columns:1fr;gap:20px}.tsb .tsb-intro .tsb-eyebrow{margin:0}.tsb .tsb-intro h2{max-width:none}}
@media(max-width:680px){.tsb .tsb-section{padding:56px 18px}.tsb .tsb-section--hero{padding-top:72px;padding-bottom:65px}.tsb .tsb-services-grid,.tsb .tsb-benefit-grid,.tsb .tsb-steps,.tsb .tsb-contact-grid,.tsb .tsb-variant--split .tsb-contact-grid{grid-template-columns:1fr}.tsb .tsb-variant--rows .tsb-service-card{display:block}.tsb .tsb-variant--rows .tsb-service-card__media{height:220px;min-height:0}.tsb .tsb-variant--rows .tsb-service-card__body{padding:24px}.tsb .tsb-cta{flex-direction:column;align-items:flex-start}.tsb .tsb-form-panel{padding:19px}.tsb .tsb-hero__image{min-height:220px}.tsb .tsb-hero__copy .tsb-lead,.tsb .tsb-intro .tsb-rich{font-size:16px}}
@media(prefers-reduced-motion:reduce){.tsb .tsb-button,.tsb .tsb-service-card,.tsb .tsb-service-card__image{transition:none}}

/* Divi-compatible isolated wordmark colors and precise spacing (1.1). */
.tsb.tsb--fullbleed{display:block;float:none;clear:both;max-width:100vw;overflow:clip}
.tsb .tsb-section{border:0;min-width:0}
.tsb .tsb-container{max-width:1180px;min-width:0}
.tsb .tsb-section .tsb-button{background-color:var(--tsb-red);color:#fff}
.tsb .tsb-section .tsb-button--outline{background:transparent;color:var(--tsb-navy)}
.tsb .tsb-variant--dark .tsb-button--outline{color:#fff}
.tsb .tsb-section--hero .tsb-hero__copy{min-width:0}
.tsb .tsb-section h1,.tsb .tsb-section h2,.tsb .tsb-section h3{font-family:inherit;text-shadow:none}
@supports not (overflow:clip){.tsb.tsb--fullbleed{overflow:hidden}}

/* ------------------------------------------------------------------------
 * TEH SERVICE 1.2 — refined editorial layout, matching Header & Footer.
 * Kept strictly inside .tsb to avoid changing Divi or other site elements.
 * ------------------------------------------------------------------------ */
.tsb{--tsb-navy:#153a82;--tsb-navy-dark:#102c5d;--tsb-red:#e11f2c;--tsb-red-dark:#bd1825;--tsb-ink:#1b2a3d;--tsb-muted:#627287;--tsb-line:#e3eaf1;--tsb-bg:#f5f8fc;font-size:15px;line-height:1.58}
.tsb.tsb--fullbleed{overflow:clip}
.tsb .tsb-section{padding:clamp(42px,4.5vw,68px) 22px}
.tsb .tsb-container{max-width:1120px}
.tsb .tsb-section h1{font-size:clamp(32px,3.55vw,49px);line-height:1.12;letter-spacing:-.034em;font-weight:780}
.tsb .tsb-section h2{font-size:clamp(25px,2.4vw,34px);line-height:1.2;letter-spacing:-.025em;font-weight:750}
.tsb .tsb-section h3{font-size:clamp(17px,1.35vw,20px);line-height:1.28;font-weight:740}
.tsb .tsb-section p{line-height:1.62}
.tsb .tsb-heading{max-width:670px;margin-bottom:25px}
.tsb .tsb-heading h2{margin-bottom:10px}
.tsb .tsb-intro-copy,.tsb .tsb-lead{font-size:16px;line-height:1.65;color:var(--tsb-muted)}
.tsb .tsb-eyebrow{letter-spacing:.09em;font-size:11px;margin-bottom:12px;font-weight:750}
.tsb .tsb-eyebrow::before{height:2px;width:18px}
.tsb .tsb-section--hero{padding-top:clamp(55px,6vw,86px);padding-bottom:clamp(55px,6vw,86px);background:#eef3f8}
.tsb .tsb-hero{grid-template-columns:minmax(0,1.08fr) minmax(0,.92fr);gap:38px;min-height:0}
.tsb .tsb-hero:not(:has(.tsb-hero__media)){grid-template-columns:minmax(0,1fr)}
.tsb .tsb-hero:not(:has(.tsb-hero__media)) .tsb-hero__copy{max-width:780px}
.tsb .tsb-hero__copy .tsb-lead{margin-top:15px;max-width:600px}
.tsb .tsb-hero__media{border-radius:10px;max-height:390px;box-shadow:0 14px 34px rgba(18,44,81,.10)}
.tsb .tsb-hero__image{height:310px;min-height:0;max-height:390px;object-fit:cover}
.tsb .tsb-actions{margin-top:22px;gap:10px}
.tsb .tsb-button{min-height:43px;padding:10px 17px;border-radius:6px;font-size:13px;gap:12px}
.tsb .tsb-section .tsb-button--outline{background:transparent;color:var(--tsb-navy)}
.tsb .tsb-variant--center .tsb-hero,.tsb .tsb-variant--compact .tsb-hero{grid-template-columns:1fr;min-height:0}
.tsb .tsb-variant--center .tsb-hero__copy,.tsb .tsb-variant--compact .tsb-hero__copy{max-width:790px}
.tsb .tsb-variant--compact.tsb-section--hero,.tsb .tsb-page--services .tsb-section--hero,.tsb .tsb-page--prices .tsb-section--hero,.tsb .tsb-page--contacts .tsb-section--hero{padding-top:clamp(35px,4vw,56px);padding-bottom:clamp(35px,4vw,56px);background:#f1f5fa}
.tsb .tsb-page--services .tsb-section--hero h1,.tsb .tsb-page--prices .tsb-section--hero h1,.tsb .tsb-page--contacts .tsb-section--hero h1{font-size:clamp(27px,2.85vw,40px)}
.tsb .tsb-page--services .tsb-section--hero .tsb-lead,.tsb .tsb-page--prices .tsb-section--hero .tsb-lead,.tsb .tsb-page--contacts .tsb-section--hero .tsb-lead{font-size:15px;max-width:690px;margin-top:10px}
.tsb .tsb-variant--compact .tsb-hero__media{display:none}
.tsb .tsb-variant--compact .tsb-hero,.tsb .tsb-page--services .tsb-section--hero .tsb-hero,.tsb .tsb-page--prices .tsb-section--hero .tsb-hero,.tsb .tsb-page--contacts .tsb-section--hero .tsb-hero{justify-items:start;text-align:left}
.tsb .tsb-variant--compact .tsb-actions,.tsb .tsb-page--services .tsb-section--hero .tsb-actions,.tsb .tsb-page--prices .tsb-section--hero .tsb-actions,.tsb .tsb-page--contacts .tsb-section--hero .tsb-actions{justify-content:flex-start}
.tsb .tsb-page--services .tsb-section--intro{padding-top:26px;padding-bottom:28px}
.tsb .tsb-section--intro{background:#fff}
.tsb .tsb-intro{gap:20px 44px;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr)}
.tsb .tsb-intro .tsb-eyebrow{margin-bottom:-9px}
.tsb .tsb-intro .tsb-rich{font-size:15px;line-height:1.7}
.tsb .tsb-intro__media{overflow:hidden;border-radius:10px;min-height:220px}
.tsb .tsb-intro__image{display:block;width:100%;height:100%;max-height:350px;object-fit:cover}
.tsb .tsb-intro:has(.tsb-intro__media){grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr);grid-template-areas:'eyebrow photo' 'title photo' 'text photo';column-gap:44px;row-gap:12px;align-items:start}
.tsb .tsb-intro:has(.tsb-intro__media) .tsb-eyebrow{grid-area:eyebrow;margin:0}
.tsb .tsb-intro:has(.tsb-intro__media) h2{grid-area:title;margin:0}
.tsb .tsb-intro:has(.tsb-intro__media) .tsb-rich{grid-area:text}
.tsb .tsb-intro:has(.tsb-intro__media) .tsb-intro__media{grid-area:photo;align-self:stretch}
.tsb .tsb-benefit-grid{gap:14px}
.tsb .tsb-benefit{padding:22px 19px;min-height:0;border-radius:9px;box-shadow:none}
.tsb .tsb-benefit h3{font-size:17px;margin:15px 0 8px}
.tsb .tsb-benefit p{font-size:13px}
.tsb .tsb-icon-box{width:43px;height:43px;border-radius:8px;background:#eaf0f8;color:var(--tsb-navy)}
.tsb .tsb-icon{width:24px;height:24px}
.tsb .tsb-section--service_grid{background:#fff}
.tsb .tsb-services-grid,.tsb .tsb-variant--rows .tsb-services-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;align-items:stretch}
.tsb .tsb-variant--compact .tsb-services-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
.tsb .tsb-service-card,.tsb .tsb-variant--rows .tsb-service-card{display:flex;flex-direction:column;min-width:0;border:1px solid var(--tsb-line);border-radius:9px;box-shadow:none;overflow:hidden}
.tsb .tsb-variant--rows .tsb-service-card--no-media{display:flex}
.tsb .tsb-service-card__media,.tsb .tsb-variant--rows .tsb-service-card__media{height:164px;min-height:0}
.tsb .tsb-service-card__image{width:100%;height:100%;object-fit:cover}
.tsb .tsb-service-card__body,.tsb .tsb-variant--rows .tsb-service-card__body{display:flex;flex-direction:column;flex:1;align-items:flex-start;padding:19px 20px 20px}
.tsb .tsb-service-card__body h3{font-size:18px;margin:12px 0 8px;letter-spacing:-.01em}
.tsb .tsb-service-card__body p{font-size:13px;line-height:1.6}
.tsb .tsb-service-card__body .tsb-arrow-link{margin-top:auto;padding-top:16px;font-size:12px}
.tsb .tsb-step{padding:23px 20px;border-top:2px solid var(--tsb-navy);border-radius:0 0 8px 8px}
.tsb .tsb-step__number{font-size:27px;margin-bottom:8px}
.tsb .tsb-step h3{font-size:17px;margin-bottom:7px}
.tsb .tsb-step p{font-size:13px}
.tsb .tsb-price-group{margin-top:18px;border-radius:8px}
.tsb .tsb-price-group h3{font-size:17px;padding:14px 18px}
.tsb table.tsb-price-table th,.tsb table.tsb-price-table td{padding:12px 16px;font-size:13px}
.tsb .tsb-table-footnote{font-size:12px}
.tsb .tsb-section--contact_details{background:#fff}
.tsb .tsb-contact-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,.8fr);gap:18px;align-items:stretch}
.tsb .tsb-contact-primary{background:var(--tsb-navy-dark);color:#fff;border-radius:11px;padding:clamp(22px,3vw,38px);display:flex;flex-direction:column;justify-content:center;gap:25px;min-width:0}
.tsb .tsb-contact-feature{display:flex;flex-direction:column;gap:4px;min-width:0}
.tsb .tsb-contact-feature__label{font-size:11px;font-weight:720;color:#bdd0e8;text-transform:uppercase;letter-spacing:.085em}
.tsb .tsb-contact-feature a{color:#fff!important;font-size:clamp(18px,2.1vw,27px);font-weight:700;line-height:1.27;text-decoration:none;overflow-wrap:anywhere}
.tsb .tsb-contact-feature a:hover{text-decoration:underline;color:#fff}
.tsb .tsb-contact-secondary{border:1px solid var(--tsb-line);background:#f6f8fb;padding:23px 25px;border-radius:11px;display:flex;flex-direction:column;gap:0;min-width:0}
.tsb .tsb-contact-meta{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding:10px 0;border-bottom:1px solid #e1e8f0;font-size:13px}
.tsb .tsb-contact-meta:last-of-type{border-bottom:0}
.tsb .tsb-contact-meta span{color:var(--tsb-muted);flex:0 0 42%}
.tsb .tsb-contact-meta strong{font-size:14px;color:var(--tsb-ink);font-weight:700;text-align:right;overflow-wrap:anywhere}
.tsb .tsb-contact-photo-wrap{border-radius:8px;overflow:hidden;margin-top:14px;max-height:240px}
.tsb .tsb-contact-photo{display:block;width:100%;height:100%;max-height:240px;object-fit:cover}
.tsb .tsb-section--form{background:#f6f8fb}
.tsb .tsb-form-wrapper{gap:28px}
.tsb .tsb-form-panel{padding:24px;border-radius:9px}
.tsb .tsb-section--cta{padding:clamp(38px,4.5vw,60px) 22px}
.tsb .tsb-cta{gap:26px}
.tsb .tsb-cta h2{font-size:clamp(24px,2.25vw,33px);margin-bottom:9px}
.tsb .tsb-cta p{font-size:15px}
/* Optional background images: use a readable overlay and preserve editing safety. */
.tsb .tsb-section--with-bg{isolation:isolate}
.tsb .tsb-section--with-bg > .tsb-section__background{position:absolute;inset:0;z-index:0;background-size:cover;background-position:center;pointer-events:none}
.tsb .tsb-section--with-bg > .tsb-section__background::after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,rgba(247,250,253,.96),rgba(247,250,253,.88) 60%,rgba(247,250,253,.78))}
.tsb .tsb-section--hero.tsb-section--with-bg > .tsb-section__background::after,.tsb .tsb-section--cta.tsb-section--with-bg > .tsb-section__background::after{background:linear-gradient(90deg,rgba(11,34,74,.94),rgba(12,43,84,.80) 62%,rgba(13,44,85,.64))}
.tsb .tsb-section--hero.tsb-section--with-bg{color:#fff;background:var(--tsb-navy-dark)}
.tsb .tsb-section--hero.tsb-section--with-bg .tsb-lead,.tsb .tsb-section--cta.tsb-section--with-bg p{color:#e0e8f4}
.tsb .tsb-section--hero.tsb-section--with-bg .tsb-eyebrow{color:#ffc1c7}
.tsb .tsb-section--hero.tsb-section--with-bg .tsb-button--outline{color:#fff!important;border-color:rgba(255,255,255,.68)}
.tsb .tsb-section--cta.tsb-section--with-bg{color:#fff}
.tsb .tsb-section--with-bg > .tsb-container{position:relative;z-index:1}
.tsb .tsb-section--with-bg .tsb-service-card,.tsb .tsb-section--with-bg .tsb-benefit,.tsb .tsb-section--with-bg .tsb-step,.tsb .tsb-section--with-bg .tsb-contact-secondary{color:var(--tsb-ink)}
@media (max-width:980px){
 .tsb .tsb-services-grid,.tsb .tsb-variant--rows .tsb-services-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
 .tsb .tsb-contact-layout{grid-template-columns:1fr 1fr}
 .tsb .tsb-intro:has(.tsb-intro__media){gap:16px 25px}
}
@media (max-width:680px){
 .tsb .tsb-section{padding:38px 17px}
 .tsb .tsb-section--hero{padding-top:45px;padding-bottom:45px}
 .tsb .tsb-section h1{font-size:clamp(27px,8vw,38px)}
 .tsb .tsb-section h2{font-size:clamp(23px,6.3vw,29px)}
 .tsb .tsb-hero{gap:22px}
 .tsb .tsb-hero__image{height:225px}
 .tsb .tsb-services-grid,.tsb .tsb-variant--rows .tsb-services-grid,.tsb .tsb-variant--compact .tsb-services-grid{grid-template-columns:1fr}
 .tsb .tsb-service-card__media{height:190px}
 .tsb .tsb-intro:has(.tsb-intro__media){grid-template-columns:1fr;grid-template-areas:'eyebrow' 'title' 'text' 'photo';gap:10px}
 .tsb .tsb-intro__media{min-height:160px;margin-top:12px}
 .tsb .tsb-contact-layout{grid-template-columns:1fr}
 .tsb .tsb-contact-primary{gap:18px;padding:23px}
 .tsb .tsb-contact-secondary{padding:19px}
 .tsb .tsb-form-wrapper{gap:18px}
 .tsb .tsb-cta{gap:20px}
}

/* v1.2.1 — Unified page content width with Header & Footer.
   Section backgrounds stay full width; text, cards and tables share one grid. */
.tsb{--teh-site-content-width:1200px;--teh-site-gutter:clamp(18px,3vw,32px);}
.tsb .tsb-section{padding-left:var(--teh-site-gutter);padding-right:var(--teh-site-gutter)}
.tsb .tsb-container{width:100%;max-width:var(--teh-site-content-width);margin-left:auto;margin-right:auto}

/* 1.3.0 — equipment and certificate galleries; compact and aligned to site grid. */
.tsb .tsb-section--gallery{background:#fff;padding-top:clamp(26px,3.5vw,46px);padding-bottom:clamp(48px,5vw,72px)}
.tsb .tsb-gallery__title{font-size:clamp(21px,2.25vw,30px);margin-bottom:10px;letter-spacing:-.02em}
.tsb .tsb-gallery__intro{max-width:720px;color:var(--tsb-muted);font-size:14px;margin-bottom:24px}
.tsb .tsb-gallery__grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.tsb .tsb-variant--wide .tsb-gallery__grid{grid-template-columns:repeat(2,minmax(0,1fr))}
.tsb .tsb-gallery-card{background:#fff;border:1px solid var(--tsb-line);border-radius:10px;overflow:hidden;min-width:0;display:flex;flex-direction:column}

.tsb .tsb-gallery-card__media{height:clamp(190px,23vw,275px);display:flex;align-items:center;justify-content:center;background:#f1f5fa;overflow:hidden;cursor:default}
.tsb a.tsb-gallery-card__media{cursor:pointer}
.tsb .tsb-gallery-card__media img{display:block;max-width:100%;width:100%;height:100%;object-fit:contain}

.tsb .tsb-gallery-card__file-icon{color:var(--tsb-navy);width:52px;height:52px;display:flex;align-items:center;justify-content:center}
.tsb .tsb-gallery-card__body{display:flex;flex:1;flex-direction:column;align-items:flex-start;padding:19px 20px 21px}
.tsb .tsb-gallery-card__body h3{font-size:16px;line-height:1.3;margin:0 0 8px}
.tsb .tsb-gallery-card__description,.tsb .tsb-gallery-card__description p{font-size:13px;color:var(--tsb-muted);line-height:1.65}
.tsb a.tsb-gallery-card__link{display:inline-flex;align-items:center;gap:9px;margin-top:auto;padding-top:14px;color:var(--tsb-red);font-size:13px;font-weight:750;text-decoration:none}
.tsb a.tsb-gallery-card__link:hover{color:var(--tsb-red-dark)}
.tsb .tsb-gallery-card__link span{font-size:17px;line-height:1}
@media(max-width:980px){.tsb .tsb-gallery__grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:650px){.tsb .tsb-gallery__grid,.tsb .tsb-variant--wide .tsb-gallery__grid{grid-template-columns:1fr}.tsb .tsb-gallery-card__media{height:235px}}

/* 1.4.2 — Stable first paint, no sliding/revealing of content on page load.
   Divi or cache optimizers may delay noncritical CSS or animate wrapper elements;
   these rules disable entrance effects on builder sections only, keeping hover
   motion on buttons/cards intact. */
.tsb{opacity:1!important;visibility:visible!important;animation:none!important;transform:none!important}
.tsb .tsb-section,.tsb .tsb-container{
  opacity:1!important;visibility:visible!important;
  animation:none!important;transform:none!important;
  content-visibility:visible!important;
}
/* Divi may add waypoint/animation classes to a module containing our shortcode. */
body .et_pb_section:has(.tsb).et-waypoint,
body .et_pb_row:has(.tsb).et-waypoint,
body .et_pb_module:has(.tsb).et-waypoint,
body .et_pb_section.et_pb_animation_top:has(.tsb),
body .et_pb_row.et_pb_animation_top:has(.tsb),
body .et_pb_module.et_pb_animation_top:has(.tsb),
body .et_pb_section.et_pb_animation_bottom:has(.tsb),
body .et_pb_row.et_pb_animation_bottom:has(.tsb),
body .et_pb_module.et_pb_animation_bottom:has(.tsb){
  opacity:1!important;visibility:visible!important;transform:none!important;animation:none!important;transition:none!important;
}
/* Reserve the top image's visible size even before the download completes. */
.tsb .tsb-hero__media{overflow:hidden;aspect-ratio: 1.6 / 1;}
.tsb .tsb-hero__image{width:100%;height:100%;object-fit:cover}
.tsb .tsb-gallery-card__media img{width:100%;height:100%;object-fit:contain}
