/* ===== CEOPRACTIC — main page styles ===== */
        :root {
            --navy: #0D2846;
            --navy-deep: #081a2e;
            --gold: #CF9E52;
            --gold-light: #e8b96a;
            --white: #ffffff;
            --red: #e05555;
            --text-muted: rgba(255,255,255,0.55);
            --text-soft: rgba(255,255,255,0.75);
        }
        * { margin:0; padding:0; box-sizing:border-box; }
        html { scroll-behavior:smooth; }
        body { font-family:'Montserrat',sans-serif; background:var(--navy-deep); color:var(--white); overflow-x:hidden; }

        /* NAV */
        nav {
            position:fixed; top:0; left:0; right:0; z-index:100;
            padding:20px 60px 20px 84px; display:flex; align-items:center; justify-content:space-between;
            background:rgba(8,26,46,0.93); backdrop-filter:blur(12px);
            border-bottom:1px solid rgba(207,158,82,0.15);
        }
        .nav-logo { font-weight:800; font-size:18px; letter-spacing:4px; color:var(--gold); text-transform:uppercase; }
        .nav-logo span { color:rgba(207,158,82,0.5); font-weight:300; font-size:11px; letter-spacing:2px; display:block; margin-top:2px; }
        .nav-right { display:flex; align-items:center; gap:24px; }

        /* LANG SWITCHER */
        .lang-switch { display:flex; gap:4px; }
        .lang-btn {
            padding:6px 12px; font-size:11px; font-weight:700; letter-spacing:1.5px;
            text-transform:uppercase; cursor:pointer; border:1px solid rgba(207,158,82,0.3);
            background:transparent; color:var(--text-muted); transition:all 0.25s ease;
        }
        .lang-btn.active { background:var(--gold); color:var(--navy-deep); border-color:var(--gold); }
        .lang-btn:hover:not(.active) { border-color:var(--gold); color:var(--gold); }

        .nav-cta {
            display:inline-flex; align-items:center; padding:10px 24px;
            border:1px solid var(--gold); color:var(--gold); font-size:12px; font-weight:600;
            letter-spacing:2px; text-transform:uppercase; text-decoration:none; transition:all 0.3s;
        }
        .nav-cta:hover { background:var(--gold); color:var(--navy-deep); }

        /* LANG VISIBILITY */
        [data-lang] { display:none; }
        body.lang-uk [data-lang="uk"] { display:inherit; }
        body.lang-en [data-lang="en"] { display:inherit; }
        /* For block elements */
        body.lang-uk [data-lang-block="uk"] { display:block; }
        body.lang-uk [data-lang-block="en"] { display:none; }
        body.lang-en [data-lang-block="en"] { display:block; }
        body.lang-en [data-lang-block="uk"] { display:none; }

        /* SECTIONS */
        section { min-height:100vh; display:flex; align-items:center; position:relative; overflow:hidden; }
        .container { width:100%; max-width:1160px; margin:0 auto; padding:0 60px; }

        /* HERO */
        #hero { background:var(--navy-deep); padding:120px 0 80px; }
        #hero::before {
            content:''; position:absolute; top:0; right:0; width:55%; height:100%;
            background:radial-gradient(ellipse at 70% 40%, rgba(207,158,82,0.08) 0%, transparent 65%);
            pointer-events:none;
        }
        #hero::after { content:''; position:absolute; bottom:0; left:0; width:100%; height:1px; background:linear-gradient(90deg,transparent,rgba(207,158,82,0.3),transparent); }

        .hero-eyebrow { display:flex; align-items:center; gap:16px; margin-bottom:40px; opacity:0; animation:fadeUp 0.8s ease forwards 0.2s; }
        .hero-eyebrow-line { width:40px; height:1px; background:var(--gold); }
        .hero-eyebrow-text { font-size:11px; font-weight:600; letter-spacing:3px; text-transform:uppercase; color:var(--gold); }

        .hero-headline { font-size:clamp(38px,5vw,70px); font-weight:700; line-height:1.1; color:var(--white); max-width:820px; margin-bottom:32px; opacity:0; animation:fadeUp 0.8s ease forwards 0.4s; }
        .hero-headline .gold { color:var(--gold); }

        .hero-sub { font-size:15px; font-weight:300; line-height:1.8; color:var(--text-soft); max-width:520px; margin-bottom:56px; opacity:0; animation:fadeUp 0.8s ease forwards 0.6s; }

        .hero-actions { display:flex; align-items:center; gap:32px; flex-wrap:wrap; opacity:0; animation:fadeUp 0.8s ease forwards 0.8s; }
        .btn-primary { display:inline-block; padding:18px 44px; background:var(--gold); color:var(--navy-deep); font-size:12px; font-weight:700; letter-spacing:2.5px; text-transform:uppercase; text-decoration:none; transition:all 0.3s; }
        .btn-primary:hover { background:var(--gold-light); transform:translateY(-2px); box-shadow:0 12px 40px rgba(207,158,82,0.3); }
        .hero-contact-block { display:flex; flex-direction:column; gap:4px; }
        .hero-contact-item { font-size:13px; color:var(--text-muted); text-decoration:none; transition:color 0.2s; }
        .hero-contact-item:hover { color:var(--gold); }

        .hero-stat-row { display:flex; gap:60px; margin-top:80px; padding-top:48px; border-top:1px solid rgba(255,255,255,0.08); opacity:0; animation:fadeUp 0.8s ease forwards 1s; }
        .hero-stat { display:flex; flex-direction:column; gap:6px; }
        .hero-stat-num { font-size:44px; font-weight:700; color:var(--gold); line-height:1; }
        .hero-stat-label { font-size:11px; font-weight:500; letter-spacing:1.5px; text-transform:uppercase; color:var(--text-muted); }

        /* SECTION COMMON */
        .section-tag { font-size:11px; font-weight:600; letter-spacing:3px; text-transform:uppercase; color:var(--gold); margin-bottom:16px; display:flex; align-items:center; gap:12px; }
        .section-tag::before { content:''; display:inline-block; width:28px; height:1px; background:var(--gold); }
        .section-title { font-size:clamp(30px,3.7vw,50px); font-weight:700; line-height:1.15; color:var(--white); }
        .section-header { margin-bottom:72px; }

        /* SCREEN 2 */
        #when { background:var(--navy); padding:120px 0; }
        #when::before { content:''; position:absolute; top:50%; left:50%; transform:translate(-50%,-50%); width:600px; height:600px; background:radial-gradient(circle,rgba(207,158,82,0.05) 0%,transparent 70%); pointer-events:none; }

        .situations-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:2px; }
        .situation-card { background:rgba(255,255,255,0.03); border:1px solid rgba(255,255,255,0.06); padding:40px 36px; transition:all 0.4s; position:relative; overflow:hidden; }
        .situation-card::before { content:''; position:absolute; top:0; left:0; width:0; height:2px; background:var(--gold); transition:width 0.4s; }
        .situation-card:hover { background:rgba(207,158,82,0.06); border-color:rgba(207,158,82,0.25); }
        .situation-card:hover::before { width:100%; }
        .situation-num { font-size:52px; font-weight:700; color:rgba(207,158,82,0.15); line-height:1; margin-bottom:20px; display:block; }
        .situation-title { font-size:14px; font-weight:700; color:var(--white); margin-bottom:12px; line-height:1.4; }
        .situation-desc { font-size:13px; font-weight:300; line-height:1.7; color:var(--text-muted); }
        .red { color:var(--red); font-weight:600; }

        /* SCREEN 3 */
        #process { background:var(--navy-deep); padding:120px 0; }
        .process-layout { display:grid; grid-template-columns:1fr 1.6fr; gap:100px; align-items:start; }
        .process-intro { position:sticky; top:120px; }
        .process-intro p { font-size:14px; font-weight:300; line-height:1.8; color:var(--text-soft); margin-top:24px; }
        .step { padding:48px 0; border-bottom:1px solid rgba(255,255,255,0.07); }
        .step:first-child { border-top:1px solid rgba(255,255,255,0.07); }
        .step-header { display:flex; align-items:flex-start; gap:32px; margin-bottom:20px; }
        .step-num { font-size:13px; font-weight:600; color:var(--gold); letter-spacing:2px; min-width:28px; padding-top:4px; }
        .step-title { font-size:20px; font-weight:600; color:var(--white); line-height:1.3; }
        .step-body { padding-left:60px; }
        .step-desc { font-size:14px; font-weight:300; line-height:1.8; color:var(--text-soft); margin-bottom:20px; }
        .step-phases { display:flex; flex-direction:column; gap:8px; }
        .step-phase { display:flex; align-items:center; gap:12px; font-size:13px; font-weight:400; color:var(--text-muted); }
        .step-phase::before { content:''; width:4px; height:4px; border-radius:50%; background:var(--gold); flex-shrink:0; }
        .step-badge { display:inline-block; margin-top:16px; padding:6px 14px; border:1px solid rgba(207,158,82,0.3); font-size:11px; font-weight:600; letter-spacing:1.5px; text-transform:uppercase; color:var(--gold); }

        /* SCREEN 4 */
        #results { background:var(--navy); padding:120px 0; }
        #results::after { content:''; position:absolute; bottom:0; left:0; right:0; height:1px; background:linear-gradient(90deg,transparent,rgba(207,158,82,0.3),transparent); }
        .results-grid { display:grid; grid-template-columns:repeat(2,1fr); gap:2px; margin-top:64px; }
        .result-card { background:rgba(255,255,255,0.03); padding:56px 48px; border:1px solid rgba(255,255,255,0.06); position:relative; overflow:hidden; transition:all 0.4s; }
        .result-card:hover { background:rgba(207,158,82,0.05); }
        .result-card-num { font-size:80px; font-weight:700; color:rgba(207,158,82,0.12); line-height:1; position:absolute; top:24px; right:32px; }
        .result-icon { width:48px; height:2px; background:var(--gold); margin-bottom:32px; }
        .result-title { font-size:18px; font-weight:700; color:var(--white); margin-bottom:16px; line-height:1.3; }
        .result-desc { font-size:14px; font-weight:300; line-height:1.7; color:var(--text-muted); }

        /* SCREEN 5 */
        #formats { background:var(--navy-deep); padding:120px 0; }
        .formats-layout { display:grid; grid-template-columns:1.2fr 1fr; gap:80px; align-items:center; }
        .format-main { background:rgba(207,158,82,0.06); border:1px solid rgba(207,158,82,0.2); padding:60px; position:relative; }
        .format-main::before { content:''; position:absolute; top:-1px; right:40px; background:var(--gold); color:var(--navy-deep); font-size:10px; font-weight:800; letter-spacing:2px; padding:4px 12px; }
        body.lang-uk .format-main::before { content:'ОСНОВНИЙ'; }
        body.lang-en .format-main::before { content:'PRIMARY'; }
        .format-label { font-size:11px; font-weight:600; letter-spacing:3px; text-transform:uppercase; color:var(--gold); margin-bottom:12px; }
        .format-title { font-size:36px; font-weight:700; color:var(--white); margin-bottom:24px; line-height:1.2; }
        .format-desc { font-size:14px; font-weight:300; line-height:1.8; color:var(--text-soft); margin-bottom:32px; }
        .format-features { display:flex; flex-direction:column; gap:12px; }
        .format-feature { display:flex; align-items:center; gap:14px; font-size:13px; color:var(--text-soft); }
        .format-feature::before { content:'→'; color:var(--gold); font-weight:700; }
        .formats-secondary { display:flex; flex-direction:column; gap:2px; }
        .format-secondary-card { background:rgba(255,255,255,0.03); border:1px solid rgba(255,255,255,0.06); padding:32px 36px; transition:all 0.3s; }
        .format-secondary-card:hover { border-color:rgba(207,158,82,0.2); background:rgba(207,158,82,0.04); }
        .format-secondary-title { font-size:15px; font-weight:600; color:var(--white); margin-bottom:8px; }
        .format-secondary-desc { font-size:13px; font-weight:300; line-height:1.6; color:var(--text-muted); }
        .formats-note { margin-top:48px; padding:24px 32px; border-left:2px solid var(--gold); background:rgba(207,158,82,0.04); font-size:13px; font-weight:300; line-height:1.7; color:var(--text-soft); font-style:italic; }

        /* SCREEN 6 */
        #about { background:var(--navy); padding:120px 0; }
        .about-layout { display:grid; grid-template-columns:1fr 1fr; gap:100px; align-items:center; }
        .about-text p { font-size:15px; font-weight:300; line-height:1.9; color:var(--text-soft); margin-bottom:24px; }
        .about-text p strong { font-weight:600; color:var(--white); }
        .about-credentials { display:flex; flex-direction:column; gap:2px; }
        .credential { display:flex; align-items:center; gap:20px; padding:20px 24px; background:rgba(255,255,255,0.03); border:1px solid rgba(255,255,255,0.05); transition:all 0.3s; }
        .credential:hover { border-color:rgba(207,158,82,0.2); }
        .credential-year { font-size:11px; font-weight:600; letter-spacing:1px; color:var(--gold); min-width:70px; }
        .credential-text { font-size:13px; font-weight:400; color:var(--text-soft); line-height:1.5; }

        /* SCREEN 7 CTA */
        #cta { background:var(--navy-deep); padding:140px 0; text-align:center; }
        #cta::before { content:''; position:absolute; top:50%; left:50%; transform:translate(-50%,-50%); width:800px; height:800px; background:radial-gradient(circle,rgba(207,158,82,0.07) 0%,transparent 60%); pointer-events:none; }
        .cta-inner { position:relative; z-index:1; }
        .cta-logo { margin:0 auto 48px; display:block; width:220px; height:auto; }
        .cta-tag { font-size:11px; font-weight:600; letter-spacing:4px; text-transform:uppercase; color:var(--gold); margin-bottom:32px; }
        .cta-headline { font-size:clamp(36px,4.6vw,62px); font-weight:700; line-height:1.1; color:var(--white); max-width:700px; margin:0 auto 20px; }
        .cta-sub { font-size:15px; font-weight:300; color:var(--text-muted); margin-bottom:60px; }
        .cta-contact-block { display:flex; justify-content:center; gap:80px; flex-wrap:wrap; margin-bottom:56px; }
        .cta-contact-item { display:flex; flex-direction:column; gap:4px; align-items:center; }
        .cta-contact-label { font-size:10px; font-weight:600; letter-spacing:2px; text-transform:uppercase; color:var(--text-muted); }
        .cta-contact-value { font-size:16px; font-weight:400; color:var(--white); text-decoration:none; transition:color 0.2s; }
        .cta-contact-value:hover { color:var(--gold); }
        .cta-divider { width:1px; height:60px; background:rgba(255,255,255,0.1); }

        /* FOOTER */
        footer { background:var(--navy-deep); border-top:1px solid rgba(207,158,82,0.12); padding:32px 60px; display:flex; align-items:center; justify-content:space-between; }
        .footer-logo { font-weight:800; font-size:14px; letter-spacing:3px; color:var(--gold); }
        .footer-note { font-size:12px; font-weight:300; color:var(--text-muted); }

        /* ANIMATIONS */
        @keyframes fadeUp { from{opacity:0;transform:translateY(24px)} to{opacity:1;transform:translateY(0)} }
        .reveal { opacity:0; transform:translateY(32px); transition:opacity 0.7s ease,transform 0.7s ease; }
        .reveal.visible { opacity:1; transform:none; }

        /* RESPONSIVE */
        @media(max-width:900px){
            nav{padding:16px 24px 16px 76px;}
            .container{padding:0 24px;}
            .situations-grid{grid-template-columns:1fr;}
            .process-layout{grid-template-columns:1fr;gap:40px;}
            .process-intro{position:static;}
            .results-grid{grid-template-columns:1fr;}
            .formats-layout{grid-template-columns:1fr;gap:40px;}
            .about-layout{grid-template-columns:1fr;gap:48px;}
            .hero-stat-row{gap:32px;flex-wrap:wrap;}
            footer{flex-direction:column;gap:8px;text-align:center;}
            .nav-right{gap:12px;}
        }

        /* LIST RESET (situations/results are semantic <ul>) */
        .situations-grid, .results-grid { list-style:none; }

/* ===== CEOPRACTIC — product menu widget (left-aligned, X1 only, inactive) ===== */

  #ceo-menu-btn {
    position: fixed; top: 20px; left: 20px; z-index: 9999;
    width: 44px; height: 44px; background: var(--navy-deep);
    border: none; border-radius: 6px; cursor: pointer;
    display: flex; flex-direction: column;
    align-items: center; justify-content: center;
    gap: 5px; padding: 0; box-shadow: 0 2px 12px rgba(0,0,0,0.25);
    transition: background 0.2s;
  }
  #ceo-menu-btn:hover { background: var(--navy); }
  #ceo-menu-btn span { display: block; width: 20px; height: 2px; background: #F5F2ED; border-radius: 2px; transition: all 0.25s; }
  #ceo-menu-btn.open span:nth-child(1) { transform: translateY(7px) rotate(45deg); }
  #ceo-menu-btn.open span:nth-child(2) { opacity: 0; }
  #ceo-menu-btn.open span:nth-child(3) { transform: translateY(-7px) rotate(-45deg); }
  #ceo-menu-panel {
    position: fixed; top: 0; left: 0; right: 0; z-index: 9998;
    background: var(--navy-deep); transform: translateY(-100%);
    transition: transform 0.35s cubic-bezier(.4,0,.2,1);
    padding: 80px 32px 40px; border-bottom: 2px solid #C8963E;
  }
  #ceo-menu-panel.open { transform: translateY(0); }
  .ceo-menu-label { font-size: 11px; letter-spacing: 2px; text-transform: uppercase; color: var(--text-muted); margin-bottom: 20px; font-family: sans-serif; }
  .ceo-product-list { list-style: none; padding: 0; margin: 0; display: flex; flex-direction: column; gap: 8px; }
  .ceo-product-item {
    display: flex; align-items: center; justify-content: space-between;
    background: var(--navy); border: 1px solid rgba(255,255,255,0.1); border-radius: 8px;
    padding: 16px 20px; cursor: pointer;
    transition: border-color 0.2s, background 0.2s; font-family: sans-serif;
  }
  .ceo-product-item:hover { border-color: var(--gold); background: rgba(207,158,82,0.08); }
  .ceo-product-name { font-size: 16px; font-weight: 600; color: #F5F2ED; }
  .ceo-product-badge { font-size: 10px; letter-spacing: 1.5px; text-transform: uppercase; padding: 3px 10px; border-radius: 20px; font-weight: 600; }
  .badge-active { background: rgba(200,150,62,0.15); color: #C8963E; border: 1px solid rgba(200,150,62,0.3); }
  .badge-soon { background: rgba(120,120,120,0.15); color: #888; border: 1px solid rgba(120,120,120,0.3); }
  #ceo-access-overlay {
    position: fixed; inset: 0; z-index: 10000;
    background: rgba(0,0,0,0.6); display: none;
    align-items: center; justify-content: center; padding: 20px;
  }
  #ceo-access-overlay.show { display: flex; }
  #ceo-access-panel {
    background: var(--navy-deep); border: 1px solid rgba(255,255,255,0.1); border-radius: 12px;
    padding: 40px 32px; width: 100%; max-width: 420px;
    position: relative; font-family: sans-serif;
  }
  #ceo-access-close { position: absolute; top: 16px; right: 16px; background: none; border: none; color: var(--text-muted); font-size: 22px; cursor: pointer; }
  #ceo-access-close:hover { color: #F5F2ED; }
  .ceo-access-title { font-size: 11px; letter-spacing: 2px; text-transform: uppercase; color: var(--text-muted); margin-bottom: 6px; }
  .ceo-access-product { font-size: 20px; font-weight: 700; color: #F5F2ED; margin-bottom: 28px; }
  .ceo-btn-pay {
    background: #C8963E; color: var(--navy-deep); border: none; border-radius: 8px;
    padding: 16px 24px; font-size: 15px; font-weight: 700; cursor: pointer;
    transition: background 0.2s; text-align: left;
    display: flex; justify-content: space-between; align-items: center; width: 100%;
  }
  .ceo-btn-pay:hover { background: #B8862E; }
  .price { font-size: 18px; }
  .ceo-divider { display: flex; align-items: center; gap: 12px; color: var(--text-muted); font-size: 12px; margin: 12px 0; }
  .ceo-divider::before, .ceo-divider::after { content: ''; flex: 1; height: 1px; background: rgba(255,255,255,0.15); }
  .ceo-code-row { display: flex; gap: 8px; }
  .ceo-code-input {
    flex: 1; background: var(--navy); border: 1px solid rgba(255,255,255,0.1); border-radius: 6px;
    padding: 12px 16px; color: #F5F2ED; font-size: 14px; font-family: monospace; outline: none;
  }
  .ceo-code-input:focus { border-color: #C8963E; }
  .ceo-code-input::placeholder { color: var(--text-muted); }
  .ceo-btn-code {
    background: var(--navy); border: 1px solid rgba(255,255,255,0.1); border-radius: 6px;
    padding: 12px 20px; color: #F5F2ED; font-size: 14px; font-weight: 600; cursor: pointer;
  }
  .ceo-btn-code:hover { border-color: var(--gold); }
  .ceo-access-msg { margin-top: 12px; font-size: 13px; min-height: 20px; color: #C8963E; text-align: center; }

        /* PHONE NUMBER — slightly bolder than surrounding contact text */
        .hero-phone, .cta-phone { font-weight:600; letter-spacing:0.3px; }
