:root{--bg:#1b1f2b;--bg2:#232839;--bg3:#2a2f42;--gold:#c9a84c;--gold2:#dfc068;--goldD:rgba(201,168,76,.12);--txt:#d8d4cc;--txM:#8a847a;--txL:#bfb9ad;--wh:#f0ece4;--brd:rgba(201,168,76,.15);--lt:#faf6ef;--lt2:#f0ebe1;--lt3:#e6dfd3;--ltTxt:#3a3530;--ltTxM:#6b6259;--ltTxL:#524b42;--ltBrd:rgba(120,100,60,.12);--sf:'Playfair Display',Georgia,serif;--sn:'Source Sans 3','Segoe UI',sans-serif;--r:6px;--tr:.35s cubic-bezier(.4,0,.2,1)}
        *,*::before,*::after{margin:0;padding:0;box-sizing:border-box}
        html{scroll-behavior:smooth;scroll-padding-top:80px}
        body{font-family:var(--sn);background:var(--bg);color:var(--txt);line-height:1.7;font-weight:300;overflow-x:hidden;-webkit-font-smoothing:antialiased}
        ::selection{background:var(--gold);color:var(--bg)}
        img{max-width:100%;height:auto;display:block}
        a{color:var(--gold);text-decoration:none;transition:color var(--tr)}a:hover{color:var(--gold2)}
        .c{max-width:1220px;margin:0 auto;padding:0 28px}

        /* FLOAT CALL */
        .fc{position:fixed;bottom:28px;right:28px;z-index:9990;width:64px;height:64px;background:var(--gold);border-radius:50%;display:flex;align-items:center;justify-content:center;box-shadow:0 4px 24px rgba(201,168,76,.45);animation:pr 2s infinite;transition:transform .3s}
        .fc:hover{transform:scale(1.12)}.fc svg{width:28px;height:28px;fill:var(--bg)}
        @keyframes pr{0%{box-shadow:0 4px 24px rgba(201,168,76,.45),0 0 0 0 rgba(201,168,76,.4)}70%{box-shadow:0 4px 24px rgba(201,168,76,.45),0 0 0 18px rgba(201,168,76,0)}100%{box-shadow:0 4px 24px rgba(201,168,76,.45),0 0 0 0 rgba(201,168,76,0)}}

        /* TOPBAR */
        .tb{background:var(--bg3);border-bottom:1px solid var(--brd);padding:10px 0;font-size:.82rem;color:var(--txM)}
        .tb .c{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:8px}
        .tb a{color:var(--gold);font-weight:600}
        .tbr{display:flex;gap:16px}.tbr a{color:var(--txM);font-weight:400}.tbr a:hover{color:var(--gold)}

        /* HEADER */
        header{position:sticky;top:0;z-index:1000;background:rgba(27,31,43,.97);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border-bottom:1px solid var(--brd);padding:14px 0}
        header .c{display:flex;justify-content:space-between;align-items:center}
        .logo img{height:56px}
        nav{display:flex;align-items:center;gap:3px}
        nav a{padding:8px 12px;font-size:.78rem;letter-spacing:.07em;text-transform:uppercase;color:var(--txL);border-radius:var(--r);transition:all var(--tr);font-weight:400;cursor:pointer}
        nav a:hover,nav a.act{color:var(--gold);background:var(--goldD)}
        .np{background:var(--gold)!important;color:var(--bg)!important;font-weight:700!important;margin-left:6px;display:inline-flex;align-items:center;gap:5px;font-size:.8rem!important}
        .np:hover{background:var(--gold2)!important}
        .hb{display:none;background:none;border:none;cursor:pointer;padding:10px}
        .hb span{display:block;width:22px;height:2px;background:var(--gold);margin:5px 0;border-radius:2px}

        /* HERO */
        .hero{position:relative;min-height:92vh;display:flex;align-items:center;justify-content:center;text-align:center;overflow:hidden}
        .hbg{position:absolute;inset:0;z-index:0}
        .hbg img{width:100%;height:100%;object-fit:cover;filter:brightness(.3) saturate(.7)}
        .hbg::after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,rgba(27,31,43,.3)0%,rgba(27,31,43,.6)60%,var(--bg)100%)}
        .hco{position:relative;z-index:1;max-width:860px;padding:40px 24px}
        .hbd{display:inline-block;padding:10px 28px;border:1px solid var(--gold);border-radius:50px;font-size:.76rem;letter-spacing:.2em;text-transform:uppercase;color:var(--gold);margin-bottom:36px;animation:fd .8s ease both}
        .hero h1{font-family:var(--sf);font-size:clamp(2.6rem,6vw,4.6rem);font-weight:500;line-height:1.1;color:var(--wh);margin-bottom:24px;animation:fu .8s .15s ease both}
        .hero h1 em{font-style:italic;color:var(--gold)}
        .hsb{font-size:1.15rem;color:var(--txL);max-width:620px;margin:0 auto 18px;animation:fu .8s .3s ease both}
        .hsd{font-size:.88rem;color:var(--txM);margin-bottom:40px;animation:fu .8s .4s ease both}
        .hsd strong{color:var(--gold)}
        .ha{display:flex;gap:16px;justify-content:center;flex-wrap:wrap;animation:fu .8s .5s ease both}

        /* PAGE HERO */
        .ph{padding:120px 0 80px;text-align:center;background:var(--lt2);border-bottom:1px solid var(--ltBrd);position:relative;color:var(--ltTxt)}
        .ph::before{content:'';position:absolute;inset:0;background:radial-gradient(ellipse at 50% 0%,rgba(201,168,76,.08)0%,transparent 70%)}
        .ph .c{position:relative;z-index:1}
        .ph .bc{font-size:.82rem;color:var(--ltTxM);margin-bottom:16px;cursor:pointer}
        .ph .bc span{color:var(--gold);cursor:pointer}
        .ph .bc span:hover{color:var(--gold2)}
        .ph h1{font-family:var(--sf);font-size:clamp(2.2rem,5vw,3.6rem);font-weight:500;color:var(--ltTxt);line-height:1.15;margin-bottom:16px}
        .ph h1 em{font-style:italic;color:var(--gold)}
        .ph>p,.ph .c>p:not(.bc){font-size:1.1rem;color:var(--ltTxM);max-width:640px;margin:0 auto}

        /* BTNS */
        .btn{display:inline-flex;align-items:center;gap:8px;padding:17px 36px;font-size:.86rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;border-radius:var(--r);transition:all var(--tr);cursor:pointer;border:none;font-family:var(--sn)}
        .bg{background:var(--gold);color:var(--bg)}.bg:hover{background:var(--gold2);transform:translateY(-2px);box-shadow:0 10px 36px rgba(201,168,76,.3);color:var(--bg)}
        .bo{background:transparent;color:var(--wh);border:1px solid rgba(255,255,255,.2)}.bo:hover{border-color:var(--gold);color:var(--gold);transform:translateY(-2px)}

        /* STATS */
        .st{padding:50px 0;background:var(--lt2);border-top:1px solid var(--ltBrd);border-bottom:1px solid var(--ltBrd)}
        .stg{display:flex;justify-content:center;gap:48px;flex-wrap:wrap;text-align:center}
        .stn{font-family:var(--sf);font-size:2.6rem;font-weight:600;color:var(--gold);line-height:1}
        .stl{font-size:.76rem;letter-spacing:.14em;text-transform:uppercase;color:var(--ltTxM);margin-top:8px}

        /* SECTION */
        section{padding:90px 0}
        .bD{background:var(--bg)}.bA{background:var(--bg2)}
        .bL{background:var(--lt);color:var(--ltTxt)}.bL .tt,.bL h2,.bL h3{color:var(--ltTxt)}.bL .tg{color:var(--gold)}.bL .sd,.bL p,.bL .dt p{color:var(--ltTxM)}.bL .dt strong{color:var(--ltTxt)}.bL .cli{color:var(--ltTxM)}
        .bL2{background:var(--lt2);color:var(--ltTxt)}.bL2 .tt,.bL2 h2,.bL2 h3{color:var(--ltTxt)}.bL2 .tg{color:var(--gold)}.bL2 .sd,.bL2 p,.bL2 .dt p{color:var(--ltTxM)}.bL2 .dt strong{color:var(--ltTxt)}.bL2 .cli{color:var(--ltTxM)}
        .bL .sc,.bL2 .sc{background:var(--lt2);border-color:var(--ltBrd)}.bL .sc:hover,.bL2 .sc:hover{border-color:var(--gold);background:#fff;box-shadow:0 8px 40px rgba(0,0,0,.08)}
        .bL .sc h3,.bL2 .sc h3{color:var(--ltTxt)}.bL .sc p,.bL2 .sc p{color:var(--ltTxM)}.bL .sci,.bL2 .sci{filter:brightness(.85) saturate(.9)}.bL .sc:hover .sci,.bL2 .sc:hover .sci{filter:brightness(1) saturate(1)}
        .bL .wc,.bL2 .wc{background:#fff;border-color:var(--ltBrd)}.bL .wc:hover,.bL2 .wc:hover{border-color:var(--gold);box-shadow:0 4px 20px rgba(0,0,0,.06)}
        .bL .wc h3,.bL2 .wc h3{color:var(--ltTxt)}.bL .wc p,.bL2 .wc p{color:var(--ltTxM)}
        .bL .di,.bL2 .di{border-color:var(--ltBrd)}.bL .di img,.bL2 .di img{filter:brightness(.92)}
        .bL .fi,.bL2 .fi{border-color:var(--ltBrd)}.bL .fq,.bL2 .fq{color:var(--ltTxt)}.bL .fa p,.bL2 .fa p{color:var(--ltTxM)}
        .bL .check-item,.bL .cli,.bL2 .check-item,.bL2 .cli{color:var(--ltTxL)}
        .bL .sdc,.bL2 .sdc{background:#fff;border-color:var(--ltBrd)}.bL .sdc:hover,.bL2 .sdc:hover{border-color:var(--gold)}
        .bL .sdi h3,.bL2 .sdi h3{color:var(--gold)}.bL .sdi p,.bL2 .sdi p{color:var(--ltTxM)}
        .bL .sdc iframe,.bL2 .sdc iframe{filter:none}
        .bL .sede-info,.bL2 .sede-info{}.bL .sdb,.bL2 .sdb{background:rgba(201,168,76,.1)}
        .bL .ic,.bL2 .ic{background:rgba(201,168,76,.1);color:var(--gold)}
        .bL a,.bL2 a{color:var(--gold)}.bL a:hover,.bL2 a:hover{color:var(--gold2)}
        .bL .bg,.bL2 .bg,.bL .btn.bg,.bL2 .btn.bg{color:var(--bg)!important}.bL .bg:hover,.bL2 .bg:hover{color:var(--bg)!important}
        .bL .bo,.bL2 .bo,.bL .btn.bo,.bL2 .btn.bo{color:var(--ltTxt)!important;border-color:var(--ltBrd)!important}.bL .bo:hover,.bL2 .bo:hover{color:var(--gold)!important;border-color:var(--gold)!important}
        .bL .gs img,.bL2 .gs img{filter:brightness(.88) saturate(.9);border-radius:6px}.bL .gs img:hover,.bL2 .gs img:hover{filter:brightness(1) saturate(1)}
        .tg{display:inline-block;font-size:.73rem;letter-spacing:.22em;text-transform:uppercase;color:var(--gold);margin-bottom:14px;position:relative;padding-left:44px}
        .tg::before{content:'';position:absolute;left:0;top:50%;width:32px;height:1px;background:var(--gold)}
        .tg.ct{padding-left:0}.tg.ct::before{display:none}
        .tt{font-family:var(--sf);font-size:clamp(1.9rem,3.5vw,3rem);font-weight:500;color:var(--wh);line-height:1.15;margin-bottom:20px}
        .sd{font-size:1.02rem;color:var(--txM);max-width:640px;line-height:1.85}.sd.ctr{margin-left:auto;margin-right:auto}

        /* SERVICE CARDS */
        .sg{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-top:48px}
        .sc{background:var(--bg3);border:1px solid var(--brd);border-radius:var(--r);overflow:hidden;transition:transform var(--tr),box-shadow var(--tr),border-color var(--tr);cursor:pointer}
        .sc:hover{transform:translateY(-8px);box-shadow:0 8px 40px rgba(0,0,0,.35);border-color:var(--gold)}
        .sci{width:100%;height:220px;object-fit:cover;filter:brightness(.75) saturate(.85);transition:filter .5s}
        .sc:hover .sci{filter:brightness(.92) saturate(1)}
        .scb{padding:24px 22px}
        .sc h3{font-family:var(--sf);font-size:1.3rem;font-weight:600;color:var(--wh);margin-bottom:10px}
        .sc p{font-size:.88rem;color:var(--txM);margin-bottom:18px;line-height:1.7}
        .sl{font-size:.78rem;letter-spacing:.12em;text-transform:uppercase;font-weight:700;color:var(--gold);display:inline-flex;align-items:center;gap:6px}
        .sl::after{content:'→';transition:transform .3s}.sc:hover .sl::after{transform:translateX(5px)}

        /* DETAIL */
        .dg{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:center;margin-top:48px}
        .dg.rv .di{order:2}.dg.rv .dt{order:1}
        .di{border-radius:var(--r);overflow:hidden;border:1px solid var(--brd)}
        .di img{width:100%;height:420px;object-fit:cover;filter:brightness(.8);transition:filter .5s}
        .di:hover img{filter:brightness(.95)}
        .dt p{color:var(--txL);margin-bottom:16px;font-size:.98rem;line-height:1.85}
        .dt strong{color:var(--wh);font-weight:700}
        .cl{margin:20px 0}
        .cli{display:flex;align-items:flex-start;gap:12px;padding:9px 0;font-size:.9rem;color:var(--txL)}
        .cli .ic{width:22px;height:22px;background:var(--goldD);border-radius:50%;display:flex;align-items:center;justify-content:center;color:var(--gold);font-size:.65rem;flex-shrink:0;margin-top:2px}

        /* GALLERY */
        .gs{display:grid;grid-template-columns:repeat(4,1fr);gap:4px;margin-top:48px}
        .gs img{width:100%;height:240px;object-fit:cover;filter:brightness(.7) saturate(.8);transition:filter .4s,transform .4s;border-radius:4px}
        .gs img:hover{filter:brightness(.95) saturate(1);transform:scale(1.02)}

        /* WHY */
        .wg{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;margin-top:48px}
        .wc{padding:32px 22px;background:var(--bg3);border:1px solid var(--brd);border-radius:var(--r);text-align:center;transition:border-color .3s,transform .3s}
        .wc:hover{border-color:var(--gold);transform:translateY(-4px)}
        .wi{font-size:2rem;margin-bottom:16px;display:block}
        .wc h3{font-family:var(--sf);font-size:1.15rem;font-weight:600;color:var(--wh);margin-bottom:10px}
        .wc p{font-size:.84rem;color:var(--txM);line-height:1.7}

        /* SEDI */
        .sdg{display:grid;grid-template-columns:repeat(2,1fr);gap:24px;margin-top:48px}
        .sdc{background:var(--bg3);border:1px solid var(--brd);border-radius:var(--r);overflow:hidden;transition:border-color .3s}
        .sdc:hover{border-color:var(--gold)}
        .sdc iframe{width:100%;height:200px;border:0;filter:brightness(.75) contrast(1.1) invert(.92) hue-rotate(180deg)}
        .sdi{padding:22px}
        .sdi h3{font-family:var(--sf);font-size:1.2rem;font-weight:600;color:var(--gold);margin-bottom:6px}
        .sdi p{font-size:.86rem;color:var(--txM);line-height:1.6}
        .sdb{display:inline-block;margin-top:8px;padding:4px 12px;background:var(--goldD);border-radius:50px;font-size:.7rem;letter-spacing:.1em;text-transform:uppercase;color:var(--gold)}

        /* FAQ */
        .fl{max-width:820px;margin:48px auto 0}
        .fi{border-bottom:1px solid var(--brd)}
        .fq{font-family:var(--sf);font-size:1.1rem;font-weight:600;color:var(--wh);cursor:pointer;display:flex;justify-content:space-between;align-items:center;background:none;border:none;width:100%;text-align:left;padding:22px 0}
        .fq .fx{font-size:1.4rem;color:var(--gold);transition:transform .3s;flex-shrink:0;margin-left:16px}
        .fa{max-height:0;overflow:hidden;transition:max-height .4s ease,padding .3s ease}
        .fa.op{max-height:400px;padding-bottom:22px}
        .fa p{font-size:.9rem;color:var(--txM);line-height:1.85}
        .fi.act .fx{transform:rotate(45deg)}

        /* CTA */
        .cb{padding:70px 0;text-align:center;background:linear-gradient(135deg,#2a2518 0%,var(--bg)100%);border-top:1px solid var(--brd);border-bottom:1px solid var(--brd)}
        .cb h2{font-family:var(--sf);font-size:clamp(1.6rem,3vw,2.4rem);font-weight:500;color:var(--wh);margin-bottom:12px}
        .cb p{color:var(--txM);margin-bottom:28px;font-size:1rem}
        .cp{display:block;font-family:var(--sf);font-size:clamp(1.8rem,4vw,2.8rem);font-weight:600;color:var(--gold);margin-bottom:32px;letter-spacing:.03em;transition:color .3s}
        .cp:hover{color:var(--gold2)}

        /* FOOTER */
        footer{padding:56px 0 24px;background:var(--bg2);border-top:1px solid var(--brd)}
        .fg{display:grid;grid-template-columns:2fr 1fr 1fr 1.5fr;gap:36px;margin-bottom:40px}
        .fb img{height:46px;margin-bottom:14px}.fb p{font-size:.84rem;color:var(--txM);line-height:1.7}
        .fc2 h4{font-family:var(--sf);font-size:1rem;font-weight:600;color:var(--wh);margin-bottom:18px}
        .fc2 a,.fc2 span.nl{display:block;font-size:.84rem;color:var(--txM);padding:3px 0;transition:color .3s;cursor:pointer}
        .fc2 a:hover,.fc2 span.nl:hover{color:var(--gold)}
        .fct p{font-size:.84rem;color:var(--txM);margin-bottom:8px;line-height:1.6}.fct strong{color:var(--txL)}
        .fbt{border-top:1px solid var(--brd);padding-top:20px;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:12px;font-size:.76rem;color:var(--txM)}

        @keyframes fu{from{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}
        @keyframes fd{from{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}
        .rv{opacity:0;transform:translateY(32px);transition:opacity .7s ease,transform .7s ease}.rv.v{opacity:1;transform:translateY(0)}

        @media(max-width:1024px){.sg{grid-template-columns:repeat(2,1fr)}.wg{grid-template-columns:repeat(2,1fr)}.fg{grid-template-columns:1fr 1fr}}
        @media(max-width:768px){
            nav{display:none}.hb{display:block}
            nav.open{display:flex;flex-direction:column;position:absolute;top:100%;left:0;right:0;background:var(--bg);border-bottom:1px solid var(--brd);padding:16px 24px;gap:2px;z-index:999}            .hero{min-height:80vh}.sg{grid-template-columns:1fr}.dg{grid-template-columns:1fr;gap:28px}
            .dg.rv .di,.dg.rv .dt{order:unset}
            .di img{height:260px}.wg{grid-template-columns:1fr}.sdg{grid-template-columns:1fr}
            .gs{grid-template-columns:repeat(2,1fr)}.gs img{height:160px}
            .fg{grid-template-columns:1fr}.stg{gap:24px}.fc{bottom:20px;right:20px;width:56px;height:56px}
            .ph{padding:100px 0 50px}
        }
        /* ═══ COOKIE BANNER ═══ */
        .ck-banner{position:fixed;inset:0;z-index:99999;display:flex;align-items:flex-end;justify-content:center;padding:20px}
        .ck-overlay{position:absolute;inset:0;background:rgba(0,0,0,.6);backdrop-filter:blur(4px)}
        .ck-box{position:relative;z-index:1;background:#252a3a;border:1px solid var(--brd);border-radius:16px;max-width:560px;width:100%;padding:32px;box-shadow:0 -10px 60px rgba(0,0,0,.5);animation:ckSlide .4s ease both;max-height:90vh;overflow-y:auto}
        @keyframes ckSlide{from{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}
        .ck-icon{font-size:2rem;margin-bottom:12px}
        .ck-title{font-family:var(--sf);font-size:1.3rem;font-weight:600;color:var(--wh);margin-bottom:10px}
        .ck-desc{font-size:.88rem;color:var(--txM);line-height:1.7;margin-bottom:20px}
        .ck-actions{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:16px}
        .ck-btn{padding:12px 24px;font-size:.82rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;border-radius:var(--r);cursor:pointer;border:none;font-family:var(--sn);transition:all .3s}
        .ck-accept{background:var(--gold);color:var(--bg)}.ck-accept:hover{background:var(--gold2)}
        .ck-reject{background:transparent;color:var(--txL);border:1px solid rgba(255,255,255,.15)}.ck-reject:hover{border-color:var(--gold);color:var(--gold)}
        .ck-settings{background:transparent;color:var(--txM);border:1px solid transparent;padding:12px 16px}.ck-settings:hover{color:var(--gold)}
        .ck-links{font-size:.78rem;color:var(--txM)}.ck-links a{color:var(--gold);font-size:.78rem}
        .ck-category{background:rgba(255,255,255,.03);border:1px solid var(--brd);border-radius:var(--r);padding:16px;margin-bottom:12px}
        .ck-cat-head{display:flex;align-items:center;gap:14px}
        .ck-cat-head strong{color:var(--wh);font-size:.92rem}
        .ck-required{display:inline-block;margin-left:8px;font-size:.7rem;letter-spacing:.08em;text-transform:uppercase;color:var(--gold);background:var(--goldD);padding:2px 8px;border-radius:50px}
        .ck-cat-desc{font-size:.82rem;color:var(--txM);margin-top:8px;line-height:1.6;padding-left:52px}
        /* Toggle switch */
        .ck-switch{position:relative;display:inline-block;width:42px;height:24px;flex-shrink:0}
        .ck-switch input{opacity:0;width:0;height:0}
        .ck-slider{position:absolute;cursor:pointer;inset:0;background:#333;border-radius:24px;transition:.3s}
        .ck-slider::before{content:'';position:absolute;height:18px;width:18px;left:3px;bottom:3px;background:#888;border-radius:50%;transition:.3s}
        .ck-switch input:checked+.ck-slider{background:var(--gold)}
        .ck-switch input:checked+.ck-slider::before{transform:translateX(18px);background:var(--bg)}
        .ck-switch input:disabled+.ck-slider{opacity:.7;cursor:default}
        .ck-switch input:disabled:checked+.ck-slider{background:var(--gold)}
        /* Floating settings button (after consent given) */
        .ck-reopen{position:fixed;bottom:28px;left:28px;z-index:9989;width:44px;height:44px;background:var(--bg3);border:1px solid var(--brd);border-radius:50%;display:none;align-items:center;justify-content:center;cursor:pointer;font-size:1.2rem;transition:border-color .3s,transform .3s}
        .ck-reopen:hover{border-color:var(--gold);transform:scale(1.1)}
        @media(max-width:768px){.ck-box{margin:0 8px;padding:24px 20px;border-radius:14px 14px 0 0;max-width:100%}}