/*
Theme Name: OPTIMAL Elevator Pro
Theme URI: https://optimalelevator.com/
Author: OPTIMAL TECHNOLOGIES
Description: Original professional WordPress theme for elevator and vertical transportation companies.
Version: 2.5.0
Requires at least: 6.0
Requires PHP: 7.4
License: GPL v2 or later
Text Domain: optimal-elevator-pro
*/
:root{--n:#071827;--b:#0d3554;--g:#f5b82e;--ink:#182632;--m:#687684;--bg:#f6f8fa;--w:#fff;--l:#dfe6eb;--s:0 16px 45px rgba(7,24,39,.12)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Arial,Helvetica,sans-serif;color:var(--ink);line-height:1.7}a{text-decoration:none;color:inherit}img{max-width:100%;height:auto}.container{width:min(1180px,92%);margin:auto}.topbar{background:#04111d;color:#cbd7e0;font-size:13px;padding:9px 0}.topbar .container{display:flex;justify-content:space-between}.site-header{background:#fff;border-bottom:1px solid var(--l);position:sticky;top:32px;z-index:100}.nav{min-height:82px;display:flex;align-items:center;justify-content:space-between;gap:25px}.brand{font-size:24px;font-weight:900;color:var(--n)}.brand span{color:var(--g)}.nav ul{display:flex;list-style:none;padding:0;margin:0;gap:27px}.nav li a{font-size:14px;font-weight:800}.nav li a:hover{color:#c58a00}.nav-cta,.primary{background:var(--g);color:#111}.nav-cta{padding:11px 17px;border-radius:5px}.toggle{display:none;border:0;background:var(--n);color:#fff;border-radius:5px;padding:10px 13px}.hero{overflow:hidden;background:linear-gradient(120deg,#061523,#0d3554 60%,#154c72);color:#fff;padding:115px 0 105px}.hero-grid{display:grid;grid-template-columns:1.08fr .92fr;gap:55px;align-items:center}.tag{font-size:12px;letter-spacing:2.5px;font-weight:900;color:var(--g);text-transform:uppercase}.hero h1{font-size:clamp(42px,5.2vw,72px);line-height:1.02;margin:16px 0 20px}.hero p{font-size:18px;color:#d8e5ee;max-width:650px}.actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:30px}.btn{display:inline-flex;padding:13px 22px;border-radius:5px;font-weight:900}.outline{border:1px solid #8ea6b8;color:#fff}.visual{min-height:400px;border-radius:18px;background:linear-gradient(145deg,#183f5e,#082035);border:1px solid #ffffff26;box-shadow:var(--s);display:flex;align-items:center;justify-content:center}.lift{width:185px;height:285px;border:8px solid #cfd9df;background:linear-gradient(90deg,#7890a0,#e9eef0,#71899a);position:relative}.lift:before{content:"";position:absolute;left:50%;top:0;bottom:0;width:2px;background:#425968}.trust{background:var(--g);padding:24px 0}.trust-grid{display:grid;grid-template-columns:repeat(4,1fr);text-align:center}.trust strong{display:block;font-size:27px;color:#111}.trust span{font-size:12px;font-weight:900;text-transform:uppercase}.section{padding:90px 0}.alt{background:var(--bg)}.head{text-align:center;max-width:760px;margin:0 auto 50px}.head h2,.split h2,.quote h2{font-size:42px;line-height:1.15;color:var(--n);margin:10px 0 13px}.head p{color:var(--m)}.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.card{padding:30px;background:#fff;border:1px solid var(--l);border-radius:10px;transition:.25s}.card:hover{transform:translateY(-5px);box-shadow:var(--s)}.symbol{width:55px;height:55px;border-radius:9px;background:#fff4d5;color:#9a6a00;display:flex;align-items:center;justify-content:center;font-size:26px;font-weight:900}.card h3{color:var(--n);font-size:21px;margin:17px 0 8px}.card p{color:var(--m);margin:0}.split,.quote-box{display:grid;grid-template-columns:1fr 1fr;gap:65px;align-items:center}.checks{padding:0;list-style:none}.checks li{margin:12px 0;font-weight:700}.checks li:before{content:"✓";color:#b77c00;font-weight:900;margin-right:10px}.about-panel{background:var(--n);color:#fff;padding:40px;border-radius:15px;box-shadow:var(--s)}.about-panel h3{font-size:28px}.about-panel p{color:#cbd9e2}.project-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.project{height:285px;border-radius:12px;padding:26px;display:flex;flex-direction:column;justify-content:flex-end;color:#fff;background:linear-gradient(145deg,#102f48,#0a1723)}.project:nth-child(2){background:linear-gradient(145deg,#174b6d,#0a202f)}.project:nth-child(3){background:linear-gradient(145deg,#3b5362,#14222c)}.project small{color:var(--g);font-weight:900}.quote{background:linear-gradient(120deg,#061523,#0e3b5e);color:#fff}.quote h2{color:#fff}.quote p{color:#d0dce5}.contact-card{background:#fff;color:var(--ink);padding:30px;border-radius:12px}.contact-card h3{color:var(--n)}.contact-row{padding:13px 0;border-bottom:1px solid var(--l)}.footer{background:#04111d;color:#c5d1da;padding:60px 0 20px}.footer-grid{display:grid;grid-template-columns:1.5fr 1fr 1fr;gap:45px}.footer h3{color:#fff}.footer-links{list-style:none;padding:0}.copyright{border-top:1px solid #223441;margin-top:40px;padding-top:18px;font-size:13px;display:flex;justify-content:space-between}.content{padding:80px 0}.content h1,.content h2{color:var(--n)}.post{margin-bottom:50px}@media(max-width:900px){.nav-cta{display:none}.toggle{display:block}.nav-menu{display:none}.nav-menu.open{display:block;position:absolute;left:0;right:0;top:82px;background:#fff;padding:20px;border-bottom:1px solid var(--l)}.nav ul{flex-direction:column}.hero-grid,.split,.quote-box{grid-template-columns:1fr}.cards,.project-grid{grid-template-columns:1fr 1fr}.trust-grid{grid-template-columns:1fr 1fr;gap:18px}.site-header{top:0}}@media(max-width:580px){.topbar .container{flex-direction:column}.hero{padding:80px 0}.cards,.project-grid{grid-template-columns:1fr}.section{padding:65px 0}.head h2,.split h2,.quote h2{font-size:34px}.visual{min-height:330px}.copyright{flex-direction:column;gap:8px}}

/* Desktop dropdowns */
.nav-menu ul ul{display:none;position:absolute;background:#fff;min-width:230px;padding:10px 0;margin:0;box-shadow:0 12px 30px rgba(0,0,0,.14);border-top:3px solid var(--g);z-index:200}
.nav-menu ul li{position:relative}
.nav-menu ul li:hover>ul{display:block}
.nav-menu ul ul li{display:block;width:100%}
.nav-menu ul ul a{display:block;padding:9px 18px;white-space:nowrap}
.nav-menu ul ul ul{left:100%;top:-10px}
@media(max-width:900px){
 .nav-menu ul ul{position:static;display:block;box-shadow:none;border-top:0;padding:0 0 0 15px;min-width:0}
 .nav-menu ul ul a{padding:7px 10px}
}

/* v2.2 navigation correction */
.nav-menu > ul{display:flex;align-items:center;gap:27px;list-style:none;margin:0;padding:0}
.nav-menu > ul > li{position:relative;display:block}
.nav-menu > ul > li > a{display:block;padding:10px 0}
.nav-menu ul ul{display:none!important;position:absolute;left:0;top:100%;min-width:245px;background:#fff;padding:8px 0!important;margin:0;box-shadow:0 14px 35px rgba(7,24,39,.18);border-top:3px solid var(--g);z-index:9999}
.nav-menu ul li:hover>ul{display:block!important}
.nav-menu ul ul li{display:block!important;width:100%!important;position:relative}
.nav-menu ul ul li a{display:block!important;padding:9px 18px!important;white-space:nowrap}
.nav-menu ul ul ul{left:100%!important;top:-8px!important}
@media(max-width:900px){
 .nav-menu.open > ul{display:flex;flex-direction:column;align-items:flex-start;gap:0}
 .nav-menu.open > ul > li{width:100%}
 .nav-menu ul ul{position:static!important;display:block!important;box-shadow:none!important;border:0!important;padding:0 0 4px 16px!important;min-width:0!important}
 .nav-menu ul ul a{white-space:normal!important}
}

/* v2.3 FINAL: prevent nested WordPress submenus from becoming horizontal */
.nav .nav-menu ul,
.nav .nav-menu ul ul{list-style:none;margin:0;padding:0}
.nav .nav-menu > ul,
.nav .nav-menu > div > ul{display:flex;align-items:center;gap:27px}
.nav .nav-menu > ul > li,
.nav .nav-menu > div > ul > li{display:block;position:relative}
.nav .nav-menu ul ul{display:none!important;position:absolute;left:0;top:100%;min-width:245px;background:#fff;padding:8px 0!important;margin:0;box-shadow:0 14px 35px rgba(7,24,39,.18);border-top:3px solid var(--g);z-index:9999}
.nav .nav-menu li:hover>ul{display:block!important}
.nav .nav-menu ul ul li{display:block!important;width:100%!important;position:relative}
.nav .nav-menu ul ul li a{display:block!important;padding:9px 18px!important;white-space:nowrap}
.nav .nav-menu ul ul ul{left:100%;top:-8px}
@media(max-width:900px){
 .nav .nav-menu.open > ul,
 .nav .nav-menu.open > div > ul{display:flex;flex-direction:column;align-items:flex-start;gap:0}
 .nav .nav-menu.open > ul > li,
 .nav .nav-menu.open > div > ul > li{width:100%}
 .nav .nav-menu ul ul{position:static!important;display:block!important;box-shadow:none!important;border:0!important;padding:0 0 4px 16px!important;min-width:0!important}
 .nav .nav-menu ul ul a{white-space:normal!important}
}

/* v2.4 FINAL NAVIGATION - main items horizontal, children dropdown only */
.site-header .nav{position:relative}
.site-header .nav-menu{margin-left:auto}
.site-header .nav-menu > ul{display:flex!important;flex-direction:row!important;align-items:center;gap:24px;list-style:none;margin:0;padding:0}
.site-header .nav-menu > ul > li{display:block!important;position:relative}
.site-header .nav-menu > ul > li > a{display:block;padding:12px 0;font-size:14px;font-weight:800}
.site-header .nav-menu > ul > li > ul{display:none!important;position:absolute;left:0;top:100%;width:250px;background:#fff;padding:8px 0!important;margin:0!important;box-shadow:0 14px 35px rgba(7,24,39,.18);border-top:3px solid var(--g);z-index:99999}
.site-header .nav-menu > ul > li:hover > ul{display:block!important}
.site-header .nav-menu > ul > li > ul > li{display:block!important;width:100%!important;position:relative}
.site-header .nav-menu > ul > li > ul > li > a{display:block!important;padding:10px 18px!important;white-space:nowrap}
.site-header .nav-menu > ul > li > ul > li:hover > a{background:#f6f8fa}
.site-header .nav-menu > ul > li > ul > li > ul{display:none!important;position:absolute;left:250px;top:-8px;width:250px;background:#fff;padding:8px 0!important;box-shadow:0 14px 35px rgba(7,24,39,.18);border-top:3px solid var(--g)}
.site-header .nav-menu > ul > li > ul > li:hover > ul{display:block!important}
@media(max-width:1100px){
 .site-header .nav-menu > ul{gap:15px}
 .site-header .nav-menu > ul > li > a{font-size:13px}
}
@media(max-width:900px){
 .site-header .nav-menu{display:none}
 .site-header .nav-menu.open{display:block;position:absolute;left:0;right:0;top:82px;background:#fff;padding:15px 20px;border-bottom:1px solid var(--l);box-shadow:0 10px 25px rgba(0,0,0,.1)}
 .site-header .nav-menu.open > ul{display:flex!important;flex-direction:column!important;align-items:stretch!important;gap:0!important}
 .site-header .nav-menu.open > ul > li{width:100%!important}
 .site-header .nav-menu.open > ul > li > a{padding:10px 0}
 .site-header .nav-menu.open > ul > li > ul,
 .site-header .nav-menu.open > ul > li:hover > ul,
 .site-header .nav-menu.open > ul > li > ul > li > ul{position:static!important;display:block!important;width:100%!important;box-shadow:none!important;border:0!important;padding:0 0 5px 18px!important}
 .site-header .nav-menu.open > ul > li > ul > li > a{white-space:normal!important}
}

/* OPTIMAL ELEVATOR PRO v2.5 — GLASS + 3D */
body{background:radial-gradient(circle at 10% 0%,rgba(245,184,46,.08),transparent 28%),radial-gradient(circle at 90% 15%,rgba(48,143,210,.08),transparent 30%),#f6f8fa}
.site-header{background:rgba(255,255,255,.74)!important;backdrop-filter:blur(18px) saturate(150%);-webkit-backdrop-filter:blur(18px) saturate(150%);box-shadow:0 8px 30px rgba(4,17,29,.08);border-bottom:1px solid rgba(255,255,255,.8)}
.brand{display:flex!important;align-items:center;gap:10px;perspective:700px}.brand-mark{width:48px;height:48px;border-radius:14px;display:flex;align-items:center;justify-content:center;background:linear-gradient(145deg,#fff,rgba(205,220,230,.6));border:1px solid rgba(255,255,255,.9);box-shadow:inset 2px 2px 5px #fff,inset -4px -4px 9px rgba(7,24,39,.12),0 8px 20px rgba(7,24,39,.14);transform:rotateX(7deg) rotateY(-7deg)}.brand-cab{color:#0d3554;font-size:28px;font-weight:900}.brand-text{line-height:1.05}.brand-dot{color:#f5b82e}
.site-header .nav-menu>ul>li>a{padding:10px 15px!important;border-radius:10px;background:linear-gradient(145deg,rgba(255,255,255,.95),rgba(226,235,241,.62));border:1px solid rgba(255,255,255,.9);box-shadow:inset 1px 1px 0 #fff,inset -2px -2px 5px rgba(7,24,39,.08),0 5px 12px rgba(7,24,39,.08);transition:.2s}.site-header .nav-menu>ul>li>a:hover{transform:translateY(-3px);box-shadow:inset 1px 1px 0 #fff,inset -2px -2px 5px rgba(7,24,39,.08),0 10px 20px rgba(7,24,39,.13)}
.nav-cta,.btn.primary{border:1px solid rgba(255,255,255,.6)!important;box-shadow:inset 1px 1px 0 #fff,0 8px 18px rgba(245,184,46,.24);transition:.22s}.nav-cta:hover,.btn.primary:hover{transform:translateY(-3px);box-shadow:inset 1px 1px 0 #fff,0 14px 25px rgba(245,184,46,.35)}
.site-header .nav-menu>ul>li>ul{background:rgba(255,255,255,.9)!important;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border-radius:0 0 14px 14px;overflow:hidden}
.hero{position:relative;background:radial-gradient(circle at 75% 25%,rgba(66,163,220,.22),transparent 24%),radial-gradient(circle at 15% 75%,rgba(245,184,46,.13),transparent 24%),linear-gradient(125deg,#03111d,#0a2d48 58%,#0e4264)!important}.hero:before,.hero:after{content:"";position:absolute;border-radius:50%;pointer-events:none}.hero:before{width:240px;height:240px;right:7%;top:8%;background:rgba(255,255,255,.035);box-shadow:0 0 80px rgba(70,180,240,.18);animation:optimalFloat 7s ease-in-out infinite}.hero:after{width:140px;height:140px;left:7%;bottom:8%;background:rgba(245,184,46,.04);animation:optimalFloat2 9s ease-in-out infinite}.hero-grid,.trust,.section{position:relative;z-index:2}
.visual{position:relative;background:linear-gradient(145deg,rgba(255,255,255,.15),rgba(255,255,255,.035))!important;backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border:1px solid rgba(255,255,255,.25)!important;box-shadow:inset 1px 1px 0 rgba(255,255,255,.25),0 30px 60px rgba(0,0,0,.25)!important;transform:perspective(1000px) rotateY(-5deg) rotateX(2deg);animation:visualFloat 6s ease-in-out infinite}.visual:before{content:"OPTIMAL";position:absolute;top:22px;right:25px;color:rgba(255,255,255,.35);font-weight:900;letter-spacing:4px;font-size:12px}.lift{transform:perspective(700px) rotateY(-8deg);box-shadow:12px 18px 35px rgba(0,0,0,.3),inset 4px 0 8px rgba(255,255,255,.55);animation:liftFloat 4.5s ease-in-out infinite}.lift:after{content:"";position:absolute;left:50%;top:10px;width:3px;height:25px;background:#f5b82e;box-shadow:0 0 12px #f5b82e}
.card{background:rgba(255,255,255,.72)!important;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border:1px solid rgba(255,255,255,.88)!important;box-shadow:inset 1px 1px 0 #fff,0 12px 30px rgba(7,24,39,.08)!important;transition:.25s}.card:hover{transform:perspective(800px) translateY(-8px) rotateX(2deg) rotateY(-2deg);box-shadow:inset 1px 1px 0 #fff,0 22px 45px rgba(7,24,39,.14)!important}.symbol{box-shadow:inset 2px 2px 5px #fff,inset -3px -3px 6px rgba(7,24,39,.1),0 8px 15px rgba(7,24,39,.08)}
.about-panel,.contact-card{box-shadow:inset 1px 1px 0 rgba(255,255,255,.2),0 20px 45px rgba(7,24,39,.18)}.about-panel{background:linear-gradient(145deg,rgba(13,53,84,.94),rgba(4,17,29,.92))!important;backdrop-filter:blur(14px)}
.project{box-shadow:inset 1px 1px 0 rgba(255,255,255,.16),0 18px 38px rgba(7,24,39,.2);transition:.25s}.project:hover{transform:translateY(-8px) rotateX(2deg);box-shadow:0 28px 50px rgba(7,24,39,.28)}
@keyframes optimalFloat{0%,100%{transform:translate(0,0)}50%{transform:translate(-18px,18px)}}@keyframes optimalFloat2{0%,100%{transform:translate(0,0)}50%{transform:translate(20px,-14px)}}@keyframes visualFloat{0%,100%{transform:perspective(1000px) rotateY(-5deg) rotateX(2deg) translateY(0)}50%{transform:perspective(1000px) rotateY(-2deg) rotateX(3deg) translateY(-8px)}}@keyframes liftFloat{0%,100%{transform:perspective(700px) rotateY(-8deg) translateY(0)}50%{transform:perspective(700px) rotateY(-4deg) translateY(-10px)}}
@media(max-width:900px){.brand-mark{width:42px;height:42px}.brand-text{font-size:20px}.visual{transform:none;animation:none}.site-header .nav-menu.open>ul>li>a{background:transparent;border:0;box-shadow:none}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important}}
/* =====================================================
   OPTIMAL ELEVATOR — CENTER OPENING 3D DOOR
   ===================================================== */

.optimal-elevator-3d{
    width:min(470px,92vw);
    margin:0 auto 34px;
    perspective:1200px;
    position:relative;
    z-index:3;
}

.oe3d-frame{
    padding:14px;
    border-radius:24px;
    background:linear-gradient(
        145deg,
        rgba(255,255,255,.24),
        rgba(255,255,255,.05)
    );
    border:1px solid rgba(255,255,255,.28);
    box-shadow:
        inset 1px 1px 0 rgba(255,255,255,.35),
        0 30px 65px rgba(0,0,0,.32);
    backdrop-filter:blur(16px);
    -webkit-backdrop-filter:blur(16px);
}

.oe3d-header{
    height:34px;
    display:flex;
    align-items:center;
    justify-content:center;
    color:rgba(255,255,255,.76);
    font-size:10px;
    font-weight:900;
    letter-spacing:3px;
}

.oe3d-shaft{
    height:300px;
    position:relative;
    overflow:hidden;
    border-radius:14px 14px 8px 8px;

    background:
        radial-gradient(
            circle at 50% 35%,
            rgba(245,184,46,.18),
            transparent 28%
        ),
        linear-gradient(
            180deg,
            #061522,
            #0b2e46 62%,
            #03111c
        );

    box-shadow:
        inset 0 0 0 2px rgba(255,255,255,.12),
        inset 0 -25px 55px rgba(0,0,0,.38);
}

.oe3d-cabin{
    position:absolute;
    left:16%;
    right:16%;
    top:7%;
    bottom:0;

    border:2px solid rgba(255,255,255,.12);

    background:
        linear-gradient(
            90deg,
            rgba(255,255,255,.05),
            transparent 10%,
            transparent 90%,
            rgba(255,255,255,.05)
        );
}

.oe3d-cabin-light{
    position:absolute;
    top:5%;
    left:12%;
    right:12%;
    height:9px;

    border-radius:50%;
    background:#fff;

    box-shadow:
        0 0 12px #fff,
        0 0 30px rgba(70,180,240,.55);
}

.oe3d-floor-glow{
    position:absolute;
    left:15%;
    right:15%;
    bottom:8%;
    height:25%;

    background:
        radial-gradient(
            ellipse at center,
            rgba(245,184,46,.25),
            transparent 68%
        );
}

/* ELEVATOR DOORS */

.oe3d-door{
    position:absolute;
    top:0;
    bottom:0;
    width:50%;
    z-index:4;

    background:
        linear-gradient(
            90deg,
            rgba(255,255,255,.17),
            transparent 8%,
            rgba(255,255,255,.035) 48%,
            rgba(0,0,0,.22)
        ),
        linear-gradient(
            145deg,
            #aebbc3 0%,
            #536875 32%,
            #d5dde1 50%,
            #4a606c 68%,
            #a9b6bc 100%
        );

    box-shadow:
        inset 0 0 0 1px rgba(255,255,255,.3),
        inset -12px 0 20px rgba(0,0,0,.18),
        0 15px 30px rgba(0,0,0,.28);
}

.oe3d-door-left{
    left:0;
    transform-origin:left center;
    animation:oeDoorLeft 6s ease-in-out infinite;
}

.oe3d-door-right{
    right:0;
    transform-origin:right center;
    animation:oeDoorRight 6s ease-in-out infinite;
}

.oe3d-door:before{
    content:"";
    position:absolute;
    top:0;
    bottom:0;
    width:3px;
    background:rgba(255,255,255,.42);
}

.oe3d-door-left:before{
    right:14px;
}

.oe3d-door-right:before{
    left:14px;
}

/* CENTER SEAM */

.oe3d-center-line{
    position:absolute;
    z-index:5;
    left:50%;
    top:0;
    bottom:0;
    width:2px;
    transform:translateX(-50%);
    background:rgba(0,0,0,.5);
}

/* FLOOR */

.oe3d-floor{
    height:18px;
    margin:0 8%;

    background:
        linear-gradient(
            180deg,
            #c4cdd2,
            #556873
        );

    border-radius:0 0 10px 10px;

    box-shadow:
        0 10px 18px rgba(0,0,0,.3),
        inset 0 2px 0 rgba(255,255,255,.42);
}

/* STATUS */

.oe3d-status{
    padding-top:11px;
    text-align:center;
    color:rgba(255,255,255,.72);
    font-size:9px;
    font-weight:800;
    letter-spacing:2px;
}

.oe3d-status span{
    display:inline-block;
    width:7px;
    height:7px;
    margin-right:6px;
    border-radius:50%;
    background:#5ee58c;
    box-shadow:0 0 10px rgba(94,229,140,.9);
}

/* DOOR OPEN / CLOSE */

@keyframes oeDoorLeft{

    0%,16%{
        transform:translateX(0);
    }

    38%,63%{
        transform:translateX(-86%);
    }

    84%,100%{
        transform:translateX(0);
    }

}

@keyframes oeDoorRight{

    0%,16%{
        transform:translateX(0);
    }

    38%,63%{
        transform:translateX(86%);
    }

    84%,100%{
        transform:translateX(0);
    }

}

/* MOBILE */

@media(max-width:900px){

    .optimal-elevator-3d{
        margin-bottom:26px;
    }

    .oe3d-shaft{
        height:250px;
    }

}

/* ACCESSIBILITY */

@media(prefers-reduced-motion:reduce){

    .oe3d-door-left,
    .oe3d-door-right{
        animation:none!important;
    }

}

