/* TitanStar Technical Services: Cloudflare Pages starter, network-centric revision */
:root{--ink:#051524;--deep:#061729;--navy:#09213a;--navy-2:#0b2944;--line:#1b3b55;--blue:#238dff;--blue-light:#66bbff;--muted:#b5c9dd;--paper:#f3f7fb;--slate:#425368;--white:#fff;--max:1180px;--radius:15px}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:88px}body{margin:0;color:var(--white);background:var(--ink);font-family:Inter,"Segoe UI",Roboto,Arial,sans-serif;font-size:16px;line-height:1.55;-webkit-font-smoothing:antialiased}img{display:block;max-width:100%}a{color:inherit;text-decoration:none}button,input,textarea,select{font:inherit}button{cursor:pointer}h1,h2,h3,p{margin-top:0}h1,h2,h3{line-height:1.14;letter-spacing:-.036em}h1{font-size:clamp(2.45rem,4.6vw,4.85rem)}h2{font-size:clamp(2rem,3.2vw,3.05rem)}h3{font-size:1.15rem}.container{width:min(var(--max),calc(100% - 56px));margin:0 auto}.skip-link{position:absolute;left:15px;top:-100px;background:var(--white);color:#00152c;padding:10px;z-index:999}.skip-link:focus{top:10px}.icon{flex-shrink:0}
.site-header{position:relative;z-index:10;background:#051728;border-bottom:1px solid #17334f}.header-inner{min-height:88px;display:flex;align-items:center;justify-content:space-between;gap:22px}.brand{display:inline-flex;align-items:center;gap:9px;white-space:nowrap}.brand>img{width:51px;height:51px}.brand-type{display:flex;flex-direction:column;line-height:1}.brand-name{font-weight:900;letter-spacing:.065em;font-size:clamp(1.35rem,1.8vw,1.9rem)}.brand-name span{color:var(--blue)}.brand-sub{letter-spacing:.26em;font-size:.54rem;font-weight:700;margin-top:7px;color:#cedeef}.site-nav{display:flex;align-items:center;gap:30px}.nav-link{font-weight:600;font-size:.96rem;color:#cdd9e8;padding:7px 0;position:relative;transition:color .15s}.nav-link:hover,.nav-link.is-active{color:var(--white)}.nav-link.is-active:after{content:"";position:absolute;bottom:-6px;left:0;width:100%;height:2px;background:var(--blue)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;border:1px solid transparent;border-radius:7px;padding:13px 22px;font-weight:700;font-size:.95rem;line-height:1.2;min-height:47px;transition:transform .15s,background .15s,border-color .15s}.btn:hover{transform:translateY(-2px)}.btn:focus-visible,.nav-link:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:3px solid #80c8ff;outline-offset:3px}.btn-primary{background:#1282e9;color:#fff;box-shadow:0 5px 20px #00102032}.btn-primary:hover{background:#0072d5}.btn-secondary{background:#071727bd;border-color:#6a9bc6;color:#fff}.btn-secondary:hover{border-color:#b9defd}.nav-cta{min-height:39px;padding:11px 17px;font-size:.85rem}.menu-toggle{display:none;background:transparent;border:1px solid #34536b;color:#fff;border-radius:7px;padding:6px}
.hero{position:relative;isolation:isolate;overflow:hidden;min-height:550px;background:linear-gradient(100deg,#06182b 0%,#0a243c 70%)}.hero-visual{position:absolute;z-index:-2;inset:0 0 0 37%;background:url("assets/hero-wireless.webp") center center/cover no-repeat}.hero::before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,#061728 0%,#061728f7 31%,#061728c7 48%,#04152540 75%,#04152547),linear-gradient(0deg,#051526bd 0%,transparent 40%)}.hero-inner{min-height:550px;display:flex;align-items:center;padding-top:70px;padding-bottom:55px}.hero-copy{max-width:795px}.eyebrow{font-size:.77rem;letter-spacing:.22em;font-weight:800;color:var(--blue-light);margin-bottom:20px}.hero h1{max-width:900px;margin-bottom:26px;font-size:clamp(3rem,5.1vw,5.0rem);text-shadow:0 4px 20px #010b1875}.hero h1 span,.page-intro h1 span{color:#3499ff}.hero-lead{font-size:clamp(1.09rem,1.7vw,1.34rem);color:#dfecf9;max-width:660px;line-height:1.56;margin-bottom:30px}.hero-actions{display:flex;gap:13px;flex-wrap:wrap}.hero-caption{font-size:.84rem;color:#a9c3d8;margin-top:33px;margin-bottom:0}
.services-section{padding:75px 0 94px;background:linear-gradient(180deg,#071c30,#071625)}.section-heading{display:grid;grid-template-columns:1.14fr 1fr;gap:70px;align-items:end;margin-bottom:32px}.section-heading .eyebrow{margin-bottom:12px}.section-heading h2{margin:0;max-width:625px}.section-heading>p{font-size:1.01rem;color:#b4c9d9;line-height:1.7;margin:0 0 4px}.services-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.service-card{background:#0a2137;border:1px solid #244563;border-radius:12px;overflow:hidden;min-width:0;display:flex;flex-direction:column;transition:border-color .15s,transform .15s}.service-card:hover{transform:translateY(-4px);border-color:#4aa0dd}.service-image-link{display:block;aspect-ratio:1.7;overflow:hidden}.service-image-link img{width:100%;height:100%;object-fit:cover}.service-card-body{padding:24px 18px 22px;display:flex;flex:1;flex-direction:column}.service-icon{color:#48a9ff;margin-bottom:10px}.service-card h3{font-size:1.1rem;letter-spacing:-.02em;margin-bottom:10px}.service-card p{font-size:.9rem;line-height:1.6;color:#bad0e3;margin-bottom:16px;flex:1}.text-link,.inline-arrow{display:inline-flex;align-items:center;gap:8px;color:#54b4ff;font-size:.91rem;font-weight:750}.text-link:hover,.inline-arrow:hover{color:#c1e5ff}
.light-section{background:var(--paper);color:#0b2238;padding:91px 0 97px}.value-grid{display:grid;grid-template-columns:1fr 1fr;gap:90px}.eyebrow-blue{color:#167ac5}.value-copy h2{max-width:460px;margin-bottom:24px}.value-copy p:not(.eyebrow){max-width:520px;color:var(--slate);font-size:1.07rem;line-height:1.78}.value-copy .inline-arrow{color:#086fb8;margin-top:13px}.value-points{display:grid;gap:21px}.value-item{display:flex;gap:20px;padding-bottom:21px;border-bottom:1px solid #d4e1ed}.value-item:last-child{border:0}.value-icon{width:61px;height:61px;border-radius:50%;background:#dcefff;color:#1887de;display:grid;place-items:center;flex-shrink:0}.value-item h3{margin:3px 0 8px;font-size:1.13rem}.value-item p{color:#526276;line-height:1.6;font-size:.95rem;margin:0}
.area-section{padding:86px 0;background:#071b2e;position:relative;overflow:hidden}.area-layout{display:grid;grid-template-columns:1fr 1fr;gap:78px;align-items:center}.area-layout>div>p:not(.eyebrow){color:#b9ccdc;line-height:1.78;max-width:470px;font-size:1.06rem}.area-layout h2{margin-bottom:21px}.area-layout .text-link{margin-top:7px}.area-panel{min-height:320px;border-radius:16px;background:radial-gradient(circle at 40% 48%,#14446c66,transparent 45%),repeating-linear-gradient(115deg,transparent 0 41px,#2852721c 42px 43px),#0a2b48;border:1px solid #2f5371;padding:33px;position:relative;overflow:hidden}.area-panel-top{display:flex;align-items:center;gap:12px;color:#d4eafa;font-weight:750;letter-spacing:.06em}.loc-icon{display:flex;color:#5db7ff}.city-grid{display:grid;grid-template-columns:repeat(2,1fr);margin-top:31px;gap:14px 30px;position:relative;z-index:1}.city-grid span{padding-left:16px;position:relative;color:#cbdff1}.city-grid span:before{content:"";position:absolute;left:0;top:10px;width:6px;height:6px;background:#50b4ff;border-radius:50%}.network-decoration{position:absolute;right:-25px;bottom:-120px;width:360px;height:360px;border-radius:50%;border:1px solid #2d6790;opacity:.36}.network-decoration span{position:absolute;inset:45px;border:1px solid #4e9dd0;border-radius:50%}.network-decoration span:nth-child(2){inset:100px}.network-decoration span:nth-child(3){inset:150px}.network-decoration span:nth-child(4){inset:200px}
.closing-cta{padding:67px 0;background:linear-gradient(105deg,#093353,#0a2741 58%,#061727)}.closing-inner{display:flex;justify-content:space-between;gap:28px;align-items:center}.closing-inner h2{font-size:clamp(1.9rem,3vw,2.6rem);margin-bottom:12px}.closing-inner p:last-child{margin:0;color:#c4d8ea}.closing-inner .eyebrow{margin-bottom:10px}.closing-inner .btn{white-space:nowrap}
.site-footer{background:#04111e;border-top:1px solid #1e3850;padding:62px 0 22px}.footer-grid{display:grid;grid-template-columns:1.55fr .6fr 1fr;gap:64px}.brand-footer{margin-bottom:16px}.site-footer p{color:#a1b4c5;font-size:.94rem;max-width:440px;line-height:1.7}.footer-grid h3{font-size:1rem;color:#fff;margin:0 0 18px}.footer-grid>div:nth-child(2) a{display:block;color:#a7c4dc;margin:10px 0}.footer-grid a:hover{color:#77c3ff}.footer-email{color:#9ad2ff;overflow-wrap:anywhere}.footer-bottom{padding-top:26px;margin-top:36px;border-top:1px solid #19334a;display:flex;justify-content:space-between;gap:20px;color:#7f9ab1;font-size:.8rem}
.page-intro{padding:95px 0 100px;background:radial-gradient(ellipse at 86% 0%,#16466c 0%,transparent 44%),linear-gradient(110deg,#06182b,#0b2945);border-bottom:1px solid #284563}.page-intro h1{max-width:860px;line-height:1.13;margin-bottom:19px}.page-intro>div>p:last-child{max-width:760px;font-size:1.19rem;line-height:1.65;color:#bbd2e6;margin:0}.service-details-section{background:#f4f7fb;color:#0e2237;padding:77px 0 96px}.detail-stack{display:flex;flex-direction:column;gap:24px}.service-detail{scroll-margin-top:23px;border-radius:16px;overflow:hidden;display:grid;grid-template-columns:.78fr 1.22fr;background:#fff;border:1px solid #d6e2ed;box-shadow:0 14px 26px #0b2f4a12}.service-detail-image{min-height:360px;background:#0f2c42}.service-detail-image img{height:100%;width:100%;object-fit:cover}.service-detail-copy{padding:35px 47px 39px}.detail-icon{width:53px;height:53px;border-radius:13px;display:grid;place-items:center;background:#dfedfc;color:#0e85da;margin-bottom:18px}.detail-kicker{font-size:.78rem;font-weight:800;text-transform:uppercase;letter-spacing:.11em;color:#2584c7;margin-bottom:10px}.service-detail-copy h2{font-size:2.18rem;margin-bottom:17px}.service-detail-copy>p:not(.detail-kicker){color:#475b6e;line-height:1.7;max-width:680px}.checklist{list-style:none;padding:0;margin:19px 0 24px;display:grid;grid-template-columns:1fr 1fr;gap:10px 22px}.checklist li{display:flex;align-items:flex-start;gap:8px;font-size:.89rem;line-height:1.5;color:#294052}.checklist .icon{color:#0885d7;margin-top:1px}.service-detail-copy .text-link{color:#0879bc}
.about-intro{background:radial-gradient(ellipse at 80% 20%,#244d746d,transparent 40%),#06192c}.about-main{padding:96px 0}.about-grid{display:grid;grid-template-columns:1.22fr .8fr;gap:80px;align-items:center}.about-grid h2{margin-bottom:23px}.about-grid p:not(.eyebrow){color:#4b6072;line-height:1.8;font-size:1.06rem}.about-card{background:#09223a;color:#fff;border-radius:17px;padding:43px 37px;box-shadow:0 19px 46px #183a581e}.about-card-mark{width:111px;height:111px;background:#123655;border-radius:18px;display:grid;place-items:center;margin-bottom:22px}.about-card h3{font-size:1.5rem;margin-bottom:7px}.about-card>span{color:#74baff}.about-features{margin-top:32px;border-top:1px solid #294965;padding-top:19px}.about-features>div{display:flex;align-items:center;gap:13px;margin:16px 0;color:#d2e2f0}.about-features .icon{color:#60b7fc}.process-list{display:grid;gap:22px}.process-list>div{display:flex;gap:22px;border-bottom:1px solid #274b69;padding-bottom:20px}.process-list>div>span{font-weight:900;font-size:1.5rem;color:#57b2ff}.process-list h3{margin-bottom:5px}.process-list p{margin:0;color:#b4c9de;line-height:1.6}
.contact-section{background:#f3f7fb;color:#0b2237;padding:73px 0 104px}.contact-layout{display:grid;grid-template-columns:1.3fr .8fr;gap:36px;align-items:start}.contact-card{padding:43px;border:1px solid #d8e5f0;background:#fff;border-radius:17px;box-shadow:0 15px 35px #1f46651c}.contact-card h2{font-size:2.24rem;margin-bottom:13px}.form-note{color:#576c7c;line-height:1.65;max-width:590px}.contact-card form{margin-top:30px}.contact-card label{display:block;color:#244156;font-weight:700;font-size:.92rem;margin-bottom:16px}.contact-card input,.contact-card select,.contact-card textarea{display:block;width:100%;border:1px solid #c5d7e6;border-radius:7px;background:#fcfdff;padding:12px 13px;margin-top:7px;outline:none;color:#0c263b}.contact-card textarea{resize:vertical;min-height:145px}.contact-card input:focus,.contact-card textarea:focus,.contact-card select:focus{border-color:#238dff;box-shadow:0 0 0 3px #58aeff22}.two-inputs{display:grid;grid-template-columns:1fr 1fr;gap:16px}.contact-card form>.btn{margin:9px 0 0}.form-help{font-size:.8rem;color:#566f83;margin:13px 0 0}.contact-side{display:grid;gap:20px}.contact-info-card{background:#fff;border:1px solid #d8e5f0;padding:29px;border-radius:13px}.contact-info-card h2{font-size:1.42rem;margin-bottom:10px}.contact-info-card p{color:#53697d;font-size:.95rem;line-height:1.7}.contact-email{color:#0a79c0;font-weight:800;overflow-wrap:anywhere}.contact-email:hover{text-decoration:underline}.contact-prompt{background:#0b2944;color:#fff;padding:29px;border-radius:13px}.contact-prompt h3{margin-bottom:14px}.contact-prompt ul{padding-left:21px;margin:0;color:#b9cce0}.contact-prompt li{margin:7px 0}
@media(max-width:1100px){.nav-link{font-size:.87rem}.site-nav{gap:18px}.services-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.service-card:nth-child(5){grid-column:auto}.value-grid,.area-layout{gap:44px}.hero h1{font-size:4rem}}@media(max-width:780px){.container{width:min(var(--max),calc(100% - 36px))}.header-inner{min-height:73px}.brand>img{width:43px;height:43px}.brand-name{font-size:1.35rem}.brand-sub{font-size:.44rem}.menu-toggle{display:grid;place-items:center}.site-nav{display:none;position:absolute;top:100%;left:0;right:0;background:#061729;padding:15px 18px 24px;flex-direction:column;align-items:stretch;gap:5px;border-bottom:1px solid #30516a;box-shadow:0 22px 31px #010b1ad4}.site-nav.is-open{display:flex}.nav-link{font-size:1rem;padding:12px 8px}.nav-link.is-active:after{bottom:5px;width:55px;left:8px}.nav-cta{margin-top:11px}.hero,.hero-inner{min-height:570px}.hero-visual{inset:0 0 0 10%;opacity:.85}.hero::before{background:linear-gradient(90deg,#061728fa,#061728d7 44%,#0617286e),linear-gradient(0deg,#051526d9,transparent 55%)}.hero-inner{padding:75px 0}.hero h1{font-size:clamp(2.75rem,7vw,4.2rem)}.hero-copy{max-width:620px}.services-section{padding:65px 0}.section-heading{grid-template-columns:1fr;gap:16px;margin-bottom:26px}.services-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.light-section{padding:66px 0}.value-grid,.area-layout,.about-grid,.contact-layout{grid-template-columns:1fr;gap:42px}.area-section{padding:63px 0}.area-panel{min-height:285px}.footer-grid{grid-template-columns:1fr 1fr;gap:26px}.footer-grid>div:first-child{grid-column:1/-1}.page-intro{padding:80px 0}.service-detail{grid-template-columns:1fr}.service-detail-image{height:230px;min-height:0}.service-detail-copy{padding:30px}.checklist{grid-template-columns:1fr 1fr}.contact-section{padding:55px 0}.contact-card{padding:29px}.closing-inner{align-items:flex-start;flex-direction:column}.closing-inner .btn{align-self:flex-start}}@media(max-width:520px){.eyebrow{font-size:.68rem;letter-spacing:.13em}.hero{min-height:0}.hero-inner{min-height:560px;align-items:flex-end;padding-top:105px;padding-bottom:45px}.hero h1{font-size:clamp(2.4rem,9vw,3.15rem)}.hero-lead{font-size:1.07rem}.hero-actions{gap:10px}.hero-actions .btn{padding:13px 15px}.hero-caption{font-size:.74rem}.services-grid{grid-template-columns:1fr}.service-card{display:grid;grid-template-columns:130px 1fr;min-height:200px}.service-image-link{height:100%;aspect-ratio:auto}.service-card-body{padding:16px}.service-card h3{font-size:1rem}.service-card p{font-size:.84rem;margin-bottom:8px}.service-icon{margin-bottom:5px}.service-icon svg{width:21px;height:21px}.service-card .text-link{font-size:.82rem}.value-item{gap:14px}.value-icon{width:47px;height:47px}.area-panel{padding:24px}.city-grid{gap:11px}.footer-grid{grid-template-columns:1fr}.footer-bottom{flex-direction:column}.checklist{grid-template-columns:1fr}.page-intro h1{font-size:2.55rem}.service-detail-copy{padding:25px}.service-detail-copy h2{font-size:1.8rem}.two-inputs{grid-template-columns:1fr;gap:0}.contact-card{padding:20px}.contact-card h2{font-size:1.8rem}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.btn,.service-card{transition:none}}

/* Inquiry form state and accessibility */
.contact-card .btn:disabled{opacity:.58;cursor:not-allowed;transform:none;box-shadow:none}
.form-status{min-height:2.2em;line-height:1.5}
.form-status.status-success{color:#116644;font-weight:700}
.form-status.status-error{color:#9b2835;font-weight:700}

/* Personal About page additions */
.about-story h2{max-width:640px}
.about-story strong{color:#0c2841;font-weight:800}
.about-inline-link{display:inline-flex;margin-top:12px;color:#0b75b9;font-size:1.03rem}
.about-owner-kicker{font-size:.73rem;letter-spacing:.19em;font-weight:850;color:#8ec8f9;margin:0 0 10px}
.about-owner-card h3{font-size:2rem;letter-spacing:-.035em;margin-bottom:8px}
.about-stats{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:28px}
.about-stats>div{background:#11344f;border:1px solid #2d5675;border-radius:12px;padding:18px 15px;display:flex;flex-direction:column;min-height:123px}
.about-stats strong{font-size:2.55rem;line-height:1.05;letter-spacing:-.04em;color:#fff}
.about-stats strong span{color:#63b8ff}
.about-stats>div>span{font-size:.81rem;color:#c4d9e9;line-height:1.45;margin-top:10px}
.career-section .area-layout{grid-template-columns:.93fr 1.07fr;gap:70px}
.career-section .area-layout>div>p:not(.eyebrow){max-width:570px}
.career-list>div:last-child{border-bottom:0;padding-bottom:0}
@media(max-width:780px){.career-section .area-layout{grid-template-columns:1fr;gap:42px}.about-main{padding:66px 0}.about-story h2{font-size:clamp(1.85rem,5vw,2.5rem)}}
@media(max-width:400px){.about-card{padding:28px 22px}.about-stats{gap:9px}.about-stats>div{padding:15px 10px}.about-stats strong{font-size:2.2rem}}

/* Official TitanStar logo, reproduced from the supplied original artwork.
   The white background is intentional: navy lettering is not legible on navy. */
.brand{background:#fff;border-radius:8px;padding:5px 9px;box-shadow:0 1px 0 #ffffff28;flex:0 0 auto}
.brand>img{width:315px;height:auto;max-width:100%;display:block}
.header-inner{min-height:97px}
.brand-footer{margin-bottom:22px}
.brand-footer>img{width:306px}
.about-card-mark{width:285px;max-width:100%;height:auto;background:#fff;border-radius:12px;padding:10px;display:block;margin-bottom:26px}
.about-card-mark img{width:100%;height:auto;object-fit:contain}
@media(max-width:1100px){.brand>img{width:245px}.site-nav{gap:14px}}
@media(max-width:780px){.brand>img{width:230px}.header-inner{min-height:80px}.site-nav{gap:5px}}
@media(max-width:400px){.brand>img{width:min(64vw,230px)}.brand{padding:4px 5px}.menu-toggle{padding:5px}}
/* Avoid min-content overflow on very narrow phones. */
@media(max-width:520px){.about-grid{grid-template-columns:minmax(0,1fr)}.about-grid>*{min-width:0}.about-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.about-card{min-width:0}}


/* Final website image treatment. Consistent photographs across every service. */
.service-image-link img,.service-detail-image img{filter:saturate(.94) contrast(1.035)}
.service-image-link img{transition:transform .24s ease}
.service-card:hover .service-image-link img{transform:scale(1.025)}
.service-image-link img[src$="service-cabling.webp"],
.service-detail-image img[src$="service-cabling.webp"]{object-position:center 48%}
.service-image-link img[src$="service-voip.webp"],
.service-detail-image img[src$="service-voip.webp"]{object-position:right 60%}
.service-image-link img[src$="service-retail.webp"],
.service-detail-image img[src$="service-retail.webp"]{object-position:center 45%}

/* Full, unedited owner photograph on the About page. */
.owner-photo{margin:0 0 24px;display:block}
.owner-photo>img{width:100%;height:auto;display:block;border-radius:11px;border:1px solid #456b88;background:#fff}
.owner-photo figcaption{margin:10px 1px 0;color:#b8d4e8;font-size:.82rem;line-height:1.5}
@media(prefers-reduced-motion:reduce){.service-image-link img{transition:none}.service-card:hover .service-image-link img{transform:none}}

/* Keep the Formspree spam-trap invisible in all browsers and themes. */
.contact-card input[name="_gotcha"],.contact-card input[hidden]{display:none !important;}
