/*
Theme Name: OnSite Sound & Light Production V8.1
Theme URI: https://onsitesoundandlight.com
Author: OnSite Sound & Light Production
Description: Custom one-page WordPress theme for professional sound, lighting and event production.
Version: 9.0.0
*/
:root{--red:#8b1d1d;--red2:#e3312d;--gold:#ffc20e;--black:#050505;--charcoal:#111214;--gray:#1c1e21;--muted:#b8b8b8;--white:#fff}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--black);color:#fff;font-family:Arial,Helvetica,sans-serif;line-height:1.6}img{max-width:100%;display:block}a{color:inherit;text-decoration:none}.container{width:min(1180px,calc(100% - 40px));margin:auto}.section{padding:88px 0}.section-dark{background:var(--charcoal)}.section-kicker{color:var(--gold);text-transform:uppercase;letter-spacing:.16em;font-size:.78rem;font-weight:900;margin-bottom:8px}.section-title{font-size:clamp(2.2rem,5vw,4.3rem);line-height:.98;text-transform:uppercase;margin:0 0 18px;max-width:900px}.section-copy{color:var(--muted);font-size:1.08rem;max-width:780px;margin:0 0 38px}.site-header{position:sticky;top:0;z-index:100;background:rgba(0,0,0,.94);border-bottom:1px solid rgba(255,255,255,.09);backdrop-filter:blur(10px)}.header-inner{min-height:78px;display:flex;align-items:center;justify-content:space-between;gap:20px}.brand{display:flex;align-items:center;gap:12px;font-weight:900}.brand img{width:60px;height:60px;object-fit:contain}.brand-text{display:flex;flex-direction:column;line-height:1}.brand-text small{color:var(--gold);font-size:.7rem;margin-top:6px}.site-nav{display:flex;gap:20px;align-items:center}.site-nav a{font-size:.9rem;font-weight:800}.site-nav a:hover{color:var(--gold)}.btn{display:inline-flex;align-items:center;justify-content:center;padding:14px 23px;border-radius:5px;font-weight:900;text-transform:uppercase;letter-spacing:.03em;border:1px solid transparent;transition:.2s}.btn-primary{background:var(--red2);color:#fff}.btn-primary:hover{background:var(--gold);color:#111}.btn-secondary{border-color:#fff;color:#fff;background:rgba(0,0,0,.2)}.btn-secondary:hover{border-color:var(--gold);color:var(--gold)}.hero{min-height:82vh;position:relative;display:grid;align-items:center;overflow:hidden}.hero-slide{position:absolute;inset:0;background:center/cover no-repeat;opacity:0;transform:scale(1.04);transition:opacity 1.1s ease,transform 6s ease}.hero-slide.active{opacity:1;transform:scale(1)}.hero-overlay{position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,0,0,.88) 0%,rgba(0,0,0,.65) 48%,rgba(0,0,0,.28) 100%),linear-gradient(0deg,rgba(0,0,0,.55),transparent 60%)}.hero-content{position:relative;z-index:2;padding:100px 0 90px}.hero-logo{width:min(210px,48vw);margin-bottom:24px}.hero h1{font-size:clamp(2.8rem,7vw,6.5rem);line-height:.9;text-transform:uppercase;max-width:970px;margin:0 0 24px;text-shadow:0 6px 24px rgba(0,0,0,.7)}.hero h1 span{display:block;color:var(--gold)}.hero-lead{font-size:clamp(1rem,2vw,1.3rem);max-width:790px;color:#eee}.hero-actions{display:flex;flex-wrap:wrap;gap:14px;margin-top:28px}.hero-dots{display:flex;gap:9px;margin-top:38px}.hero-dots button{width:34px;height:4px;border:0;background:rgba(255,255,255,.35);cursor:pointer;padding:0}.hero-dots button.active{background:var(--gold)}.feature-strip{background:#050505;border-block:1px solid rgba(255,255,255,.08)}.feature-grid{display:grid;grid-template-columns:repeat(4,1fr)}.feature-grid div{text-align:center;padding:25px;border-right:1px solid rgba(255,255,255,.08)}.feature-grid div:last-child{border-right:0}.feature-grid strong{display:block;color:var(--gold);text-transform:uppercase}.feature-grid span{color:var(--muted);font-size:.9rem}.services-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.service-card{position:relative;background:var(--gray);border:1px solid rgba(255,255,255,.08);padding:28px;border-top:4px solid var(--red2);min-height:230px}.service-card h3{font-size:1.42rem;margin:18px 0 9px}.service-card p{color:var(--muted);margin:0}.service-number{color:rgba(255,194,14,.4);font-size:2rem;font-weight:900}.featured-grid{display:grid;grid-template-columns:1.35fr .85fr;grid-template-rows:repeat(2,280px);gap:18px}.feature-project{position:relative;overflow:hidden;border-radius:8px}.feature-project.large{grid-row:1/3}.feature-project img{width:100%;height:100%;object-fit:cover;transition:.35s}.feature-project:hover img{transform:scale(1.035)}.feature-project:after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(0,0,0,.86),transparent 65%)}.project-label{position:absolute;left:24px;right:24px;bottom:20px;z-index:2}.project-label span{color:var(--gold);font-size:.78rem;text-transform:uppercase;font-weight:900;letter-spacing:.1em}.project-label h3{font-size:1.65rem;margin:3px 0 0}.equipment-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}.equipment-grid article{background:var(--gray);border:1px solid rgba(255,255,255,.08);border-radius:8px;overflow:hidden}.equipment-grid img{width:100%;height:235px;object-fit:cover}.equipment-grid article>div{padding:22px}.equipment-grid h3{margin:0 0 8px}.equipment-grid p{color:var(--muted);margin:0}.brand-row{display:flex;flex-wrap:wrap;gap:10px;margin-top:30px}.brand-row span{padding:9px 14px;border:1px solid rgba(255,255,255,.18);border-radius:999px}.gallery-grid{display:grid;grid-template-columns:repeat(12,1fr);gap:12px;grid-auto-flow:dense}.gallery-grid figure{margin:0;height:250px;overflow:hidden;border-radius:6px;grid-column:span 3}.gallery-grid figure:nth-child(1),.gallery-grid figure:nth-child(8){grid-column:span 6;height:360px}.gallery-grid figure:nth-child(2),.gallery-grid figure:nth-child(7){grid-column:span 3;height:360px}.gallery-grid img{width:100%;height:100%;object-fit:cover;transition:.25s}.gallery-grid img:hover{transform:scale(1.04)}.why-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:48px;align-items:center}.checklist{list-style:none;padding:0;margin:0}.checklist li{position:relative;padding:10px 0 10px 35px}.checklist li:before{content:'✓';position:absolute;left:0;color:var(--gold);font-weight:900}.why-photo{border-radius:8px;overflow:hidden}.why-photo img{width:100%;height:600px;object-fit:cover}.dot-section{background:linear-gradient(135deg,#151515,#080808)}.dot-wrap{display:grid;grid-template-columns:1fr 360px;gap:50px;align-items:center}.dot-note{color:#c7c7c7;background:#221b05;border-left:4px solid var(--gold);padding:14px}.qr-placeholder{background:#fff;color:#111;border-radius:10px;padding:28px;text-align:center}.qr-box{width:190px;height:190px;margin:0 auto 16px;background:repeating-linear-gradient(45deg,#111 0 8px,#fff 8px 16px);display:grid;place-items:center;font-size:2rem;font-weight:900;color:var(--red);border:14px solid #fff;outline:2px solid #111}.qr-placeholder strong,.qr-placeholder span{display:block}.qr-placeholder span{color:#666;font-size:.9rem}.quote-wrap{display:grid;grid-template-columns:.9fr 1.1fr;gap:34px}.contact-details{background:var(--red);padding:30px;border-radius:8px}.contact-details a{text-decoration:underline}.quote-form{background:#0a0a0a;border:1px solid rgba(255,255,255,.1);padding:30px;border-radius:8px}.form-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}.form-field{display:flex;flex-direction:column;gap:7px}.form-field.full{grid-column:1/-1}.form-field label{font-weight:800}.form-field input,.form-field select,.form-field textarea{width:100%;padding:13px;background:#111;color:#fff;border:1px solid #555;border-radius:5px}.form-field textarea{min-height:140px}.notice{padding:12px 14px;background:#16321f;color:#d7ffe2;margin-bottom:16px}.notice.error{background:#3a1717;color:#ffdede}.site-footer{padding:30px 0;background:#030303;border-top:1px solid rgba(255,255,255,.09);color:#bbb}.footer-inner{display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap}.mobile-call{display:none;position:fixed;left:12px;right:12px;bottom:12px;z-index:200;background:var(--red2);color:#fff;text-align:center;padding:14px;border-radius:7px;font-weight:900;box-shadow:0 8px 30px rgba(0,0,0,.5)}@media(max-width:950px){.site-nav{display:none}.services-grid{grid-template-columns:repeat(2,1fr)}.equipment-grid{grid-template-columns:repeat(2,1fr)}.why-grid,.quote-wrap,.dot-wrap{grid-template-columns:1fr}.featured-grid{grid-template-columns:1fr;grid-template-rows:440px 280px 280px}.feature-project.large{grid-row:auto}.gallery-grid figure:nth-child(n){grid-column:span 6;height:280px}}@media(max-width:640px){body{padding-bottom:70px}.container{width:min(100% - 24px,1180px)}.section{padding:60px 0}.brand-text{display:none}.hero{min-height:78vh}.hero-content{padding:80px 0 70px}.hero h1{font-size:clamp(2.55rem,13vw,4.1rem)}.feature-grid{grid-template-columns:1fr 1fr}.feature-grid div{padding:18px 8px}.services-grid,.equipment-grid,.form-grid{grid-template-columns:1fr}.featured-grid{grid-template-rows:320px 240px 240px}.gallery-grid{grid-template-columns:1fr}.gallery-grid figure:nth-child(n){grid-column:auto;height:250px}.why-photo img{height:420px}.mobile-call{display:block}.dot-wrap{gap:25px}}

/* Version 4 additions */
.engineer-wrap{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.05fr);gap:48px;align-items:center}.engineer-photo img{width:100%;height:560px;object-fit:cover;border-radius:22px;box-shadow:0 24px 70px rgba(0,0,0,.38)}.engineer-copy h3{margin:-8px 0 20px;color:#fff;font-size:1.2rem}.engineer-copy p{color:#c8c8ce;line-height:1.75}.qr-card{background:#fff;border-radius:28px;padding:18px 18px 22px;box-shadow:0 20px 70px rgba(0,0,0,.28);text-align:center;max-width:390px;margin-left:auto}.qr-card img{display:block;width:100%;height:auto;border-radius:20px}.qr-card strong{display:block;color:#111;font-size:1.35rem;margin-top:12px}.qr-card span{display:block;color:#666;margin-top:4px}@media(max-width:800px){.engineer-wrap{grid-template-columns:1fr;gap:28px}.engineer-photo img{height:430px}.qr-card{margin:24px auto 0;max-width:340px}}

/* Version 7 branding and image refinements */
.brand img{border-radius:50%;background:#000}.hero-logo{border-radius:50%;filter:drop-shadow(0 10px 28px rgba(0,0,0,.55))}.feature-project img,.gallery-grid img,.equipment-grid img{background:#0a0a0a}


/* Version 8: complete backline and conversion refinements */
.backline-section{background:linear-gradient(135deg,#0b0b0c 0%,#18191c 100%)}.backline-grid{display:grid;grid-template-columns:.95fr 1.05fr;gap:48px;align-items:center}.backline-photo{position:relative;border-radius:10px;overflow:hidden;min-height:610px}.backline-photo:after{content:"";position:absolute;inset:0;border:1px solid rgba(255,194,14,.24);border-radius:10px;pointer-events:none}.backline-photo img{width:100%;height:610px;object-fit:cover}.backline-cards{display:grid;gap:14px;margin:0 0 28px}.backline-cards article{padding:20px 22px;background:rgba(255,255,255,.045);border-left:4px solid var(--gold);border-radius:0 7px 7px 0}.backline-cards h3{margin:0 0 5px;font-size:1.25rem}.backline-cards p{margin:0;color:var(--muted)}.service-card{min-height:245px}.brand-row span{background:rgba(255,255,255,.025)}@media(max-width:950px){.backline-grid{grid-template-columns:1fr}.backline-photo,.backline-photo img{min-height:0;height:480px}}@media(max-width:640px){.backline-photo,.backline-photo img{height:340px}}

/* Version 9: lead tracking, accessibility and quote-form improvements */
.service-options{border:1px solid rgba(255,255,255,.16);padding:18px;border-radius:7px;display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.service-options legend{font-weight:900;padding:0 7px}.service-options label{display:flex;gap:8px;align-items:center;color:#e8e8e8}.service-options input{width:auto;accent-color:var(--gold)}.hp-field{position:absolute!important;left:-10000px!important;width:1px!important;height:1px!important;overflow:hidden!important}.notice{border-radius:6px;font-weight:800}.site-nav a:focus-visible,.btn:focus-visible,.hero-dots button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid var(--gold);outline-offset:3px}.quote-form button{cursor:pointer}.section[id]{scroll-margin-top:90px}@media(max-width:640px){.service-options{grid-template-columns:1fr 1fr}}
