/*
Theme Name: Bay State Technology Services Final Template MA Logo
Theme URI: https://BayStateTechnologyServices.com
Author: Bay State Technology Services
Description: Upload-ready WordPress theme with the real Massachusetts state logo preserved, crisp approved homepage hero, Home, About Us, Services, and Contact pages. Contact form emails info@baystatetechnologyservices.com.
Version: 1.0.1
Requires at least: 6.0
Requires PHP: 7.4
Text Domain: bsts-final-template
*/

:root {
  --bg:#050910;
  --surface:#0b1322;
  --surface2:#101b2f;
  --blue:#1267ff;
  --blue2:#6fb4ff;
  --text:#f7f9ff;
  --muted:#b9c5d8;
  --line:rgba(111,180,255,.42);
  --max:1180px;
}
*{box-sizing:border-box}
html{color-scheme:dark;scroll-behavior:smooth}
body{margin:0;font-family:Arial,Helvetica,sans-serif;background:var(--bg);color:var(--text);line-height:1.55}
a{color:inherit;text-decoration:none}
img{max-width:100%;height:auto;display:block}
a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible{outline:3px solid var(--blue2);outline-offset:3px}
.skip-link{position:absolute;top:-5rem;left:1rem;z-index:1000;background:var(--blue);padding:.75rem 1rem;border-radius:.5rem}
.skip-link:focus{top:1rem}

.site-header{
  position:sticky;top:0;z-index:100;
  display:flex;align-items:center;justify-content:space-between;gap:1.5rem;
  padding:.72rem clamp(1rem,5vw,4rem);
  background:rgba(5,9,16,.96);
  border-bottom:1px solid var(--line);
  backdrop-filter:blur(10px);
}
.logo{display:flex;align-items:center;text-transform:uppercase;font-weight:900;letter-spacing:.04em;line-height:1}
.logo img{width:clamp(190px,25vw,322px);height:auto;object-fit:contain}
.menu-toggle{display:none;background:transparent;color:var(--text);border:1px solid var(--line);border-radius:.4rem;min-height:44px;padding:.55rem .8rem}
.primary-nav ul{display:flex;align-items:center;gap:clamp(.75rem,2vw,1.9rem);margin:0;padding:0;list-style:none}
.primary-nav a{text-transform:uppercase;font-weight:800;font-size:.86rem;letter-spacing:.04em}
.primary-nav a:hover{color:var(--blue2)}

.hero{
  min-height:calc(100vh - 62px);
  background-image:image-set(url("assets/hero-desktop-1920.webp") type("image/webp"),url("assets/hero-desktop-1920.jpg") type("image/jpeg"));
  background-position:center center;background-size:cover;background-repeat:no-repeat;
}
@media (min-width:2000px){.hero{background-image:image-set(url("assets/hero-desktop-4k.webp") type("image/webp"),url("assets/hero-desktop-4k.jpg") type("image/jpeg"))}}
@media (min-width:1200px) and (max-width:1999px){.hero{background-image:image-set(url("assets/hero-desktop-2560.webp") type("image/webp"),url("assets/hero-desktop-2560.jpg") type("image/jpeg"))}}
@media (min-width:700px) and (max-width:1023px) and (orientation:portrait){.hero{background-image:image-set(url("assets/hero-tablet-1536.webp") type("image/webp"),url("assets/hero-tablet-1536.jpg") type("image/jpeg"))}}
@media (max-width:699px) and (orientation:portrait){.hero{background-image:image-set(url("assets/hero-mobile-1290.webp") type("image/webp"),url("assets/hero-mobile-1290.jpg") type("image/jpeg"))}}
@media (max-height:699px) and (orientation:landscape){.hero{background-image:image-set(url("assets/hero-mobile-landscape.webp") type("image/webp"),url("assets/hero-mobile-landscape.jpg") type("image/jpeg"))}}

.section,.page-hero{padding:clamp(3rem,7vw,6rem) clamp(1rem,5vw,4rem)}
.wrap{max-width:var(--max);margin:0 auto}
.page-hero{background:linear-gradient(135deg,rgba(18,103,255,.18),rgba(5,9,16,0));border-bottom:1px solid var(--line)}
h1{font-size:clamp(2.7rem,7vw,5.6rem);line-height:.95;margin:0 0 1rem;text-transform:uppercase}
h2{font-size:clamp(2rem,4.5vw,3.5rem);margin:0 0 1.5rem;text-transform:uppercase}
.lead{color:var(--muted);font-size:clamp(1.05rem,1.7vw,1.35rem);max-width:780px}
.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,250px),1fr));gap:1.25rem}
.card{display:block;background:linear-gradient(180deg,var(--surface2),var(--surface));border:1px solid var(--line);border-radius:1rem;padding:1.35rem;min-height:10rem}
.card h3{color:var(--blue2);margin-top:0}
.card p{color:var(--muted)}
.form{max-width:760px}
.form-row{margin-bottom:1rem}
label{display:block;margin-bottom:.4rem;font-weight:800}
input,textarea{width:100%;min-height:44px;border:1px solid var(--line);background:#07101d;color:var(--text);border-radius:.55rem;padding:.9rem;font:inherit}
textarea{resize:vertical}
.button{display:inline-block;min-height:44px;padding:.85rem 1.25rem;border-radius:.45rem;border:1px solid var(--blue);background:var(--blue);color:#fff;font-weight:900;text-transform:uppercase;cursor:pointer}
.alert{padding:1rem;border:1px solid var(--line);border-radius:.75rem;margin:0 0 1rem}
.alert-success{background:rgba(34,197,94,.13)}
.alert-error{background:rgba(239,68,68,.13)}
.site-footer{display:flex;justify-content:space-between;gap:1rem;flex-wrap:wrap;padding:1.5rem clamp(1rem,5vw,4rem);border-top:1px solid var(--line);color:var(--muted)}
.site-footer p{margin:0}
@media(max-width:820px){
  .site-header{align-items:flex-start;flex-wrap:wrap}
  .menu-toggle{display:inline-block}
  .primary-nav{display:none;width:100%}
  .primary-nav.open{display:block}
  .primary-nav ul{flex-direction:column;align-items:flex-start;padding-top:1rem}
}


/* Final presentation refinements */
.hero{
  background-position:center 72px;
  min-height:calc(100vh - 62px);
}

@media (max-width:820px){
  .hero{
    background-position:center 92px;
  }
}

.site-footer{
  justify-content:center;
  text-align:center;
  padding:1rem clamp(1rem,5vw,4rem);
}

.site-footer p{
  width:100%;
}


/* Final homepage fix: no duplicate top WordPress menu, full image visible, footer does not cover image */
body.bsts-home-clean {
  background:#050910;
}

body.bsts-home-clean .home-image-page {
  width:100%;
  margin:0;
  padding:0;
  line-height:0;
  overflow:visible;
}

body.bsts-home-clean .home-hero-full {
  width:100%;
  height:auto;
  max-width:none;
  display:block;
  object-fit:contain;
  object-position:center top;
}

body.bsts-home-clean .home-footer {
  position:relative;
  z-index:1;
  justify-content:center;
  text-align:center;
  padding:1rem clamp(1rem,5vw,4rem);
  line-height:1.5;
}

body.bsts-home-clean .home-footer p {
  width:100%;
}
