/*
Theme Name: LAECO
Theme URI: https://laeco.be
Author: LAECO
Description: Minimal multilingual one-page WordPress theme for LAECO.
Version: 3.0.0
Text Domain: laeco
*/

:root{
  --bg:#050505;--panel:#0a0a0a;--text:#f3f0eb;--muted:#aaa49b;--gold:#d7a65b;--gold-bright:#efc27c;
  --line:rgba(215,166,91,.34);--line-soft:rgba(255,255,255,.11);--max:1320px;
}
*{box-sizing:border-box} html{scroll-behavior:smooth} body{margin:0;background:var(--bg);color:var(--text);font-family:Arial,Helvetica,sans-serif;font-size:16px;line-height:1.6;-webkit-font-smoothing:antialiased;overflow-x:hidden}
a{color:inherit;text-decoration:none} img{display:block;max-width:100%} button,input,textarea{font:inherit}.container{width:min(calc(100% - 40px),var(--max));margin:0 auto}.section{padding:100px 0;border-top:1px solid var(--line-soft);position:relative}.eyebrow{color:var(--gold);text-transform:uppercase;letter-spacing:.14em;font-size:.75rem}.h2{margin:8px 0 28px;font-size:clamp(2rem,4vw,3.6rem);line-height:1.05;font-weight:400;letter-spacing:-.04em}.muted,.section-intro{color:var(--muted)}.section-intro{max-width:720px;margin:0 auto}

.site-header{position:fixed;z-index:100;inset:0 0 auto 0;background:linear-gradient(to bottom,rgba(5,5,5,.94),rgba(5,5,5,.72),transparent);backdrop-filter:blur(8px);transition:background .3s ease,box-shadow .3s ease}.site-header.scrolled{background:rgba(5,5,5,.94);box-shadow:0 10px 30px rgba(0,0,0,.25)}.header-inner{height:86px;display:flex;align-items:center;justify-content:space-between}.brand img{width:94px;height:auto;transition:transform .35s ease}.brand:hover img{transform:scale(1.04)}.nav-wrap{display:flex;align-items:center;gap:26px}.nav{display:flex;gap:28px;align-items:center}.nav a{font-size:.76rem;text-transform:uppercase;letter-spacing:.08em;color:#ddd8d0;position:relative}.nav a::after{content:"";position:absolute;left:0;bottom:-9px;width:0;height:1px;background:var(--gold);transition:width .25s ease}.nav a:hover::after,.nav a:focus-visible::after{width:100%}.language-switcher{display:flex;gap:8px;align-items:center;padding-left:18px;border-left:1px solid var(--line-soft)}.lang-link{font-size:.72rem;letter-spacing:.08em;color:#8f8b84;transition:color .2s ease}.lang-link:hover,.lang-link.current{color:var(--gold-bright)}.lang-link.current{font-weight:700}.menu-toggle{display:none;background:transparent;border:0;color:var(--text);font-size:1.5rem;cursor:pointer}

.hero{min-height:100vh;display:grid;align-items:center;position:relative;overflow:hidden;padding:130px 0 70px}.hero-grid{display:grid;grid-template-columns:1.05fr .95fr;align-items:center;gap:60px;position:relative;z-index:2}.hero-kicker{color:var(--gold);text-transform:uppercase;letter-spacing:.08em;font-size:.86rem;margin-bottom:18px}.hero h1{margin:0 0 24px;max-width:760px;font-size:clamp(3.2rem,6.4vw,6.8rem);line-height:.96;font-weight:350;letter-spacing:-.055em}.hero p{margin:0 0 30px;max-width:580px;color:#d5d0c9;font-size:clamp(1rem,1.45vw,1.22rem)}.cta-row{display:flex;gap:14px;flex-wrap:wrap}.btn{display:inline-flex;align-items:center;justify-content:center;gap:12px;min-height:48px;padding:0 22px;border:1px solid rgba(255,255,255,.28);text-transform:uppercase;letter-spacing:.08em;font-size:.76rem;transition:.25s ease;background:transparent;color:inherit;cursor:pointer;position:relative;overflow:hidden}.btn::before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,transparent,rgba(255,255,255,.14),transparent);transform:translateX(-120%);transition:transform .55s ease}.btn:hover::before{transform:translateX(120%)}.btn.gold-btn{border-color:var(--gold);color:var(--gold-bright)}.btn:hover{background:var(--gold);color:#080808;border-color:var(--gold);transform:translateY(-2px)}.hero-mark{position:relative;z-index:2;display:grid;place-items:center;min-height:500px}.hero-mark::before{content:"";position:absolute;width:76%;aspect-ratio:1;border-radius:50%;background:radial-gradient(circle,rgba(215,166,91,.12),transparent 62%);animation:pulseGlow 5s ease-in-out infinite}.hero-mark img{position:relative;width:min(86%,560px);filter:drop-shadow(0 16px 60px rgba(215,166,91,.08));animation:logoFloat 6s ease-in-out infinite}.hero-orbit{position:absolute;border:1.5px solid rgba(215,166,91,.48);border-radius:50%;pointer-events:none}.orbit-one{width:min(72vw,920px);aspect-ratio:1;right:-22vw;top:8vh;border-left-color:transparent;border-bottom-color:transparent;animation:slowSpin 28s linear infinite}.orbit-two{width:36vw;max-width:520px;aspect-ratio:1;right:8vw;top:24vh;border-right-color:transparent;border-top-color:transparent;opacity:.28;animation:slowSpinReverse 22s linear infinite}.scroll-cue{position:absolute;left:50%;bottom:26px;width:18px;height:30px;border:1px solid var(--gold);border-radius:12px;transform:translateX(-50%)}.scroll-cue::after{content:"";width:3px;height:6px;border-radius:99px;background:var(--gold);position:absolute;top:6px;left:50%;transform:translateX(-50%);animation:scroll 1.8s infinite}
@keyframes scroll{0%{opacity:0;transform:translate(-50%,0)}30%{opacity:1}100%{opacity:0;transform:translate(-50%,10px)}}@keyframes logoFloat{0%,100%{transform:translateY(0)}50%{transform:translateY(-10px)}}@keyframes pulseGlow{0%,100%{opacity:.65;transform:scale(.98)}50%{opacity:1;transform:scale(1.04)}}@keyframes slowSpin{to{transform:rotate(360deg)}}@keyframes slowSpinReverse{to{transform:rotate(-360deg)}}

.services-head,.packages-head{text-align:center;margin-bottom:52px}.services{display:grid;grid-template-columns:repeat(3,1fr)}.service{padding:12px 42px 28px;text-align:center;border-right:1px solid var(--line-soft);transition:transform .3s ease,background .3s ease}.service:last-child{border-right:0}.service:hover{transform:translateY(-7px);background:linear-gradient(180deg,rgba(215,166,91,.045),transparent)}.icon-svg{width:54px;height:54px;margin:0 auto 20px;border:1px solid var(--gold);border-radius:50%;display:grid;place-items:center;color:var(--gold);transition:transform .35s ease,background .35s ease,color .35s ease}.service:hover .icon-svg{transform:rotate(6deg) scale(1.07);background:var(--gold);color:#080808}.icon-svg svg,.symbol-svg svg,.package-icon svg{fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}.icon-svg svg{width:27px;height:27px}.service h3{margin:0 0 10px;font-weight:500;text-transform:uppercase;letter-spacing:.05em;font-size:1rem}.service p{margin:0;color:#c7c1ba}

.expertise{display:grid;grid-template-columns:repeat(6,1fr);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.expertise .item{min-height:150px;display:grid;align-content:center;gap:10px;text-align:center;padding:20px 14px;border-right:1px solid var(--line-soft);position:relative;overflow:hidden;transition:background .3s ease,transform .3s ease}.expertise .item::after{content:"";position:absolute;left:20%;right:20%;bottom:0;height:1px;background:var(--gold);transform:scaleX(0);transition:transform .35s ease}.expertise .item:hover{background:rgba(215,166,91,.04);transform:translateY(-4px)}.expertise .item:hover::after{transform:scaleX(1)}.expertise .item:last-child{border-right:0}.symbol-svg{color:var(--gold);display:grid;place-items:center;transition:transform .35s ease}.expertise .item:hover .symbol-svg{transform:translateY(-3px) scale(1.08)}.symbol-svg svg{width:31px;height:31px}.expertise .label{font-size:.78rem;text-transform:uppercase;letter-spacing:.04em;line-height:1.35}

.about-grid{display:grid;grid-template-columns:.85fr 1.15fr;min-height:500px;background:var(--panel);border:1px solid var(--line-soft);overflow:hidden}.portrait{position:relative;overflow:hidden;min-height:430px;background:radial-gradient(circle at 45% 35%,rgba(215,166,91,.10),transparent 20%),linear-gradient(135deg,#141414,#080808 62%);background-size:cover;background-position:center 24%;transition:background-size .8s ease}.portrait.has-photo:hover{background-size:106%}.portrait::before {
    content:"";
    position:absolute;
    width:88%;
    aspect-ratio:1;
    border:2px solid rgba(215,166,91,.62);
    border-radius:70%;
    right:65%;
    top:50%;
    pointer-events:none;
    animation:slowSpin 30s linear infinite;}.portrait:not(.has-photo)::after{content:"ADD YOUR PHOTO IN APPEARANCE → CUSTOMIZE";position:absolute;inset:0;display:grid;place-items:center;text-align:center;padding:30px;color:rgba(255,255,255,.25);letter-spacing:.14em;font-size:.72rem}.about-copy{padding:64px;display:flex;flex-direction:column;justify-content:center}.about-copy h2{margin:6px 0 0;font-weight:400;font-size:clamp(2.1rem,4vw,4.2rem);line-height:1}.about-copy h3{margin:10px 0 20px;color:var(--gold);font-weight:500;text-transform:uppercase;letter-spacing:.05em;font-size:.92rem}.about-copy p{color:#d2cdc6;max-width:700px}

.packages-section{background:linear-gradient(180deg,#050505,#080808 55%,#050505)}.packages{display:grid;grid-template-columns:repeat(4,1fr);border:1px solid var(--line-soft)}.package-card{padding:34px 30px;min-height:420px;border-right:1px solid var(--line-soft);position:relative;background:rgba(255,255,255,.01);transition:transform .35s ease,background .35s ease,border-color .35s ease}.package-card:last-child{border-right:0}.package-card:hover{transform:translateY(-9px);background:rgba(215,166,91,.045);border-color:rgba(215,166,91,.35)}.package-card::before{content:"";position:absolute;left:0;top:0;width:100%;height:2px;background:linear-gradient(90deg,transparent,var(--gold),transparent);transform:scaleX(0);transition:transform .4s ease}.package-card:hover::before{transform:scaleX(1)}.package-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:34px}.package-number{color:rgba(255,255,255,.28);font-size:.75rem;letter-spacing:.14em}.package-icon{color:var(--gold);width:42px;height:42px;display:grid;place-items:center;border:1px solid var(--line);border-radius:50%;transition:transform .35s ease,background .35s ease,color .35s ease}.package-card:hover .package-icon{transform:rotate(8deg) scale(1.06);background:var(--gold);color:#080808}.package-icon svg{width:22px;height:22px}.package-card h3{font-size:1.22rem;font-weight:500;margin:0 0 14px;letter-spacing:-.02em}.package-card>p{color:#c9c4bd;margin:0 0 28px}.mission-example{margin-top:auto;padding-top:20px;border-top:1px solid var(--line-soft);color:#bdb7af;font-size:.88rem}.mission-example span{display:block;color:var(--gold);text-transform:uppercase;letter-spacing:.09em;font-size:.68rem;margin-bottom:8px}

.contact{background:linear-gradient(180deg,#090909,#050505)}.contact-grid{display:grid;grid-template-columns:.7fr 1.3fr;gap:54px;align-items:end}.contact h2{margin:7px 0 18px;font-weight:400;font-size:clamp(2.2rem,4vw,4rem);line-height:1}.contact-meta{color:#c8c2ba;display:grid;gap:9px}.contact-meta a:hover{color:var(--gold-bright)}.contact-form{display:grid;grid-template-columns:1fr 1fr;gap:14px;position:relative;z-index:5;pointer-events:auto}.contact-form .full{grid-column:1/-1}.contact-form input,.contact-form textarea{width:100%;background:#080808;border:1px solid rgba(255,255,255,.18);color:var(--text);padding:15px 16px;outline:none;transition:border-color .2s ease,box-shadow .2s ease,background .2s ease;position:relative;z-index:6;pointer-events:auto!important;cursor:text!important}.contact-form input:hover,.contact-form textarea:hover{border-color:rgba(215,166,91,.55);background:#0b0b0b}.contact-form input:focus,.contact-form textarea:focus{border-color:var(--gold);box-shadow:0 0 0 2px rgba(215,166,91,.08)}.contact-form textarea{min-height:130px;resize:vertical}.contact-form button{cursor:pointer!important}.form-message{grid-column:1/-1;font-size:.9rem;color:var(--gold-bright)}

.site-footer{border-top:1px solid var(--line-soft);padding:24px 0 34px;color:#8f8b84;font-size:.8rem}.footer-inner{display:flex;justify-content:space-between;gap:20px}

.reveal{opacity:0;transform:translateY(28px);transition:opacity .78s cubic-bezier(.2,.7,.2,1),transform .78s cubic-bezier(.2,.7,.2,1);will-change:opacity,transform}.reveal-left{transform:translateX(-36px)}.reveal-right{transform:translateX(36px)}.reveal-scale{transform:scale(.95)}.reveal.visible{opacity:1;transform:none}.stagger-group .reveal:nth-child(2){transition-delay:.11s}.stagger-group .reveal:nth-child(3){transition-delay:.22s}.stagger-group .reveal:nth-child(4){transition-delay:.33s}.stagger-group .reveal:nth-child(5){transition-delay:.44s}.stagger-group .reveal:nth-child(6){transition-delay:.55s}

@media (prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}.reveal{opacity:1!important;transform:none!important;transition:none!important}.hero-mark img,.hero-mark::before,.hero-orbit,.portrait::before,.scroll-cue::after{animation:none!important}}

@media(max-width:1100px){.nav{gap:18px}.nav-wrap{gap:16px}.language-switcher{padding-left:12px}.packages{grid-template-columns:repeat(2,1fr)}.package-card:nth-child(2){border-right:0}.package-card:nth-child(-n+2){border-bottom:1px solid var(--line-soft)}}
@media(max-width:980px){.nav-wrap{display:none;position:absolute;top:78px;left:20px;right:20px;padding:20px;background:#0a0a0a;border:1px solid var(--line-soft);flex-direction:column;align-items:flex-start}.nav-wrap.open{display:flex}.nav{flex-direction:column;align-items:flex-start}.language-switcher{border-left:0;border-top:1px solid var(--line-soft);padding:14px 0 0;width:100%}.menu-toggle{display:block}.hero-grid{grid-template-columns:1fr}.hero-mark{min-height:320px}.hero-mark img{width:min(72%,420px)}.services{grid-template-columns:1fr}.service{border-right:0;border-bottom:1px solid var(--line-soft)}.service:last-child{border-bottom:0}.expertise{grid-template-columns:repeat(2,1fr)}.expertise .item:nth-child(2n){border-right:0}.about-grid,.contact-grid{grid-template-columns:1fr}.packages{grid-template-columns:repeat(2,1fr)}}
@media(max-width:640px){.container{width:min(calc(100% - 28px),var(--max))}.section{padding:72px 0}.header-inner{height:72px}.brand img{width:76px}.hero{padding-top:105px}.hero h1{font-size:clamp(2.8rem,15vw,4.4rem)}.orbit-one{right:-58vw;top:24vh;width:135vw}.orbit-two{display:none}.hero-mark{min-height:260px}.expertise{grid-template-columns:1fr 1fr}.about-copy{padding:38px 26px}.packages{grid-template-columns:1fr}.package-card,.package-card:nth-child(2){border-right:0;border-bottom:1px solid var(--line-soft)}.package-card:last-child{border-bottom:0}.contact-form{grid-template-columns:1fr}.contact-form .full{grid-column:auto}.footer-inner{flex-direction:column}}

}
/* =========================================================
   CONTACT SUCCESS POPUP
   ========================================================= */

.contact-popup {
    position: fixed;
    inset: 0;
    z-index: 99999;

    display: flex;
    align-items: center;
    justify-content: center;

    padding: 24px;

    background: rgba(0, 0, 0, 0.82);
    backdrop-filter: blur(8px);

    opacity: 0;
    visibility: hidden;

    transition:
        opacity .3s ease,
        visibility .3s ease;
}

.contact-popup.is-visible {
    opacity: 1;
    visibility: visible;
}

.contact-popup__box {
    position: relative;

    width: min(440px, 100%);
    padding: 48px 40px 40px;

    text-align: center;

    background: #090909;
    border: 1px solid rgba(215, 166, 91, .55);

    box-shadow:
        0 30px 80px rgba(0, 0, 0, .65),
        0 0 50px rgba(215, 166, 91, .05);

    transform: translateY(20px) scale(.97);

    transition: transform .35s cubic-bezier(.2,.7,.2,1);
}

.contact-popup.is-visible .contact-popup__box {
    transform: translateY(0) scale(1);
}

.contact-popup__box::before {
    content: "";
    position: absolute;

    top: 0;
    left: 20%;
    right: 20%;

    height: 1px;

    background: linear-gradient(
        90deg,
        transparent,
        var(--gold),
        transparent
    );
}

.contact-popup__icon {
    width: 54px;
    height: 54px;

    margin: 0 auto 24px;

    display: grid;
    place-items: center;

    border: 1px solid var(--gold);
    border-radius: 50%;

    color: var(--gold);
    font-size: 24px;
}

.contact-popup__box h3 {
    margin: 0 0 14px;

    color: var(--text);

    font-size: 1.6rem;
    font-weight: 400;
}

.contact-popup__box p {
    margin: 0 0 28px;

    color: #c9c4bd;

    line-height: 1.6;
}

.contact-popup__close {
    position: absolute;

    top: 13px;
    right: 16px;

    padding: 4px 8px;

    border: 0;
    background: transparent;

    color: #aaa49b;

    font-size: 27px;
    font-weight: 300;
    line-height: 1;

    cursor: pointer;

    transition:
        color .2s ease,
        transform .2s ease;
}

.contact-popup__close:hover {
    color: var(--gold);
    transform: rotate(90deg);
}

.contact-popup__confirm {
    min-width: 130px;
    cursor: pointer;
}

body.contact-popup-open {
    overflow: hidden;
}