:root{--navy:#062b63;--navy-2:#031b40;--red:#ed1c24;--red-dark:#c81018;--ink:#172238;--muted:#5f6b7a;--line:#dce2ea;--soft:#f4f6f9;--white:#fff;--max:1180px;--shadow:0 14px 45px rgba(6,43,99,.12)}
.logo-crop{display:block;width:190px}.logo-crop img{display:block;width:100%;height:auto}.site-footer .logo-crop{width:230px;padding:8px;background:#fff}
*,*::before,*::after{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);background:#fff;font-family:Arial,Helvetica,sans-serif;font-size:16px;line-height:1.65}img{display:block;max-width:100%;height:auto}a{color:inherit}button,input,select,textarea{font:inherit}.container{width:min(calc(100% - 40px),var(--max));margin-inline:auto}.narrow{max-width:820px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.skip-link{position:fixed;z-index:9999;left:16px;top:-60px;background:#fff;padding:10px 16px}.skip-link:focus{top:12px}h1,h2,h3{margin:0 0 .65em;color:var(--navy);font-weight:800;line-height:1.12;letter-spacing:-.025em}h1{font-size:clamp(2.35rem,5vw,4.85rem)}h2{font-size:clamp(1.8rem,3.2vw,3rem)}h3{font-size:1.2rem}p{margin:0 0 1.2em}.eyebrow{margin-bottom:14px;color:var(--red);font-size:.75rem;font-weight:800;letter-spacing:.14em;text-transform:uppercase}.btn{display:inline-flex;align-items:center;justify-content:center;min-height:50px;padding:13px 23px;border:2px solid transparent;text-decoration:none;font-size:.84rem;font-weight:800;letter-spacing:.035em;text-transform:uppercase;transition:.2s}.btn:hover{transform:translateY(-2px)}.btn-primary{color:#fff;background:var(--red)}.btn-primary:hover{background:var(--red-dark)}.btn-secondary{color:#fff;background:var(--navy)}.btn-outline{color:#fff;border-color:#fff}.btn-small{min-height:42px;padding:10px 16px;font-size:.72rem}.button-row{display:flex;flex-wrap:wrap;gap:12px;align-items:center}.text-link{color:var(--navy);font-weight:800;text-decoration-color:var(--red);text-underline-offset:4px}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #f7b500;outline-offset:3px}.topbar{padding:7px 0;color:#dbe7f8;background:var(--navy-2);font-size:.72rem}.topbar .container{display:flex;justify-content:space-between}.topbar a{text-decoration:none}.site-header{position:sticky;z-index:100;top:0;background:#fff;box-shadow:0 2px 20px rgba(0,0,0,.07)}.nav-wrap{display:flex;align-items:center;min-height:76px;gap:25px}.logo{display:flex;align-items:center;gap:10px;color:var(--navy);font-size:.74rem;line-height:1.1;letter-spacing:.03em;text-decoration:none;text-transform:uppercase}.logo-mark{display:grid;width:36px;height:36px;place-items:center;color:#fff;background:var(--red);font-weight:900}.primary-nav{margin-left:auto}.primary-nav ul{display:flex;align-items:center;gap:23px;margin:0;padding:0;list-style:none}.primary-nav a,.dropdown-toggle{border:0;color:var(--navy);background:none;font-size:.78rem;font-weight:800;text-decoration:none}.has-dropdown{position:relative}.dropdown{position:absolute;top:calc(100% + 20px);left:-15px;display:none!important;width:260px;padding:10px!important;background:#fff;box-shadow:var(--shadow)}.dropdown.open{display:block!important}.dropdown li a{display:block;padding:9px}.header-actions{display:flex;align-items:center;gap:15px}.phone-link{color:var(--navy);font-size:.75rem;font-weight:800}.menu-toggle{display:none;border:0;background:none}.hero{position:relative;isolation:isolate;min-height:680px;display:grid;align-items:center;color:#fff;background:linear-gradient(90deg,rgba(2,17,40,.94),rgba(2,24,57,.58) 55%,rgba(2,17,40,.2)),var(--hero) center/cover}.hero::after,.page-hero::after{position:absolute;z-index:-1;inset:0;content:"";background-image:linear-gradient(rgba(255,255,255,.07) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.07) 1px,transparent 1px);background-size:120px 120px}.hero-content{padding-block:90px}.hero h1,.hero p,.page-hero h1,.page-hero p{color:#fff}.hero h1{max-width:970px}.hero-content>p:not(.eyebrow){max-width:710px;font-size:1.1rem}.trust-strip{position:relative;z-index:2;margin-top:-48px}.trust-grid{display:grid;grid-template-columns:repeat(5,1fr);background:#fff;box-shadow:var(--shadow)}.trust-grid>div{display:flex;min-height:100px;padding:22px 18px;align-items:center;gap:12px;border-right:1px solid var(--line)}.trust-grid b{color:var(--red);font-size:.8rem}.trust-grid span{color:var(--navy);font-size:.76rem;font-weight:800;line-height:1.25}.section{padding:105px 0}.section-muted{background:var(--soft)}.section-dark{position:relative;color:#dce7f7;background:var(--navy)}.section-dark h2,.section-dark h3{color:#fff}.section-heading{max-width:750px;margin:0 auto 45px;text-align:center}.section-heading p:last-child{color:var(--muted)}.card-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.service-card{overflow:hidden;background:#fff;border:1px solid var(--line);transition:.25s}.service-card:hover{transform:translateY(-6px);box-shadow:var(--shadow)}.service-card img{width:100%;height:220px;object-fit:cover}.service-card>div{padding:25px}.service-card h3 a{text-decoration:none}.feature-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:25px}.feature-grid article{padding:30px 20px;border-top:1px solid rgba(255,255,255,.3)}.feature-grid span,.process b{display:block;margin-bottom:28px;color:var(--red);font-size:2rem;font-weight:900}.split{display:grid;grid-template-columns:1fr 1fr;gap:70px}.align-center{align-items:center}.feature-image{width:100%;min-height:480px;object-fit:cover;box-shadow:20px 20px 0 var(--navy)}.check-list,.option-list{padding:0;list-style:none}.check-list li{position:relative;margin:13px 0;padding-left:28px}.check-list li::before{position:absolute;left:0;color:var(--red);content:"✓";font-weight:900}.process{display:grid;grid-template-columns:repeat(4,1fr);gap:35px;padding:0;list-style:none}.process li{border-top:1px solid currentColor;padding-top:22px}.process.three{grid-template-columns:repeat(3,1fr);margin:45px 0}.option-list{display:grid;grid-template-columns:1fr 1fr;gap:10px}.option-list li{padding:16px;background:var(--soft);border-left:3px solid var(--red);font-weight:700}.option-list.compact{grid-template-columns:1fr}.section-map{background:linear-gradient(120deg,#fff 50%,var(--soft) 50%)}.map-card{position:relative;display:grid;min-height:380px;place-content:center;color:#fff;background:var(--navy);text-align:center}.map-card::before{position:absolute;inset:20px;border:1px solid rgba(255,255,255,.3);content:"";transform:rotate(-4deg)}.map-card span{font-size:2.5rem;font-weight:900;letter-spacing:.12em}.map-card b{color:var(--red);font-size:1.5rem}.testimonial-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.testimonial-grid blockquote{margin:0;padding:30px;border-top:4px solid var(--red);background:var(--soft);font-size:1.05rem}.testimonial-grid cite{display:block;margin-top:24px;color:var(--muted);font-size:.8rem}.faq-item{border-bottom:1px solid var(--line)}.faq-item h3{margin:0}.faq-item button{display:flex;width:100%;padding:22px 0;justify-content:space-between;border:0;color:var(--navy);background:none;text-align:left;font-weight:800}.faq-answer{padding:0 35px 18px 0;color:var(--muted)}.form-shell{padding:55px;background:var(--navy);color:#dce7f7}.form-shell h2{color:#fff}.quote-form{padding:35px;background:#fff;color:var(--ink)}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:17px}.form-grid .full{grid-column:1/-1}label{display:block;margin-bottom:5px;color:var(--navy);font-size:.78rem;font-weight:800}input,select,textarea{width:100%;min-height:48px;padding:10px;border:1px solid #b9c2ce;background:#fff}textarea{min-height:120px;resize:vertical}.quote-form .btn{margin-top:20px}.form-note,.form-status{margin:12px 0 0;color:var(--muted);font-size:.72rem}.breadcrumbs{padding-block:14px}.breadcrumbs ol{display:flex;gap:10px;margin:0;padding:0;list-style:none;font-size:.75rem}.breadcrumbs li+li::before{margin-right:10px;content:"/"}.page-hero{position:relative;isolation:isolate;min-height:520px;display:grid;align-items:end;padding:75px 0;color:#fff;background:var(--navy);overflow:hidden}.page-hero>img{position:absolute;z-index:-2;inset:0;width:100%;height:100%;object-fit:cover}.page-hero::before{position:absolute;z-index:-1;inset:0;content:"";background:linear-gradient(90deg,rgba(3,27,64,.96),rgba(3,27,64,.55))}.page-hero .container>p:not(.eyebrow){max-width:720px}.panel{padding:45px;background:var(--soft);border-top:5px solid var(--red)}.related-links{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.related-links a{display:flex;padding:18px;justify-content:space-between;color:var(--navy);background:var(--soft);font-weight:800;text-decoration:none}.small-hero{padding:90px 0;color:#fff;background:var(--navy)}.small-hero h1{max-width:900px;color:#fff}.small-hero p:last-child{max-width:680px}.area-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.area-grid span{padding:12px;background:var(--soft);font-size:.85rem;font-weight:700}.quote-page{grid-template-columns:1fr 2fr}.contact-grid{display:grid;grid-template-columns:1fr 1.25fr;gap:70px}.contact-list{font-style:normal}.contact-list p{display:flex;flex-direction:column;padding:15px 0;border-bottom:1px solid var(--line)}.map-placeholder{display:grid;min-height:190px;padding:30px;place-items:center;background:var(--soft);text-align:center}.notice{margin-bottom:30px;padding:20px;border-left:4px solid var(--red);background:#fff5f5}.gallery-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.gallery-grid figure{margin:0;border:1px solid var(--line)}.gallery-grid img{width:100%;height:260px;object-fit:cover}.gallery-grid figcaption{padding:18px;color:var(--navy);font-weight:800}.gallery-grid figcaption span{display:block;color:var(--muted);font-size:.7rem;font-weight:400}.footer-cta{padding:65px 0;color:#fff;background:var(--navy)}.footer-cta h2{color:#fff}.footer-cta .split{align-items:center}.site-footer{padding:75px 0 20px;color:#aebbd0;background:#151b24}.footer-grid{display:grid;grid-template-columns:1.4fr .8fr 1.2fr 1fr;gap:50px}.logo-light{margin-bottom:20px;color:#fff}.site-footer h2{color:#fff;font-size:.85rem;text-transform:uppercase}.site-footer ul{padding:0;list-style:none}.site-footer a{color:inherit}.site-footer address{font-style:normal}.footer-bottom{display:flex;margin-top:50px;padding-top:18px;justify-content:space-between;border-top:1px solid #354052;font-size:.72rem}.mobile-cta{display:none}.back-top{position:fixed;z-index:80;right:20px;bottom:20px;width:44px;height:44px;border:0;color:#fff;background:var(--red);opacity:0;transform:translateY(15px);transition:.2s}.back-top.visible{opacity:1;transform:none}.error-page{display:grid;min-height:65vh;padding:80px 0;place-items:center;text-align:center}.error-code{margin:0;color:var(--red);font-size:6rem;font-weight:900}.error-page .button-row{justify-content:center}.reveal{opacity:0;transform:translateY(18px);transition:.6s}.reveal.visible{opacity:1;transform:none}@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important}.reveal{opacity:1;transform:none}}

.service-map{position:relative;min-height:430px;overflow:hidden;background:#dfe7ef;box-shadow:var(--shadow)}.service-map iframe{display:block;width:100%;height:430px;border:0}.map-label{position:absolute;right:18px;bottom:18px;left:18px;display:grid;grid-template-columns:1fr auto;gap:2px 20px;padding:16px 18px;color:#fff;background:rgba(3,27,64,.94)}.map-label>span{grid-column:1;color:#f4a3a6;font-size:.7rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase}.map-label strong{font-size:1rem}.map-label a{grid-column:2;grid-row:1/3;align-self:center;color:#fff;font-size:.76rem;font-weight:800}@media(max-width:560px){.service-map,.service-map iframe{min-height:340px;height:340px}.map-label{grid-template-columns:1fr}.map-label a{grid-column:1;grid-row:auto;margin-top:7px}}


.hero h1{max-width:880px;font-size:clamp(2.4rem,4.2vw,3.75rem);line-height:1.08}


/* Site-wide subtle motion */
.motion-ready .soft-reveal{opacity:0;transform:translateY(16px);transition:opacity .6s ease,transform .6s cubic-bezier(.2,.7,.2,1)}
.motion-ready .soft-reveal.is-visible{opacity:1;transform:none}
.hero .hero-content{animation:hero-arrive .7s ease both}
.service-card img,.gallery-grid img,.feature-image{transition:transform .45s ease,filter .45s ease}
.service-card:hover img,.gallery-grid figure:hover img{transform:scale(1.025)}
.site-header,.logo-crop{transition:box-shadow .25s ease,transform .25s ease}
.logo:hover .logo-crop{transform:translateY(-1px)}
@keyframes hero-arrive{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}
@media(prefers-reduced-motion:reduce){.motion-ready .soft-reveal,.motion-ready .soft-reveal.is-visible{opacity:1;transform:none;transition:none}.hero .hero-content{animation:none}.service-card img,.gallery-grid img,.feature-image,.site-header,.logo-crop{transition:none}}

/* CSP-safe production hero background */
.hero{background-image:linear-gradient(90deg,rgba(2,17,40,.92),rgba(2,24,57,.58) 55%,rgba(2,17,40,.18)),url('../images/hero-temporary-fence-los-angeles.webp');background-position:center;background-size:cover;background-repeat:no-repeat}
