/*
Theme Name: Legacy One Mechanical
Theme URI: https://example.com/
Author: Pro Developer
Description: A responsive one-page service website for Legacy One Mechanical LLC, with directional scroll animations and a 3D gallery.
Version: 1.0.0
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: legacy-one-mechanical
*/


    :root{--red:#ed1c24;--deep:#a90d12;--ink:#050505;--panel:#101010;--panel2:#171717;--white:#fff;--muted:#a9a9ad;--line:#292929;--radius:22px;--shadow:0 24px 70px rgba(0,0,0,.44)}
    *{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:116px}body{margin:0;background:var(--ink);color:var(--white);font-family:Arial,Helvetica,sans-serif;line-height:1.6;overflow-x:hidden}body.menu-open{overflow:hidden}a{color:inherit;text-decoration:none}img{display:block;max-width:100%}button,input,select,textarea{font:inherit}.wrap{width:min(1180px,calc(100% - 40px));margin:auto}.eyebrow{display:inline-flex;align-items:center;gap:9px;color:#ff4d53;font-size:.76rem;font-weight:900;letter-spacing:.16em;text-transform:uppercase}.eyebrow:before{content:"";width:26px;height:2px;background:var(--red)}h1,h2,h3,p{margin-top:0}h1,h2,h3{line-height:1.05}h2{font-size:clamp(2.2rem,5vw,4.3rem);letter-spacing:-.045em;margin:15px 0 18px}.accent{color:var(--red)}.muted{color:var(--muted)}section{padding:104px 0}.btn{border:0;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:52px;padding:0 23px;border-radius:999px;font-weight:900;font-size:.85rem;letter-spacing:.04em;text-transform:uppercase;transition:.25s ease}.btn-primary{background:linear-gradient(135deg,#ff3037,var(--deep));box-shadow:0 12px 30px rgba(237,28,36,.27)}.btn-primary:hover{transform:translateY(-3px);box-shadow:0 18px 36px rgba(237,28,36,.38)}.btn-outline{border:1px solid #686868;background:rgba(8,8,8,.68)}.btn-outline:hover{border-color:var(--red);background:#1b090a}.topbar{height:35px;background:#0c0c0c;border-bottom:1px solid #272727;overflow:hidden;color:#d5d5d5;font-weight:800;font-size:.68rem;letter-spacing:.12em;text-transform:uppercase;display:flex;align-items:center}.ticker{display:flex;width:max-content;animation:ticker 27s linear infinite}.ticker span{white-space:nowrap;padding-right:44px}.ticker b{color:var(--red);padding:0 16px}@keyframes ticker{to{transform:translateX(-50%)}}
    .site-head{position:sticky;top:0;z-index:50;background:rgba(5,5,5,.88);border-bottom:1px solid rgba(255,255,255,.1);backdrop-filter:blur(17px)}.nav{height:84px;display:grid;grid-template-columns:260px 1fr 200px;align-items:center;gap:20px}.brand img{height:68px;width:auto;max-width:245px;object-fit:contain;filter:drop-shadow(0 7px 14px rgba(0,0,0,.55))}.navlinks{display:flex;justify-content:center;gap:28px}.navlinks a{font-size:.75rem;font-weight:900;letter-spacing:.08em;text-transform:uppercase;color:#ccc;position:relative}.navlinks a:after{content:"";position:absolute;height:2px;left:0;right:100%;bottom:-8px;background:var(--red);transition:.25s}.navlinks a:hover{color:#fff}.navlinks a:hover:after{right:0}.nav .call{justify-self:end}.menu-btn{display:none;background:transparent;border:1px solid #333;border-radius:12px;width:48px;height:46px;padding:12px}.menu-btn i{display:block;height:2px;background:#fff;margin:5px 0}
    .hero{min-height:750px;padding:0;position:relative;isolation:isolate;display:flex;align-items:center;background:#080808}.hero:before{content:"";position:absolute;inset:0;background-image:linear-gradient(90deg,rgba(3,3,3,.99) 0%,rgba(3,3,3,.88) 42%,rgba(3,3,3,.25) 76%,rgba(3,3,3,.5)),linear-gradient(0deg,#050505 0%,transparent 32%),url('assets/images/eb7078bc44bffd17.jpg');background-size:cover;background-position:center 42%;z-index:-2}.hero:after{content:"";position:absolute;inset:0;background:radial-gradient(circle at 76% 35%,rgba(237,28,36,.16),transparent 26%),repeating-linear-gradient(110deg,transparent 0 100px,rgba(255,255,255,.018) 102px 103px);z-index:-1}.hero-copy{max-width:760px;padding:112px 0 96px}.hero h1{font-size:clamp(3.5rem,8vw,7.4rem);letter-spacing:-.067em;text-transform:uppercase;margin:17px 0 25px}.hero h1 span{display:block}.hero p{font-size:1.1rem;color:#c5c5c5;max-width:610px}.hero-actions{display:flex;gap:13px;margin:35px 0}.trust{display:flex;gap:26px;flex-wrap:wrap;margin-top:38px;font-weight:800;font-size:.77rem;text-transform:uppercase;letter-spacing:.06em}.trust span:before{content:"✓";color:var(--red);margin-right:8px}.hero-badge{position:absolute;right:max(20px,calc((100vw - 1180px)/2));bottom:70px;background:rgba(10,10,10,.83);border:1px solid #444;border-left:4px solid var(--red);border-radius:16px;padding:18px 22px;box-shadow:var(--shadow);backdrop-filter:blur(12px)}.hero-badge strong{font-size:1.55rem;display:block}.hero-badge small{color:#bbb;text-transform:uppercase;font-weight:800;letter-spacing:.08em}
    .about-grid{display:grid;grid-template-columns:.95fr 1.05fr;gap:74px;align-items:center}.about-visual{min-height:570px;position:relative}.about-visual .main{width:82%;height:520px;object-fit:cover;border-radius:var(--radius);filter:saturate(.82) contrast(1.05)}.about-visual .small{position:absolute;width:52%;height:250px;right:0;bottom:0;object-fit:cover;border:8px solid var(--ink);border-radius:18px}.experience{position:absolute;left:22px;bottom:25px;background:var(--red);padding:20px;border-radius:16px;z-index:2;text-transform:uppercase;font-weight:900;line-height:1.1}.experience strong{display:block;font-size:2.25rem}.about-copy p{color:#aaa;font-size:1.03rem}.about-list{display:grid;grid-template-columns:1fr 1fr;gap:13px;margin:28px 0}.about-list div{background:#111;border:1px solid #242424;padding:15px;border-radius:12px;font-weight:800}.about-list div:before{content:"";display:inline-block;width:8px;height:8px;border:2px solid var(--red);transform:rotate(45deg);margin-right:12px}
    .services{background:#0a0a0a;border-block:1px solid #171717}.section-head{display:flex;justify-content:space-between;align-items:end;gap:30px;margin-bottom:45px}.section-head p{max-width:440px}.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.card{background:linear-gradient(145deg,#161616,#0c0c0c);border:1px solid #292929;border-radius:var(--radius);overflow:hidden;transition:.35s;position:relative}.card:hover{transform:translateY(-8px);border-color:#762127;box-shadow:0 24px 55px rgba(0,0,0,.48)}.card-img{height:238px;overflow:hidden;background:#181818}.card-img img{width:100%;height:100%;object-fit:cover;transition:.6s}.card:hover img{transform:scale(1.055)}.card-body{padding:27px}.num{color:var(--red);font-size:.71rem;font-weight:900;letter-spacing:.14em}.card h3{font-size:1.4rem;margin:10px 0 12px}.card p{color:#999;font-size:.91rem;margin-bottom:0}.service-strip{margin-top:22px;display:grid;grid-template-columns:repeat(2,1fr);gap:22px}.wide-card{min-height:310px;border:1px solid #2b2b2b;border-radius:var(--radius);padding:34px;display:flex;align-items:end;background-size:cover;background-position:center;position:relative;overflow:hidden}.wide-card:after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,#080808 5%,rgba(8,8,8,.18))}.wide-card div{position:relative;z-index:2}.wide-card h3{font-size:1.7rem;margin:8px 0}.wide-card p{margin:0;color:#bbb}
    .why-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:62px;align-items:center}.why-photo{height:620px;object-fit:cover;border-radius:var(--radius);box-shadow:var(--shadow)}.features{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:34px}.feature{padding:20px;border:1px solid #2a2a2a;background:#101010;border-radius:15px}.feature svg{width:28px;color:var(--red);margin-bottom:15px}.feature h3{font-size:1rem;margin-bottom:8px}.feature p{font-size:.84rem;color:#999;margin:0}
    .statement{padding:64px 0;background:linear-gradient(110deg,#a90910,#ed1c24);text-transform:uppercase}.statement .wrap{display:flex;align-items:center;justify-content:space-between;gap:30px}.statement h2{margin:0;font-size:clamp(2rem,5vw,4.4rem);max-width:800px}.statement .btn{background:#fff;color:#111;flex:none}
    .gallery{background:#090909}.gallery-grid{display:grid;grid-template-columns:repeat(4,1fr);grid-auto-rows:230px;gap:13px}.gallery-item{overflow:hidden;border-radius:16px;position:relative;background:#151515}.gallery-item:first-child{grid-column:span 2;grid-row:span 2}.gallery-item:nth-child(6){grid-column:span 2}.gallery-item img{width:100%;height:100%;object-fit:cover;transition:.55s}.gallery-item:after{content:attr(data-label);position:absolute;inset:auto 0 0;padding:50px 18px 15px;background:linear-gradient(transparent,rgba(0,0,0,.9));font-weight:900;text-transform:uppercase;letter-spacing:.07em;font-size:.74rem;opacity:0;transition:.3s}.gallery-item:hover img{transform:scale(1.07)}.gallery-item:hover:after{opacity:1}
    .forms-section{background:radial-gradient(circle at 18% 30%,rgba(237,28,36,.11),transparent 25%),#070707}.form-grid{display:grid;grid-template-columns:.72fr 1.28fr;gap:60px;align-items:start}.contact-list{margin:32px 0}.contact-row{display:flex;gap:16px;border-bottom:1px solid #252525;padding:18px 0}.contact-icon{width:42px;height:42px;border:1px solid #5f1a1e;color:var(--red);border-radius:12px;display:grid;place-items:center;font-weight:900;flex:none}.contact-row small{display:block;color:#777;text-transform:uppercase;letter-spacing:.11em;font-weight:900}.contact-row a,.contact-row strong{font-size:1.04rem}.form-card{background:#111;border:1px solid #2a2a2a;border-radius:var(--radius);padding:38px;box-shadow:var(--shadow)}.form-card h3{font-size:1.8rem;margin-bottom:25px}.fields{display:grid;grid-template-columns:1fr 1fr;gap:17px}.field.full{grid-column:1/-1}.field label{display:block;color:#aaa;font-size:.72rem;text-transform:uppercase;font-weight:900;letter-spacing:.09em;margin:0 0 7px 4px}.field input,.field select,.field textarea{width:100%;background:#080808;border:1px solid #303030;border-radius:12px;color:#fff;padding:14px 15px;outline:none}.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--red);box-shadow:0 0 0 3px rgba(237,28,36,.1)}.field textarea{height:122px;resize:vertical}.form-card .btn{width:100%;margin-top:18px}.form-note{display:none;background:#142616;border:1px solid #295a2e;color:#d8ffdc;padding:12px;border-radius:10px;margin-top:14px}
    footer{background:#030303;border-top:1px solid #232323;padding:65px 0 20px}.footer-grid{display:grid;grid-template-columns:1.3fr .75fr 1fr 1fr;gap:42px}.footer-brand img{width:240px;max-height:110px;object-fit:contain;object-position:left center}.footer-brand p{color:#888;max-width:350px;margin-top:18px}.footer h3{font-size:.9rem;text-transform:uppercase;letter-spacing:.1em;margin:18px 0}.footer-links{display:grid;gap:9px;color:#8e8e8e;font-size:.9rem}.footer-links a:hover{color:var(--red)}.copyright{border-top:1px solid #1e1e1e;margin-top:45px;padding-top:20px;display:flex;justify-content:space-between;color:#6d6d6d;font-size:.78rem}.credit{color:#aaa}
    @media(max-width:980px){.nav{grid-template-columns:1fr auto auto}.navlinks{display:none;position:fixed;top:119px;left:0;right:0;height:calc(100vh - 119px);background:#070707;padding:38px 22px;flex-direction:column;justify-content:start;align-items:center}.navlinks.open{display:flex}.navlinks a{font-size:1rem}.menu-btn{display:block}.nav .call{display:none}.hero-badge{display:none}.about-grid,.why-grid,.form-grid{grid-template-columns:1fr}.cards{grid-template-columns:repeat(2,1fr)}.footer-grid{grid-template-columns:1fr 1fr}.why-photo{height:480px}.gallery-grid{grid-template-columns:repeat(3,1fr)}}
    @media(max-width:650px){.wrap{width:min(100% - 28px,1180px)}section{padding:74px 0}.topbar{height:31px}.nav{height:72px}.navlinks{top:103px;height:calc(100vh - 103px)}.brand img{height:58px;max-width:200px}.hero{min-height:690px}.hero:before{background-image:linear-gradient(90deg,rgba(3,3,3,.92),rgba(3,3,3,.56)),linear-gradient(0deg,#050505 0%,transparent 55%),url('assets/images/eb7078bc44bffd17.jpg');background-position:63% center}.hero-copy{padding:90px 0 75px}.hero h1{font-size:clamp(3rem,15vw,5.2rem)}.hero-actions{flex-direction:column;align-items:stretch}.trust{gap:13px;flex-direction:column}.section-head{align-items:start;flex-direction:column}.about-grid{gap:42px}.about-visual{min-height:430px}.about-visual .main{height:400px;width:89%}.about-visual .small{height:190px}.experience{left:10px;bottom:8px}.about-list,.cards,.service-strip,.features,.fields{grid-template-columns:1fr}.gallery-grid{grid-template-columns:1fr 1fr;grid-auto-rows:190px}.gallery-item:first-child,.gallery-item:nth-child(6){grid-column:span 2}.gallery-item:first-child{grid-row:span 1}.statement .wrap{align-items:start;flex-direction:column}.form-card{padding:24px}.footer-grid{grid-template-columns:1fr}.copyright{gap:10px;flex-direction:column}}
  
/* Directional section entrances and dimensional cards */
@keyframes legacyHeroEnter{from{opacity:0;transform:translate3d(-72px,0,0)}to{opacity:1;transform:none}}
.hero h1,.hero .eyebrow{animation:legacyHeroEnter .95s both}.hero h1{animation-delay:.14s}
.scroll-active .slide-in{opacity:0;filter:blur(5px);transition:transform .9s cubic-bezier(.16,.8,.2,1),opacity .8s ease,filter .9s ease;transition-delay:var(--slide-delay,0ms)}
.scroll-active .slide-in.from-left{transform:translate3d(-95px,0,0) rotateY(-7deg)}
.scroll-active .slide-in.from-right{transform:translate3d(95px,0,0) rotateY(7deg)}
.scroll-active .slide-in.from-up{transform:translate3d(0,-75px,0) rotateX(6deg)}
.scroll-active .slide-in.from-down{transform:translate3d(0,85px,0) rotateX(-6deg)}
.scroll-active .slide-in.in-view{opacity:1;filter:none;transform:none}
.card{transform-style:preserve-3d;transition:transform .35s ease,box-shadow .35s ease,border-color .35s ease}
.card:hover{transform:perspective(850px) rotateX(3deg) rotateY(-3deg) translateY(-7px);box-shadow:0 26px 46px #000b}
/* 3D coverflow keeps all existing gallery photos */
.gallery-grid.is-3d{display:block;position:relative;height:445px;max-width:1050px;margin:14px auto 0;perspective:1100px;overflow:visible;touch-action:pan-y}
.gallery-grid.is-3d .gallery-item,.gallery-grid.is-3d .gallery-item:first-child,.gallery-grid.is-3d .gallery-item:nth-child(6){display:block;position:absolute;left:50%;top:22px;width:58%;height:360px;grid-column:auto;grid-row:auto;cursor:pointer;transform-origin:center;box-shadow:0 24px 52px #000b;border:1px solid #5d3032;transition:transform .5s cubic-bezier(.18,.8,.2,1),opacity .5s,filter .5s;backface-visibility:hidden}
.gallery-grid.is-3d .gallery-item[data-position="0"]{transform:translateX(-50%) translateZ(115px);z-index:5;opacity:1;filter:none}
.gallery-grid.is-3d .gallery-item[data-position="-1"]{transform:translateX(-108%) rotateY(39deg) scale(.79);z-index:4;opacity:.8;filter:brightness(.65)}
.gallery-grid.is-3d .gallery-item[data-position="1"]{transform:translateX(8%) rotateY(-39deg) scale(.79);z-index:4;opacity:.8;filter:brightness(.65)}
.gallery-grid.is-3d .gallery-item[data-position="hidden"]{transform:translateX(-50%) scale(.55);z-index:1;opacity:0;pointer-events:none}
.gallery-grid.is-3d .gallery-item:after{opacity:1}
.gallery-controls{display:flex;gap:18px;align-items:center;justify-content:center;margin-top:4px}
.gallery-controls button,.gallery-modal button{width:49px;height:49px;display:grid;place-items:center;border:1px solid var(--red);border-radius:50%;background:#171717;color:#fff;font-size:27px;cursor:pointer}
.gallery-controls button:hover,.gallery-modal button:hover{background:var(--red)}.gallery-count{min-width:78px;text-align:center;font-size:12px;letter-spacing:.14em;font-weight:800;color:#aaa}.gallery-instruction{text-align:center;color:#999;font-size:13px;margin:14px 0 0}
.gallery-modal{position:fixed;inset:0;background:#020202f2;z-index:999;display:none;align-items:center;justify-content:center;padding:55px 72px}.gallery-modal.open{display:flex}.gallery-modal figure{margin:0;max-width:min(100%,1150px);max-height:100%;display:flex;align-items:center;flex-direction:column;gap:10px}.gallery-modal img{display:block;max-width:100%;max-height:calc(100vh - 120px);object-fit:contain;border-radius:10px;box-shadow:0 30px 80px #000}.gallery-modal figcaption{color:#eee;font-size:12px;text-transform:uppercase;font-weight:900;letter-spacing:.1em}.gallery-modal button{position:absolute}.gallery-modal .close{top:16px;right:18px}.gallery-modal .previous{left:15px}.gallery-modal .following{right:15px}
@media(max-width:760px){.gallery-grid.is-3d{height:310px}.gallery-grid.is-3d .gallery-item,.gallery-grid.is-3d .gallery-item:first-child,.gallery-grid.is-3d .gallery-item:nth-child(6){width:82%;height:245px;top:12px}.gallery-grid.is-3d .gallery-item[data-position="0"]{transform:translateX(-50%) translateZ(55px)}.gallery-grid.is-3d .gallery-item[data-position="-1"]{transform:translateX(-89%) rotateY(35deg) scale(.75)}.gallery-grid.is-3d .gallery-item[data-position="1"]{transform:translateX(-11%) rotateY(-35deg) scale(.75)}.gallery-modal{padding:45px 14px}.gallery-modal button{width:42px;height:42px}.gallery-modal .previous{left:4px}.gallery-modal .following{right:4px}.scroll-active .slide-in.from-left{transform:translate3d(-47px,0,0)}.scroll-active .slide-in.from-right{transform:translate3d(47px,0,0)}}
@media(prefers-reduced-motion:reduce){.hero h1,.hero .eyebrow{animation:none}.scroll-active .slide-in{opacity:1!important;filter:none!important;transform:none!important;transition:none!important}.gallery-grid.is-3d .gallery-item{transition:none}}
