.top-bar{background-color:var(--color-bg-darker);border-bottom:1px solid var(--color-border);padding:.5rem 0;font-size:.8rem}.top-bar-container{justify-content:flex-end;display:flex}.top-bar-links{gap:1.5rem;display:flex}.top-bar-link{color:var(--color-text-muted);align-items:center;gap:.5rem;display:flex}.top-bar-link:hover{color:var(--color-text-light)}.header{-webkit-backdrop-filter:blur(12px);z-index:100;background-color:#050505cc;border-bottom:1px solid #ffffff1a;padding:1.25rem 0;position:sticky;top:0}.header-container{justify-content:space-between;align-items:center;display:flex}.logo{align-items:center;gap:.75rem;display:flex}.logo-box{background-color:var(--color-accent-red);color:var(--color-white);font-family:var(--font-heading);padding:.25rem .5rem;font-size:1.25rem;font-weight:700}.logo-img{width:150px}.main-nav{display:none}@media (width>=768px){.main-nav{display:block}}.nav-list{gap:2rem;display:flex}.nav-link{font-family:var(--font-heading);text-transform:uppercase;letter-spacing:2px;color:var(--color-white);padding-bottom:4px;font-size:.85rem;font-weight:500;text-decoration:none;position:relative}.nav-link:after{content:"";background-color:var(--color-accent-red);width:0%;height:2px;transition:width .3s cubic-bezier(.16,1,.3,1);position:absolute;bottom:0;left:0}.nav-link.active:after,.nav-link:hover:after{width:100%}.nav-link:hover{color:var(--color-white)}.mobile-menu-toggle{color:var(--color-white);cursor:pointer;background:0 0;border:none;padding:.5rem;display:block}@media (width<=767px){.header .btn-primary{display:none}}@media (width>=768px){.mobile-menu-toggle{display:none}}.mobile-nav{background-color:var(--color-bg-darker);border-bottom:2px solid var(--color-accent-red);width:100%;padding:var(--space-md) var(--space-md);z-index:99;position:absolute;top:100%;left:0}.mobile-nav-list{gap:var(--space-md);flex-direction:column;display:flex}.mobile-nav-link{font-family:var(--font-heading);text-transform:uppercase;letter-spacing:1px;color:var(--color-text-light);font-size:1.5rem;font-weight:500;display:block}.mobile-nav-link.active,.mobile-nav-link:hover{color:var(--color-accent-red)}.footer{background-color:var(--color-black);border-top:1px solid #ffffff1a;padding:6rem 0 0}.footer-top-grid{flex-direction:column;gap:4rem;margin-bottom:4rem;display:flex}@media (width>=1024px){.footer-top-grid{flex-direction:row;justify-content:space-between}}.footer-brand-zone{max-width:350px}.footer-logo{margin-bottom:2rem;display:inline-block}.footer-logo-img{width:200px}.footer-mission{color:var(--color-gray-light);font-size:1.1rem;line-height:1.6}.footer-nav-zone{flex-grow:1;grid-template-columns:1fr;gap:3rem;max-width:600px;display:grid}@media (width>=640px){.footer-nav-zone{grid-template-columns:repeat(3,1fr)}}.footer-col h4{font-family:var(--font-heading);color:var(--color-white);letter-spacing:2px;margin-bottom:1.5rem;font-size:1.1rem}.footer-col ul{flex-direction:column;gap:.8rem;display:flex}.footer-col a,.footer-contact li{color:var(--color-gray-light);font-size:.95rem;text-decoration:none;transition:color .3s}.footer-col a:hover{color:var(--color-accent-red)}.footer-address-link{flex-direction:column;line-height:1.5;display:flex}.footer-phone-item{margin-top:.6rem}.footer-highlight-link{font-family:var(--font-heading);letter-spacing:1px;border-bottom:1px solid var(--color-accent-red);padding-bottom:2px;color:var(--color-white)!important;font-size:1.1rem!important}.footer-highlight-link:hover{color:var(--color-accent-red)!important}.footer-massive-type{font-size:clamp(4rem,15vw,15rem);font-family:var(--font-heading);letter-spacing:-2px;color:var(--color-white);text-align:center;padding-top:var(--space-xl);white-space:nowrap;border-top:1px solid #ffffff1a;font-weight:700;line-height:.8;overflow:hidden}.footer-bottom{margin-top:var(--space-xl);border-top:1px solid #ffffff1a;flex-direction:column;justify-content:space-between;align-items:center;gap:1rem;padding:1.5rem 0;display:flex}@media (width>=768px){.footer-bottom{flex-direction:row}}.footer-bottom p{color:var(--color-text-muted);font-size:.85rem}.footer-legal{color:var(--color-text-muted);font-size:.85rem;font-family:var(--font-heading);letter-spacing:1px;gap:1.5rem;display:flex}.hero{background-position:50%;background-size:cover;align-items:center;min-height:80vh;padding:8rem 0;display:flex;position:relative}.hero-overlay{z-index:1;background:linear-gradient(90deg,#080808e6 0%,#080808b3 50%,#0808084d 100%);width:100%;height:100%;position:absolute;top:0;left:0}.hero-container{z-index:2;position:relative}.hero-content{max-width:850px}.hero-location{background-color:var(--color-accent-red);color:var(--color-white);font-family:var(--font-heading);text-transform:uppercase;letter-spacing:2px;margin-bottom:2rem;padding:.25rem .75rem;font-size:.85rem;font-weight:500;display:inline-block}.hero-title{letter-spacing:1px;margin-bottom:1.5rem;font-size:clamp(3rem,6vw,6rem);font-weight:700;line-height:1.05}.hero-description{color:#ccc;max-width:600px;margin-bottom:3rem;font-size:1.25rem}.hero-actions{flex-wrap:wrap;gap:1.5rem;display:flex}.d-inline-flex{align-items:center;gap:.75rem;display:inline-flex}.trust{background-color:var(--color-bg-dark);border-top:1px solid var(--color-border);padding:var(--spacing-section) 0}.trust-stats-grid{gap:var(--space-xl);margin-bottom:var(--space-2xl);grid-template-columns:repeat(auto-fit,minmax(250px,1fr));display:grid}.trust-stat-card{text-align:center;padding:var(--space-xl) var(--space-md);border-bottom:2px solid var(--color-accent-red);background-color:var(--color-bg-card);transition:transform .3s,background-color .3s}.trust-stat-card:hover{background-color:#1a1a1a;transform:translateY(-5px)}.trust-stat-number{font-family:var(--font-heading);color:var(--color-white);margin-bottom:var(--space-sm);font-size:clamp(4rem,8vw,6rem);line-height:1}.trust-stat-label{font-family:var(--font-heading);letter-spacing:2px;color:var(--color-gray-light);text-transform:uppercase;font-size:1rem}.trust-affiliations{text-align:center}.trust-affiliations .section-subtitle{margin-bottom:var(--space-lg);font-size:.85rem;display:inline-block}.trust-badges{justify-content:center;gap:var(--space-md);flex-wrap:wrap;display:flex}.trust-badge{font-family:var(--font-heading);letter-spacing:1px;color:var(--color-white);padding:var(--space-md) var(--space-xl);border:1px solid var(--color-border);background:var(--color-black);text-transform:uppercase;font-weight:500;transition:border-color .3s,color .3s}.trust-badge:hover{border-color:var(--color-white);color:var(--color-accent-red)}.services{background-color:var(--color-bg-darker)}.services-grid{gap:var(--space-md);grid-template-columns:repeat(auto-fit,minmax(300px,1fr));display:grid}@media (width>=1024px){.services-grid{grid-template-columns:repeat(2,1fr)}}.service-card{background-color:var(--color-bg-dark);border:1px solid var(--color-border);padding:var(--space-lg) var(--space-md);flex-direction:column;transition:border-color .4s;display:flex;position:relative;overflow:hidden}.service-card:before{content:"";background-color:var(--color-accent-red);z-index:0;transition:transform .4s cubic-bezier(.16,1,.3,1);position:absolute;inset:0;transform:translateY(100%)}.service-card:hover:before{transform:translateY(0)}.service-card:hover{border-color:var(--color-white)}.service-icon{color:var(--color-accent-red);z-index:1;margin-bottom:1.5rem;transition:color .4s;position:relative}.service-card:hover .service-icon{color:var(--color-white)}.service-title{letter-spacing:.5px;z-index:1;margin-bottom:1rem;font-size:1.25rem;font-weight:500;transition:color .4s;position:relative}.service-card:hover .service-title{color:var(--color-white)}.service-description{color:var(--color-text-muted);z-index:1;font-size:.95rem;line-height:1.5;transition:color .4s;position:relative}.service-card:hover .service-description{color:var(--color-white)}.portfolio{padding:var(--spacing-section) 0;background-color:var(--color-bg-darker)}.portfolio-header{margin-bottom:var(--space-xl);justify-content:space-between;align-items:flex-end;gap:var(--space-md);flex-wrap:wrap;display:flex}.portfolio-header .section-title{margin-bottom:0}.portfolio-view-all{color:var(--color-white);font-family:var(--font-heading);letter-spacing:1px;border-bottom:2px solid #0000;align-items:center;gap:.5rem;padding-bottom:4px;font-weight:500;text-decoration:none;transition:border-color .3s,color .3s;display:inline-flex}.portfolio-view-all:hover{color:var(--color-accent-red);border-color:var(--color-accent-red)}.portfolio-grid{gap:var(--space-md);grid-template-columns:1fr;display:grid}@media (width>=768px){.portfolio-grid{grid-template-columns:repeat(2,1fr);grid-auto-rows:minmax(280px,auto)}.portfolio-item.featured{grid-area:span 2/span 2}}@media (width>=1100px){.portfolio-grid{grid-template-columns:repeat(3,1fr);grid-auto-rows:320px}.portfolio-item.featured{grid-area:span 2/span 2}}.portfolio-item{background-color:var(--color-black);min-height:320px;display:block;position:relative;overflow:hidden}.portfolio-bg{opacity:.8;background-position:50%;background-size:cover;transition:transform .7s cubic-bezier(.16,1,.3,1);position:absolute;inset:0}.portfolio-item:hover .portfolio-bg{opacity:.6;transform:scale(1.05)}.portfolio-overlay{padding:var(--space-xl);color:var(--color-white);background:linear-gradient(#0000 0%,#00000080 65%,#000000eb 100%);flex-direction:column;justify-content:flex-end;text-decoration:none;display:flex;position:absolute;inset:0}.portfolio-content{opacity:0;transition:transform .4s cubic-bezier(.16,1,.3,1),opacity .4s;transform:translateY(20px)}.portfolio-item:hover .portfolio-content{opacity:1;transform:translateY(0)}.portfolio-kicker{color:var(--color-accent-red);font-family:var(--font-heading);letter-spacing:2px;text-transform:uppercase;align-items:center;gap:.35rem;margin-bottom:.4rem;font-size:.78rem;display:inline-flex}.portfolio-title{font-size:clamp(1.6rem,3vw,2.4rem);font-family:var(--font-heading);letter-spacing:1px;margin-bottom:var(--space-xs);color:var(--color-white);line-height:1.1}.portfolio-item.featured .portfolio-title{font-size:clamp(2.2rem,4vw,3.4rem)}.portfolio-subtitle{color:var(--color-gray-light);letter-spacing:.3px;max-width:38ch;font-size:.95rem;line-height:1.4}.portfolio-action{top:var(--space-xl);right:var(--space-xl);background-color:var(--color-accent-red);width:64px;height:64px;color:var(--color-white);border-radius:50%;justify-content:center;align-items:center;transition:transform .4s cubic-bezier(.175,.885,.32,1.275);display:flex;position:absolute;transform:scale(0)}.portfolio-item:hover .portfolio-action{transform:scale(1)}.why-choose-us{padding:var(--spacing-section) 0;background-color:var(--color-bg-dark);border-top:1px solid var(--color-border)}@media (width>=1024px){.why-choose-us{padding-bottom:var(--spacing-section)}}.wcu-grid{gap:var(--space-2xl);flex-direction:column;display:flex}@media (width>=1024px){.wcu-grid{gap:var(--space-xl);flex-direction:row}}.wcu-card{padding:var(--space-2xl) var(--space-xl) var(--space-xl);background-color:var(--color-bg-card);border:1px solid var(--color-border);flex:1;transition:transform .4s;position:relative;overflow:hidden}@media (width>=1024px){.wcu-card:nth-child(2){margin-top:var(--space-2xl)}.wcu-card:nth-child(3){margin-top:calc(var(--space-2xl) * 2)}}.wcu-card:hover{border-color:var(--color-white);transform:translateY(-10px)}.wcu-num{font-family:var(--font-heading);color:#0000;-webkit-text-stroke:2px var(--color-border);z-index:0;font-size:clamp(5rem,10vw,8rem);font-weight:700;line-height:1;transition:-webkit-text-stroke-color .4s,color .4s;position:absolute;top:-15px;left:auto;right:15px}.wcu-card:hover .wcu-num{-webkit-text-stroke-color:var(--color-accent-red);color:#e639461a}.wcu-content{z-index:1;margin-top:clamp(2rem,5vw,4rem);position:relative}.wcu-title{font-family:var(--font-heading);letter-spacing:1px;margin-bottom:var(--space-md);color:var(--color-white);font-size:1.5rem}.wcu-description{color:var(--color-gray-light);font-size:1rem;line-height:1.6}.process{padding:var(--spacing-section) 0;background-color:var(--color-black)}.process-timeline{margin-top:var(--space-2xl);flex-direction:column;max-width:800px;display:flex}.process-step{gap:var(--space-xl);margin-bottom:var(--space-xl);display:flex}.process-step:last-child{margin-bottom:0}.process-step:last-child .process-line{display:none}.process-marker{flex-direction:column;align-items:center;min-width:60px;display:flex;position:relative}.process-num{background-color:var(--color-bg-darker);border:2px solid var(--color-accent-red);width:60px;height:60px;color:var(--color-white);font-family:var(--font-heading);z-index:2;justify-content:center;align-items:center;font-size:1.5rem;font-weight:700;transition:background-color .4s;display:flex}.process-step:hover .process-num{background-color:var(--color-accent-red)}.process-line{top:60px;bottom:calc(-1 * var(--space-xl));background-color:var(--color-border);z-index:1;width:2px;position:absolute}.process-step:hover .process-line{background-color:var(--color-accent-red)}.process-content{padding-bottom:var(--space-xl);opacity:.7;transition:opacity .4s,transform .4s}.process-step:hover .process-content{opacity:1;transform:translate(10px)}.process-title{font-family:var(--font-heading);letter-spacing:1px;color:var(--color-white);margin-bottom:var(--space-sm);font-size:2rem}.process-description{color:var(--color-gray-light);font-size:1.1rem;line-height:1.6}@media (width>=768px){.contact-grid{grid-template-columns:1fr 2fr}}.about-hero{padding:var(--spacing-section) 0;border-bottom:2px solid var(--color-accent-red);background-color:#111;background-image:repeating-linear-gradient(45deg,#111 25%,#0000 25% 75%,#111 75%,#111),repeating-linear-gradient(45deg,#111 25%,#151515 25% 75%,#111 75%,#111);background-position:0 0,10px 10px;background-size:20px 20px}.about-hero-container{flex-direction:column;justify-content:center;display:flex}.about-hero-subtitle{color:var(--color-accent-red);font-family:var(--font-heading);letter-spacing:2px;text-transform:uppercase;margin-bottom:.5rem;font-size:1rem;font-weight:500}.about-hero-title{color:var(--color-white);font-family:var(--font-heading);text-transform:uppercase;margin:0;font-size:clamp(3rem,6vw,5rem);line-height:1}.about-history{background-color:var(--color-white);color:var(--color-bg-dark)}.history-split{grid-template-columns:1fr;min-height:60vh;display:grid}@media (width>=900px){.history-split{grid-template-columns:1fr 1fr}}.history-content{padding:var(--spacing-section) clamp(2rem, 5vw, var(--space-xl));flex-direction:column;justify-content:center;align-items:flex-start;max-width:800px;margin-left:auto;display:flex}.history-subtitle{color:var(--color-accent-red);font-family:var(--font-heading);letter-spacing:1px;text-transform:uppercase;margin-bottom:var(--space-sm);font-size:.9rem;font-weight:500}.history-title{font-family:var(--font-heading);text-transform:uppercase;margin-bottom:var(--space-lg);color:var(--color-bg-dark);font-size:clamp(2.5rem,5vw,4rem);line-height:1.1}.history-text{font-family:var(--font-body);color:var(--color-bg-dark);gap:var(--space-md);flex-direction:column;font-size:1.1rem;line-height:1.6;display:flex}.history-visual{background-color:var(--color-white);justify-content:stretch;align-items:stretch;display:flex}.history-image-placeholder{object-fit:cover;width:100%;height:100%}.history-logo-block{background-color:var(--color-accent-red);width:100px;height:100px;color:var(--color-white);font-family:var(--font-heading);justify-content:center;align-items:center;font-size:2.5rem;font-weight:700;display:flex}.core-values{padding:var(--spacing-section) 0;background-color:var(--color-bg-dark)!important}.core-values .section-title h2{color:var(--color-white)}.dictionary-list{margin-top:var(--space-xl);flex-direction:column;display:flex}.dictionary-item{padding:var(--space-xl) 0;border-top:1px solid var(--color-border);gap:var(--space-md);flex-direction:column;display:flex}.dictionary-item:last-child{border-bottom:1px solid var(--color-border)}@media (width>=900px){.dictionary-item{align-items:flex-start;gap:var(--space-2xl);flex-direction:row}}.dictionary-left{flex-direction:column;flex:1;display:flex}.dictionary-number{color:var(--color-accent-red);font-family:var(--font-heading);margin-bottom:var(--space-sm);font-size:1.2rem;font-weight:500;display:block}.dictionary-title{font-family:var(--font-heading);letter-spacing:1px;color:var(--color-white);text-transform:uppercase;margin:0;font-size:clamp(2rem,5vw,4rem);line-height:1}.dictionary-right{gap:var(--space-md);padding-top:var(--space-sm);flex-direction:column;flex:2;display:flex}@media (width>=900px){.dictionary-right{flex-direction:row;align-items:flex-start}}.dictionary-icon-wrapper{color:var(--color-accent-red);align-items:flex-start;display:flex}.dictionary-description{color:var(--color-gray-light);font-family:var(--font-body);opacity:.8;max-width:600px;font-size:1.25rem;line-height:1.6}.our-team{background-color:var(--color-white);padding:var(--spacing-section) 0}.team-grid{gap:var(--space-xl);margin-top:var(--space-xl);grid-template-columns:1fr;display:grid}@media (width>=768px){.team-grid{grid-template-columns:repeat(2,1fr)}}@media (width>=1100px){.team-grid{grid-template-columns:repeat(4,1fr)}}.team-card{flex-direction:column;display:flex}.team-image-wrapper{aspect-ratio:4/3;background-color:var(--color-bg-dark);width:100%;position:relative;overflow:hidden}.team-image{object-fit:cover;object-position:center;width:100%;height:100%;transition:transform .6s var(--ease-out-expo)}.team-card:hover .team-image{transform:scale(1.05)}.team-image-overlay{pointer-events:none;background:linear-gradient(#0000 60%,#1116 100%);position:absolute;inset:0}.team-info{margin-top:var(--space-md);border-left:3px solid var(--color-accent-red);padding-left:var(--space-sm)}.team-name{font-family:var(--font-heading);text-transform:uppercase;color:var(--color-bg-dark);letter-spacing:1px;margin:0 0 .25rem;font-size:clamp(1.25rem,1rem + .6vw,1.5rem)}.team-role{font-family:var(--font-body);color:var(--color-accent-red);text-transform:uppercase;letter-spacing:1px;font-size:.9rem;font-weight:500}.safety-culture{background-color:var(--color-bg-dark);padding:var(--spacing-section) 0;border-top:1px solid var(--color-border)}.safety-grid{gap:var(--space-xl);grid-template-columns:1fr;display:grid}@media (width>=900px){.safety-grid{grid-template-columns:1fr 1fr;align-items:center}}.safety-content{flex-direction:column;display:flex}.safety-subtitle{color:var(--color-accent-red);font-family:var(--font-heading);letter-spacing:1px;text-transform:uppercase;margin-bottom:var(--space-sm);font-size:.9rem;font-weight:500}.safety-title{font-family:var(--font-heading);text-transform:uppercase;margin-bottom:var(--space-lg);color:var(--color-white);font-size:clamp(2.5rem,5vw,4rem);line-height:1.1}.safety-description{font-family:var(--font-body);color:var(--color-gray-light);gap:var(--space-md);margin-bottom:var(--space-lg);flex-direction:column;font-size:1.1rem;line-height:1.6;display:flex}.safety-list{gap:var(--space-sm);flex-direction:column;padding:0;list-style:none;display:flex}.safety-list li{font-family:var(--font-heading);color:var(--color-white);padding-left:var(--space-lg);font-size:1.25rem;position:relative}.safety-list li:before{content:"";background-color:var(--color-accent-red);width:12px;height:12px;position:absolute;top:50%;left:0;transform:translateY(-50%)}.safety-stats{gap:var(--space-md);flex-direction:column;display:flex}.stat-block{background-color:var(--color-black);padding:var(--space-xl);text-align:center;border-left:4px solid var(--color-accent-red);flex-direction:column;justify-content:center;align-items:center;display:flex}.stat-block.inverted{background-color:var(--color-accent-red);color:var(--color-white);border-left:none}.stat-number{font-family:var(--font-heading);margin-bottom:var(--space-xs);color:var(--color-white);font-size:clamp(4rem,8vw,6rem);font-weight:700;line-height:1}.stat-block.inverted .stat-number{color:var(--color-bg-dark)}.stat-label{font-family:var(--font-heading);letter-spacing:2px;text-transform:uppercase;color:var(--color-gray-light);font-size:1.25rem}.stat-block.inverted .stat-label{color:var(--color-white)}.simple-cta{background-color:var(--color-accent-red);color:var(--color-white);padding:var(--spacing-section) 0;text-align:center}.simple-cta-title{font-family:var(--font-heading);text-transform:uppercase;margin-bottom:var(--space-sm);color:var(--color-white);font-size:clamp(2rem,4vw,3rem)}.simple-cta-subtitle{font-family:var(--font-body);opacity:.9;margin-bottom:var(--space-lg);max-width:600px;margin-left:auto;margin-right:auto;font-size:1rem}.btn-white{font-family:var(--font-heading);text-transform:uppercase;letter-spacing:1px;cursor:pointer;background:var(--color-white);color:var(--color-accent-red);border:2px solid var(--color-white);padding:1.25rem 2.5rem;font-size:1.05rem;font-weight:500;transition:transform .2s;display:inline-block}.btn-white:hover{transform:scale(1.02)}.service-directory{background-color:var(--color-black);padding:var(--spacing-section) 0;color:var(--color-white)}.directory-wrap{border-top:2px solid var(--color-gray-dark);flex-direction:column;display:flex}.directory-link{padding:var(--space-xl) 0;border-bottom:2px solid var(--color-gray-dark);color:var(--color-white);align-items:center;text-decoration:none;transition:all .4s cubic-bezier(.16,1,.3,1);display:flex;position:relative;overflow:hidden}.directory-link:before{content:"";background-color:var(--color-accent-red);z-index:0;width:100%;height:100%;transition:transform .4s cubic-bezier(.16,1,.3,1);position:absolute;top:0;left:0;transform:translateY(100%)}.directory-link:hover:before{transform:translateY(0)}.directory-index{font-family:var(--font-heading);font-size:var(--space-xl);color:var(--color-gray-light);opacity:.5;margin-right:var(--space-xl);z-index:1;transition:opacity .4s;position:relative}.directory-link:hover .directory-index{opacity:1;color:var(--color-bg-dark)}.directory-link-title{font-family:var(--font-heading);text-transform:uppercase;letter-spacing:.05em;z-index:1;flex-grow:1;margin:0;font-size:clamp(1.5rem,3vw,4rem);font-weight:600;transition:color .4s;position:relative}.directory-link:hover .directory-link-title{color:var(--color-bg-dark)}.directory-arrow{border:1px solid var(--color-gray-light);z-index:1;border-radius:50%;justify-content:center;align-items:center;width:60px;height:60px;transition:transform .4s cubic-bezier(.16,1,.3,1),background-color .4s,border-color .4s;display:flex;position:relative}.directory-link:hover .directory-arrow{background-color:var(--color-bg-dark);color:var(--color-white);border-color:var(--color-bg-dark);transform:translate(15px)scale(1.1)}@media (width<=768px){.directory-link{padding:var(--space-lg) 0;flex-wrap:wrap}.directory-index{font-size:var(--space-lg);margin-right:var(--space-md)}.directory-link-title{width:60%}.directory-arrow{width:40px;height:40px}}.subpage-overview{background-color:var(--color-white);color:var(--color-bg-dark);padding:clamp(4rem,8vw,8rem) 0}.subpage-grid{gap:var(--space-2xl);grid-template-columns:1fr;display:grid}@media (width>=1024px){.subpage-grid{grid-template-columns:1fr 1fr;align-items:center}}.subpage-content{flex-direction:column;display:flex}.subpage-section-title{font-family:var(--font-heading);text-transform:uppercase;margin-bottom:var(--space-lg);color:var(--color-bg-dark);font-size:clamp(2.5rem,5vw,4rem);line-height:1.1}.subpage-description{font-family:var(--font-body);opacity:.85;margin-bottom:var(--space-xl);font-size:1.25rem;line-height:1.6}.subpage-features-title{font-family:var(--font-heading);text-transform:uppercase;color:var(--color-accent-red);margin-bottom:var(--space-md);letter-spacing:1px;font-size:1.5rem}.subpage-features-list{gap:var(--space-sm);flex-direction:column;padding:0;list-style:none;display:flex}.subpage-features-list li{font-family:var(--font-heading);text-transform:uppercase;padding-left:1.5rem;font-size:1.25rem;position:relative}.subpage-features-list li:before{content:"";background-color:var(--color-accent-red);width:10px;height:10px;position:absolute;top:50%;left:0;transform:translateY(-50%)}.subpage-visual{width:100%;height:100%;min-height:400px}.subpage-image{filter:grayscale()contrast(1.1);width:100%;height:100%;box-shadow:20px 20px 0 var(--color-black);background-position:50%;background-size:cover}.service-areas-page{background:radial-gradient(circle at top right, #cc00001a, transparent 24%), linear-gradient(180deg, var(--color-bg-dark) 0%, var(--color-bg-darker) 100%)}.service-areas-hero{border-bottom:2px solid var(--color-accent-red);padding:clamp(5rem,12vw,9rem) 0 clamp(4rem,9vw,7rem);position:relative}.service-areas-kicker{color:var(--color-accent-red);font-family:var(--font-heading);letter-spacing:2px;text-transform:uppercase;margin-bottom:.6rem;font-size:.95rem;font-weight:700;display:block}.service-areas-h1{font-family:var(--font-heading);color:var(--color-white);text-transform:uppercase;max-width:18ch;margin-bottom:var(--space-md);font-size:clamp(2.8rem,6vw,5.4rem);line-height:1}.service-areas-lede{max-width:65ch;color:var(--color-text-light);margin-bottom:var(--space-md);font-size:1.25rem;line-height:1.6}.service-areas-feature-bar{margin-top:var(--space-md);flex-wrap:wrap;gap:.6rem;display:flex}.service-areas-feature-chip{font-family:var(--font-heading);letter-spacing:1px;text-transform:uppercase;color:var(--color-white);background:#0000008c;border:1px solid #ffffff2e;border-radius:999px;align-items:center;gap:.4rem;padding:.55rem .85rem;font-size:.85rem;display:inline-flex}.service-areas-region-section{background:var(--color-white);color:var(--color-bg-dark);padding:clamp(4rem,8vw,7rem) 0}.service-areas-region-section h2{color:var(--color-bg-dark);font-family:var(--font-heading);text-transform:uppercase;margin-bottom:var(--space-md);max-width:22ch;font-size:clamp(2rem,4vw,3.2rem)}.service-areas-region-section p{max-width:60ch;margin-bottom:var(--space-md);font-size:1.1rem;line-height:1.7}.service-areas-grid{background:var(--color-bg-darker);padding:clamp(4rem,8vw,7rem) 0}.service-areas-grid-header{gap:var(--space-md);margin-bottom:var(--space-xl);flex-direction:column;display:flex}.service-areas-grid-header h2{color:var(--color-white);font-family:var(--font-heading);text-transform:uppercase;max-width:22ch;font-size:clamp(2.2rem,4vw,3.4rem)}.service-areas-grid-header p{color:var(--color-text-muted);max-width:60ch;font-size:1.05rem;line-height:1.6}.service-areas-towns{gap:var(--space-md);grid-template-columns:repeat(auto-fit,minmax(280px,1fr));display:grid}.service-area-tile{border:1px solid var(--color-border);background:var(--color-bg-card);padding:var(--space-lg) var(--space-md);gap:var(--space-sm);color:var(--color-white);flex-direction:column;text-decoration:none;transition:border-color .4s,transform .4s;display:flex;position:relative;overflow:hidden}.service-area-tile:before{content:"";background-color:var(--color-accent-red);z-index:0;transition:transform .4s cubic-bezier(.16,1,.3,1);position:absolute;inset:0;transform:translateY(100%)}.service-area-tile:hover:before{transform:translateY(0)}.service-area-tile:hover{border-color:var(--color-white)}.service-area-tile>*{z-index:1;transition:color .4s;position:relative}.service-area-tile:hover .tile-name,.service-area-tile:hover .tile-parish{color:var(--color-white)}.tile-name{font-family:var(--font-heading);letter-spacing:.5px;text-transform:uppercase;color:var(--color-white);font-size:1.6rem}.tile-parish{font-family:var(--font-heading);letter-spacing:2px;text-transform:uppercase;color:var(--color-accent-red);font-size:.85rem;transition:color .4s}.service-area-tile:hover .tile-parish{color:var(--color-white)}.tile-blurb{color:var(--color-text-muted);font-size:.95rem;line-height:1.55}.service-area-tile:hover .tile-blurb{color:var(--color-white)}.tile-arrow{font-family:var(--font-heading);letter-spacing:1px;color:var(--color-white);opacity:.75;align-self:flex-start;align-items:center;gap:.4rem;font-size:.85rem;transition:transform .4s,opacity .4s;display:inline-flex}.service-area-tile:hover .tile-arrow{opacity:1;transform:translate(6px)}.service-area-page{background:radial-gradient(circle at top right, #cc00001a, transparent 24%), linear-gradient(180deg, var(--color-bg-dark) 0%, var(--color-bg-darker) 100%)}.service-area-hero{border-bottom:2px solid var(--color-accent-red);padding:clamp(5rem,12vw,9rem) 0 clamp(4rem,9vw,7rem);position:relative}.service-area-kicker{color:var(--color-accent-red);font-family:var(--font-heading);letter-spacing:2px;text-transform:uppercase;margin-bottom:.6rem;font-size:.95rem;font-weight:700;display:block}.service-area-h1{font-family:var(--font-heading);color:var(--color-white);text-transform:uppercase;max-width:18ch;margin-bottom:var(--space-md);font-size:clamp(2.6rem,6vw,5rem);line-height:1}.service-area-meta-row{margin-bottom:var(--space-md);flex-wrap:wrap;gap:.75rem;display:flex}.service-area-meta-chip{font-family:var(--font-heading);letter-spacing:1px;text-transform:uppercase;color:var(--color-white);background:#0000008c;border:1px solid #ffffff2e;border-radius:999px;align-items:center;gap:.45rem;padding:.55rem .85rem;font-size:.85rem;display:inline-flex}.service-area-lede{max-width:60ch;color:var(--color-text-light);font-size:1.2rem;line-height:1.6}.service-area-section{background:var(--color-white);color:var(--color-bg-dark);padding:clamp(4rem,8vw,7rem) 0}.service-area-section.alt{background:var(--color-bg-card);color:var(--color-text-light)}.service-area-section h2{color:inherit;font-family:var(--font-heading);text-transform:uppercase;letter-spacing:.5px;margin-bottom:var(--space-md);font-size:clamp(1.9rem,3.5vw,3rem)}.service-area-section p{max-width:60ch;margin-bottom:var(--space-md);font-size:1.1rem;line-height:1.7}.service-area-grid{gap:var(--space-xl);grid-template-columns:1fr;display:grid}@media (width>=900px){.service-area-grid{align-items:start;gap:var(--space-2xl);grid-template-columns:1.4fr 1fr}}.service-area-services{gap:var(--space-md);flex-direction:column;display:flex}.service-area-service-card{border:1px solid var(--color-border);background:var(--color-bg-darker);padding:var(--space-md) var(--space-lg);color:var(--color-white);text-decoration:none;transition:border-color .4s,transform .4s;display:block;position:relative}.service-area-service-card:hover{border-color:var(--color-accent-red);transform:translateY(-4px)}.service-area-service-card h3{color:var(--color-white);font-family:var(--font-heading);letter-spacing:.5px;margin-bottom:.4rem;font-size:1.4rem}.service-area-service-card p{color:var(--color-text-muted);max-width:none;margin:0;font-size:.95rem;line-height:1.5}.service-area-notable{border-left:3px solid var(--color-accent-red);padding:var(--space-md) var(--space-lg);color:inherit;background:#cc00000d}.service-area-notable strong{font-family:var(--font-heading);text-transform:uppercase;letter-spacing:1px;color:var(--color-accent-red);margin-bottom:.4rem;font-size:.85rem;display:block}.service-area-faq{background:var(--color-bg-darker);border-top:1px solid var(--color-border);padding:clamp(4rem,8vw,7rem) 0}.service-area-faq-answer{max-width:60ch;color:var(--color-text-light);font-size:1.15rem;line-height:1.7}.service-area-cross-links{background:var(--color-white);color:var(--color-bg-dark);padding:clamp(4rem,8vw,7rem) 0}.service-area-cross-links h2{color:var(--color-bg-dark);font-family:var(--font-heading);text-transform:uppercase;margin-bottom:var(--space-md);font-size:clamp(1.6rem,3vw,2.4rem)}.service-area-cross-list{flex-wrap:wrap;gap:.6rem;display:flex}.service-area-cross-list a{border:1px solid var(--color-border);background:var(--color-bg-darker);color:var(--color-white);font-family:var(--font-heading);text-transform:uppercase;letter-spacing:1px;align-items:center;gap:.4rem;padding:.6rem 1rem;font-size:.85rem;text-decoration:none;transition:background-color .2s,color .2s;display:inline-flex}.service-area-cross-list a:hover{background:var(--color-accent-red);color:var(--color-white)}.service-area-cta{background:var(--color-bg-darker);border-top:1px solid var(--color-border)}.service-area-back{color:var(--color-text-muted);font-family:var(--font-heading);letter-spacing:1px;text-transform:uppercase;margin-bottom:var(--space-md);align-items:center;gap:.45rem;font-size:.9rem;text-decoration:none;display:inline-flex}.service-area-back:hover{color:var(--color-accent-red)}.faq-section{background-color:var(--color-white);padding:var(--spacing-section) 0}.faq-list{margin-top:var(--space-xl);border-top:2px solid var(--color-black);flex-direction:column;display:flex}.faq-item{border-bottom:2px solid var(--color-black);transition:background-color .3s}.faq-item.open,.faq-item:hover{background-color:var(--color-bg-light)}.faq-question{width:100%;padding:var(--space-lg) 0;cursor:pointer;text-align:left;color:var(--color-bg-dark);background:0 0;border:none;justify-content:space-between;align-items:center;display:flex}.faq-question h3{font-family:var(--font-heading);text-transform:uppercase;padding-right:var(--space-md);flex:1;margin:0;font-size:clamp(1.5rem,3vw,2rem);transition:color .3s}.faq-item.open .faq-question h3{color:var(--color-accent-red)}.faq-icon{width:48px;height:48px;color:var(--color-bg-dark);justify-content:center;align-items:center;transition:color .3s,transform .3s;display:flex}.faq-item.open .faq-icon{color:var(--color-accent-red);transform:rotate(180deg)}.faq-answer-wrapper{overflow:hidden}.faq-answer{padding-bottom:var(--space-lg);padding-right:48px}.faq-answer p{font-family:var(--font-body);color:#000;margin:0;font-size:1.15rem;line-height:1.6}.faqTitle{color:var(--color-accent-red)}.contact-cta{background-color:var(--color-bg-dark)}.contact-grid{border:1px solid var(--color-border);grid-template-columns:1fr;gap:0;display:grid}@media (width>=768px){.contact-grid{grid-template-columns:1fr 2fr}}.contact-info{background-color:var(--color-accent-red);color:var(--color-white);padding:var(--space-xl) var(--space-md)}.contact-info h3{margin-bottom:var(--space-xl);font-size:2rem}.contact-item{gap:var(--space-md);margin-bottom:var(--space-md);display:flex}.contact-item:last-child{margin-bottom:0}.contact-icon{flex-shrink:0;margin-top:.25rem}.contact-label{text-transform:uppercase;letter-spacing:1px;opacity:.8;margin-bottom:.25rem;font-size:.75rem;display:block}.contact-value{color:var(--color-white);font-size:1.1rem;font-weight:500;display:block}.contact-value:hover{color:var(--color-white);opacity:.9}.contact-address-link span{display:block}.quote-form-container{background-color:var(--color-white);padding:var(--space-xl)}.quote-form{gap:var(--space-md);flex-direction:column;display:flex}.form-row{gap:var(--space-md);grid-template-columns:repeat(auto-fit,minmax(200px,1fr));display:grid}.quote-form input,.quote-form select,.quote-form textarea{width:100%;font-family:var(--font-body);color:var(--color-bg-dark);background-color:#0000;border:1px solid #ccc;border-radius:0;padding:1rem;font-size:1rem;transition:border-color .2s}.quote-form input:focus,.quote-form select:focus,.quote-form textarea:focus{border-color:var(--color-accent-red);outline:none}.quote-form textarea{resize:vertical}.submit-btn{width:100%;margin-top:.5rem;padding:1.25rem;font-size:1.1rem}.file-upload-wrapper{flex-direction:column;gap:.5rem;margin-bottom:1rem;display:flex}.file-upload-label{font-family:var(--font-primary);color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.05em;font-size:.9rem}.file-upload-input{background-color:var(--color-surface);border:1px solid var(--color-border);color:var(--color-text);font-family:var(--font-secondary);cursor:pointer;border-radius:2px;padding:.8rem;font-size:.95rem;transition:all .3s}.file-upload-input:focus{border-color:var(--color-primary);box-shadow:0 0 0 1px var(--color-primary);outline:none}.file-upload-input::file-selector-button{background-color:var(--color-primary);color:var(--color-bg);font-family:var(--font-primary);text-transform:uppercase;letter-spacing:.05em;cursor:pointer;border:none;border-radius:2px;margin-right:1rem;padding:.5rem 1rem;font-weight:700;transition:all .3s}.file-upload-input::file-selector-button:hover{background-color:var(--color-text)}.projects-page{background:radial-gradient(circle at top left, #cc000026, transparent 30%), linear-gradient(180deg, var(--color-bg-dark) 0%, var(--color-bg-darker) 100%)}.projects-listing{padding-top:clamp(4rem,8vw,6rem)}.projects-grid{grid-template-columns:1fr;gap:clamp(1.25rem,2vw,2rem);display:grid}.project-card{background:var(--color-bg-card);border:1px solid #ffffff14;min-height:340px;position:relative;overflow:hidden}.project-card-link{min-height:inherit;height:100%;display:block;position:relative}.project-card-image{background-position:50%;background-size:cover;transition:transform .75s cubic-bezier(.16,1,.3,1);position:absolute;inset:0;transform:scale(1)}.project-card-overlay{background:linear-gradient(#00000024 0%,#0000006b 55%,#000000f0 100%),linear-gradient(90deg,#cc000024,#0000 35%);position:absolute;inset:0}.project-card-content{z-index:1;flex-direction:column;justify-content:flex-end;height:100%;min-height:340px;padding:clamp(1.5rem,2.5vw,2.75rem);display:flex;position:relative}.project-card-topline{flex-wrap:wrap;gap:.75rem;margin-bottom:.9rem;display:flex}.project-card-kicker,.project-card-count{color:var(--color-white);letter-spacing:.4px;background:#ffffff1a;border-radius:999px;align-items:center;gap:.4rem;padding:.45rem .7rem;font-size:.85rem;display:inline-flex}.project-card h3{margin-bottom:.5rem;font-size:clamp(1.9rem,4vw,3rem)}.project-card p{max-width:40ch;color:var(--color-text-light);margin-bottom:1.1rem}.project-card-action{width:fit-content;color:var(--color-white);font-family:var(--font-heading);letter-spacing:1px;text-transform:uppercase;align-items:center;gap:.45rem;display:inline-flex}.project-card:hover .project-card-image{transform:scale(1.06)}.project-card:hover .project-card-action{color:var(--color-accent-red)}@media (width>=768px){.projects-grid{grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-rows:360px}}@media (width<=767px){.project-card-content{padding:var(--space-lg)}}.project-detail-page{background:radial-gradient(circle at top right, #cc00001f, transparent 24%), linear-gradient(180deg, var(--color-bg-dark) 0%, var(--color-bg-darker) 100%)}.project-detail-hero{background:var(--color-bg-darker);align-items:flex-end;min-height:clamp(34rem,78vh,52rem);display:flex;position:relative;overflow:hidden}.project-detail-hero--missing{min-height:clamp(24rem,55vh,38rem)}.project-detail-hero-image,.project-detail-hero-overlay{position:absolute;inset:0}.project-detail-hero-image{filter:saturate(.82)brightness(.72);background-position:50%;background-size:cover;transform:scale(1.03)}.project-detail-hero-overlay{background:linear-gradient(#03030361 0%,#030303b3 52%,#030303fa 100%),linear-gradient(90deg,#000000e0 0%,#00000094 48%,#00000038 100%),linear-gradient(90deg,#c003,#0000 45%)}.project-detail-hero-content{z-index:1;padding-top:calc(var(--spacing-section) * .75);padding-bottom:calc(var(--spacing-section) * .9);max-width:900px;position:relative}.project-detail-back-link,.project-detail-inline-link{color:var(--color-white);font-family:var(--font-heading);letter-spacing:1px;text-transform:uppercase;align-items:center;gap:.45rem;display:inline-flex}.project-detail-back-link{text-shadow:0 1px 3px #000c;background:#00000094;border:1px solid #ffffff47;padding:.65rem .85rem}.project-detail-cta{align-items:center;gap:.5rem;display:inline-flex}.project-detail-kicker{color:#ff756b;letter-spacing:2px;text-shadow:0 1px 3px #000000e6;margin-top:1.5rem;margin-bottom:.9rem;font-size:.95rem;font-weight:700;display:block}.project-detail-hero h1{max-width:11ch;color:var(--color-white);text-shadow:0 3px 18px #000000e0;margin-bottom:1rem;font-size:clamp(3rem,7vw,6rem)}.project-detail-hero h1.project-detail-title--long{max-width:15ch;font-size:clamp(2.55rem,6vw,5.2rem)}.project-detail-meta{flex-wrap:wrap;gap:.75rem;margin-bottom:1.25rem;display:flex}.project-detail-meta span{color:var(--color-white);text-shadow:0 1px 3px #000000bf;background:#000000a3;border:1px solid #ffffff3d;border-radius:999px;align-items:center;gap:.4rem;padding:.55rem .8rem;font-size:.9rem;display:inline-flex}.project-detail-description{max-width:60ch;color:var(--color-white);text-shadow:0 2px 8px #000000e0;font-size:1.08rem;line-height:1.7}.project-detail-overview{padding-top:var(--space-2xl)}.project-detail-grid{gap:var(--space-xl);grid-template-columns:minmax(0,1.1fr) minmax(320px,.9fr);align-items:start;display:grid}.project-detail-copy h2{max-width:12ch;font-size:clamp(2.2rem,4.5vw,4rem)}.project-detail-copy p{max-width:60ch;color:var(--color-text-muted);margin-bottom:1rem}.project-detail-inline-link{margin-top:.75rem}.project-detail-facts{background:var(--color-border);border:1px solid var(--color-border);gap:1px;display:grid}.project-detail-facts div{background:#111111f2;gap:.4rem;padding:1.25rem;display:grid}.project-detail-facts span{color:var(--color-text-muted);letter-spacing:1.5px;text-transform:uppercase;font-size:.82rem}.project-detail-facts strong{font-family:var(--font-heading);letter-spacing:.7px;font-size:1.15rem}.project-gallery-section{padding-top:var(--space-2xl)}.project-gallery-grid{gap:var(--space-md);grid-template-columns:1fr;display:grid}.project-gallery-item{background:var(--color-bg-card);border:1px solid #ffffff14;min-height:260px;margin:0;position:relative;overflow:hidden}.project-gallery-item img{object-fit:cover;object-position:center;width:100%;height:100%;position:absolute;inset:0}.project-gallery-item--portrait{min-height:clamp(440px,135vw,620px)}.project-gallery-item.primary{min-height:400px}@media (width>=768px){.project-gallery-grid{grid-template-columns:repeat(12,1fr)}.project-gallery-item.primary{grid-column:span 12;min-height:480px}.project-gallery-item:not(.primary){grid-column:span 6;min-height:340px}.project-gallery-item--wide:not(.primary){grid-column:span 8}.project-gallery-item--portrait:not(.primary){min-height:calc(680px + var(--space-md));grid-area:span 2/span 4}}@media (width<=900px){.project-detail-grid{grid-template-columns:1fr}}@media (width<=767px){.project-detail-hero-content{padding-bottom:var(--space-xl)}.project-gallery-item.primary{min-height:320px}}:root{--color-bg-dark:#111;--color-bg-darker:#080808;--color-accent-red:#c00;--color-accent-red-hover:#e60000;--color-text-light:#f5f5f5;--color-text-muted:#a0a0a0;--color-bg-card:#1a1a1a;--color-border:#333;--color-white:#fff;--font-heading:"Oswald", sans-serif;--font-body:"Inter", sans-serif;--space-xs:.5rem;--space-sm:1rem;--space-md:2rem;--space-lg:3rem;--space-xl:4.5rem;--space-2xl:8rem;--container-width:1200px;--spacing-section:clamp(4rem, 10vw, 8rem);--spacing-element:var(--space-md)}*{box-sizing:border-box;margin:0;padding:0}body{font-family:var(--font-body);background-color:var(--color-bg-dark);color:var(--color-text-light);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;line-height:1.6}h1,h2,h3,h4,h5,h6{font-family:var(--font-heading);text-transform:uppercase;margin-bottom:1rem;line-height:1.2}a{color:inherit;text-decoration:none;transition:color .2s}a:hover{color:var(--color-accent-red)}ul{list-style:none}.container{max-width:var(--container-width);margin:0 auto;padding:0 2rem}.text-red{color:var(--color-accent-red)}.bg-red{background-color:var(--color-accent-red);color:var(--color-white)}.btn{font-family:var(--font-heading);text-transform:uppercase;letter-spacing:1px;cursor:pointer;border:none;padding:1.25rem 2.5rem;font-size:1.05rem;font-weight:500;transition:all .2s;display:inline-block}.btn-primary{background-color:var(--color-accent-red);color:var(--color-white)}.btn-primary:hover{background-color:var(--color-accent-red-hover)}.btn-white{background-color:var(--color-white);color:var(--color-bg-dark)}.btn-white:hover{background-color:#f0f0f0}section{padding:var(--spacing-section) 0}.section-title{text-align:left;margin-bottom:var(--space-xl);max-width:800px}.section-title h2{letter-spacing:1px;font-size:3.5rem;font-weight:700}.section-subtitle{color:var(--color-accent-red);text-transform:uppercase;letter-spacing:2px;margin-bottom:.5rem;font-size:1rem;font-weight:700;display:block}
