:root{--blue:#113b80;--navy:#0b2346;--red:#e62636;--ink:#142236;--muted:#68717e;--line:#e1e5eb;--pale:#f3f5f8}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:92px}body{margin:0;color:var(--ink);background:#fff;font-family:'DM Sans',Arial,sans-serif;font-size:16px;line-height:1.6}a{color:inherit;text-decoration:none}button,input{font:inherit}button,a,input{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:focus-visible,a:focus-visible,input:focus-visible{outline:3px solid #62a9ff;outline-offset:5px}img{max-width:100%;display:block}h1,h2,h3,p{margin:0}h1,h2{font-family:'Barlow Condensed','Arial Narrow',sans-serif;font-weight:700;line-height:.99}h2{font-size:clamp(38px,4.2vw,59px);letter-spacing:-.6px}h2 em{font-style:normal;color:var(--blue)}.wrap{width:min(1280px,calc(100% - 96px));margin:auto}.section{padding:95px 0}.eyebrow{font-size:12px;font-weight:700;letter-spacing:2.5px;display:flex;align-items:center;gap:12px;margin-bottom:20px}.eyebrow.blue{color:var(--blue)}.eyebrow:before{content:'';width:26px;height:3px;background:var(--red)}.topbar{background:var(--blue);color:white;font-size:11px;letter-spacing:1px;padding:9px 0}.topbar .wrap{display:flex;justify-content:space-between}.topbar i{display:inline-block;width:1px;height:10px;background:#ffffff50;margin:0 18px}.topbar a{font-weight:600;letter-spacing:.3px}header{position:sticky;top:0;z-index:20;background:#fff;border-bottom:1px solid var(--line)}.nav{display:flex;align-items:center;gap:28px;height:90px}.brand{display:flex;align-items:center;gap:12px;flex-shrink:0}.brand>img{width:47px;height:47px;object-fit:contain;mix-blend-mode:multiply}.brand>span{font-size:19px;font-weight:800;line-height:1.2;letter-spacing:-.5px}.brand small{display:block;margin-top:6px;font-size:9px;letter-spacing:1.5px;font-weight:600;color:var(--muted)}nav{display:flex;gap:25px;margin-left:auto;align-items:center}nav a{font-size:13px;font-weight:600;position:relative;padding:34px 0}nav a.active,nav a:hover{color:var(--red)}nav a.active:after{position:absolute;content:'';bottom:21px;left:0;width:100%;height:2px;background:var(--red)}.nav-call{background:var(--red);color:white;font-weight:700;font-size:12px;padding:11px 16px}.tvs-logo{width:77px;height:46px;object-fit:contain;mix-blend-mode:multiply}.nav .tvs-logo{border-left:1px solid var(--line);padding-left:17px;width:85px}.menu{display:none}.hero{position:relative;color:white;min-height:620px;overflow:hidden;background:#172331}.hero-art{position:absolute;inset:0}.hero-art img{width:100%;height:100%;object-fit:cover;object-position:65% 55%}.hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(7,20,37,.94) 0%,rgba(7,20,37,.82) 25%,rgba(7,20,37,.2) 65%,rgba(7,20,37,.04) 100%)}.hero-content{position:relative;padding-top:74px;padding-bottom:28px}.hero h1{font-size:clamp(62px,6.2vw,90px);letter-spacing:-1px;max-width:650px}.hero h1 em{font-style:normal;color:#fff;position:relative}.hero .eyebrow{color:#fff;font-size:11px}.hero-desc{color:#e0e4ea;font-size:15px;line-height:1.75;margin:25px 0 30px}.actions{display:flex;gap:12px}.button{display:inline-flex;align-items:center;justify-content:center;min-height:49px;padding:13px 25px;border:1px solid transparent;font-weight:700;font-size:13px;transition:background .2s,transform .2s}.button:hover{transform:translateY(-2px)}.button.red{background:var(--red);color:white}.button.red:hover{background:#c61b2b}.button.white-outline{border-color:#ffffff70;color:#fff;background:#ffffff08}.button.white-outline:hover{background:#ffffff20}.button.navy{background:var(--blue);color:#fff}.hero-foot{display:flex;gap:28px;margin-top:55px;font-size:9px;letter-spacing:1.6px;color:#c8d0da}.hero-foot span+span{border-left:1px solid #ffffff50;padding-left:28px}.hero-number{position:absolute;right:40px;bottom:32px;font-size:10px;letter-spacing:2px}.quick-strip{background:var(--pale);border-bottom:1px solid var(--line)}.quick-strip .wrap{display:grid;grid-template-columns:repeat(3,1fr)}.quick-strip .wrap>div{display:flex;align-items:center;gap:18px;padding:23px 0}.quick-strip .wrap>div+div{border-left:1px solid var(--line);padding-left:32px}.quick-strip b{font-family:'Barlow Condensed',sans-serif;color:var(--red);font-size:25px}.quick-strip span{font-size:13px;font-weight:500}.section-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:30px;margin-bottom:38px}.section-heading>p{font-size:14px;color:var(--muted);line-height:1.8;padding-bottom:2px}.catalog-toolbar{display:flex;justify-content:space-between;gap:25px;border-bottom:1px solid var(--line)}.filters{display:flex;gap:28px}.filters button{border:0;background:none;white-space:nowrap;color:var(--muted);font-weight:600;padding:18px 0;font-size:14px;position:relative}.filters button.selected{color:var(--blue)}.filters button.selected:after{content:'';height:3px;background:var(--red);position:absolute;bottom:-1px;left:0;right:0}.filters button span{font-size:11px;background:var(--pale);padding:3px 6px;margin-left:5px}.search{display:flex;gap:10px;align-items:center;border-bottom:1px solid var(--line);margin:8px 0;max-width:210px}.search span{font-size:25px;color:var(--blue)}.search input{border:none;outline:none;min-width:0;width:100%;font-size:13px;padding:7px 0;background:transparent}.result-meta{display:flex;justify-content:space-between;font-size:11px;color:var(--muted);padding:20px 0 17px}.product-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.product-card{border:1px solid var(--line);background:white;transition:box-shadow .25s,border-color .25s;overflow:hidden}.product-card:hover{border-color:#bacbe0;box-shadow:0 10px 28px #112c5010}.product-image{position:relative;background:#f4f6f8;padding:23px 20px 8px;height:225px;display:flex;align-items:center;justify-content:center}.product-image img{width:100%;height:100%;object-fit:contain;mix-blend-mode:multiply;transition:transform .3s}.product-card:hover img{transform:scale(1.04)}.product-tag{position:absolute;top:15px;left:18px;color:var(--blue);font-size:9px;font-weight:700;letter-spacing:1.3px;text-transform:uppercase}.product-body{padding:23px}.product-title{display:flex;justify-content:space-between;align-items:center;gap:10px}.product-title h3{font-size:22px;font-family:'Barlow Condensed',sans-serif;font-weight:600}.product-title span{color:#9fa8b5;font-size:12px}.product-body>p{font-size:12px;color:var(--muted);margin:5px 0 17px;min-height:20px}.spec-strip{display:grid;grid-template-columns:1fr 1fr;border-block:1px solid var(--line);padding:15px 0;margin-bottom:17px;gap:12px}.spec-strip div+div{border-left:1px solid var(--line);padding-left:18px}.spec-strip b{display:block;font-size:14px}.spec-strip small{display:block;color:var(--muted);font-size:10px;margin-top:2px}.product-actions{display:flex;align-items:center;justify-content:space-between;gap:8px}.details-button{border:0;background:none;color:var(--blue);font-size:12px;font-weight:700;padding:6px 0}.enquire-link{color:var(--red);font-size:12px;font-weight:700}.catalog-bottom{text-align:center;margin-top:34px}.catalog-bottom p{font-size:11px;color:var(--muted);margin-top:18px}.about{background:var(--pale)}.about-grid{display:grid;grid-template-columns:1fr 1fr;gap:85px;align-items:center}.about-visual{height:520px;position:relative;padding-bottom:40px}.about-visual>img{width:100%;height:100%;object-fit:cover}.local-badge{position:absolute;bottom:0;right:-25px;padding:26px 35px;background:var(--blue);color:#fff;border-bottom:5px solid var(--red)}.local-badge span{display:block;font-size:9px;letter-spacing:2px}.local-badge strong{display:block;font-family:'Barlow Condensed',sans-serif;font-size:33px;font-weight:600;margin:3px 0}.about-copy h2{font-size:47px;margin-bottom:26px}.about-copy>p:not(.eyebrow){color:var(--muted);font-size:14px;line-height:1.85;margin-bottom:16px}.about-points{display:grid;grid-template-columns:1fr 1fr;gap:24px;border-top:1px solid #d8dee8;margin-top:25px;padding-top:22px}.about-points span{color:var(--red);font-size:12px;font-weight:700;display:block;margin-bottom:5px}.about-points strong{font-size:13px}.about-points p{font-size:12px;color:var(--muted);margin-top:5px}.text-link{display:inline-block;font-size:13px;font-weight:700;color:var(--blue);border-bottom:1px solid var(--blue);margin-top:26px;padding-bottom:4px}.gallery{background:var(--navy);color:white}.gallery .eyebrow{color:#b6c6de}.gallery h2 em{color:white}.gallery .section-heading>p{color:#acbdd4}.gallery-grid{display:grid;grid-template-columns:1.2fr 1fr 1fr;grid-template-rows:240px 240px;gap:15px}.gallery-tile{border:0;padding:0;position:relative;overflow:hidden;background:#203450;text-align:left;color:#fff}.gallery-tile:first-child{grid-row:span 2}.gallery-tile img{width:100%;height:100%;object-fit:cover;transition:transform .5s}.gallery-tile:hover img{transform:scale(1.05)}.gallery-tile:after{content:'';position:absolute;inset:40% 0 0;background:linear-gradient(transparent,#071529c9)}.gallery-tile .caption{position:absolute;bottom:22px;left:22px;right:20px;z-index:1}.gallery-tile .caption span{font-size:9px;letter-spacing:1.5px;display:block;margin-bottom:4px}.gallery-tile .caption b{font-family:'Barlow Condensed',sans-serif;font-size:25px;font-weight:500}.gallery-tile .expand{position:absolute;right:17px;top:17px;width:30px;height:30px;line-height:28px;text-align:center;border:1px solid #ffffff70;z-index:1;font-size:20px}.gallery-note{display:flex;justify-content:space-between;margin-top:22px;font-size:10px;letter-spacing:1px;color:#a7b7cd}.contact-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.contact-card{padding:30px;border:1px solid var(--line);min-height:280px;transition:border-color .2s,transform .2s;display:block}.contact-card:hover{border-color:var(--blue);transform:translateY(-3px)}.contact-icon{font-size:27px;color:var(--red);display:block;margin-bottom:20px;line-height:1}.contact-card>p{font-size:10px;color:var(--muted);letter-spacing:1.5px;font-weight:700;margin-bottom:13px}.contact-card h3{font-size:25px;line-height:1.35;font-weight:600;letter-spacing:-.6px}.contact-card .email{font-size:21px}.contact-card>span:last-of-type{display:block;font-size:12px;color:var(--muted);margin-top:14px}.location-card{background:var(--blue);color:white;border-color:var(--blue)}.location-card>p,.location-card>span:last-of-type{color:#c6d5ec}.location-card .contact-icon{color:white}.location-card>b{font-size:12px;display:inline-block;margin-top:18px;border-bottom:1px solid #8ca4ca}.visit-bar{background:var(--pale);display:flex;justify-content:space-between;align-items:center;margin-top:25px;padding:26px 32px;gap:20px}.visit-bar>div{display:flex;gap:20px;align-items:center}.hours-icon{font-size:33px;color:var(--blue)}.visit-bar strong{font-size:15px}.visit-bar p{color:var(--muted);font-size:12px;margin-top:3px}footer{border-top:1px solid var(--line);padding:35px 0 20px}.footer-main{display:flex;justify-content:space-between;align-items:center}.footer-main>div{display:flex;gap:30px;font-size:12px;color:var(--muted)}.footer-bottom{display:flex;justify-content:space-between;border-top:1px solid var(--line);padding-top:20px;margin-top:30px;color:var(--muted);font-size:10px}.footer-bottom a{text-decoration:underline}.skip{position:fixed;top:-80px;z-index:100;background:white;color:var(--blue);padding:15px}.skip:focus{top:0}dialog{border:0;padding:0;max-width:min(880px,calc(100% - 36px));max-height:90vh;color:var(--ink);overflow:auto}dialog::backdrop{background:#07172cbd;backdrop-filter:blur(4px)}.close{position:absolute;right:14px;top:10px;z-index:3;border:0;background:#fff;color:var(--ink);width:38px;height:38px;font-size:28px;border-radius:50%;box-shadow:0 2px 10px #0002}body:has(dialog[open]){overflow:hidden}.detail-layout{display:grid;grid-template-columns:1fr 1fr}.detail-photo{background:var(--pale);padding:35px;display:flex;align-items:center;justify-content:center}.detail-photo img{mix-blend-mode:multiply;width:100%}.detail-copy{padding:50px 35px 35px}.detail-copy .eyebrow{font-size:10px;margin-bottom:12px}.detail-copy h2{font-size:42px;line-height:1.05;margin-bottom:14px}.detail-copy>p{font-size:13px;color:var(--muted)}.feature-list{padding-left:18px;font-size:13px;line-height:1.7;margin:20px 0}.feature-list li{padding:5px 0}.detail-copy .button{width:100%;margin:12px 0 8px}.detail-source{font-size:11px;color:var(--blue);text-decoration:underline;display:block;margin-top:15px}.detail-note{font-size:10px!important;margin-top:15px}.lightbox-image{display:flex;align-items:center;background:#0a1523;position:relative}.lightbox-image>img{max-height:75vh;object-fit:contain;min-width:0;width:100%}.lightbox-image>button{position:absolute;top:45%;border:0;width:40px;height:50px;background:#fff;color:var(--navy);font-size:32px;z-index:2}.lightbox-image>button:first-child{left:12px}.lightbox-image>button:last-child{right:12px}#lightbox{width:min(1100px,calc(100% - 36px));max-width:1100px;background:var(--navy);color:white}#lightbox-caption{padding:18px 25px;font-size:14px}#empty{padding:50px;text-align:center;color:var(--muted)}[hidden]{display:none!important}
@media(min-width:1500px){.hero{min-height:700px}.hero-content{padding-top:95px}.hero h1{font-size:98px}.hero-foot{margin-top:70px}}
@media(max-width:1150px){.wrap{width:calc(100% - 56px)}.nav{gap:18px}nav{gap:18px}.nav-call{display:none}.about-grid{gap:50px}.about-copy h2{font-size:42px}.filters{gap:21px}.contact-card{padding:24px}.contact-card h3{font-size:22px}.contact-card .email{font-size:18px}.hero-number{display:none}}
@media(max-width:800px){.wrap{width:calc(100% - 40px)}.section{padding:65px 0}.topbar{font-size:9px}.topbar .wrap>span:last-child{font-size:10px}.topbar i{margin:0 8px}.topbar .wrap>span:first-child{letter-spacing:0}.nav{height:76px;justify-content:space-between}.brand>span{font-size:17px}.brand small{font-size:8px}.brand>img{width:38px;height:38px}.nav .tvs-logo{margin-left:auto;width:65px;padding-left:10px}.menu{display:block;border:0;background:none;font-size:24px;color:var(--blue);padding:4px}nav{display:none;position:absolute;top:76px;left:0;right:0;background:white;padding:10px 25px 20px;box-shadow:0 12px 14px #112a4415}nav.open{display:flex;flex-direction:column;gap:0;align-items:stretch}nav a{padding:13px 0}nav a.active:after{display:none}.hero{min-height:620px}.hero-content{padding-top:65px}.hero h1{font-size:70px}.hero-shade{background:linear-gradient(90deg,#071425e8,#07142570),linear-gradient(0deg,#07142599,transparent)}.hero-art img{object-position:60% center}.hero-foot{font-size:8px;gap:15px;margin-top:60px}.hero-foot span+span{padding-left:15px}.quick-strip .wrap{grid-template-columns:1fr 1fr}.quick-strip .wrap>div:last-child{display:none}.quick-strip span{font-size:11px}.quick-strip .wrap>div+div{padding-left:20px}.section-heading{display:block}.section-heading>p{margin-top:22px;font-size:13px}.catalog-toolbar{flex-direction:column;gap:2px}.filters{gap:23px;overflow-x:auto}.filters button{font-size:12px}.search{max-width:none;padding:4px 0;border-bottom:0}.result-meta{font-size:10px}.product-grid{grid-template-columns:repeat(2,1fr);gap:16px}.product-image{height:200px}.product-body{padding:18px}.product-title h3{font-size:21px}.about-grid{grid-template-columns:1fr;gap:40px}.about-visual{height:430px;margin-right:20px}.about-copy h2{font-size:46px}.gallery-grid{grid-template-columns:1fr 1fr;grid-template-rows:300px 220px 220px}.gallery-tile:first-child{grid-row:auto;grid-column:span 2}.gallery-note{font-size:8px}.contact-grid{grid-template-columns:1fr;gap:15px}.contact-card{min-height:unset;padding:26px}.contact-card h3,.contact-card .email{font-size:25px}.contact-card .email br{display:none}.contact-icon{margin-bottom:18px}.contact-card>span:last-of-type{margin-top:10px}.visit-bar{padding:25px;flex-direction:column;align-items:flex-start}.footer-main{flex-wrap:wrap;gap:25px}.footer-main>div{order:3;width:100%}.footer-bottom{gap:20px;flex-direction:column}.detail-layout{grid-template-columns:1fr}.detail-photo{height:240px;padding:25px}.detail-photo img{height:100%;object-fit:contain}.detail-copy{padding:25px}.detail-copy h2{font-size:36px}}
@media(max-width:480px){.topbar .wrap>span:first-child{font-size:8px}.topbar .wrap>span:last-child{font-size:9px}.topbar i{display:none}.topbar a{display:none}.hero{min-height:605px}.hero h1{font-size:60px}.hero-desc{font-size:13px}.hero-foot{display:block;line-height:2}.hero-foot span+span{display:block;border:0;padding:0}.hero .button{padding:12px 15px;font-size:11px}.hero-art img{object-position:64% center}.hero-content{padding-top:62px}.hero .eyebrow{font-size:9px;letter-spacing:1.5px}.quick-strip .wrap>div{gap:10px}.quick-strip .wrap>div+div{padding-left:12px}.quick-strip span{font-size:10px;line-height:1.5}.quick-strip b{font-size:20px}.section{padding:55px 0}.section h2{font-size:39px}.eyebrow{font-size:10px}.product-grid{gap:13px}.product-image{height:145px;padding:22px 10px 5px}.product-tag{font-size:8px;top:10px;left:12px}.product-body{padding:14px 12px}.product-title h3{font-size:20px;line-height:1.1;min-height:44px;display:flex;align-items:center}.product-title>span{display:none}.product-body>p{font-size:10px;min-height:32px;line-height:1.5;margin-top:8px}.spec-strip{gap:5px;padding:10px 0}.spec-strip b{font-size:11px}.spec-strip small{font-size:8px}.spec-strip div+div{padding-left:7px}.product-actions{flex-wrap:wrap;gap:3px}.details-button,.enquire-link{font-size:10px}.catalog-bottom p{font-size:10px}.result-meta>span:last-child{display:none}.about-visual{height:360px}.local-badge{padding:22px 25px;right:-15px}.local-badge strong{font-size:30px}.about-points{gap:20px}.gallery-grid{grid-template-rows:270px 190px 190px;gap:10px}.gallery-tile .caption{left:13px;bottom:14px}.gallery-tile .caption b{font-size:22px}.gallery-tile .caption span{font-size:8px}.gallery-note{display:block;line-height:2}.gallery-note span{display:block}.contact-card .email{font-size:21px}.footer-main .tvs-logo{width:65px}.footer-main .brand>span{font-size:15px}.footer-main>div{gap:25px}.visit-bar strong{font-size:13px}.visit-bar p{font-size:11px}.hours-icon{font-size:28px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important}}
/* Readable text throughout the catalogue and contact sections. */
.topbar,.topbar .wrap>span:first-child,.topbar .wrap>span:last-child{font-size:12px}.brand small{font-size:10px}.nav a,.nav-call{font-size:14px}.hero .eyebrow,.eyebrow,.eyebrow.blue{font-size:12px}.hero-desc,.about-copy>p:not(.eyebrow){font-size:16px}.hero-foot,.hero-number{font-size:12px}.button,.hero .button{font-size:14px}.quick-strip span,.section-heading>p{font-size:14px}.filters button,.search input{font-size:14px}.result-meta,.product-tag,.filters button span{font-size:12px}.product-body>p{font-size:14px;line-height:1.5;min-height:42px}.spec-strip b{font-size:14px}.spec-strip small{font-size:12px}.details-button,.enquire-link{font-size:14px}.catalog-bottom p,.local-badge span{font-size:12px}.about-points strong,.text-link{font-size:14px}.about-points p{font-size:14px}.gallery-tile .caption span,.gallery-note{font-size:12px}.contact-card>p{font-size:12px}.contact-card>span:last-of-type,.location-card>b{font-size:14px}.visit-bar p{font-size:14px}.footer-main>div{font-size:14px}.footer-bottom{font-size:12px}.detail-copy>p,.feature-list{font-size:14px}.detail-note,.detail-source{font-size:12px!important}.detail-copy .eyebrow{font-size:12px}
@media(max-width:480px){.topbar .wrap>span{font-size:10px!important}.hero h1{font-size:56px}.hero .button{font-size:12px}.hero-foot{font-size:10px}.hero-desc{font-size:14px}.quick-strip span{font-size:12px}.product-grid{grid-template-columns:1fr}.product-image{height:225px}.product-body{padding:22px}.product-title h3{font-size:26px;min-height:unset}.product-body>p{min-height:unset}.spec-strip{padding:16px 0}.spec-strip div+div{padding-left:18px}.product-tag{top:15px;left:20px}.product-actions{flex-wrap:nowrap}.gallery-note{font-size:10px}.gallery-tile .caption span{font-size:10px}.footer-bottom{font-size:11px}.filters{gap:20px}.filters button{font-size:14px}.hero-foot{margin-top:45px}}
