@import url('https://fonts.googleapis.com/css2?family=Roboto:wght@300;400;500;600;700;800;900&display=swap');
:root{--tp-red:#c91f2c;--tp-dark:#17191c;--tp-ink:#24262a;--tp-muted:#6b6e74;--tp-paper:#f4f3ef;--tp-line:#deddd8}
html{scroll-behavior:smooth}body{font-family:"Roboto",Arial,Helvetica,sans-serif;color:var(--tp-ink)}a{text-decoration:none}.text-brand{color:var(--tp-red)!important}.bg-brand{background:var(--tp-red)!important}.bg-dark-brand{background:var(--tp-dark)!important}.bg-paper{background:var(--tp-paper)!important}
.site-header{background:#fffefcf5;border-bottom:1px solid var(--tp-line);backdrop-filter:blur(12px)}.navbar{min-height:104px}.brand-mark{width:82px;height:82px;object-fit:contain}.brand-wordmark{width:230px;height:66px;object-fit:contain;object-position:left center}.navbar-nav .nav-link{font-weight:700;color:var(--tp-ink);border-bottom:2px solid transparent;padding:.75rem 0!important}.navbar-nav .nav-link:hover,.navbar-nav .nav-link.active{color:var(--tp-red);border-color:var(--tp-red)}
.btn-brand{--bs-btn-color:#fff;--bs-btn-bg:var(--tp-red);--bs-btn-border-color:var(--tp-red);--bs-btn-hover-color:#fff;--bs-btn-hover-bg:#ab1722;--bs-btn-hover-border-color:#ab1722;font-weight:800;border-radius:0;padding:.85rem 1.25rem}.btn-outline-dark{border-radius:0;font-weight:800;padding:.85rem 1.25rem}
.hero{min-height:690px}.hero-copy{padding-top:6rem;padding-bottom:5rem}.eyebrow{color:var(--tp-red);font-size:.75rem;font-weight:900;letter-spacing:.22em;text-transform:uppercase}.display-title{font-size:clamp(2.9rem,5.3vw,5rem);line-height:.96;letter-spacing:-.05em;font-weight:900}.hero-lead,.lead-muted{color:var(--tp-muted);line-height:1.65}.hero-photo{min-height:690px;position:relative;background:var(--tp-dark)}.hero-photo>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.network-badge{position:absolute;left:-2.2rem;bottom:2.8rem;background:#fff;padding:1.1rem 1.6rem;border-left:5px solid var(--tp-red);box-shadow:0 12px 40px #0003}.network-badge strong{font-size:1.45rem;display:block}
.section-space{padding-top:6rem;padding-bottom:6rem}.section-title{font-size:clamp(2.1rem,4vw,3.4rem);line-height:1.05;font-weight:700;letter-spacing:-.035em}.service-card{border:1px solid var(--tp-line);border-radius:0;height:100%;overflow:hidden}.service-card img{height:150px;object-fit:cover}.service-card .card-title{font-weight:700}.service-card .card-text{color:var(--tp-muted)}
.page-head{padding-top:5rem;padding-bottom:5rem}.page-head .display-title{max-width:850px}.page-head .lead{max-width:700px;color:#bbb}.service-row{padding:1.8rem 0;border-bottom:1px solid var(--tp-line)}.service-row img{width:100%;height:150px;object-fit:cover}.service-row h2{font-weight:700}.service-row p{color:var(--tp-muted)}
.gallery-card{height:390px;position:relative;overflow:hidden;background:var(--tp-dark)}.gallery-card img{width:100%;height:100%;object-fit:cover}.gallery-card figcaption{position:absolute;inset:auto 0 0;padding:3.5rem 1.4rem 1.25rem;color:#fff;font-weight:700;background:linear-gradient(transparent,#111e)}
.location-photo{width:100%;height:520px;object-fit:cover}.info-copy p{color:var(--tp-muted);line-height:1.7}.contact-form{background:var(--tp-paper);padding:2.2rem}.form-control{border-radius:0;border-color:var(--tp-line);padding:.8rem}.form-control:focus,.form-check-input:focus{border-color:var(--tp-red);box-shadow:0 0 0 .2rem rgba(201,31,44,.15)}.form-check-input:checked{background-color:var(--tp-red);border-color:var(--tp-red)}.hp{position:absolute;left:-9999px}
.site-footer{background:#111315;color:#fff;padding:3.5rem 0}.footer-mark{width:72px;height:72px;object-fit:contain}.footer-wordmark{width:210px;height:60px;object-fit:contain;filter:invert(1) grayscale(1) brightness(2)}.site-footer a,.site-footer p,.site-footer span{color:#aaa;font-size:.85rem}
@media(max-width:991.98px){.navbar{min-height:88px}.brand-mark{width:64px;height:64px}.brand-wordmark{width:180px;height:54px}.navbar-collapse{padding:1rem 0}.hero-photo{min-height:440px}.network-badge{left:1.5rem}.hero{min-height:auto}}
@media(max-width:575.98px){.brand-mark{width:56px;height:56px}.brand-wordmark{width:138px;height:44px}.display-title{font-size:2.85rem}.hero-photo{min-height:330px}.section-space{padding-top:4rem;padding-bottom:4rem}.contact-form{padding:1.5rem}.location-photo{height:330px}}
