/* TNT / direction A: one family, two actual weights, six text roles. */
@font-face{font-family:Archivo;font-style:normal;font-weight:400;font-display:swap;src:url(assets/fonts/archivo-400.ttf) format('truetype')}
@font-face{font-family:Archivo;font-style:normal;font-weight:600;font-display:swap;src:url(assets/fonts/archivo-600.ttf) format('truetype')}
.variant-a{
 --type-hero:4rem;
 --type-section:2.5rem;
 --type-title:1.625rem;
 --type-body:1.125rem;
 --type-control:1rem;
 --type-caption:.875rem;
 --heading-space:1.5rem;
 --action-space:1.75rem;
 font-family:Archivo,Arial,sans-serif;
 font-size:var(--type-body);
 font-weight:400;
 line-height:1.6;
}
.variant-a :is(h1,h2,h3){font-family:inherit;font-weight:600;text-wrap:balance}
.variant-a .a-hero h1{font-size:var(--type-hero);line-height:1.12;letter-spacing:-.025em}
.variant-a h2,.variant-a .building-carousel-heading h2{font-size:var(--type-section);line-height:1.18;letter-spacing:-.015em}
.variant-a h3,.variant-a .building-slide-copy h3,.variant-a .quote-form h3{font-size:var(--type-title);line-height:1.25;letter-spacing:-.01em}
.variant-a .software-intro h2{font-size:1.125rem;font-weight:600;line-height:1.4;letter-spacing:0;text-wrap:initial}
.variant-a :is(.hero-description,.section-intro>p:last-child,.a-package-copy>p:not(.label),.a-local-intro,.building-slide-copy>p:not(.label),.faqs p,.a-designer p:not(.label):not(.caption),.contact-copy>p:not(.label):not(.hours)){
 font-size:var(--type-body);font-weight:400;line-height:1.6;letter-spacing:0;
}
.variant-a .hero-description{max-width:40rem;margin:var(--heading-space) 0 var(--action-space)}
.variant-a :is(.a-package-copy>p:not(.label),.a-designer p:not(.label),.building-slide-copy>p:not(.label)){margin-top:var(--heading-space)}
.variant-a .a-local-intro,.variant-a .building-slide-copy>p:not(.label),.variant-a .section-intro>p:last-child{color:#526175}
.variant-a .contact-copy h2,.variant-a .quote-form h3{margin-bottom:var(--heading-space)}
.variant-a :is(.label,.building-slide-copy .label,.building-carousel-heading .label,.a-location-details .label){font-size:var(--type-caption);font-weight:600;line-height:1.4;letter-spacing:.07em;margin-bottom:1rem}
.variant-a :is(.caption,.hero-note,.hours,.form-note,.form-policies,.form-status,.building-carousel-note,.building-photo-credits,.building-photo-credits p,.a-location-photo figcaption,.a-hero-bottom span){font-size:var(--type-caption);line-height:1.55;letter-spacing:0}
.variant-a .a-package-copy .caption{font-size:var(--type-caption);line-height:1.55;margin-top:var(--heading-space);color:#c5d0df;opacity:1}
.variant-a .caption{opacity:1}
.variant-a .a-designer .caption{color:#526175}
.variant-a :is(.btn,.site-header nav a,.header-phone,.menu,.building-slide-link,.building-examples-note a){font-size:var(--type-control);font-weight:600;line-height:1.4;letter-spacing:0}
.variant-a .btn{padding:14px 22px}
.variant-a .nav-cta{padding:12px 18px}
.variant-a .building-slide-link,.variant-a .a-designer .btn,.variant-a .a-location-details .btn{margin-top:var(--action-space)}
.variant-a .a-hero-bottom strong{font-size:var(--type-control);font-weight:600;line-height:1.45}
.variant-a .a-package-copy dt,.variant-a .faqs summary{font-size:var(--type-body);font-weight:600;line-height:1.45}
.variant-a .a-package-copy dd{font-size:var(--type-control);font-weight:400;line-height:1.6;margin-top:.375rem}
.variant-a .faqs p{opacity:1;color:#526175}
.variant-a .quote-form label{font-size:var(--type-control);font-weight:600;line-height:1.5}
.variant-a .quote-form :is(input,select,textarea){font-size:var(--type-control);font-weight:400;line-height:1.5}
.variant-a .quote-form .checkbox{font-size:var(--type-caption);font-weight:400}
.variant-a .a-location-details address,.variant-a .contact-phone{font-size:1.5rem;font-weight:600;line-height:1.45;letter-spacing:0}
.variant-a .contact-phone{margin-top:var(--action-space)}
.variant-a footer,.variant-a footer :is(p,address,strong,a),.variant-a .footer-brand p,.variant-a .footer-map-heading address,.variant-a .footer-directions,.variant-a .footer-company,.variant-a .footer-legal a,.variant-a .footer-accreditation{font-size:var(--type-caption);line-height:1.6}
.variant-a footer strong{font-weight:600}
.variant-a footer .footer-phone{font-size:var(--type-body);font-weight:600}
.variant-a .footer-directions{white-space:normal}
.variant-a .footer-map-heading{align-items:start}
@media(max-width:760px){
 .variant-a{--type-hero:2.625rem;--type-section:1.875rem;--type-title:1.5rem;--type-body:1.0625rem;--heading-space:1.25rem;--action-space:1.5rem}
 .variant-a .building-carousel-heading{gap:16px}
 .variant-a .a-local-grid h2 br{display:none}
 .variant-a .a-package-copy{padding:40px 20px}
 .variant-a .building-slide-copy{min-height:245px}
 .variant-a .hero-description br{display:none}
}
/* Let enlarged navigation text wrap without pushing controls off screen. */
.variant-a .site-header{flex-wrap:wrap;height:auto;min-height:104px;padding-block:20px}
@media(max-width:760px){.variant-a .site-header{min-height:86px;padding-block:16px}}
.variant-a{overflow-wrap:anywhere}
.variant-a :is(.a-package,.a-hero-bottom,.a-designer,.a-local-grid,.contact-grid,.faq-grid)>*{min-width:0}

/* BBB: retain the original seal proportions and use readable live text. */
.variant-a .bbb-profile{display:flex;align-items:center;gap:18px;color:#fff;text-decoration:none;max-width:100%;width:fit-content}
.variant-a .bbb-profile img{width:92px;height:136px;flex:0 0 92px;object-fit:contain;padding:0;background:transparent;filter:none}
.variant-a .bbb-profile-copy{display:block;min-width:0}
.variant-a .bbb-profile strong{display:block;max-width:13rem;margin:0;font-size:1rem;font-weight:600;line-height:1.45;color:#fff}
.variant-a .bbb-profile-link{display:block;margin-top:10px;font-size:.875rem;font-weight:400;line-height:1.5;color:#d0d9e5;text-decoration:underline;text-underline-offset:4px}
.variant-a .bbb-profile:hover .bbb-profile-link{color:#fff}
.variant-a .bbb-profile--footer{margin:24px 0 28px}
.variant-a .bbb-profile--visit{border-top:1px solid #ffffff30;padding-top:26px;margin-top:32px;width:100%}
@media(max-width:380px){.variant-a .bbb-profile{gap:14px}.variant-a .bbb-profile img{width:82px;height:121px;flex-basis:82px}}

/* Houston visit: a single introduction and a balanced photo/contact panel. */
.variant-a .a-local-heading{display:block;max-width:760px}
.variant-a .a-local-heading h2{text-wrap:initial}
.variant-a .a-local-heading .a-local-intro{max-width:660px;margin-top:20px}
.variant-a .a-location-panel{grid-template-columns:minmax(0,2fr) minmax(340px,1fr);margin-top:32px}
.variant-a .a-location-photo{min-height:400px}
.variant-a .a-location-details{padding:32px;gap:0}
.variant-a .a-location-details .label{margin-bottom:12px}
.variant-a .a-location-details .btn{width:100%;margin-top:20px}
.variant-a .bbb-profile--visit{gap:16px;margin-top:24px;padding-top:24px}
.variant-a .bbb-profile--visit img{width:72px;height:106px;flex-basis:72px}
.variant-a .bbb-profile--visit strong{max-width:12rem}
.variant-a .bbb-profile--visit .bbb-profile-link{margin-top:6px}
@media(max-width:900px){
 .variant-a .a-location-panel{grid-template-columns:minmax(0,1fr)}
 .variant-a .a-location-photo{min-height:0;aspect-ratio:16/9}
 .variant-a .a-location-details{padding:28px 32px}
}
@media(max-width:760px){
 .variant-a .a-local-heading .a-local-intro{margin-top:16px}
 .variant-a .a-location-panel{margin-top:28px}
 .variant-a .a-location-details{padding:28px 24px}
}
@media(max-width:760px){.variant-a .a-local-heading h2{text-wrap:balance}}
