/* JTSIX home page — designed to closely match the supplied approved image.
   Bank Gothic and Avant Garde are commercial typefaces: the original reference artwork
   keeps its exact typography. Licensed local webfont files can be placed in /fonts. */
@font-face { font-family:'JTSIX Bank Gothic';src:url('fonts/bank-gothic.woff2') format('woff2');font-display:swap; }
@font-face { font-family:'JTSIX Avant Garde';src:url('fonts/avant-garde.woff2') format('woff2');font-display:swap; }
:root{--navy:#001426;--blue:#00aeff;--red:#fb142b;--white:#f7f8fc;--copy:'JTSIX Avant Garde','Century Gothic','URW Gothic',Arial,sans-serif;--logo:'JTSIX Bank Gothic','Bank Gothic','Arial Black',sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:#001427;color:var(--white);font-family:var(--copy)}button,a{font:inherit}button{cursor:pointer}a{color:inherit}
.reference-stage{position:relative;width:100%;max-width:1440px;margin:auto;line-height:0}.reference-art{display:block;width:100%;height:auto}.hotspots{position:absolute;inset:0;pointer-events:none}.hotspot{position:absolute;display:block;pointer-events:auto;cursor:pointer;color:transparent;font-size:0;line-height:0;border:0;background:transparent;text-decoration:none;padding:0}.hotspot:focus-visible{outline:3px solid #62d5ff;outline-offset:-3px;background:rgba(0,167,244,.15)}.logo{left:1.8%;top:.6%;width:24.8%;height:5.8%}.home{left:34%;top:.9%;width:10.4%;height:5.1%}.about{left:45.1%;top:.9%;width:11.4%;height:5.1%}.services{left:57.4%;top:.9%;width:12.3%;height:5.1%}.contact{left:70.8%;top:.9%;width:11.6%;height:5.1%}.top-quote{left:84.2%;top:.9%;width:14.8%;height:5.1%}.hero-quote{left:3%;top:30.7%;width:24%;height:3.5%}.bottom-quote{left:74%;top:80.1%;width:24%;height:3.5%}.services-anchor{position:absolute;top:61%;left:0;width:1px;height:1px}.accessible-content{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.mobile-view{display:none}
#quote-dialog{border:1px solid #0c8ec7;background:#04182c;color:#fff;width:min(560px,calc(100% - 32px));max-height:90vh;padding:24px 26px;box-shadow:0 20px 80px #000b;line-height:1.5}#quote-dialog::backdrop{background:#000b}.modal-header{display:flex;justify-content:space-between;align-items:start;gap:12px}.modal-header h2{font-size:23px;line-height:1.15;margin:0}.dialog-close{font-size:32px;color:#fff;background:transparent;border:0;line-height:1}.modal-header+p{font-size:13px;color:#c6d7e8}#quote-form{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:20px}#quote-form label{display:flex;flex-direction:column;gap:5px;font-weight:700;font-size:12px}#quote-form label:nth-last-of-type(1){grid-column:1/-1}#quote-form input,#quote-form textarea{width:100%;border:1px solid #34617b;background:#001022;border-radius:2px;padding:10px;color:#fff;font:14px Arial,sans-serif}#quote-form button{grid-column:1/-1}#quote-dialog small{font-size:11px;display:block;margin-top:15px;color:#b0c4d5}.red-button{border:0;background:linear-gradient(105deg,#ef091e,#fb1935);color:white;padding:15px 22px;font-weight:900;clip-path:polygon(7% 0,100% 0,94% 100%,0 100%);letter-spacing:.02em}
@media(max-width:650px){.desktop-view{display:none}.mobile-view{display:block}.mobile-header{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;background:linear-gradient(180deg,#061735,#031125);border-bottom:1px solid #0a3c61;padding:17px 18px;position:relative;z-index:5}.brand{text-decoration:none;font:italic 900 30px/1 var(--logo);letter-spacing:-2px;position:relative}.brand span{display:block;background:var(--red);height:5px;transform:skew(-22deg);margin-top:3px}.menu-toggle{border:1px solid #2d65c8;background:linear-gradient(135deg,#0a2346,#3f67ff);color:#fff;padding:8px 13px;font-weight:700}.menu-toggle span{font-size:12px}.mobile-nav{width:100%;display:none;flex-direction:column;padding-top:12px}.mobile-nav.open{display:flex}.mobile-nav a{text-decoration:none;padding:12px;border-bottom:1px solid #1a3f60;font-weight:700}.mobile-hero{padding:35px 22px 0;background:radial-gradient(ellipse at 70% 60%,#064b86 0%,#001426 65%)}.eyebrow{font-size:11px;letter-spacing:.19em;color:#ecf6ff;border-left:5px solid var(--red);padding-left:12px;font-weight:700}.mobile-hero h1{font-size:clamp(34px,10vw,52px);line-height:.99;margin:23px 0 18px;letter-spacing:-.035em;font-weight:900}.red-dot{color:var(--red)}.mobile-hero>p:not(.eyebrow){max-width:410px;font-size:15px;line-height:1.55;color:#d7e4ee}.mobile-hero .red-button{margin:12px 0 16px}.truck-photo{display:block;width:calc(100% + 44px);max-height:340px;object-fit:cover;object-position:center;margin:10px -22px 0}.region-list{font-size:10px;font-weight:700;text-align:center;padding:20px 2px;line-height:1.9;letter-spacing:.045em}.region-list span{color:var(--red)}.mobile-cards{padding:14px;display:grid;gap:12px;background:#001327}.mobile-card{border:1px solid #1475a8;padding:18px;background:linear-gradient(140deg,#042745,#001426);box-shadow:inset 0 0 0 1px #032f4d}.mobile-card h2{font-size:17px;margin:0 0 16px;line-height:1.2;border-left:5px solid var(--red);padding-left:10px}.mobile-card img{max-width:100%;height:145px;width:100%;object-fit:cover;border:1px solid #115481}.mobile-card p,.mobile-card li{font-size:14px;line-height:1.6}.mobile-card ul{padding-left:19px}.mobile-card li::marker{color:var(--red)}.mobile-card .big-stat{font-weight:900;font-size:55px;color:#fff;text-shadow:0 0 15px #0079cb}.mobile-card dl{display:grid;grid-template-columns:1fr 1fr;font-size:12px;margin:0}.mobile-card dt,.mobile-card dd{padding:9px 0;border-top:1px solid #21506f;margin:0}.mobile-card dt{font-weight:700}.mobile-card dd{text-align:right}.mobile-card h3{font-size:22px}.mobile-services{padding:36px 22px;background:linear-gradient(140deg,#06294b,#001021)}.mobile-services h2{font-size:31px;line-height:1.05}.mobile-services article{border-top:1px solid #24769a;padding:15px 0}.mobile-services h3{font-size:17px;margin-bottom:7px}.mobile-services article p{font-size:14px;line-height:1.55;color:#d2dfeb}.mobile-cta{margin:15px;padding:24px 18px 30px;border:1px solid var(--blue);background:#041d36}.mobile-cta h2{font-size:25px}.mobile-cta p{font-size:14px;line-height:1.6}.mobile-cta button{width:100%}#quote-dialog{padding:18px}#quote-form{grid-template-columns:1fr}}
@media(min-width:651px){body{min-width:651px}}

/* ABOUT page — desktop is the approved reference artwork, with clickable navigation.
   The mobile version is built in accessible text rather than an unreadable scaled image. */
.about-stage{max-width:1440px}
.about-hotspots .logo{left:1.6%;top:.3%;width:31.5%;height:4.4%}
.about-hotspots .home{left:33.4%;top:.5%;width:10.6%;height:4.2%}
.about-hotspots .about{left:44%;top:.5%;width:11.3%;height:4.2%}
.about-hotspots .services{left:55.4%;top:.5%;width:12.4%;height:4.2%}
.about-hotspots .contact{left:67.8%;top:.5%;width:12.1%;height:4.2%}
.about-hotspots .top-quote{left:80%;top:.45%;width:19.3%;height:4.2%}
.about-hotspots .about-bottom-quote{left:68.1%;top:84.5%;width:30.4%;height:5%}
@media(max-width:650px){
 .about-mobile{background:#001325}
 .about-mobile-hero{padding:34px 20px 0;background:linear-gradient(145deg,#082f59,#001326 70%);border-bottom:2px solid #097fb8}
 .about-mobile-hero h1{font-size:clamp(32px,9.3vw,52px);line-height:1.04;margin:24px 0 9px;font-weight:900;letter-spacing:-.025em}
 .about-mobile-hero h2{font-size:clamp(19px,5.5vw,29px);line-height:1.16;margin:0 0 20px;letter-spacing:-.01em}
 .about-mobile-hero img{display:block;width:calc(100% + 40px);height:auto;margin:0 -20px}
 .about-mobile-panel{border:1px solid #187db4;box-shadow:inset 0 0 20px #08659b33;background:linear-gradient(125deg,#082747,#001527);margin:15px 12px;padding:0 0 20px}
 .about-band-image{width:100%;display:block;height:200px;object-fit:cover}
 .about-panel-copy{padding:20px 18px 0}
 .about-panel-copy h2{font-size:clamp(22px,6.6vw,31px);line-height:1.1;border-left:7px solid #fd1731;padding-left:13px;margin:0 0 17px;font-weight:900}
 .about-panel-copy p{font-size:14px;line-height:1.6;color:#edf4fa;margin:0 0 13px}
 .about-map{display:block;width:calc(100% - 25px);margin:14px auto 3px;height:auto;border:1px solid #2581b5;object-fit:contain}
 .about-states{padding:12px;border:1px solid #00acff;font-size:13px;font-weight:900;line-height:1.8;margin:12px 0 16px;text-align:center;background:#052e55}
 .about-states span{color:#f51332;margin:0 3px}
 .about-experience-photo{position:relative;min-height:190px;overflow:hidden}
 .about-experience-photo>img{width:100%;height:205px;display:block;object-fit:cover}
 .about-experience-photo>strong{position:absolute;right:12px;top:22px;background:#001426de;padding:14px 17px;border:1px solid #1aafff;color:white;font:italic 900 49px/1 var(--logo);text-shadow:0 0 12px #001426}
 .about-experience-photo small{display:block;font:900 13px/1.2 var(--copy);color:white}
 .about-benefits{display:grid;grid-template-columns:repeat(3,1fr);gap:4px;border-top:1px solid #50768e;padding-top:17px}
 .about-benefits span{font-size:11px;font-weight:900;text-align:center;line-height:1.4;border-right:1px solid #52718a}.about-benefits span:last-child{border:0}
 .about-mobile-cta{margin:16px 12px 30px;padding:23px 19px;border:1px solid #159be7;background:linear-gradient(140deg,#092a4b,#001224)}
 .about-mobile-cta h2{border-left:7px solid #ff1730;padding-left:14px;font-size:clamp(20px,5.9vw,28px);line-height:1.18;margin:0 0 21px}
 .about-mobile-cta button{width:100%;font-size:13px}
 .about-mobile-cta p{font-size:13px;text-align:center;font-style:italic;line-height:1.5;margin:21px 0 0;color:#cfdfec}
}

/* v3 — shared desktop header: identical typography, button dimensions and spacing across Home and About. */
@media(min-width:651px){
.reference-stage{container-type:inline-size;overflow:hidden}
.desktop-shared-header{height:6.90608cqw;width:100%;display:flex;align-items:center;gap:.6cqw;padding:0 1.35cqw 0 2.7cqw;line-height:1;background:linear-gradient(180deg,#07132b 0%,#031027 90%);border-bottom:.12cqw solid #1291d5;box-shadow:0 .15cqw .65cqw #008cff55;position:relative;z-index:2}
.desktop-header-brand{flex:0 0 30.8%;height:100%;display:flex;align-items:center;min-width:0}
.desktop-header-brand img{display:block;width:100%;height:auto;max-height:91%;object-fit:contain;object-position:left center}
.desktop-header-nav{min-width:0;flex:1;display:flex;align-items:stretch;height:68%;border:.1cqw solid #33567e;background:#08142d;transform:skewX(-15deg);box-shadow:inset 0 .12cqw .4cqw #386fb844;border-radius:.35cqw}
.desktop-header-nav .header-tab{font-family:var(--copy);font-size:1.58cqw;font-weight:900;letter-spacing:-.035em;display:flex;align-items:center;justify-content:center;text-decoration:none;flex:1;min-width:0;color:white;transform:skewX(0deg);border-right:.08cqw solid #173358;text-shadow:0 .1cqw .1cqw #000;transition:background .18s}
.desktop-header-nav .header-tab:last-child{border-right:0}
.desktop-header-nav .header-tab[aria-current=page]{background:linear-gradient(180deg,#5981ff,#2447e9);box-shadow:inset 0 .12cqw .55cqw #c1daff7d}
.desktop-header-nav .header-tab:hover{background-color:#163d79}
.header-quote{flex:0 0 20.3%;height:68%;background:linear-gradient(180deg,#fa3040,#c9101b);border:0;color:#fff;clip-path:polygon(9% 0,100% 0,94% 100%,0 100%);font-family:var(--copy);font-size:1.45cqw;font-weight:900;white-space:nowrap;padding:0 1cqw 0 1.65cqw;display:flex;align-items:center;justify-content:center;gap:.5cqw;cursor:pointer;text-shadow:0 .1cqw .1cqw #580000}
.header-quote span{font-size:1.6cqw}
.desktop-shared-header a:focus-visible,.desktop-shared-header button:focus-visible{outline:.28cqw solid #9ce6ff;outline-offset:-.2cqw}
}

/* Services page: approved desktop artwork, live shared navigation, readable mobile HTML. */
.services-hotspots .services-bottom-quote{left:72.3%;top:89.6%;width:26%;height:5.2%}
.services-mobile-hero{padding:34px 20px 0;background:radial-gradient(ellipse at 80% 25%,#075187 0%,#001326 65%)}
.services-mobile-hero h1{font-size:clamp(31px,8vw,48px);line-height:1.04;margin:18px 0}
.services-mobile-hero>p:not(.eyebrow){font-size:15px;line-height:1.58;color:#e0eaf5}
.services-mobile-hero img{display:block;margin:20px -20px 0;width:calc(100% + 40px);max-height:320px;object-fit:cover}
.service-mobile-card{margin:15px;border:1px solid #1584ce;background:linear-gradient(145deg,#082849,#001529);box-shadow:0 0 17px #006db32f}
.service-mobile-card>img{display:block;width:100%;height:190px;object-fit:cover}
.service-mobile-copy{padding:18px 18px 22px}
.service-mobile-copy h2,.service-mobile-cta h2{font-size:clamp(23px,6vw,32px);line-height:1.1;margin:14px 0}
.service-mobile-copy h3{font-size:16px;margin:20px 0 10px}
.service-mobile-copy p,.service-mobile-copy li,.service-mobile-cta p{font-size:14px;line-height:1.6}
.service-mobile-copy ul{padding-left:21px}.service-mobile-copy li{margin:6px 0}.service-mobile-copy li::marker{color:#fc1c36}
.service-states{color:white;font-weight:900;letter-spacing:.03em;border:1px solid #1387d5;padding:12px;background:#06305b}
.service-mobile-cta{margin:15px;padding:26px 19px;border:1px solid #1387d5;background:linear-gradient(110deg,#061b38,#001426)}
.contact-page .desktop-contact{max-width:1440px;margin:auto;container-type:inline-size}
.contact-page .desktop-contact .desktop-shared-header{height:6.9cqw}
.contact-hero{min-height:610px;padding:clamp(36px,7vw,110px) max(24px,calc((100vw - 1140px)/2));background:radial-gradient(ellipse at 75% 30%,#064a80,#001426 70%),linear-gradient(#011b36,#001426);border-bottom:1px solid #168bcc}
.contact-hero h1{font-size:clamp(36px,5.7vw,74px);line-height:1.05;max-width:850px;margin:28px 0}
.contact-hero>p:not(.eyebrow){font-size:clamp(15px,1.45vw,20px);line-height:1.6;max-width:700px}
.contact-hero .red-button{margin-top:18px}.contact-hero .contact-note{color:#b3c5d4;font-size:13px;margin-top:30px}
@media(max-width:650px){.contact-page .desktop-contact{display:none}.contact-page .contact-hero{min-height:500px;padding:40px 22px}.service-mobile-card>img{object-position:center}}

/* Direct-submit quote form feedback and spam honeypot */
.spam-trap{position:absolute!important;left:-9999px!important;opacity:0!important;pointer-events:none!important;}
.quote-status{margin:12px 0 0;padding:12px 14px;border:1px solid #2783b9;background:#082943;color:#fff;font-size:14px;line-height:1.5;}
.quote-status[hidden]{display:none;}
.quote-success{border-color:#3cae9d;background:#092f35;}
.quote-error{border-color:#eb5a69;background:#351524;}
#quote-form button:disabled{opacity:.6;cursor:wait;}
