:root {
    --g-blue:#073649;
    --g-blue-dark:#052938;
    --g-gold:#D9B36A;
    --g-gold-light:#F0D49C;
    --g-night:#020308;
    --g-night2:#050815;
    --g-text:#111827;
    --g-muted:#64748b;
    --g-light:#f5f6f8;
    --g-white:#fff;
}

html { scroll-behavior:smooth; }

.geds-page {
    overflow:hidden;
    background:var(--g-light);
    color:var(--g-text);
}

.geds-page *,
.geds-page *::before,
.geds-page *::after { box-sizing:border-box; }

.geds-page section { scroll-margin-top:95px; }

.geds-nav {
    position:fixed;
    z-index:9999;
    top:18px;
    left:50%;
    transform:translateX(-50%);
    display:flex;
    align-items:center;
    gap:4px;
    padding:6px;
    border:1px solid rgba(148,163,184,.32);
    border-radius:999px;
    background:rgba(15,23,42,.90);
    backdrop-filter:blur(22px);
    box-shadow:0 18px 45px rgba(0,0,0,.28);
}

.geds-nav a {
    padding:9px 17px;
    border-radius:999px;
    color:#e2e8f0;
    font-size:12px;
    font-weight:700;
    white-space:nowrap;
    transition:.2s ease;
}

.geds-nav a:hover { background:rgba(255,255,255,.07); color:#fff; }

.geds-nav a.active {
    background:var(--g-gold);
    color:#10202a;
}

/* HERO */
.geds-hero {
    position:relative;
    min-height:100vh;
    padding:112px 0 42px;
    color:#fff;
    background:
        radial-gradient(circle at 85% 28%, rgba(7,54,73,.9), transparent 38%),
        radial-gradient(circle at 5% 85%, rgba(7,54,73,.38), transparent 32%),
        linear-gradient(145deg,#070b19 0%,#050815 48%,#020308 100%);
}

.geds-grid-pattern {
    position:absolute;
    inset:0;
    opacity:.15;
    background-image:
        linear-gradient(rgba(255,255,255,.035) 1px,transparent 1px),
        linear-gradient(90deg,rgba(255,255,255,.035) 1px,transparent 1px);
    background-size:58px 58px;
    mask-image:linear-gradient(to bottom,#000,transparent 95%);
}

.geds-glow {
    position:absolute;
    border-radius:50%;
    filter:blur(110px);
    pointer-events:none;
}
.geds-glow-one {
    width:430px;height:430px;
    right:-160px;top:50px;
    background:rgba(217,179,106,.12);
}
.geds-glow-two {
    width:500px;height:500px;
    left:-220px;bottom:-150px;
    background:rgba(7,54,73,.7);
}

.geds-hero-inner {
    position:relative;
    z-index:2;
    display:grid;
    grid-template-columns:1.05fr .95fr;
    gap:55px;
    align-items:center;
}

.geds-event-badge {
    display:inline-flex;
    align-items:center;
    gap:9px;
    padding:8px 14px;
    margin-bottom:20px;
    border:1px solid rgba(217,179,106,.35);
    border-radius:999px;
    background:rgba(15,23,42,.55);
    color:#e5e7eb;
    font-size:11px;
    font-weight:800;
    letter-spacing:.4px;
}
.geds-event-badge span {
    width:7px;height:7px;
    border-radius:50%;
    background:var(--g-gold);
    box-shadow:0 0 0 6px rgba(217,179,106,.1);
}

.geds-pretitle {
    margin:0 0 10px;
    color:var(--g-gold);
    font-size:12px;
    font-weight:800;
}

.geds-hero-copy h1 {
    max-width:700px;
    margin:0;
    color:#fff;
    font-size:clamp(47px,5.4vw,72px);
    line-height:1.12;
    letter-spacing:-2px;
    font-weight:900;
}
.geds-hero-copy h1 span {
    display:block;
    color:var(--g-gold-light);
}

.geds-hero-description {
    max-width:650px;
    margin:24px 0 0;
    color:#cbd5e1;
    font-size:15px;
    line-height:2;
}

.geds-hero-actions {
    display:flex;
    flex-wrap:wrap;
    gap:11px;
    margin-top:28px;
}

.geds-btn {
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:12px;
    min-height:48px;
    padding:10px 23px;
    border-radius:999px;
    font-size:13px;
    font-weight:800;
    transition:.22s ease;
}

.geds-btn-primary {
    background:var(--g-gold);
    color:#10202a;
    box-shadow:0 15px 35px rgba(0,0,0,.28);
}
.geds-btn-primary:hover {
    transform:translateY(-2px);
    background:var(--g-gold-light);
}

.geds-btn-outline {
    color:#fff;
    border:1px solid rgba(148,163,184,.42);
    background:rgba(255,255,255,.025);
}
.geds-btn-outline:hover {
    transform:translateY(-2px);
    background:rgba(255,255,255,.07);
}

.geds-event-meta {
    display:flex;
    align-items:center;
    gap:22px;
    margin-top:33px;
}
.geds-event-meta > div {
    display:flex;
    flex-direction:column;
    gap:4px;
}
.geds-event-meta small { color:#64748b;font-size:10px; }
.geds-event-meta strong { color:#e2e8f0;font-size:11px;font-weight:700; }
.geds-event-meta > i {
    width:1px;height:31px;
    background:rgba(148,163,184,.24);
}

/* HERO SYSTEM */
.hero-system {
    position:relative;
    width:490px;
    max-width:100%;
    aspect-ratio:1;
    margin:auto;
    border-radius:50%;
    background:radial-gradient(circle,rgba(217,179,106,.07),rgba(7,54,73,.07) 45%,transparent 72%);
}

.hero-system-ring {
    position:absolute;
    top:50%;left:50%;
    transform:translate(-50%,-50%);
    border-radius:50%;
    border:1px solid rgba(148,163,184,.17);
}
.ring-a { width:94%;height:94%;animation:gSpin 45s linear infinite; }
.ring-b { width:70%;height:70%;border-color:rgba(217,179,106,.24);animation:gSpinBack 34s linear infinite; }
.ring-c { width:46%;height:46%;border-style:dashed; }

.ring-a::before,.ring-b::before {
    content:"";
    position:absolute;
    top:-4px;left:50%;
    width:7px;height:7px;
    border-radius:50%;
    background:var(--g-gold);
    box-shadow:0 0 14px rgba(217,179,106,.7);
}

.system-core {
    position:absolute;
    top:50%;left:50%;
    transform:translate(-50%,-50%);
    width:170px;height:170px;
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    border-radius:50%;
    text-align:center;
    background:radial-gradient(circle at 35% 20%,#125168,#073649 55%,#041e29);
    border:1px solid rgba(217,179,106,.65);
    box-shadow:0 0 0 14px rgba(217,179,106,.035),0 0 65px rgba(7,54,73,.8);
}
.system-core small {
    color:var(--g-gold);
    font-size:8px;
    letter-spacing:2px;
}
.system-core strong {
    margin:7px 0 2px;
    color:#fff;
    font-size:22px;
}
.system-core span { color:#94a3b8;font-size:10px; }

.system-node {
    position:absolute;
    z-index:3;
    min-width:88px;
    padding:10px 12px;
    text-align:center;
    border:1px solid rgba(148,163,184,.27);
    border-radius:14px;
    background:rgba(15,23,42,.84);
    box-shadow:0 12px 28px rgba(0,0,0,.3);
    backdrop-filter:blur(12px);
}
.system-node small {
    display:block;
    margin-bottom:3px;
    color:var(--g-gold);
    font-size:8px;
}
.system-node strong { color:#e5e7eb;font-size:10px; }

.system-1 { top:0;left:50%;transform:translateX(-50%); }
.system-2 { top:22%;right:0; }
.system-3 { bottom:21%;right:0; }
.system-4 { bottom:0;left:50%;transform:translateX(-50%); }
.system-5 { bottom:21%;left:0; }
.system-6 { top:22%;left:0; }

.hero-bottom-line {
    position:relative;
    z-index:2;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:12px;
    margin-top:40px;
    padding:16px 23px;
    border:1px solid rgba(148,163,184,.16);
    border-radius:18px;
    background:rgba(15,23,42,.56);
    backdrop-filter:blur(12px);
}
.hero-bottom-line span {
    color:#e2e8f0;
    font-size:11px;
    font-weight:700;
}
.hero-bottom-line i {
    color:var(--g-gold);
    font-style:normal;
    opacity:.65;
}

/* COMMON */
.geds-section-label {
    display:flex;
    align-items:center;
    gap:9px;
    margin-bottom:20px;
    color:var(--g-blue);
    font-size:11px;
    font-weight:900;
}
.geds-section-label > span {
    width:31px;height:2px;
    background:var(--g-gold);
}
.geds-section-label.light { color:var(--g-gold-light); }

/* STORY */
.geds-story {
    padding:105px 0;
    background:#fff;
}

.story-heading {
    max-width:930px;
}
.story-heading h2 {
    margin:0;
    color:#0f172a;
    font-size:clamp(40px,5vw,62px);
    line-height:1.2;
    letter-spacing:-1.7px;
}
.story-heading h2 span {
    display:block;
    color:var(--g-blue);
}
.story-heading > p {
    max-width:770px;
    margin:25px 0 0;
    color:#475569;
    font-size:16px;
    line-height:2;
}

.fragment-grid {
    display:grid;
    grid-template-columns:repeat(4,1fr);
    margin-top:60px;
    border-top:1px solid #e2e8f0;
    border-bottom:1px solid #e2e8f0;
}
.fragment-grid article {
    min-height:190px;
    padding:28px 24px;
    border-left:1px solid #e2e8f0;
}
.fragment-grid article:last-child { border-left:0; }
.fragment-grid span {
    display:block;
    color:var(--g-gold);
    font-size:9px;
    font-weight:900;
}
.fragment-grid small {
    display:block;
    margin:38px 0 8px;
    color:#94a3b8;
    font-size:10px;
}
.fragment-grid strong {
    color:var(--g-blue);
    font-size:17px;
    line-height:1.7;
}

.story-question {
    margin-top:65px;
    padding:45px 50px;
    border-radius:25px;
    background:var(--g-light);
    border:1px solid #e5e7eb;
}
.story-question small {
    color:var(--g-gold);
    font-size:10px;
    font-weight:900;
}
.story-question h3 {
    margin:10px 0 0;
    color:#0f172a;
    font-size:clamp(30px,4vw,50px);
}

/* ECOSYSTEM */
.geds-ecosystem {
    padding:110px 0;
    color:#fff;
    background:
        radial-gradient(circle at 90% 15%,rgba(7,54,73,.7),transparent 35%),
        linear-gradient(145deg,#070b19,#020308);
}

.ecosystem-head {
    display:grid;
    grid-template-columns:1.2fr .8fr;
    gap:70px;
    align-items:end;
}
.ecosystem-head h2 {
    margin:0;
    color:#fff;
    font-size:clamp(40px,5vw,61px);
    line-height:1.2;
}
.ecosystem-head h2 span {
    display:block;
    color:var(--g-gold);
}
.ecosystem-head > p {
    margin:0;
    color:#a9b6c7;
    font-size:14px;
    line-height:2;
}

.journey-grid {
    position:relative;
    display:grid;
    grid-template-columns:repeat(6,1fr);
    gap:12px;
    margin-top:65px;
}
.journey-grid::before {
    content:"";
    position:absolute;
    top:57px;
    right:5%;
    left:5%;
    height:1px;
    background:linear-gradient(90deg,transparent,rgba(217,179,106,.55),transparent);
}
.journey-grid article {
    position:relative;
    min-height:260px;
    padding:23px 18px;
    border:1px solid rgba(148,163,184,.17);
    border-radius:20px;
    background:rgba(15,23,42,.48);
}
.journey-no { color:#64748b;font-size:9px; }
.journey-dot {
    position:relative;
    z-index:2;
    width:10px;height:10px;
    margin:20px 0 40px;
    border-radius:50%;
    background:var(--g-gold);
    box-shadow:0 0 0 7px rgba(217,179,106,.08);
}
.journey-grid h3 {
    margin:0 0 11px;
    color:#fff;
    font-size:18px;
}
.journey-grid p {
    margin:0;
    color:#94a3b8;
    font-size:11px;
    line-height:1.9;
}

.ecosystem-statement {
    display:flex;
    justify-content:space-between;
    align-items:center;
    gap:30px;
    margin-top:55px;
    padding-top:35px;
    border-top:1px solid rgba(148,163,184,.16);
}
.ecosystem-statement small {
    color:#64748b;
    font-size:10px;
}
.ecosystem-statement strong {
    color:#fff;
    font-size:clamp(23px,3vw,36px);
}
.ecosystem-statement strong span { color:var(--g-gold); }

/* ENGINE */
.geds-engine-section {
    padding:105px 0;
    background:#fff;
}

.engine-card {
    position:relative;
    overflow:hidden;
    display:grid;
    grid-template-columns:.9fr 1.1fr;
    gap:55px;
    align-items:center;
    min-height:600px;
    padding:65px;
    border-radius:32px;
    color:#fff;
    background:linear-gradient(135deg,#073649,#052938 58%,#020308);
    box-shadow:0 35px 80px rgba(15,23,42,.15);
}

.engine-copy h2 {
    margin:0;
    color:#fff;
    font-size:clamp(35px,4vw,52px);
    line-height:1.25;
}
.engine-copy h2 span { color:#fff; }
.engine-copy h2 em {
    display:block;
    color:var(--g-gold);
    font-style:normal;
}
.engine-copy > p {
    margin:25px 0 0;
    color:#cbd5e1;
    font-size:14px;
    line-height:2;
}
.engine-disclaimer {
    display:inline-flex;
    margin-top:27px;
    padding:8px 12px;
    border-radius:999px;
    color:#94a3b8;
    background:rgba(2,3,8,.25);
    border:1px solid rgba(148,163,184,.15);
    font-size:9px;
}

.profile-demo {
    position:relative;
    z-index:2;
    padding:28px;
    border:1px solid rgba(217,179,106,.28);
    border-radius:25px;
    background:rgba(2,3,8,.34);
    box-shadow:0 25px 60px rgba(0,0,0,.2);
}

.profile-head {
    display:grid;
    grid-template-columns:52px 1fr auto;
    gap:13px;
    align-items:center;
    padding-bottom:22px;
    border-bottom:1px solid rgba(148,163,184,.16);
}
.profile-avatar {
    width:48px;height:48px;
    display:flex;
    align-items:center;
    justify-content:center;
    border-radius:15px;
    background:var(--g-blue);
    border:1px solid rgba(217,179,106,.4);
    color:var(--g-gold);
    font-size:10px;
    font-weight:900;
}
.profile-head small {
    display:block;
    color:#64748b;
    font-size:9px;
}
.profile-head strong {
    display:block;
    margin-top:3px;
    color:#fff;
    font-size:16px;
}
.profile-head > span {
    color:var(--g-gold);
    font-size:7px;
    letter-spacing:1.5px;
}

.profile-data {
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:9px;
    margin-top:18px;
}
.profile-data > div {
    display:flex;
    align-items:center;
    gap:10px;
    padding:13px;
    border-radius:13px;
    background:rgba(15,23,42,.52);
}
.profile-data > div > span {
    width:24px;height:24px;
    display:flex;
    align-items:center;
    justify-content:center;
    flex:0 0 24px;
    border-radius:50%;
    color:var(--g-gold);
    background:rgba(217,179,106,.09);
    font-size:9px;
}
.profile-data p {
    margin:0;
    color:#94a3b8;
    font-size:9px;
}
.profile-data strong {
    display:block;
    margin-bottom:2px;
    color:#e5e7eb;
    font-size:11px;
}

.matching {
    margin-top:18px;
    padding:18px;
    border-radius:17px;
    text-align:center;
    background:rgba(7,54,73,.5);
    border:1px solid rgba(217,179,106,.2);
}
.matching-title span {
    display:block;
    color:var(--g-gold);
    font-size:7px;
    letter-spacing:1.5px;
}
.matching-title strong {
    display:block;
    margin-top:4px;
    font-size:14px;
}
.matching-arrow {
    margin:9px 0;
    color:var(--g-gold);
}
.match-results {
    display:flex;
    flex-wrap:wrap;
    justify-content:center;
    gap:6px;
}
.match-results span {
    padding:7px 11px;
    border-radius:999px;
    color:#e2e8f0;
    background:rgba(255,255,255,.05);
    border:1px solid rgba(255,255,255,.1);
    font-size:9px;
}

/* PARTNERS */
.geds-partners {
    padding:105px 0;
    background:var(--g-light);
}
.partners-head {
    display:grid;
    grid-template-columns:1.2fr .8fr;
    gap:70px;
    align-items:end;
    margin-bottom:55px;
}
.partners-head h2 {
    margin:0;
    color:#0f172a;
    font-size:clamp(40px,5vw,60px);
    line-height:1.2;
}
.partners-head h2 span {
    display:block;
    color:var(--g-blue);
}
.partners-head > p {
    margin:0;
    color:#64748b;
    font-size:14px;
    line-height:2;
}

.partner-grid {
    display:grid;
    grid-template-columns:repeat(2,1fr);
    gap:17px;
}
.partner-card {
    position:relative;
    display:block;
    min-height:330px;
    padding:31px;
    border:1px solid #e2e8f0;
    border-radius:24px;
    background:#fff;
    transition:.25s ease;
}
.partner-card:hover {
    transform:translateY(-5px);
    border-color:rgba(217,179,106,.6);
    box-shadow:0 25px 55px rgba(15,23,42,.09);
}
.partner-top {
    display:flex;
    align-items:center;
    justify-content:space-between;
    margin-bottom:42px;
}
.partner-top span { color:#94a3b8;font-size:9px; }
.partner-top b { color:var(--g-gold);font-size:22px;font-weight:400; }
.partner-card > small {
    color:#94a3b8;
    font-size:9px;
}
.partner-card h3 {
    margin:7px 0 12px;
    color:var(--g-blue);
    font-size:22px;
}
.partner-card p {
    max-width:500px;
    margin:0;
    color:#64748b;
    font-size:12px;
    line-height:1.9;
}
.partner-action {
    position:absolute;
    right:31px;
    bottom:28px;
    display:flex;
    align-items:center;
    gap:8px;
    color:var(--g-blue);
    font-size:11px;
}
.partner-action b { color:var(--g-gold); }

.partner-featured {
    color:#fff;
    background:linear-gradient(140deg,var(--g-blue),#041e29);
    border-color:rgba(217,179,106,.35);
}
.partner-featured h3,
.partner-featured .partner-action { color:#fff; }
.partner-featured p { color:#cbd5e1; }

/* SAUDI */
.geds-saudi {
    position:relative;
    overflow:hidden;
    padding:105px 0;
    color:#fff;
    background:
        radial-gradient(circle at 5% 50%,rgba(217,179,106,.11),transparent 30%),
        linear-gradient(120deg,#073649,#052938 62%,#031a23);
}
.saudi-pattern {
    position:absolute;
    inset:0;
    opacity:.08;
    background-image:linear-gradient(45deg,transparent 45%,rgba(255,255,255,.1) 50%,transparent 55%);
    background-size:45px 45px;
}
.saudi-inner { position:relative;z-index:2; }
.saudi-kicker {
    display:flex;
    align-items:center;
    gap:12px;
    margin-bottom:25px;
    color:var(--g-gold);
    font-size:9px;
    font-weight:900;
    letter-spacing:2px;
}
.saudi-kicker i {
    width:42px;height:1px;
    background:rgba(217,179,106,.65);
}
.geds-saudi h2 {
    max-width:900px;
    margin:0;
    font-size:clamp(38px,5vw,62px);
    line-height:1.22;
    letter-spacing:-1.5px;
}
.geds-saudi h2 span {
    display:block;
    color:var(--g-gold);
}
.geds-saudi .saudi-inner > p {
    max-width:780px;
    margin:27px 0 0;
    color:#cbd5e1;
    font-size:15px;
    line-height:2;
}
.saudi-pillars {
    display:grid;
    grid-template-columns:repeat(5,1fr);
    margin-top:55px;
    border-top:1px solid rgba(255,255,255,.15);
}
.saudi-pillars div {
    display:flex;
    flex-direction:column;
    gap:8px;
    padding:23px 15px;
    border-left:1px solid rgba(255,255,255,.11);
}
.saudi-pillars div:last-child { border-left:0; }
.saudi-pillars small { color:var(--g-gold);font-size:8px; }
.saudi-pillars strong { color:#fff;font-size:14px; }

/* PROOF */
.geds-proof {
    padding:105px 0;
    background:#fff;
}
.proof-grid {
    display:grid;
    grid-template-columns:.9fr 1.1fr;
    gap:90px;
}
.proof-title h2 {
    margin:0;
    color:#0f172a;
    font-size:clamp(38px,5vw,58px);
    line-height:1.25;
}
.proof-title h2 span {
    display:block;
    color:var(--g-blue);
}
.proof-intro {
    margin:0 0 35px;
    color:#475569;
    font-size:16px;
    line-height:2;
}
.proof-row {
    display:grid;
    grid-template-columns:40px 1fr;
    gap:15px;
    padding:20px 0;
    border-top:1px solid #e2e8f0;
}
.proof-row:last-child { border-bottom:1px solid #e2e8f0; }
.proof-row > span {
    color:var(--g-gold);
    font-size:9px;
    font-weight:900;
}
.proof-row strong {
    display:block;
    margin-bottom:4px;
    color:var(--g-blue);
    font-size:15px;
}
.proof-row p {
    margin:0;
    color:#64748b;
    font-size:12px;
}

/* FINAL */
.geds-final {
    position:relative;
    overflow:hidden;
    padding:80px 0;
    background:linear-gradient(145deg,#070b19,#020308);
}
.final-glow {
    position:absolute;
    width:650px;height:650px;
    top:-380px;left:50%;
    transform:translateX(-50%);
    border-radius:50%;
    background:rgba(217,179,106,.1);
    filter:blur(80px);
}
.final-card {
    position:relative;
    z-index:2;
    padding:65px 60px 35px;
    border:1px solid rgba(217,179,106,.22);
    border-radius:30px;
    text-align:center;
    background:linear-gradient(145deg,rgba(15,23,42,.75),rgba(7,54,73,.24));
    backdrop-filter:blur(18px);
}
.final-badge {
    display:inline-flex;
    padding:7px 13px;
    border:1px solid rgba(217,179,106,.3);
    border-radius:999px;
    color:var(--g-gold);
    font-size:8px;
    font-weight:900;
    letter-spacing:1.5px;
}
.final-eyebrow {
    margin:23px 0 5px;
    color:#94a3b8;
    font-size:11px;
}
.final-card h2 {
    max-width:850px;
    margin:0 auto;
    color:#fff;
    font-size:clamp(42px,6vw,68px);
    line-height:1.2;
}
.final-card h2 span {
    display:block;
    color:var(--g-gold);
}
.final-copy {
    max-width:650px;
    margin:22px auto 0;
    color:#94a3b8;
    font-size:14px;
    line-height:2;
}

.intent-grid {
    display:grid;
    grid-template-columns:repeat(4,1fr);
    gap:9px;
    margin-top:35px;
}
.intent-grid a {
    display:grid;
    grid-template-columns:auto 1fr auto;
    gap:8px;
    align-items:center;
    padding:17px;
    border:1px solid rgba(148,163,184,.18);
    border-radius:15px;
    text-align:right;
    background:rgba(255,255,255,.025);
    transition:.2s ease;
}
.intent-grid a:hover {
    transform:translateY(-3px);
    background:rgba(217,179,106,.08);
    border-color:rgba(217,179,106,.4);
}
.intent-grid small { color:#64748b;font-size:8px; }
.intent-grid strong { color:#e5e7eb;font-size:11px; }
.intent-grid span { color:var(--g-gold); }

.final-direct { margin-top:25px; }

.final-meta {
    display:grid;
    grid-template-columns:repeat(3,1fr);
    margin-top:45px;
    padding-top:25px;
    border-top:1px solid rgba(148,163,184,.14);
    text-align:right;
}
.final-meta > div {
    padding:0 18px;
    border-left:1px solid rgba(148,163,184,.14);
}
.final-meta > div:last-child { border-left:0; }
.final-meta small {
    display:block;
    margin-bottom:5px;
    color:#64748b;
    font-size:8px;
}
.final-meta strong {
    color:#e2e8f0;
    font-size:10px;
}

/* ANIMATION */
@keyframes gSpin {
    to { transform:translate(-50%,-50%) rotate(360deg); }
}
@keyframes gSpinBack {
    to { transform:translate(-50%,-50%) rotate(-360deg); }
}

/* TABLET */
@media (max-width:992px) {
    .geds-hero-inner,
    .ecosystem-head,
    .engine-card,
    .partners-head,
    .proof-grid {
        grid-template-columns:1fr;
        gap:38px;
    }

    .geds-hero-copy { text-align:center; }
    .geds-event-badge { margin-inline:auto; }
    .geds-hero-description { margin-inline:auto; }
    .geds-hero-actions,.geds-event-meta { justify-content:center; }

    .hero-system { width:440px; }

    .fragment-grid { grid-template-columns:repeat(2,1fr); }
    .journey-grid { grid-template-columns:repeat(3,1fr); }
    .journey-grid::before { display:none; }
    .saudi-pillars { grid-template-columns:repeat(3,1fr); }
    .intent-grid { grid-template-columns:repeat(2,1fr); }
}

/* MOBILE */
@media (max-width:768px) {
    .geds-page section { scroll-margin-top:80px; }

    .geds-nav {
        top:8px;
        width:calc(100% - 14px);
        justify-content:space-between;
        padding:5px;
    }
    .geds-nav a {
        padding:8px 6px;
        font-size:9px;
    }

    .geds-hero {
        min-height:auto;
        padding:105px 0 38px;
    }
    .geds-hero-copy h1 {
        font-size:42px;
        letter-spacing:-1px;
    }
    .geds-hero-description { font-size:13px; }
    .geds-event-meta {
        flex-direction:column;
        gap:11px;
    }
    .geds-event-meta > i { width:65px;height:1px; }

    .hero-system { width:335px; }
    .system-core { width:120px;height:120px; }
    .system-core strong { font-size:17px; }
    .system-node {
        min-width:66px;
        padding:7px 8px;
    }
    .system-node strong { font-size:8px; }

    .hero-bottom-line {
        overflow-x:auto;
        justify-content:flex-start;
    }
    .hero-bottom-line span { min-width:max-content; }

    .geds-story,
    .geds-ecosystem,
    .geds-engine-section,
    .geds-partners,
    .geds-proof {
        padding:72px 0;
    }

    .story-heading h2,
    .ecosystem-head h2,
    .partners-head h2,
    .proof-title h2 {
        font-size:35px;
    }

    .fragment-grid { grid-template-columns:1fr; }
    .fragment-grid article {
        min-height:auto;
        border-left:0;
        border-bottom:1px solid #e2e8f0;
    }
    .fragment-grid small { margin-top:20px; }

    .story-question { padding:30px 23px; }

    .journey-grid { grid-template-columns:1fr; }
    .journey-grid article { min-height:auto; }
    .journey-dot { margin-bottom:22px; }

    .ecosystem-statement {
        flex-direction:column;
        align-items:flex-start;
    }

    .engine-card {
        min-height:auto;
        padding:32px 19px;
        border-radius:24px;
    }
    .engine-copy h2 { font-size:34px; }

    .profile-head {
        grid-template-columns:45px 1fr;
    }
    .profile-head > span { display:none; }
    .profile-data { grid-template-columns:1fr; }

    .partner-grid { grid-template-columns:1fr; }
    .partner-card {
        min-height:300px;
        padding:25px;
    }
    .partner-action { right:25px; }

    .geds-saudi { padding:75px 0; }
    .geds-saudi h2 { font-size:37px; }
    .saudi-pillars { grid-template-columns:repeat(2,1fr); }

    .geds-final { padding:55px 0; }
    .final-card {
        padding:42px 18px 25px;
        border-radius:24px;
    }
    .final-card h2 { font-size:39px; }
    .intent-grid { grid-template-columns:1fr; }
    .final-meta {
        grid-template-columns:1fr;
        gap:16px;
        text-align:center;
    }
    .final-meta > div { border-left:0; }
}

@media (max-width:390px) {
    .geds-nav a { font-size:8px;padding:7px 4px; }
    .geds-hero-copy h1 { font-size:37px; }
    .hero-system { width:300px; }
    .saudi-pillars { grid-template-columns:1fr; }
}

@media (prefers-reduced-motion:reduce) {
    .ring-a,.ring-b { animation:none; }
    html { scroll-behavior:auto; }
}


/* =========================================================
   META-GEDS 2026 — WhatsApp Lead Capture
   ========================================================= */

.geds-intent-option {
    width: 100%;
    border: 0;
    font: inherit;
    text-align: right;
    cursor: pointer;
    appearance: none;
    -webkit-appearance: none;
}

.geds-intent-option.selected {
    border-color: var(--g-gold) !important;
    transform: translateY(-3px);
    box-shadow:
        0 0 0 1px rgba(217, 179, 106, .35),
        0 18px 45px rgba(0, 0, 0, .25);
}

.geds-intent-option.selected strong {
    color: var(--g-gold);
}

.geds-whatsapp-box {
    max-width: 760px;
    margin: 32px auto 0;
    padding: 26px;
    border: 1px solid rgba(255, 255, 255, .10);
    border-radius: 24px;
    background:
        linear-gradient(
            145deg,
            rgba(255, 255, 255, .075),
            rgba(255, 255, 255, .025)
        );
    backdrop-filter: blur(14px);
    -webkit-backdrop-filter: blur(14px);
}

.geds-whatsapp-heading {
    display: flex;
    align-items: center;
    gap: 14px;
    margin-bottom: 20px;
}

.geds-whatsapp-icon {
    width: 48px;
    height: 48px;
    flex: 0 0 48px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    background: rgba(217, 179, 106, .12);
    border: 1px solid rgba(217, 179, 106, .35);
    color: var(--g-gold);
    font-size: 20px;
}

.geds-whatsapp-heading small {
    display: block;
    margin-bottom: 4px;
    color: rgba(255, 255, 255, .55);
    font-size: 12px;
}

.geds-whatsapp-heading strong {
    display: block;
    color: #fff;
    font-size: 17px;
}

.geds-phone-row {
    display: grid;
    grid-template-columns: 155px minmax(0, 1fr);
    gap: 10px;
}

.geds-phone-row select,
.geds-phone-row input {
    width: 100%;
    min-height: 58px;
    border: 1px solid rgba(255, 255, 255, .12);
    border-radius: 14px;
    outline: none;
    background: rgba(0, 0, 0, .22);
    color: #fff;
    font: inherit;
    transition:
        border-color .2s ease,
        box-shadow .2s ease,
        background .2s ease;
}

.geds-phone-row select {
    padding: 0 14px;
    direction: ltr;
    cursor: pointer;
}

.geds-phone-row select option {
    color: #111827;
    background: #fff;
}

.geds-phone-row input {
    padding: 0 18px;
    direction: ltr;
    text-align: left;
}

.geds-phone-row input::placeholder {
    color: rgba(255, 255, 255, .42);
    text-align: right;
    direction: rtl;
}

.geds-phone-row select:focus,
.geds-phone-row input:focus {
    border-color: var(--g-gold);
    box-shadow: 0 0 0 3px rgba(217, 179, 106, .10);
    background: rgba(0, 0, 0, .30);
}

.geds-consent {
    display: flex;
    align-items: flex-start;
    gap: 10px;
    margin: 16px 2px 20px;
    cursor: pointer;
    color: rgba(255, 255, 255, .65);
    font-size: 12px;
    line-height: 1.8;
}

.geds-consent input {
    width: 17px;
    height: 17px;
    flex: 0 0 17px;
    margin-top: 4px;
    accent-color: var(--g-gold);
}

.geds-whatsapp-submit {
    width: 100%;
    border: 0;
    cursor: pointer;
    justify-content: center;
}

.geds-whatsapp-submit:disabled {
    opacity: .65;
    cursor: wait;
}

.geds-whatsapp-submit.loading b {
    opacity: .35;
}

.geds-form-message {
    display: none;
    margin-top: 14px;
    padding: 13px 15px;
    border-radius: 12px;
    text-align: center;
    font-size: 13px;
    line-height: 1.7;
}

.geds-form-message.success {
    display: block;
    color: #bff5d1;
    background: rgba(34, 197, 94, .10);
    border: 1px solid rgba(34, 197, 94, .25);
}

.geds-form-message.error {
    display: block;
    color: #ffd0d0;
    background: rgba(239, 68, 68, .10);
    border: 1px solid rgba(239, 68, 68, .25);
}

@media (max-width: 640px) {

    .geds-whatsapp-box {
        margin-top: 24px;
        padding: 18px;
        border-radius: 19px;
    }

    .geds-phone-row {
        grid-template-columns: 118px minmax(0, 1fr);
        gap: 8px;
    }

    .geds-phone-row select,
    .geds-phone-row input {
        min-height: 54px;
        font-size: 14px;
    }

    .geds-phone-row select {
        padding: 0 8px;
    }

    .geds-phone-row input {
        padding: 0 12px;
    }

    .geds-whatsapp-heading strong {
        font-size: 15px;
    }

}

/* =========================================================
   Meta-GEDS — Interest Cards FINAL
   ========================================================= */

.geds-final .intent-grid {
    display: grid !important;
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    gap: 14px !important;
    margin: 30px 0 32px !important;
}

.geds-final .intent-grid .geds-intent-option {
    appearance: none !important;
    -webkit-appearance: none !important;

    position: relative !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: flex-start !important;
    justify-content: center !important;

    width: 100% !important;
    min-width: 0 !important;
    min-height: 150px !important;

    padding: 20px !important;

    border: 1px solid rgba(255,255,255,.14) !important;
    border-radius: 18px !important;

    background: linear-gradient(
        145deg,
        rgba(255,255,255,.085),
        rgba(255,255,255,.025)
    ) !important;

    color: #fff !important;
    text-align: right !important;

    cursor: pointer !important;
    overflow: hidden !important;

    box-shadow: none !important;

    transition:
        transform .22s ease,
        border-color .22s ease,
        background .22s ease,
        box-shadow .22s ease !important;
}

.geds-final .intent-grid .geds-intent-option::before {
    content: "" !important;

    position: absolute !important;
    top: 0 !important;
    right: 0 !important;

    width: 4px !important;
    height: 100% !important;

    background: var(--g-gold) !important;

    opacity: 0 !important;

    transition: opacity .2s ease !important;
}

.geds-final .geds-intent-option .intent-number {
    display: block !important;

    margin-bottom: 12px !important;

    color: var(--g-gold) !important;

    font-size: 11px !important;
    font-weight: 800 !important;
    letter-spacing: .08em !important;

    opacity: .85 !important;
}

.geds-final .geds-intent-option .intent-content {
    display: block !important;
    width: 100% !important;
}

.geds-final .geds-intent-option .intent-content strong {
    display: block !important;

    margin: 0 0 7px !important;

    color: #fff !important;

    font-size: 17px !important;
    font-weight: 800 !important;
    line-height: 1.5 !important;
}

.geds-final .geds-intent-option .intent-content small {
    display: block !important;

    color: rgba(255,255,255,.60) !important;

    font-size: 12px !important;
    font-weight: 400 !important;
    line-height: 1.8 !important;
}

.geds-final .geds-intent-option .intent-check {
    position: absolute !important;

    top: 14px !important;
    left: 14px !important;

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

    width: 26px !important;
    height: 26px !important;

    border: 1px solid rgba(217,179,106,.35) !important;
    border-radius: 50% !important;

    background: rgba(217,179,106,.08) !important;

    color: transparent !important;

    font-size: 13px !important;
    font-weight: 900 !important;

    transition: all .2s ease !important;
}

.geds-final .geds-intent-option:hover {
    transform: translateY(-3px) !important;

    border-color: rgba(217,179,106,.65) !important;

    background: linear-gradient(
        145deg,
        rgba(217,179,106,.13),
        rgba(255,255,255,.035)
    ) !important;
}

.geds-final .geds-intent-option.selected {
    transform: translateY(-3px) !important;

    border-color: var(--g-gold) !important;

    background: linear-gradient(
        145deg,
        rgba(217,179,106,.20),
        rgba(217,179,106,.055)
    ) !important;

    box-shadow:
        0 14px 35px rgba(0,0,0,.20),
        inset 0 0 0 1px rgba(217,179,106,.12) !important;
}

.geds-final .geds-intent-option.selected::before {
    opacity: 1 !important;
}

.geds-final .geds-intent-option.selected .intent-check {
    border-color: var(--g-gold) !important;
    background: var(--g-gold) !important;
    color: #07101c !important;
}

.geds-final .geds-intent-option.selected .intent-content strong {
    color: var(--g-gold) !important;
}

@media (max-width: 900px) {
    .geds-final .intent-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }
}

@media (max-width: 520px) {
    .geds-final .intent-grid {
        grid-template-columns: 1fr !important;
    }

    .geds-final .intent-grid .geds-intent-option {
        min-height: 120px !important;
    }
}



/* ============================================================
   META-GEDS FINAL CONTACT — REDESIGN V3
   ============================================================ */

.geds-contact-v2 {
    position: relative;
    overflow: hidden;

    padding: 110px 0 75px !important;

    background:
        radial-gradient(
            circle at 50% 0%,
            rgba(217,179,106,.10),
            transparent 34%
        ),
        radial-gradient(
            circle at 100% 50%,
            rgba(7,54,73,.30),
            transparent 38%
        ),
        linear-gradient(
            180deg,
            #07101d 0%,
            #050b15 55%,
            #03070d 100%
        ) !important;
}


.geds-contact-v2::before {
    content: "";

    position: absolute;
    inset: 0;

    pointer-events: none;

    opacity: .20;

    background-image:
        linear-gradient(
            rgba(255,255,255,.025) 1px,
            transparent 1px
        ),
        linear-gradient(
            90deg,
            rgba(255,255,255,.025) 1px,
            transparent 1px
        );

    background-size: 60px 60px;
}


.geds-contact-v2 .geds-container {
    position: relative;
    z-index: 2;

    max-width: 1050px;
    margin: 0 auto;
}


/* Heading
   ============================================================ */

.geds-contact-heading {
    max-width: 850px;

    margin: 0 auto 48px;

    text-align: center;
}


.geds-contact-kicker {
    display: flex;
    align-items: center;
    justify-content: center;

    gap: 14px;

    margin-bottom: 20px;
}


.geds-contact-kicker span {
    width: 34px;
    height: 1px;

    background: rgba(217,179,106,.55);
}


.geds-contact-kicker strong {
    color: var(--g-gold);

    font-size: 12px;
    font-weight: 800;

    letter-spacing: .08em;
}


.geds-contact-heading h2 {
    margin: 0;

    color: #fff;

    font-size: clamp(38px, 5.2vw, 67px);
    font-weight: 900;

    line-height: 1.2;

    letter-spacing: -.04em;
}


.geds-contact-heading h2 em {
    color: var(--g-gold);

    font-style: normal;
}


.geds-contact-heading > p {
    max-width: 650px;

    margin: 22px auto 0;

    color: rgba(255,255,255,.60);

    font-size: 15px;
    line-height: 2;
}


.geds-contact-event {
    display: inline-flex;
    align-items: center;
    justify-content: center;

    flex-wrap: wrap;

    gap: 11px;

    margin-top: 22px;

    padding: 9px 16px;

    border: 1px solid rgba(217,179,106,.16);
    border-radius: 100px;

    background: rgba(255,255,255,.025);

    color: rgba(255,255,255,.55);

    font-size: 11px;
}


.geds-contact-event i {
    display: block;

    width: 3px;
    height: 3px;

    border-radius: 50%;

    background: var(--g-gold);
}


/* Main card
   ============================================================ */

.geds-lead-card {
    position: relative;

    max-width: 940px;

    margin: 0 auto;

    padding: 42px;

    border: 1px solid rgba(255,255,255,.11);
    border-radius: 28px;

    background:
        linear-gradient(
            145deg,
            rgba(255,255,255,.075),
            rgba(255,255,255,.025)
        );

    box-shadow:
        0 35px 90px rgba(0,0,0,.32),
        inset 0 1px 0 rgba(255,255,255,.04);

    backdrop-filter: blur(10px);
}


/* Step header
   ============================================================ */

.geds-step-head {
    display: flex;
    align-items: flex-start;

    gap: 16px;

    margin-bottom: 24px;
}


.geds-step-number {
    flex: 0 0 auto;

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

    width: 46px;
    height: 46px;

    border: 1px solid rgba(217,179,106,.35);
    border-radius: 14px;

    background: rgba(217,179,106,.08);

    color: var(--g-gold);

    font-size: 12px;
    font-weight: 900;
}


.geds-step-head > div:last-child > span {
    display: block;

    margin-bottom: 3px;

    color: var(--g-gold);

    font-size: 10px;
    font-weight: 800;
}


.geds-step-head h3 {
    margin: 0 0 4px;

    color: #fff;

    font-size: 21px;
    font-weight: 800;
}


.geds-step-head p {
    margin: 0;

    color: rgba(255,255,255,.45);

    font-size: 12px;
}


/* Interest cards
   ============================================================ */

.geds-interest-grid {
    display: grid;

    grid-template-columns:
        repeat(2, minmax(0, 1fr));

    gap: 12px;
}


.geds-interest-card {
    appearance: none;
    -webkit-appearance: none;

    position: relative;

    display: grid;

    grid-template-columns:
        38px 42px minmax(0, 1fr) 28px;

    align-items: center;

    gap: 12px;

    min-height: 116px;

    padding: 17px;

    border: 1px solid rgba(255,255,255,.10);
    border-radius: 18px;

    background: rgba(2,8,17,.35);

    color: #fff;

    text-align: right;

    cursor: pointer;

    transition:
        transform .2s ease,
        border-color .2s ease,
        background .2s ease,
        box-shadow .2s ease;
}


.geds-interest-card:hover {
    transform: translateY(-2px);

    border-color: rgba(217,179,106,.45);

    background: rgba(217,179,106,.055);
}


.geds-interest-index {
    color: rgba(217,179,106,.55);

    font-size: 10px;
    font-weight: 800;
}


.geds-interest-icon {
    display: flex;
    align-items: center;
    justify-content: center;

    width: 42px;
    height: 42px;

    border: 1px solid rgba(217,179,106,.20);
    border-radius: 13px;

    background: rgba(217,179,106,.06);

    color: var(--g-gold);

    font-size: 18px;
}


.geds-interest-text {
    min-width: 0;
}


.geds-interest-text strong {
    display: block;

    margin-bottom: 5px;

    color: #fff;

    font-size: 15px;
    font-weight: 800;
}


.geds-interest-text small {
    display: block;

    color: rgba(255,255,255,.46);

    font-size: 11px;

    line-height: 1.7;
}


.geds-interest-state {
    display: flex;
    align-items: center;
    justify-content: center;

    width: 25px;
    height: 25px;

    border: 1px solid rgba(255,255,255,.13);
    border-radius: 50%;

    color: transparent;

    font-size: 12px;

    transition: all .2s ease;
}


.geds-interest-card.selected {
    border-color: var(--g-gold);

    background:
        linear-gradient(
            135deg,
            rgba(217,179,106,.15),
            rgba(217,179,106,.045)
        );

    box-shadow:
        inset 0 0 0 1px rgba(217,179,106,.06);
}


.geds-interest-card.selected
.geds-interest-state {
    border-color: var(--g-gold);

    background: var(--g-gold);

    color: #07101d;
}


.geds-interest-card.selected
.geds-interest-text strong {
    color: var(--g-gold);
}


/* Divider
   ============================================================ */

.geds-step-divider {
    display: grid;

    grid-template-columns:
        1fr auto 1fr;

    align-items: center;

    gap: 14px;

    margin: 36px 0;
}


.geds-step-divider span {
    height: 1px;

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


.geds-step-divider span:last-child {
    background:
        linear-gradient(
            90deg,
            rgba(255,255,255,.10),
            transparent
        );
}


.geds-step-divider b {
    color: rgba(255,255,255,.28);

    font-size: 10px;
    font-weight: 600;
}


/* Phone
   ============================================================ */

.geds-phone-label {
    margin: 0 0 9px;

    color: rgba(255,255,255,.60);

    font-size: 12px;
    font-weight: 700;
}


.geds-phone-row {
    display: grid;

    grid-template-columns:
        150px minmax(0, 1fr);

    gap: 10px;
}


.geds-phone-row select,
.geds-phone-input-wrap {
    height: 62px;

    border: 1px solid rgba(255,255,255,.13);
    border-radius: 15px;

    background: rgba(1,7,15,.42);
}


.geds-phone-row select {
    width: 100%;

    padding: 0 14px;

    outline: none;

    color: #fff;

    font-size: 14px;
    font-weight: 700;

    cursor: pointer;
}


.geds-phone-row select option {
    color: #111;

    background: #fff;
}


.geds-phone-input-wrap {
    position: relative;

    display: flex;
    align-items: center;
}


.geds-phone-input-wrap input {
    width: 100%;
    height: 100%;

    padding: 0 20px 0 78px;

    border: 0 !important;
    outline: 0 !important;

    background: transparent !important;

    color: #fff !important;

    font-size: 18px;
    font-weight: 700;

    direction: ltr;

    text-align: left;

    box-shadow: none !important;
}


.geds-phone-input-wrap input::placeholder {
    color: rgba(255,255,255,.24);
}


.geds-phone-input-wrap > span {
    position: absolute;

    left: 16px;

    color: rgba(255,255,255,.30);

    font-size: 10px;

    pointer-events: none;
}


.geds-phone-row select:focus,
.geds-phone-input-wrap:focus-within {
    border-color: rgba(217,179,106,.65);

    box-shadow:
        0 0 0 3px rgba(217,179,106,.06);
}


/* Consent
   ============================================================ */

.geds-consent {
    display: flex;
    align-items: flex-start;

    gap: 11px;

    margin-top: 18px;

    cursor: pointer;
}


.geds-consent input {
    position: absolute;

    opacity: 0;

    pointer-events: none;
}


.geds-consent-box {
    flex: 0 0 auto;

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

    width: 21px;
    height: 21px;

    margin-top: 1px;

    border: 1px solid rgba(255,255,255,.20);
    border-radius: 6px;

    background: rgba(255,255,255,.025);

    transition: all .2s ease;
}


.geds-consent-box i {
    color: transparent;

    font-size: 11px;
    font-style: normal;
    font-weight: 900;
}


.geds-consent input:checked
+ .geds-consent-box {
    border-color: var(--g-gold);

    background: var(--g-gold);
}


.geds-consent input:checked
+ .geds-consent-box i {
    color: #07101d;
}


.geds-consent-text {
    color: rgba(255,255,255,.50);

    font-size: 11px;

    line-height: 1.8;
}


.geds-consent-text strong {
    color: rgba(255,255,255,.78);
}


/* Submit
   ============================================================ */

.geds-whatsapp-submit {
    appearance: none;

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

    width: 100%;
    min-height: 62px;

    margin-top: 22px;

    padding: 0 23px;

    border: 0;
    border-radius: 16px;

    background:
        linear-gradient(
            135deg,
            #e5c274,
            #d6ad5d
        );

    color: #07101d;

    font-size: 14px;
    font-weight: 900;

    cursor: pointer;

    box-shadow:
        0 15px 35px rgba(217,179,106,.12);

    transition:
        transform .2s ease,
        box-shadow .2s ease,
        opacity .2s ease;
}


.geds-whatsapp-submit:hover {
    transform: translateY(-2px);

    box-shadow:
        0 18px 42px rgba(217,179,106,.20);
}


.geds-whatsapp-submit:disabled {
    cursor: wait;

    opacity: .65;
}


.geds-submit-arrow {
    display: flex;
    align-items: center;
    justify-content: center;

    width: 33px;
    height: 33px;

    border-radius: 50%;

    background: rgba(7,16,29,.10);

    font-size: 17px;
}


.geds-privacy-note {
    display: flex;
    align-items: center;
    justify-content: center;

    gap: 7px;

    margin-top: 12px;

    color: rgba(255,255,255,.30);

    font-size: 10px;
}


.geds-privacy-note span {
    color: var(--g-gold);
}


/* Errors
   ============================================================ */

.geds-field-error {
    min-height: 0;

    margin-top: 7px;

    color: #ff9c9c;

    font-size: 11px;
}


.geds-field-error:empty {
    display: none;
}


.geds-form-message {
    display: none;

    margin-top: 14px;

    padding: 13px 15px;

    border-radius: 12px;

    font-size: 12px;

    text-align: center;
}


.geds-form-message.error {
    display: block;

    border: 1px solid rgba(255,100,100,.20);

    background: rgba(150,20,20,.15);

    color: #ffb0b0;
}


/* Success
   ============================================================ */

.geds-success-state {
    padding: 45px 20px;

    text-align: center;
}


.geds-success-state[hidden] {
    display: none !important;
}


.geds-success-state.show {
    display: block;

    animation:
        gedsSuccessIn .45s ease both;
}


@keyframes gedsSuccessIn {

    from {
        opacity: 0;
        transform: translateY(12px);
    }

    to {
        opacity: 1;
        transform: translateY(0);
    }

}


.geds-success-icon {
    display: flex;
    align-items: center;
    justify-content: center;

    width: 70px;
    height: 70px;

    margin: 0 auto 18px;

    border: 1px solid rgba(217,179,106,.40);
    border-radius: 50%;

    background: rgba(217,179,106,.10);

    color: var(--g-gold);

    font-size: 28px;
    font-weight: 900;
}


.geds-success-state > span {
    color: var(--g-gold);

    font-size: 11px;
    font-weight: 800;
}


.geds-success-state h3 {
    margin: 8px 0 10px;

    color: #fff;

    font-size: 27px;
    font-weight: 900;
}


.geds-success-state p {
    max-width: 500px;

    margin: 0 auto;

    color: rgba(255,255,255,.55);

    font-size: 13px;
    line-height: 1.9;
}


.geds-success-line {
    width: 55px;
    height: 1px;

    margin: 23px auto;

    background: rgba(217,179,106,.40);
}


.geds-success-state small {
    color: rgba(255,255,255,.30);

    font-size: 10px;
}


/* Signature
   ============================================================ */

.geds-final-signature {
    display: flex;
    align-items: center;
    justify-content: center;

    gap: 10px;

    margin-top: 35px;

    color: rgba(255,255,255,.28);

    font-size: 11px;
}


.geds-final-signature i {
    color: var(--g-gold);

    font-style: normal;
}


.geds-final-signature strong {
    color: rgba(217,179,106,.65);
}


/* Responsive
   ============================================================ */

@media (max-width: 760px) {

    .geds-contact-v2 {
        padding:
            80px 0 55px !important;
    }

    .geds-contact-heading {
        margin-bottom: 32px;
    }

    .geds-contact-heading h2 {
        font-size:
            clamp(34px, 10vw, 50px);
    }

    .geds-lead-card {
        padding: 24px;

        border-radius: 22px;
    }

    .geds-interest-grid {
        grid-template-columns: 1fr;
    }

    .geds-interest-card {
        min-height: 105px;
    }

}


@media (max-width: 520px) {

    .geds-contact-v2 .geds-container {
        padding-left: 15px;
        padding-right: 15px;
    }

    .geds-contact-heading > p {
        font-size: 13px;
    }

    .geds-contact-event {
        gap: 7px;

        font-size: 9px;
    }

    .geds-lead-card {
        padding: 20px 16px;
    }

    .geds-step-head {
        gap: 11px;
    }

    .geds-step-number {
        width: 40px;
        height: 40px;
    }

    .geds-step-head h3 {
        font-size: 18px;
    }

    .geds-interest-card {
        grid-template-columns:
            28px 38px minmax(0, 1fr) 24px;

        gap: 9px;

        padding: 14px;
    }

    .geds-interest-icon {
        width: 38px;
        height: 38px;
    }

    .geds-interest-text strong {
        font-size: 14px;
    }

    .geds-interest-text small {
        font-size: 10px;
    }

    .geds-phone-row {
        grid-template-columns: 1fr;
    }

    .geds-phone-row select {
        height: 54px;
    }

    .geds-phone-input-wrap {
        height: 58px;
    }

    .geds-whatsapp-submit {
        min-height: 58px;

        padding: 0 17px;

        font-size: 12px;
    }

}



/* =========================================================
   Meta-GEDS — Interest section dark mode readability
   ========================================================= */

.geds-final .geds-step-head h3,
.geds-final .geds-interest-group-title {
    color: #ffffff !important;
}

.geds-final .geds-step-head p {
    color: rgba(255, 255, 255, 0.62) !important;
}

.geds-final .geds-step-head > div:not(.geds-step-number) > span {
    color: #d9b35f !important;
}


/* التبويبات الرئيسية */

.geds-final .geds-interest-tab {
    color: rgba(255, 255, 255, 0.72) !important;
    opacity: 1 !important;
}

.geds-final .geds-interest-tab span {
    color: rgba(255, 255, 255, 0.55) !important;
}

.geds-final .geds-interest-tab:hover {
    color: #ffffff !important;
    background: rgba(255, 255, 255, 0.045) !important;
}

.geds-final .geds-interest-tab.active {
    color: #ffffff !important;
    background: rgba(37, 211, 102, 0.11) !important;
    border-color: rgba(37, 211, 102, 0.70) !important;
}

.geds-final .geds-interest-tab.active span {
    color: #25D366 !important;
}


/* عنوان المجموعة */

.geds-final .geds-interest-group-title {
    color: rgba(255, 255, 255, 0.78) !important;
}


/* الخيارات الصغيرة */

.geds-final .geds-interest-options .geds-interest-card {
    color: rgba(255, 255, 255, 0.88) !important;
}

.geds-final .geds-interest-options .geds-interest-card:hover {
    color: #ffffff !important;
}

.geds-final .geds-interest-options .geds-interest-card.selected {
    color: #ffffff !important;
}


/* رقم واتساب والعناوين في الخطوة الثانية */

.geds-final .geds-phone-label {
    color: rgba(255, 255, 255, 0.82) !important;
}

.geds-final .geds-consent-text,
.geds-final .geds-privacy-note {
    color: rgba(255, 255, 255, 0.66) !important;
}



/* ==========================================================
   META-GEDS — PROBLEM / FRAGMENTED JOURNEY V2
   ========================================================== */

.geds-problem-v2 {
    position: relative;
    overflow: hidden;
}

.geds-problem-v2::before {
    content: "";
    position: absolute;
    width: 520px;
    height: 520px;
    top: 150px;
    right: -300px;
    border-radius: 50%;
    background: radial-gradient(
        circle,
        rgba(212, 168, 83, .09) 0%,
        rgba(212, 168, 83, 0) 70%
    );
    pointer-events: none;
}

.geds-problem-heading {
    position: relative;
    z-index: 2;
}


/* JOURNEY
   ---------------------------------------------------------- */

.geds-fragmented-journey {
    position: relative;
    z-index: 2;

    display: grid;
    grid-template-columns:
        minmax(0, 1fr)
        68px
        minmax(0, 1fr)
        68px
        minmax(0, 1fr)
        68px
        minmax(0, 1fr);

    align-items: stretch;

    margin-top: 72px;
    padding: 34px 0;
}


/* الخط الخلفي */

.geds-journey-line {
    position: absolute;
    top: 50%;
    right: 4%;
    left: 4%;

    height: 1px;

    background:
        linear-gradient(
            90deg,
            rgba(212,168,83,.08),
            rgba(212,168,83,.55),
            rgba(212,168,83,.08)
        );

    z-index: -1;
}


/* CARD
   ---------------------------------------------------------- */

.geds-journey-card {
    position: relative;

    min-height: 290px;

    padding: 26px 24px 28px;

    border: 1px solid rgba(13, 32, 54, .12);
    border-radius: 24px;

    background:
        linear-gradient(
            145deg,
            rgba(255,255,255,.98),
            rgba(247,249,251,.94)
        );

    box-shadow:
        0 22px 55px rgba(12, 28, 47, .07);

    transition:
        transform .3s ease,
        box-shadow .3s ease,
        border-color .3s ease;
}

.geds-journey-card:nth-of-type(2),
.geds-journey-card:nth-of-type(6) {
    transform: translateY(-18px);
}

.geds-journey-card:nth-of-type(4),
.geds-journey-card:nth-of-type(8) {
    transform: translateY(18px);
}

.geds-journey-card:hover {
    transform: translateY(-8px);

    border-color: rgba(212,168,83,.5);

    box-shadow:
        0 28px 70px rgba(12, 28, 47, .12);
}


/* TOP */

.geds-journey-top {
    display: flex;
    align-items: center;
    justify-content: space-between;

    margin-bottom: 34px;
}

.geds-journey-number {
    font-size: 13px;
    font-weight: 800;
    letter-spacing: .14em;

    color: #d2a54e;
}

.geds-journey-icon {
    width: 48px;
    height: 48px;

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

    border-radius: 15px;

    color: #0d3245;

    background: rgba(13, 50, 69, .055);
    border: 1px solid rgba(13, 50, 69, .08);
}

.geds-journey-icon svg {
    width: 25px;
    height: 25px;
}


/* TEXT */

.geds-journey-card > small {
    display: block;

    margin-bottom: 12px;

    font-size: 12px;
    font-weight: 700;

    color: rgba(13, 50, 69, .48);
}

.geds-journey-card > strong {
    display: block;

    font-size: clamp(18px, 1.45vw, 23px);
    line-height: 1.55;
    font-weight: 800;

    color: #0c1c31;
}

.geds-journey-card > strong em {
    display: block;

    font-style: normal;

    color: #0b4559;
}

.geds-journey-card > p {
    margin: 20px 0 0;

    font-size: 13px;
    line-height: 1.9;

    color: rgba(12, 28, 49, .58);
}


/* BREAK BETWEEN SYSTEMS
   ---------------------------------------------------------- */

.geds-journey-break {
    position: relative;

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

    min-width: 0;
}

.geds-journey-break i {
    position: absolute;

    width: 28px;
    height: 3px;

    background: #fff;

    box-shadow:
        -11px 0 0 #fff,
        11px 0 0 #fff;

    z-index: 1;
}

.geds-journey-break span {
    position: relative;
    z-index: 3;

    transform: rotate(-90deg);

    white-space: nowrap;

    padding: 5px 9px;

    border-radius: 999px;

    background: #fff;

    font-size: 9px;
    font-weight: 800;
    letter-spacing: .02em;

    color: rgba(13, 50, 69, .42);

    border: 1px solid rgba(13, 50, 69, .08);
}


/* RESULT
   ---------------------------------------------------------- */

.geds-fragment-result {
    position: relative;

    max-width: 920px;

    margin: 82px auto 0;
    padding: 34px 38px;

    display: grid;
    grid-template-columns: 70px 1fr;
    gap: 28px;
    align-items: center;

    border-radius: 26px;

    background:
        linear-gradient(
            135deg,
            #0b1728,
            #0c2f40
        );

    box-shadow:
        0 28px 80px rgba(7, 20, 34, .17);
}

.geds-fragment-result::before {
    content: "";

    position: absolute;
    inset: 0;

    border-radius: inherit;

    border: 1px solid rgba(255,255,255,.09);

    pointer-events: none;
}

.geds-fragment-result-mark {
    width: 62px;
    height: 62px;

    display: flex;
    flex-direction: column;
    justify-content: center;
    gap: 7px;

    padding: 0 14px;

    border-radius: 19px;

    background: rgba(255,255,255,.055);
    border: 1px solid rgba(255,255,255,.08);
}

.geds-fragment-result-mark span {
    display: block;

    height: 3px;

    border-radius: 99px;

    background: #d5aa56;
}

.geds-fragment-result-mark span:nth-child(1) {
    width: 100%;
}

.geds-fragment-result-mark span:nth-child(2) {
    width: 58%;
}

.geds-fragment-result-mark span:nth-child(3) {
    width: 78%;
}

.geds-fragment-result small {
    display: block;

    margin-bottom: 7px;

    color: #d8ad5a;

    font-size: 11px;
    font-weight: 800;
}

.geds-fragment-result h3 {
    margin: 0;

    font-size: clamp(23px, 2.3vw, 34px);
    line-height: 1.45;

    color: #fff;
}

.geds-fragment-result h3 span {
    color: #d9b35f;
}

.geds-fragment-result p {
    max-width: 680px;

    margin: 10px 0 0;

    color: rgba(255,255,255,.62);

    font-size: 13px;
    line-height: 1.9;
}


/* QUESTION
   ---------------------------------------------------------- */

.geds-story-question-v2 {
    position: relative;

    margin-top: 88px;
    padding-bottom: 10px;

    text-align: center;
}

.geds-story-question-v2 small {
    color: rgba(13, 50, 69, .48);
}

.geds-story-question-v2 h3 {
    margin-top: 12px;

    font-size: clamp(28px, 3vw, 45px);
}

.geds-story-question-v2 h3 span {
    color: #0b4559;
}

.geds-question-arrow {
    width: 46px;
    height: 46px;

    margin: 25px auto 0;

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

    border-radius: 50%;

    background: #0d3245;

    color: #fff;

    font-size: 20px;

    box-shadow:
        0 12px 30px rgba(13,50,69,.18);
}


/* TABLET
   ---------------------------------------------------------- */

@media (max-width: 1100px) {

    .geds-fragmented-journey {
        grid-template-columns:
            minmax(0, 1fr)
            42px
            minmax(0, 1fr)
            42px
            minmax(0, 1fr)
            42px
            minmax(0, 1fr);
    }

    .geds-journey-card {
        padding: 22px 18px;
    }

    .geds-journey-break span {
        font-size: 8px;
    }
}


/* MOBILE — vertical journey
   ---------------------------------------------------------- */

@media (max-width: 768px) {

    .geds-fragmented-journey {
        display: flex;
        flex-direction: column;

        margin-top: 42px;
        padding: 0 0 0 0;
    }

    .geds-journey-line {
        top: 25px;
        bottom: 25px;

        right: 23px;
        left: auto;

        width: 1px;
        height: auto;

        background:
            linear-gradient(
                180deg,
                rgba(212,168,83,.12),
                rgba(212,168,83,.65),
                rgba(212,168,83,.12)
            );
    }

    .geds-journey-card,
    .geds-journey-card:nth-of-type(2),
    .geds-journey-card:nth-of-type(4),
    .geds-journey-card:nth-of-type(6),
    .geds-journey-card:nth-of-type(8) {
        min-height: 0;

        margin-right: 48px;
        padding: 22px 20px;

        transform: none;
    }

    .geds-journey-card:hover {
        transform: none;
    }

    .geds-journey-top {
        margin-bottom: 18px;
    }

    .geds-journey-icon {
        width: 43px;
        height: 43px;
    }

    .geds-journey-break {
        height: 54px;

        margin-right: 0;

        justify-content: flex-start;
    }

    .geds-journey-break::before {
        content: "";

        position: absolute;

        right: 17px;

        width: 13px;
        height: 13px;

        border-radius: 50%;

        background: #fff;
        border: 3px solid #d4a853;

        z-index: 2;
    }

    .geds-journey-break i {
        display: none;
    }

    .geds-journey-break span {
        margin-right: 48px;

        transform: none;

        font-size: 9px;
    }

    .geds-fragment-result {
        margin-top: 52px;
        padding: 28px 22px;

        grid-template-columns: 1fr;
        gap: 18px;
    }

    .geds-fragment-result-mark {
        width: 52px;
        height: 52px;
    }

    .geds-story-question-v2 {
        margin-top: 58px;
    }
}


@media (max-width: 480px) {

    .geds-problem-heading h2 {
        font-size: 34px;
        line-height: 1.35;
    }

    .geds-problem-heading p {
        font-size: 14px;
        line-height: 2;
    }

    .geds-journey-card {
        border-radius: 20px;
    }

    .geds-journey-card > strong {
        font-size: 19px;
    }

    .geds-fragment-result h3 {
        font-size: 24px;
    }

    .geds-story-question-v2 h3 {
        font-size: 30px;
    }
}


/* ==========================================================
   META-GEDS — JOURNEY BREAKS REDESIGN
   ========================================================== */

@media (min-width: 769px) {

    .geds-fragmented-journey {
        grid-template-columns:
            minmax(0, 1fr)
            92px
            minmax(0, 1fr)
            92px
            minmax(0, 1fr)
            92px
            minmax(0, 1fr);

        column-gap: 0;
    }


    /* المساحة بين البطاقات */
    .geds-journey-break {
        position: relative;

        min-width: 92px;

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

        overflow: visible;
    }


    /* نخفي التصميم القديم */
    .geds-journey-break i {
        display: none !important;
    }


    /* الخط قبل نقطة الانقطاع */
    .geds-journey-break::before {
        content: "";

        position: absolute;

        top: 50%;
        right: 0;
        left: 0;

        height: 1px;

        background:
            linear-gradient(
                90deg,
                rgba(210,165,78,.18),
                rgba(210,165,78,.85),
                rgba(210,165,78,.18)
            );

        transform: translateY(-50%);
    }


    /* دائرة الانقطاع */
    .geds-journey-break::after {
        content: "×";

        position: absolute;

        top: 50%;
        left: 50%;

        width: 30px;
        height: 30px;

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

        transform: translate(-50%, -50%);

        border-radius: 50%;

        background: #fff;

        border: 1px solid rgba(210,165,78,.55);

        box-shadow:
            0 7px 18px rgba(12,28,47,.08);

        color: #d2a54e;

        font-size: 15px;
        font-weight: 700;

        z-index: 2;
    }


    /* العبارة نفسها */
    .geds-journey-break span {
        position: absolute;

        top: calc(50% + 27px);
        left: 50%;

        transform: translateX(-50%) !important;

        width: max-content;
        max-width: 110px;

        padding: 6px 10px;

        border: 0;
        border-radius: 8px;

        background: rgba(255,255,255,.94);

        box-shadow:
            0 5px 16px rgba(12,28,47,.05);

        color: #8c6a2d !important;

        font-size: 10px !important;
        font-weight: 800;
        line-height: 1.4;

        text-align: center;
        white-space: nowrap;

        z-index: 3;
    }

}


/* الجوال: نبقيها محطة واضحة بين البطاقات */
@media (max-width: 768px) {

    .geds-journey-break span {
        transform: none !important;

        padding: 7px 12px;

        font-size: 11px !important;
        font-weight: 800;

        color: #9a742e !important;

        background: rgba(212,168,83,.08);

        border: 1px solid rgba(212,168,83,.20);

        border-radius: 999px;
    }

}


/* ==========================================================
   META-GEDS — CINEMATIC HUMAN JOURNEY
   ========================================================== */

.geds-ecosystem-cinematic {
    position: relative;
    overflow: hidden;
}


/* إضاءة خلفية تتحرك مع تقدم الرحلة */

.geds-ecosystem-cinematic::after {
    content: "";

    position: absolute;

    width: 650px;
    height: 650px;

    left: 50%;
    top: 50%;

    transform:
        translate(-50%, -50%)
        scale(.75);

    border-radius: 50%;

    background:
        radial-gradient(
            circle,
            rgba(218,174,88,.085) 0%,
            rgba(218,174,88,.025) 35%,
            transparent 70%
        );

    opacity: var(--ecosystem-glow, .15);

    pointer-events: none;

    transition:
        opacity .4s ease,
        transform .4s ease;
}


/* ==========================================================
   JOURNEY
   ========================================================== */

.geds-live-journey {
    position: relative;
    isolation: isolate;
}


/* الطبقة التي تحمل المسار */

.geds-live-track {
    position: absolute;

    left: 0;
    right: 0;

    top: 59px;

    height: 3px;

    pointer-events: none;

    z-index: 4;
}


/* المسار الخافت */

.geds-live-track-base {
    position: absolute;
    inset: 0;

    height: 1px;

    top: 1px;

    background:
        linear-gradient(
            90deg,
            rgba(218,174,88,.08),
            rgba(218,174,88,.22),
            rgba(218,174,88,.08)
        );
}


/* المسار الذهبي الذي يتم رسمه */

.geds-live-track-progress {
    position: absolute;

    right: 0;
    top: 0;

    width: var(--journey-progress, 0%);

    height: 3px;

    border-radius: 999px;

    background:
        linear-gradient(
            90deg,
            #f7df9c,
            #d9aa52,
            #f2c96f
        );

    box-shadow:
        0 0 8px rgba(222,176,84,.7),
        0 0 20px rgba(222,176,84,.25);

    transition: width .08s linear;
}


/* ==========================================================
   MOVING ENERGY
   ========================================================== */

.geds-live-pulse {
    position: absolute;

    right: var(--journey-progress, 0%);

    top: 50%;

    width: 14px;
    height: 14px;

    transform:
        translate(50%, -50%);

    border-radius: 50%;

    background: #f0c465;

    box-shadow:
        0 0 0 5px rgba(222,176,84,.10),
        0 0 18px rgba(240,196,101,.9),
        0 0 38px rgba(240,196,101,.38);

    transition: right .08s linear;

    z-index: 5;
}


.geds-live-pulse::before,
.geds-live-pulse::after {
    content: "";

    position: absolute;
    inset: 50%;

    width: 14px;
    height: 14px;

    transform: translate(-50%, -50%);

    border-radius: 50%;

    border: 1px solid rgba(240,196,101,.7);

    animation:
        gedsJourneyPulse 1.8s ease-out infinite;
}


.geds-live-pulse::after {
    animation-delay: .9s;
}


@keyframes gedsJourneyPulse {

    0% {
        width: 12px;
        height: 12px;
        opacity: .85;
    }

    100% {
        width: 52px;
        height: 52px;
        opacity: 0;
    }

}


/* ==========================================================
   STAGES
   ========================================================== */

.geds-live-stage {
    position: relative;

    transition:
        transform .55s cubic-bezier(.2,.8,.2,1),
        border-color .55s ease,
        background .55s ease,
        box-shadow .55s ease,
        opacity .55s ease;

    opacity: .46;

    transform: translateY(14px);
}


/* النصوص قبل الوصول */

.geds-live-stage h3,
.geds-live-stage p,
.geds-live-stage .journey-no {
    transition:
        color .45s ease,
        opacity .45s ease,
        transform .55s cubic-bezier(.2,.8,.2,1);
}


.geds-live-stage p {
    opacity: .62;
}


/* النقطة الأصلية */

.geds-live-stage .journey-dot {
    position: relative;

    z-index: 8;

    transition:
        transform .4s ease,
        background .4s ease,
        box-shadow .4s ease;
}


/* المحطة أصبحت نشطة */

.geds-live-stage.is-active {
    opacity: 1;

    transform: translateY(0);

    border-color: rgba(221,176,87,.30);

    background:
        linear-gradient(
            180deg,
            rgba(255,255,255,.035),
            rgba(218,174,88,.035)
        );

    box-shadow:
        0 22px 55px rgba(0,0,0,.13),
        inset 0 0 0 1px rgba(218,174,88,.035);
}


.geds-live-stage.is-active .journey-dot {
    transform: scale(1.35);

    background: #efc363;

    box-shadow:
        0 0 0 7px rgba(239,195,99,.09),
        0 0 24px rgba(239,195,99,.65);
}


.geds-live-stage.is-active .journey-no {
    color: #e7bb63;
}


.geds-live-stage.is-active h3 {
    color: #fff;

    transform: translateY(-2px);
}


.geds-live-stage.is-active p {
    opacity: .88;
}


/* المحطة التي وصل إليها النبض الآن */

.geds-live-stage.is-current {
    transform:
        translateY(-7px)
        scale(1.018);

    border-color: rgba(235,193,105,.48);

    box-shadow:
        0 28px 75px rgba(0,0,0,.22),
        0 0 40px rgba(218,174,88,.055);
}


.geds-live-stage.is-current .journey-dot {
    animation:
        gedsCurrentDot 1.35s ease-in-out infinite;
}


@keyframes gedsCurrentDot {

    0%, 100% {
        transform: scale(1.25);
    }

    50% {
        transform: scale(1.55);
    }

}


/* ==========================================================
   FINAL STAGE
   ========================================================== */

.geds-stage-complete {
    position: absolute;

    top: 17px;
    left: 17px;

    width: 29px;
    height: 29px;

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

    border-radius: 50%;

    background: rgba(222,176,84,.08);

    border: 1px solid rgba(222,176,84,.25);

    color: #e4b65c;

    font-size: 12px;
    font-weight: 900;

    opacity: 0;

    transform:
        scale(.5)
        rotate(-25deg);

    transition:
        opacity .6s ease,
        transform .65s cubic-bezier(.2,1.6,.3,1);
}


.geds-live-stage.is-complete .geds-stage-complete {
    opacity: 1;

    transform:
        scale(1)
        rotate(0);
}


.geds-live-stage.is-complete {
    border-color: rgba(228,182,92,.58);

    box-shadow:
        0 28px 80px rgba(0,0,0,.25),
        0 0 55px rgba(218,174,88,.10);
}


/* ==========================================================
   JOURNEY CAPTION
   ========================================================== */

.geds-journey-caption {
    display: flex;
    align-items: center;
    justify-content: center;

    gap: 15px;

    margin: 30px auto 0;

    opacity: 0;

    transform: translateY(10px);

    transition:
        opacity .7s ease,
        transform .7s ease;
}


.geds-journey-caption span {
    width: 45px;
    height: 1px;

    background:
        linear-gradient(
            90deg,
            transparent,
            rgba(218,174,88,.55)
        );
}


.geds-journey-caption span:last-child {
    transform: scaleX(-1);
}


.geds-journey-caption strong {
    color: rgba(237,198,118,.85);

    font-size: 11px;
    font-weight: 700;

    letter-spacing: .08em;
}


.geds-ecosystem-cinematic.journey-complete
.geds-journey-caption {
    opacity: 1;
    transform: translateY(0);
}


/* ==========================================================
   MOBILE — VERTICAL HUMAN JOURNEY
   ========================================================== */

@media (max-width: 768px) {

    .geds-live-journey {
        position: relative;

        display: flex;
        flex-direction: column;

        gap: 18px;

        padding-right: 42px;
    }


    .geds-live-track {
        top: 0;
        bottom: 0;

        right: 18px;
        left: auto;

        width: 3px;
        height: auto;
    }


    .geds-live-track-base {
        top: 0;

        width: 1px;
        height: 100%;

        right: 1px;

        background:
            linear-gradient(
                180deg,
                rgba(218,174,88,.08),
                rgba(218,174,88,.28),
                rgba(218,174,88,.08)
            );
    }


    .geds-live-track-progress {
        top: 0;
        right: 0;

        width: 3px !important;
        height: var(--journey-progress, 0%);

        transition: height .08s linear;
    }


    .geds-live-pulse {
        right: 1px;

        top: var(--journey-progress, 0%);

        transform: translate(50%, -50%);

        transition: top .08s linear;
    }


    .geds-live-stage,
    .geds-live-stage.is-active,
    .geds-live-stage.is-current {
        width: 100%;

        transform: none;
    }


    .geds-live-stage.is-current {
        transform:
            translateX(-4px)
            scale(1.01);
    }


    .geds-live-stage .journey-dot {
        position: absolute;

        right: -34px;
        top: 31px;
    }


    .geds-stage-complete {
        top: 15px;
        left: 15px;
    }

}


/* ==========================================================
   ACCESSIBILITY
   ========================================================== */

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

    .geds-live-pulse::before,
    .geds-live-pulse::after,
    .geds-live-stage.is-current .journey-dot {
        animation: none !important;
    }

    .geds-live-stage,
    .geds-live-track-progress,
    .geds-live-pulse {
        transition: none !important;
    }

}


/* ==========================================================
   META-GEDS — LIVE OPPORTUNITY ENGINE
   ========================================================== */

.geds-engine-live {
    position: relative;
    overflow: hidden;
}


.geds-ai-demo {
    position: relative;
    overflow: hidden;
}


/* LIVE BADGE
   ---------------------------------------------------------- */

.geds-demo-live {
    position: absolute;

    top: 18px;
    left: 18px;

    display: flex;
    align-items: center;
    gap: 7px;

    padding: 5px 9px;

    border-radius: 999px;

    background: rgba(15, 39, 51, .72);

    border: 1px solid rgba(255,255,255,.07);

    color: rgba(255,255,255,.45);

    font-size: 8px;
    font-weight: 800;
    letter-spacing: .14em;

    z-index: 5;
}


.geds-demo-live i {
    width: 6px;
    height: 6px;

    border-radius: 50%;

    background: #d9ac57;

    box-shadow:
        0 0 10px rgba(217,172,87,.7);

    animation:
        gedsLiveBlink 1.6s ease-in-out infinite;
}


@keyframes gedsLiveBlink {

    0%, 100% {
        opacity: .35;
    }

    50% {
        opacity: 1;
    }

}


/* ==========================================================
   PROFILE SOURCES
   ========================================================== */

.geds-ai-source {
    position: relative;

    opacity: .36;

    transform: translateY(5px);

    transition:
        opacity .45s ease,
        transform .45s ease,
        background .45s ease,
        border-color .45s ease,
        box-shadow .45s ease;
}


.geds-ai-source > span {
    transition:
        color .4s ease,
        background .4s ease,
        transform .4s ease,
        box-shadow .4s ease;
}


.geds-ai-source.is-read {
    opacity: 1;

    transform: translateY(0);

    background:
        rgba(217,172,87,.045);

    border-color:
        rgba(217,172,87,.12);

    box-shadow:
        inset 0 0 22px rgba(217,172,87,.025);
}


.geds-ai-source.is-read > span {
    color: #0a1926;

    background: #e1b55f;

    transform: scale(1.08);

    box-shadow:
        0 0 0 5px rgba(225,181,95,.07),
        0 0 16px rgba(225,181,95,.25);
}


/* ==========================================================
   DATA FLOW
   ========================================================== */

.geds-ai-flow {
    position: relative;

    width: 2px;
    height: 34px;

    margin: 3px auto -5px;

    opacity: 0;

    overflow: visible;

    transition: opacity .4s ease;
}


.geds-ai-flow > span {
    position: absolute;
    inset: 0;

    width: 1px;

    margin: auto;

    background:
        linear-gradient(
            180deg,
            rgba(218,174,88,.1),
            rgba(218,174,88,.75)
        );
}


.geds-ai-flow > i {
    position: absolute;

    top: 0;
    left: 50%;

    width: 7px;
    height: 7px;

    transform: translateX(-50%);

    border-radius: 50%;

    background: #efc66e;

    box-shadow:
        0 0 13px rgba(239,198,110,.8);

    animation:
        gedsDataDrop .9s linear infinite;
}


.geds-ai-demo.is-analyzing
.geds-ai-flow {
    opacity: 1;
}


@keyframes gedsDataDrop {

    from {
        top: 0;
        opacity: 0;
    }

    20% {
        opacity: 1;
    }

    to {
        top: 30px;
        opacity: 0;
    }

}


/* ==========================================================
   ENGINE STATE
   ========================================================== */

.geds-engine-state {
    display: inline-flex;
    align-items: center;
    gap: 7px;

    margin-top: 7px;

    color: rgba(255,255,255,.43);
}


.geds-engine-state i {
    width: 6px;
    height: 6px;

    border-radius: 50%;

    background: rgba(255,255,255,.28);

    transition:
        background .35s ease,
        box-shadow .35s ease;
}


.geds-engine-state b {
    font-size: 9px;
    font-weight: 600;
}


.geds-ai-demo.is-analyzing
.geds-engine-state i,
.geds-ai-demo.is-matching
.geds-engine-state i {
    background: #e2b65f;

    box-shadow:
        0 0 11px rgba(226,182,95,.7);

    animation:
        gedsEngineState 1s ease-in-out infinite;
}


.geds-ai-demo.is-complete
.geds-engine-state i {
    background: #39d98a;

    box-shadow:
        0 0 12px rgba(57,217,138,.55);

    animation: none;
}


@keyframes gedsEngineState {

    50% {
        transform: scale(1.55);
    }

}


/* ==========================================================
   ANALYSIS
   ========================================================== */

.geds-analysis {
    display: flex;
    align-items: center;
    justify-content: center;

    gap: 13px;

    max-height: 0;

    margin: 0 auto;

    opacity: 0;

    overflow: hidden;

    transform: translateY(-6px);

    transition:
        max-height .55s ease,
        margin .55s ease,
        opacity .5s ease,
        transform .5s ease;
}


.geds-ai-demo.is-analyzing
.geds-analysis {
    max-height: 75px;

    margin: 15px auto 6px;

    opacity: 1;

    transform: translateY(0);
}


.geds-analysis-ring {
    width: 48px;
    height: 48px;

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

    flex: 0 0 48px;

    border-radius: 50%;

    background:
        radial-gradient(
            circle,
            #0d2b38 56%,
            transparent 58%
        ),
        conic-gradient(
            #e1b45b 0deg,
            #e1b45b 290deg,
            rgba(255,255,255,.08) 290deg
        );

    box-shadow:
        0 0 24px rgba(225,180,91,.08);
}


.geds-analysis-ring span {
    color: #e5ba64;

    font-size: 10px;
    font-weight: 800;
}


.geds-analysis-copy {
    text-align: right;
}


.geds-analysis-copy small {
    display: block;

    margin-bottom: 3px;

    color: #d9ad59;

    font-size: 8px;
}


.geds-analysis-copy strong {
    color: rgba(255,255,255,.78);

    font-size: 10px;
}


/* ==========================================================
   MATCH RESULTS
   ========================================================== */

.geds-ai-demo .match-results > span {
    position: relative;

    opacity: .18;

    transform:
        translateY(7px)
        scale(.95);

    transition:
        opacity .4s ease,
        transform .4s ease,
        color .4s ease,
        background .4s ease,
        border-color .4s ease,
        box-shadow .4s ease;
}


.geds-ai-demo .match-results > span small {
    display: block;

    max-height: 0;

    margin-top: 0;

    overflow: hidden;

    color: #dcb15c;

    font-size: 8px;

    opacity: 0;

    transition:
        max-height .35s ease,
        opacity .35s ease,
        margin .35s ease;
}


.geds-ai-demo
.match-results > span.is-found {
    opacity: 1;

    transform:
        translateY(0)
        scale(1);
}


.geds-ai-demo
.match-results > span.is-found small {
    max-height: 18px;

    margin-top: 3px;

    opacity: .7;
}


.geds-ai-demo
.match-results > span.is-best {
    color: #081822;

    background:
        linear-gradient(
            135deg,
            #efc76d,
            #d9a94e
        );

    border-color: transparent;

    transform:
        translateY(-3px)
        scale(1.08);

    box-shadow:
        0 8px 25px rgba(218,174,88,.22),
        0 0 25px rgba(218,174,88,.10);
}


.geds-ai-demo
.match-results > span.is-best small {
    color: #17313b;

    opacity: 1;
}


/* ==========================================================
   SUCCESS RESULT
   ========================================================== */

.geds-match-success {
    display: flex;
    align-items: center;

    gap: 12px;

    max-height: 0;

    margin: 0;

    padding: 0 14px;

    overflow: hidden;

    border-radius: 14px;

    background:
        linear-gradient(
            135deg,
            rgba(48,190,123,.09),
            rgba(218,174,88,.055)
        );

    border:
        1px solid transparent;

    opacity: 0;

    transform: translateY(8px);

    transition:
        max-height .6s ease,
        margin .6s ease,
        padding .6s ease,
        opacity .55s ease,
        transform .55s ease,
        border-color .55s ease;
}


.geds-match-success.show {
    max-height: 80px;

    margin-top: 16px;

    padding-top: 12px;
    padding-bottom: 12px;

    opacity: 1;

    transform: translateY(0);

    border-color:
        rgba(63,213,143,.17);
}


.geds-match-success-icon {
    width: 35px;
    height: 35px;

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

    flex: 0 0 35px;

    border-radius: 50%;

    background: #36d287;

    color: #071b15;

    font-size: 15px;
    font-weight: 900;

    box-shadow:
        0 0 0 5px rgba(54,210,135,.06),
        0 0 18px rgba(54,210,135,.18);
}


.geds-match-success small {
    display: block;

    margin-bottom: 2px;

    color: rgba(255,255,255,.45);

    font-size: 8px;
}


.geds-match-success strong {
    color: #fff;

    font-size: 11px;
}


.geds-match-success strong span {
    margin-right: 7px;

    color: #4ddd98;
}


/* ==========================================================
   COMPLETE GLOW
   ========================================================== */

.geds-ai-demo.is-complete {
    box-shadow:
        inset 0 0 60px rgba(218,174,88,.025),
        0 25px 80px rgba(0,0,0,.12);
}


/* ==========================================================
   MOBILE
   ========================================================== */

@media (max-width: 768px) {

    .geds-demo-live {
        top: 12px;
        left: 12px;
    }


    .geds-ai-demo .profile-data {
        gap: 8px;
    }


    .geds-analysis {
        justify-content: flex-start;
    }


    .geds-ai-demo .match-results {
        display: grid;

        grid-template-columns:
            repeat(3, minmax(0, 1fr));

        gap: 7px;
    }


    .geds-ai-demo
    .match-results > span {
        text-align: center;
    }


    .geds-match-success {
        text-align: right;
    }

}


/* ==========================================================
   REDUCED MOTION
   ========================================================== */

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

    .geds-demo-live i,
    .geds-ai-flow > i,
    .geds-engine-state i {
        animation: none !important;
    }


    .geds-ai-source,
    .geds-ai-demo .match-results > span,
    .geds-match-success {
        transition: none !important;
    }

}


/* ==========================================================
   META-GEDS — INTERACTIVE PARTNER PATH FINDER
   ========================================================== */

.geds-partners-interactive {
    position: relative;
}


/* ==========================================================
   STEPS
   ========================================================== */

.geds-path-steps {
    max-width: 670px;

    margin: 38px auto 45px;

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

    direction: rtl;
}


.geds-path-steps > div {
    display: flex;
    align-items: center;

    gap: 8px;

    opacity: .35;

    transition:
        opacity .4s ease,
        transform .4s ease;
}


.geds-path-steps > div.active {
    opacity: 1;

    transform: translateY(-1px);
}


.geds-path-steps > div span {
    width: 27px;
    height: 27px;

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

    border-radius: 50%;

    background: #eef1f3;

    color: #72808d;

    font-size: 9px;
    font-weight: 800;

    transition:
        background .4s ease,
        color .4s ease,
        box-shadow .4s ease;
}


.geds-path-steps > div.active span {
    background: #0d3245;

    color: #fff;

    box-shadow:
        0 7px 18px rgba(13,50,69,.16);
}


.geds-path-steps > div strong {
    color: #15364a;

    font-size: 11px;
    font-weight: 800;
}


.geds-path-steps > i {
    width: 58px;
    height: 1px;

    margin: 0 13px;

    background:
        linear-gradient(
            90deg,
            rgba(13,50,69,.08),
            rgba(13,50,69,.22)
        );
}


/* ==========================================================
   PERSONA CARDS
   ========================================================== */

.geds-persona-card {
    width: 100%;

    appearance: none;

    font-family: inherit;

    text-align: right;

    cursor: pointer;

    transition:
        opacity .4s ease,
        transform .4s cubic-bezier(.2,.8,.2,1),
        border-color .4s ease,
        box-shadow .4s ease,
        background .4s ease;
}


.geds-persona-card:hover {
    transform: translateY(-8px);

    border-color:
        rgba(211,166,78,.55);

    box-shadow:
        0 24px 65px rgba(14,35,50,.10);
}


.geds-persona-card.selected {
    transform:
        translateY(-8px)
        scale(1.015);

    border-color:
        rgba(211,166,78,.82);

    box-shadow:
        0 28px 75px rgba(14,35,50,.13),
        0 0 0 3px rgba(211,166,78,.06);
}


.geds-persona-card.muted {
    opacity: .38;

    transform: scale(.98);
}


.geds-persona-card.selected
.partner-top b {
    color: #d6a74d;

    transform: scale(1.18);
}


/* ==========================================================
   INTERACTIVE PANEL
   ========================================================== */

.geds-path-panel {
    position: relative;

    max-width: 980px;

    margin: 34px auto 0;

    padding: 38px;

    border-radius: 28px;

    background:
        linear-gradient(
            135deg,
            #091827,
            #0c3546
        );

    border:
        1px solid rgba(255,255,255,.08);

    box-shadow:
        0 30px 90px rgba(10,27,41,.17);

    color: #fff;

    opacity: 0;

    transform:
        translateY(18px)
        scale(.985);

    transition:
        opacity .45s ease,
        transform .45s cubic-bezier(.2,.8,.2,1);
}


.geds-path-panel.show {
    opacity: 1;

    transform:
        translateY(0)
        scale(1);
}


.geds-path-panel[hidden] {
    display: none !important;
}


.geds-path-close {
    position: absolute;

    top: 18px;
    left: 18px;

    width: 34px;
    height: 34px;

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

    border: 1px solid rgba(255,255,255,.10);
    border-radius: 50%;

    background: rgba(255,255,255,.05);

    color: rgba(255,255,255,.65);

    font-size: 20px;

    cursor: pointer;
}


.geds-path-panel-head {
    max-width: 690px;

    margin-bottom: 30px;
}


.geds-path-panel-head small {
    display: block;

    margin-bottom: 7px;

    color: #d8ab55;

    font-size: 10px;
    font-weight: 800;
}


.geds-path-panel-head h3 {
    margin: 0;

    color: #fff;

    font-size: clamp(
        25px,
        2.4vw,
        36px
    );
}


.geds-path-panel-head p {
    max-width: 620px;

    margin: 9px 0 0;

    color: rgba(255,255,255,.60);

    font-size: 13px;
    line-height: 1.9;
}


/* ==========================================================
   OPTIONS
   ========================================================== */

.geds-path-options-wrap > small {
    display: block;

    margin-bottom: 12px;

    color: rgba(255,255,255,.42);

    font-size: 10px;
}


.geds-path-options {
    display: flex;
    flex-wrap: wrap;

    gap: 9px;
}


.geds-path-option {
    padding: 10px 16px;

    border:
        1px solid rgba(255,255,255,.10);

    border-radius: 999px;

    background:
        rgba(255,255,255,.045);

    color:
        rgba(255,255,255,.78);

    font-family: inherit;

    font-size: 11px;
    font-weight: 700;

    cursor: pointer;

    transition:
        color .3s ease,
        background .3s ease,
        border-color .3s ease,
        transform .3s ease;
}


.geds-path-option:hover {
    color: #fff;

    border-color:
        rgba(216,171,85,.45);

    transform: translateY(-2px);
}


.geds-path-option.selected {
    color: #101d26;

    background:
        linear-gradient(
            135deg,
            #edc46e,
            #d8a94f
        );

    border-color: transparent;

    transform: translateY(-2px);
}


/* ==========================================================
   RESULT
   ========================================================== */

.geds-path-result {
    margin-top: 28px;

    padding: 27px;

    border-radius: 21px;

    background:
        rgba(255,255,255,.045);

    border:
        1px solid rgba(255,255,255,.08);

    opacity: 0;

    transform: translateY(10px);

    transition:
        opacity .45s ease,
        transform .45s ease;
}


.geds-path-result.show {
    opacity: 1;

    transform: translateY(0);
}


.geds-path-result[hidden] {
    display: none !important;
}


.geds-path-result-label {
    display: flex;
    align-items: center;

    gap: 8px;

    margin-bottom: 12px;

    color: #dcb15d;

    font-size: 10px;
    font-weight: 800;
}


.geds-path-result-label span {
    width: 23px;
    height: 23px;

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

    border-radius: 50%;

    background:
        rgba(62,211,142,.10);

    color: #43d994;
}


.geds-path-result h4 {
    margin: 0 0 19px;

    color: #fff;

    font-size: clamp(
        20px,
        2vw,
        29px
    );
}


/* FLOW */

.geds-result-flow {
    display: flex;
    align-items: center;
    flex-wrap: wrap;

    gap: 9px;

    margin-bottom: 17px;
}


.geds-result-flow span {
    padding: 7px 11px;

    border-radius: 999px;

    background:
        rgba(217,172,86,.08);

    border:
        1px solid rgba(217,172,86,.16);

    color: #e1ba70;

    font-size: 10px;
    font-weight: 700;
}


.geds-result-flow i {
    color:
        rgba(255,255,255,.28);

    font-style: normal;
}


.geds-path-result > p {
    max-width: 690px;

    margin: 0;

    color:
        rgba(255,255,255,.60);

    font-size: 12px;
    line-height: 1.9;
}


/* CTA */

.geds-path-cta {
    width: 100%;

    margin-top: 23px;
    padding: 15px 19px;

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

    border: 0;
    border-radius: 14px;

    background:
        linear-gradient(
            135deg,
            #25d366,
            #1dbb58
        );

    color: #06180d;

    font-family: inherit;

    font-size: 12px;
    font-weight: 900;

    cursor: pointer;

    box-shadow:
        0 12px 30px rgba(37,211,102,.13);

    transition:
        transform .3s ease,
        box-shadow .3s ease;
}


.geds-path-cta:hover {
    transform: translateY(-2px);

    box-shadow:
        0 17px 38px rgba(37,211,102,.20);
}


.geds-path-cta b {
    font-size: 17px;
}


/* ==========================================================
   MOBILE
   ========================================================== */

@media (max-width: 768px) {

    .geds-path-steps {
        margin:
            27px 0
            34px;

        justify-content:
            space-between;
    }


    .geds-path-steps > div {
        flex-direction: column;

        gap: 6px;

        text-align: center;
    }


    .geds-path-steps > div strong {
        font-size: 9px;
    }


    .geds-path-steps > i {
        flex: 1;

        width: auto;

        margin: 0 7px;
    }


    .geds-path-panel {
        margin-top: 22px;

        padding:
            30px 19px
            20px;

        border-radius: 22px;
    }


    .geds-path-close {
        top: 13px;
        left: 13px;
    }


    .geds-path-panel-head {
        padding-left: 30px;
    }


    .geds-path-options {
        display: grid;

        grid-template-columns:
            repeat(2, minmax(0,1fr));
    }


    .geds-path-option {
        width: 100%;

        padding:
            11px 8px;

        border-radius: 12px;

        text-align: center;
    }


    .geds-path-result {
        padding: 20px 16px;
    }


    .geds-result-flow {
        gap: 6px;
    }


    .geds-result-flow span {
        font-size: 9px;
    }

}


@media (max-width: 430px) {

    .geds-path-steps > div strong {
        max-width: 75px;
    }


    .geds-path-options {
        grid-template-columns: 1fr;
    }

}


/* ==========================================================
   META-GEDS — ECOSYSTEM ENTRY PORTAL
   ========================================================== */

.geds-portal {
    position: relative;

    overflow: hidden;

    padding-top: 120px;
    padding-bottom: 120px;
}


/* ==========================================================
   HEADER
   ========================================================== */

.geds-portal-head {
    max-width: 930px;

    margin: 0 auto 55px;

    text-align: center;
}


.geds-portal-head
.geds-section-label {
    justify-content: center;
}


.geds-portal-head h2 {
    margin: 17px 0 18px;

    color: #0b2d40;

    font-size:
        clamp(
            40px,
            5vw,
            72px
        );

    font-weight: 900;

    line-height: 1.12;

    letter-spacing: -.04em;
}


.geds-portal-head h2 span {
    color: #d1a24c;
}


.geds-portal-head h2 em {
    color: #0b2d40;

    font-style: normal;

    position: relative;
}


.geds-portal-head h2 em::after {
    content: '';

    position: absolute;

    right: 0;
    bottom: -7px;

    width: 100%;
    height: 3px;

    border-radius: 999px;

    background:
        linear-gradient(
            90deg,
            transparent,
            #d7aa55,
            transparent
        );
}


.geds-portal-head > p {
    max-width: 700px;

    margin: 0 auto;

    color: #6e7e89;

    font-size: 15px;
    line-height: 2;
}


/* ==========================================================
   SHELL
   ========================================================== */

.geds-portal-shell {
    position: relative;

    min-height: 660px;

    padding: 32px;

    overflow: hidden;

    border-radius: 36px;

    background:
        radial-gradient(
            circle at 50% 40%,
            rgba(28,79,92,.55),
            transparent 38%
        ),
        radial-gradient(
            circle at 15% 90%,
            rgba(198,148,60,.08),
            transparent 32%
        ),
        linear-gradient(
            145deg,
            #071622,
            #092735 58%,
            #071822
        );

    border:
        1px solid rgba(255,255,255,.07);

    box-shadow:
        0 45px 120px rgba(5,25,39,.18);

    isolation: isolate;
}


.geds-portal-shell::before {
    content: '';

    position: absolute;
    inset: 0;

    pointer-events: none;

    opacity: .12;

    background-image:
        linear-gradient(
            rgba(255,255,255,.035) 1px,
            transparent 1px
        ),
        linear-gradient(
            90deg,
            rgba(255,255,255,.035) 1px,
            transparent 1px
        );

    background-size:
        45px 45px;

    mask-image:
        linear-gradient(
            to bottom,
            black,
            transparent 90%
        );
}


/* ==========================================================
   AMBIENT
   ========================================================== */

.geds-portal-ambient {
    position: absolute;
    inset: 0;

    pointer-events: none;

    overflow: hidden;

    z-index: -1;
}


.geds-portal-ambient span {
    position: absolute;

    width: 320px;
    height: 320px;

    border-radius: 50%;

    filter: blur(80px);

    opacity: .12;
}


.geds-portal-ambient span:nth-child(1) {
    top: -130px;
    right: -70px;

    background: #37b8bd;
}


.geds-portal-ambient span:nth-child(2) {
    bottom: -150px;
    left: -80px;

    background: #d5a74d;
}


.geds-portal-ambient span:nth-child(3) {
    top: 40%;
    left: 45%;

    width: 180px;
    height: 180px;

    background: #4ccf96;

    opacity: .05;
}


/* ==========================================================
   STATUS / PROGRESS
   ========================================================== */

.geds-portal-status {
    position: relative;

    z-index: 10;

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

    padding-bottom: 24px;

    border-bottom:
        1px solid rgba(255,255,255,.07);
}


.geds-portal-status-live {
    display: flex;
    align-items: center;

    gap: 8px;

    color:
        rgba(255,255,255,.36);

    font-size: 8px;
    font-weight: 800;

    letter-spacing: .15em;
}


.geds-portal-status-live i {
    width: 6px;
    height: 6px;

    border-radius: 50%;

    background: #d8aa55;

    box-shadow:
        0 0 13px rgba(216,170,85,.7);

    animation:
        gedsPortalBlink 1.7s ease-in-out infinite;
}


@keyframes gedsPortalBlink {

    50% {
        opacity: .3;
    }

}


.geds-portal-progress {
    display: flex;
    align-items: center;

    direction: rtl;
}


.geds-portal-progress > span {
    display: flex;
    align-items: center;

    gap: 6px;

    color:
        rgba(255,255,255,.22);

    font-size: 8px;
    font-weight: 800;

    transition:
        color .4s ease,
        opacity .4s ease;
}


.geds-portal-progress > span b {
    font-size: 8px;
    font-weight: 600;
}


.geds-portal-progress > span.active {
    color: #e2b65f;
}


.geds-portal-progress > i {
    width: 28px;
    height: 1px;

    margin: 0 8px;

    background:
        rgba(255,255,255,.10);
}


/* ==========================================================
   SCREENS
   ========================================================== */

.geds-portal-screen {
    position: relative;

    display: none;

    min-height: 540px;

    padding:
        52px 20px 20px;

    opacity: 0;

    transform:
        translateY(15px);
}


.geds-portal-screen.active {
    display: block;

    animation:
        gedsPortalScreenIn .55s
        cubic-bezier(.2,.8,.2,1)
        forwards;
}


@keyframes gedsPortalScreenIn {

    to {
        opacity: 1;
        transform: translateY(0);
    }

}


/* ==========================================================
   INTRO / CORE
   ========================================================== */

.geds-portal-intro {
    text-align: center;
}


.geds-portal-core {
    position: absolute;

    top: 49%;
    left: 50%;

    width: 245px;
    height: 245px;

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

    transform:
        translate(-50%, -50%);

    border-radius: 50%;

    border:
        1px solid rgba(224,177,91,.34);

    background:
        radial-gradient(
            circle,
            rgba(29,70,79,.96),
            rgba(7,25,35,.98) 70%
        );

    color: #fff;

    font-family: inherit;

    cursor: pointer;

    box-shadow:
        0 0 0 18px rgba(220,172,82,.025),
        0 0 0 40px rgba(220,172,82,.018),
        0 0 80px rgba(220,172,82,.10),
        inset 0 0 60px rgba(72,186,178,.08);

    z-index: 5;

    transition:
        transform .45s cubic-bezier(.2,.8,.2,1),
        border-color .45s ease,
        box-shadow .45s ease;
}


.geds-portal-core:hover {
    transform:
        translate(-50%, -50%)
        scale(1.045);

    border-color:
        rgba(234,192,109,.70);

    box-shadow:
        0 0 0 18px rgba(220,172,82,.04),
        0 0 0 42px rgba(220,172,82,.025),
        0 0 110px rgba(220,172,82,.18),
        inset 0 0 70px rgba(72,186,178,.12);
}


.geds-portal-core > small {
    color: #dcb15d;

    font-size: 9px;
    font-weight: 800;
}


.geds-portal-core > strong {
    margin: 7px 0;

    color: #fff;

    font-size: 25px;
    font-weight: 900;

    line-height: 1.2;
}


.geds-portal-core > strong b {
    display: block;

    color: #e0b45e;
}


.geds-portal-core > em {
    color:
        rgba(255,255,255,.42);

    font-size: 9px;
    font-style: normal;
}


.geds-portal-core > i {
    margin-top: 10px;

    color: #dcb15d;

    font-size: 17px;
    font-style: normal;

    animation:
        gedsPortalArrow 1.4s ease-in-out infinite;
}


@keyframes gedsPortalArrow {

    50% {
        transform: translateY(5px);
    }

}


/* radar */

.geds-core-radar {
    position: absolute;

    inset: -20px;

    border:
        1px solid rgba(220,174,88,.16);

    border-radius: 50%;

    animation:
        gedsPortalRadar 3s ease-out infinite;
}


.geds-core-radar.radar-two {
    animation-delay: 1.5s;
}


@keyframes gedsPortalRadar {

    0% {
        transform: scale(.8);
        opacity: 0;
    }

    25% {
        opacity: 1;
    }

    100% {
        transform: scale(1.45);
        opacity: 0;
    }

}


/* orbit */

.geds-portal-orbit {
    position: absolute;

    top: 49%;
    left: 50%;

    width: 510px;
    height: 510px;

    transform:
        translate(-50%, -50%);

    pointer-events: none;
}


.geds-orbit-ring {
    position: absolute;

    inset: 0;

    border:
        1px solid rgba(255,255,255,.055);

    border-radius: 50%;
}


.geds-orbit-ring.ring-two {
    inset: 65px;

    border-color:
        rgba(216,171,85,.07);
}


.orbit-node {
    position: absolute;

    min-width: 64px;

    padding: 7px 12px;

    border:
        1px solid rgba(255,255,255,.09);

    border-radius: 999px;

    background:
        rgba(255,255,255,.035);

    color:
        rgba(255,255,255,.55);

    font-size: 9px;
    font-weight: 700;

    backdrop-filter:
        blur(8px);

    animation:
        gedsOrbitFloat 3.2s ease-in-out infinite;
}


.node-one {
    top: 10%;
    right: 10%;
}


.node-two {
    top: 15%;
    left: 5%;

    animation-delay: .7s;
}


.node-three {
    bottom: 11%;
    right: 5%;

    animation-delay: 1.2s;
}


.node-four {
    bottom: 14%;
    left: 7%;

    animation-delay: 1.8s;
}


@keyframes gedsOrbitFloat {

    50% {
        transform: translateY(-7px);
    }

}


.geds-portal-intro-note {
    position: absolute;

    right: 0;
    bottom: 10px;
    left: 0;

    color:
        rgba(255,255,255,.28);

    font-size: 9px;
}


/* ==========================================================
   QUESTIONS
   ========================================================== */

.geds-portal-question {
    max-width: 720px;

    margin:
        5px auto 38px;

    text-align: center;
}


.geds-portal-question > small {
    display: block;

    margin-bottom: 9px;

    color: #d8aa55;

    font-size: 9px;
    font-weight: 800;
}


.geds-portal-question h3 {
    margin: 0;

    color: #fff;

    font-size:
        clamp(
            31px,
            4vw,
            50px
        );

    font-weight: 900;

    line-height: 1.25;
}


.geds-portal-question h3 span {
    color: #e0b35c;
}


.geds-portal-question p {
    margin:
        9px 0 0;

    color:
        rgba(255,255,255,.43);

    font-size: 11px;
}


/* ==========================================================
   SOURCE NODES
   ========================================================== */

.geds-source-grid {
    max-width: 900px;

    margin: 0 auto;

    display: grid;

    grid-template-columns:
        repeat(3, minmax(0,1fr));

    gap: 11px;
}


.geds-source-node,
.geds-destination-node {
    position: relative;

    min-height: 105px;

    padding: 18px;

    display: flex;
    flex-direction: column;
    align-items: flex-start;
    justify-content: center;

    overflow: hidden;

    border:
        1px solid rgba(255,255,255,.08);

    border-radius: 18px;

    background:
        rgba(255,255,255,.035);

    color: #fff;

    font-family: inherit;
    text-align: right;

    cursor: pointer;

    transition:
        transform .35s cubic-bezier(.2,.8,.2,1),
        background .35s ease,
        border-color .35s ease,
        box-shadow .35s ease;
}


.geds-source-node::after,
.geds-destination-node::after {
    content: '';

    position: absolute;

    width: 80px;
    height: 80px;

    top: -50px;
    left: -40px;

    border-radius: 50%;

    background:
        rgba(218,174,88,.16);

    filter: blur(25px);

    opacity: 0;

    transition: opacity .35s ease;
}


.geds-source-node:hover,
.geds-destination-node:hover {
    transform: translateY(-5px);

    background:
        rgba(255,255,255,.065);

    border-color:
        rgba(222,177,91,.38);

    box-shadow:
        0 16px 45px rgba(0,0,0,.12);
}


.geds-source-node:hover::after,
.geds-destination-node:hover::after {
    opacity: 1;
}


.geds-source-node > i,
.geds-destination-node > i {
    margin-bottom: 9px;

    color: #dcb15c;

    font-size: 19px;
    font-style: normal;
}


.geds-source-node > strong,
.geds-destination-node > strong {
    color: #fff;

    font-size: 13px;
    font-weight: 800;
}


.geds-source-node > small,
.geds-destination-node > small {
    margin-top: 4px;

    color:
        rgba(255,255,255,.38);

    font-size: 8px;
}


/* ==========================================================
   DESTINATIONS
   ========================================================== */

.geds-destination-stage {
    max-width: 930px;

    margin: 0 auto;
}


.geds-selected-source {
    max-width: 310px;

    margin:
        0 auto 22px;

    padding: 11px 16px;

    border:
        1px solid rgba(220,174,88,.16);

    border-radius: 999px;

    background:
        rgba(220,174,88,.06);

    text-align: center;
}


.geds-selected-source small {
    margin-left: 7px;

    color:
        rgba(255,255,255,.36);

    font-size: 8px;
}


.geds-selected-source strong {
    color: #e2b760;

    font-size: 10px;
}


.geds-destination-grid {
    display: grid;

    grid-template-columns:
        repeat(
            4,
            minmax(0,1fr)
        );

    gap: 11px;
}


.geds-destination-node {
    opacity: 0;

    transform: translateY(10px);

    animation:
        gedsDestinationIn .45s
        var(--portal-delay, 0ms)
        forwards;
}


@keyframes gedsDestinationIn {

    to {
        opacity: 1;
        transform: translateY(0);
    }

}


.geds-portal-back {
    display: block;

    margin: 26px auto 0;

    border: 0;

    background: transparent;

    color:
        rgba(255,255,255,.38);

    font-family: inherit;

    font-size: 9px;

    cursor: pointer;
}


/* ==========================================================
   BUILDING
   ========================================================== */

.geds-building {
    min-height: 440px;

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

    text-align: center;
}


.geds-building-core {
    position: relative;

    width: 155px;
    height: 155px;

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

    border:
        1px solid rgba(222,178,92,.25);

    border-radius: 50%;

    background:
        radial-gradient(
            circle,
            rgba(36,86,91,.75),
            rgba(8,26,36,.95)
        );

    box-shadow:
        0 0 60px rgba(219,174,88,.09);
}


.geds-building-core > span {
    position: absolute;

    inset: -17px;

    border:
        1px solid rgba(220,174,88,.12);

    border-radius: 50%;

    animation:
        gedsBuildPulse 1.8s ease-out infinite;
}


@keyframes gedsBuildPulse {

    to {
        transform: scale(1.28);
        opacity: 0;
    }

}


.geds-building-core strong {
    color: #fff;

    font-size: 17px;
}


.geds-building-core small {
    max-width: 115px;

    margin-top: 6px;

    color:
        rgba(255,255,255,.38);

    font-size: 7px;
    line-height: 1.7;
}


.geds-building-loader {
    width: 250px;
    height: 2px;

    margin-top: 30px;

    overflow: hidden;

    border-radius: 999px;

    background:
        rgba(255,255,255,.07);
}


.geds-building-loader i {
    display: block;

    width: 45%;
    height: 100%;

    border-radius: inherit;

    background:
        linear-gradient(
            90deg,
            transparent,
            #e0b45e,
            transparent
        );

    animation:
        gedsBuildLoader 1.2s linear infinite;
}


@keyframes gedsBuildLoader {

    from {
        transform: translateX(180%);
    }

    to {
        transform: translateX(-230%);
    }

}


.geds-building-percent {
    margin-top: 13px;

    color:
        rgba(255,255,255,.32);

    font-size: 9px;
}


/* ==========================================================
   RESULT
   ========================================================== */

.geds-result-head {
    max-width: 760px;

    margin:
        0 auto 44px;

    text-align: center;
}


.geds-result-found {
    display: inline-flex;
    align-items: center;

    gap: 7px;

    margin-bottom: 13px;

    color: #55dc9c;

    font-size: 9px;
    font-weight: 800;
}


.geds-result-found span {
    width: 22px;
    height: 22px;

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

    border-radius: 50%;

    background:
        rgba(74,216,151,.10);
}


.geds-result-head h3 {
    margin: 0;

    color: #fff;

    font-size:
        clamp(
            30px,
            4vw,
            48px
        );

    font-weight: 900;
}


.geds-result-head p {
    max-width: 650px;

    margin:
        10px auto 0;

    color:
        rgba(255,255,255,.42);

    font-size: 10px;
    line-height: 1.9;
}


/* ==========================================================
   ROUTE MAP
   ========================================================== */

.geds-route-map {
    position: relative;

    max-width: 940px;

    margin:
        0 auto 38px;

    display: grid;

    grid-template-columns:
        repeat(4, minmax(0,1fr));

    gap: 20px;
}


.geds-route-line {
    position: absolute;

    top: 22px;
    right: 10%;
    left: 10%;

    height: 2px;

    overflow: hidden;

    background:
        rgba(255,255,255,.07);

    z-index: 0;
}


.geds-route-line span {
    display: block;

    width: 0;
    height: 100%;

    background:
        linear-gradient(
            90deg,
            #42d992,
            #e0b45d
        );

    box-shadow:
        0 0 15px rgba(222,178,92,.5);

    transition:
        width 1.7s
        cubic-bezier(.2,.8,.2,1);
}


.route-ready
.geds-route-line span {
    width: 100%;
}


.geds-route-point {
    position: relative;

    z-index: 2;

    text-align: center;

    opacity: .28;

    transform: translateY(8px);

    transition:
        opacity .5s ease,
        transform .5s ease;
}


.route-ready
.geds-route-point {
    opacity: 1;

    transform: translateY(0);
}


.route-ready
.geds-route-point:nth-of-type(3) {
    transition-delay: .35s;
}


.route-ready
.geds-route-point:nth-of-type(4) {
    transition-delay: .7s;
}


.route-ready
.geds-route-point:nth-of-type(5) {
    transition-delay: 1.05s;
}


.geds-route-point > i {
    width: 45px;
    height: 45px;

    margin:
        0 auto 11px;

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

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

    border-radius: 50%;

    background: #0b2936;

    color:
        rgba(255,255,255,.58);

    font-size: 9px;
    font-style: normal;

    box-shadow:
        0 0 0 6px #092330;
}


.geds-route-point.start > i {
    border-color:
        rgba(224,180,93,.35);

    color: #e0b45d;
}


.geds-route-point.destination > i {
    border-color:
        rgba(67,216,146,.42);

    background: #103c36;

    color: #53df9d;
}


.geds-route-point small {
    display: block;

    margin-bottom: 4px;

    color:
        rgba(255,255,255,.30);

    font-size: 7px;
}


.geds-route-point strong {
    color: #fff;

    font-size: 10px;
}


/* ==========================================================
   MATCH
   ========================================================== */

.geds-portal-match {
    max-width: 840px;

    margin: 0 auto;

    padding: 21px 24px;

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

    gap: 25px;

    border:
        1px solid rgba(222,178,92,.13);

    border-radius: 19px;

    background:
        linear-gradient(
            135deg,
            rgba(220,174,88,.06),
            rgba(69,206,150,.035)
        );
}


.geds-match-score {
    flex: 0 0 auto;
}


.geds-match-score > small {
    display: block;

    margin-bottom: 5px;

    color:
        rgba(255,255,255,.30);

    font-size: 7px;
}


.geds-match-score > strong {
    color: #fff;

    font-size: 14px;
}


.geds-match-score > strong b {
    margin: 0 6px;

    color: #dcb15d;
}


.geds-match-message {
    display: flex;
    align-items: flex-start;

    gap: 9px;

    max-width: 520px;
}


.geds-match-message > span {
    width: 6px;
    height: 6px;

    margin-top: 7px;

    flex: 0 0 6px;

    border-radius: 50%;

    background: #50dc99;

    box-shadow:
        0 0 12px rgba(80,220,153,.5);
}


.geds-match-message p {
    margin: 0;

    color:
        rgba(255,255,255,.52);

    font-size: 9px;
    line-height: 1.9;
}


/* ==========================================================
   ACTIONS
   ========================================================== */

.geds-portal-actions {
    max-width: 840px;

    margin:
        16px auto 0;

    display: grid;

    grid-template-columns:
        1fr auto;

    gap: 9px;
}


.geds-portal-whatsapp {
    padding: 14px 18px;

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

    border: 0;
    border-radius: 14px;

    background:
        linear-gradient(
            135deg,
            #25d366,
            #1db85a
        );

    color: #061b0e;

    font-family: inherit;
    text-align: right;

    cursor: pointer;

    box-shadow:
        0 13px 32px rgba(37,211,102,.13);

    transition:
        transform .3s ease,
        box-shadow .3s ease;
}


.geds-portal-whatsapp:hover {
    transform: translateY(-2px);

    box-shadow:
        0 17px 38px rgba(37,211,102,.20);
}


.geds-portal-whatsapp > span {
    font-size: 11px;
    font-weight: 900;
}


.geds-portal-whatsapp small {
    display: block;

    margin-top: 2px;

    opacity: .65;

    font-size: 7px;
    font-weight: 600;
}


.geds-portal-whatsapp b {
    font-size: 18px;
}


.geds-portal-restart {
    padding: 0 18px;

    border:
        1px solid rgba(255,255,255,.08);

    border-radius: 14px;

    background:
        rgba(255,255,255,.035);

    color:
        rgba(255,255,255,.45);

    font-family: inherit;

    font-size: 9px;

    cursor: pointer;
}


/* ==========================================================
   TABLET
   ========================================================== */

@media (max-width: 900px) {

    .geds-source-grid {
        grid-template-columns:
            repeat(3, minmax(0,1fr));
    }


    .geds-destination-grid {
        grid-template-columns:
            repeat(2, minmax(0,1fr));
    }

}


/* ==========================================================
   MOBILE
   ========================================================== */

@media (max-width: 768px) {

    .geds-portal {
        padding-top: 80px;
        padding-bottom: 80px;
    }


    .geds-portal-head {
        margin-bottom: 35px;

        text-align: right;
    }


    .geds-portal-head
    .geds-section-label {
        justify-content: flex-start;
    }


    .geds-portal-head h2 {
        font-size:
            clamp(
                34px,
                11vw,
                48px
            );

        line-height: 1.2;
    }


    .geds-portal-head > p {
        font-size: 13px;
    }


    .geds-portal-shell {
        min-height: 650px;

        padding:
            20px 14px;

        border-radius: 25px;
    }


    .geds-portal-status {
        display: block;
    }


    .geds-portal-status-live {
        margin-bottom: 15px;
    }


    .geds-portal-progress {
        width: 100%;

        justify-content:
            space-between;
    }


    .geds-portal-progress > span b {
        display: none;
    }


    .geds-portal-progress > i {
        flex: 1;
    }


    .geds-portal-screen {
        min-height: 550px;

        padding:
            37px 4px 10px;
    }


    /* intro */

    .geds-portal-core {
        width: 190px;
        height: 190px;
    }


    .geds-portal-core > strong {
        font-size: 20px;
    }


    .geds-portal-orbit {
        width: 330px;
        height: 330px;
    }


    .orbit-node {
        min-width: 50px;

        padding:
            6px 8px;

        font-size: 7px;
    }


    /* source */

    .geds-portal-question {
        margin-bottom: 27px;
    }


    .geds-portal-question h3 {
        font-size: 31px;
    }


    .geds-source-grid {
        grid-template-columns:
            repeat(2, minmax(0,1fr));

        gap: 8px;
    }


    .geds-source-node,
    .geds-destination-node {
        min-height: 93px;

        padding: 13px;

        border-radius: 14px;
    }


    .geds-source-node > i,
    .geds-destination-node > i {
        margin-bottom: 6px;

        font-size: 16px;
    }


    .geds-source-node > strong,
    .geds-destination-node > strong {
        font-size: 11px;
    }


    .geds-source-node > small,
    .geds-destination-node > small {
        font-size: 7px;
    }


    /* destination */

    .geds-destination-grid {
        grid-template-columns:
            repeat(2, minmax(0,1fr));

        gap: 8px;
    }


    /* result route */

    .geds-route-map {
        grid-template-columns: 1fr;

        gap: 0;

        padding-right: 6px;
    }


    .geds-route-line {
        top: 20px;
        right: 27px;
        bottom: 20px;
        left: auto;

        width: 2px;
        height: auto;
    }


    .geds-route-line span {
        width: 100%;
        height: 0;

        transition:
            height 1.7s
            cubic-bezier(.2,.8,.2,1);
    }


    .route-ready
    .geds-route-line span {
        width: 100%;
        height: 100%;
    }


    .geds-route-point {
        min-height: 76px;

        padding-right: 69px;

        display: flex;
        flex-direction: column;
        justify-content: center;

        text-align: right;
    }


    .geds-route-point > i {
        position: absolute;

        top: 13px;
        right: 5px;

        margin: 0;
    }


    .geds-route-point small {
        font-size: 7px;
    }


    .geds-route-point strong {
        font-size: 11px;
    }


    .geds-portal-match {
        display: block;

        padding: 18px;
    }


    .geds-match-message {
        margin-top: 13px;
    }


    .geds-portal-actions {
        grid-template-columns: 1fr;
    }


    .geds-portal-restart {
        min-height: 42px;
    }

}


/* ==========================================================
   VERY SMALL MOBILE
   ========================================================== */

@media (max-width: 390px) {

    .geds-portal-shell {
        padding:
            17px 10px;
    }


    .geds-source-grid,
    .geds-destination-grid {
        grid-template-columns:
            repeat(2, minmax(0,1fr));
    }


    .geds-source-node {
        padding: 11px;
    }


    .geds-portal-orbit {
        width: 285px;
        height: 285px;
    }

}


/* ==========================================================
   REDUCED MOTION
   ========================================================== */

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

    .geds-portal-status-live i,
    .geds-core-radar,
    .geds-portal-core > i,
    .orbit-node,
    .geds-building-core > span,
    .geds-building-loader i {
        animation: none !important;
    }


    .geds-route-line span,
    .geds-route-point,
    .geds-source-node,
    .geds-destination-node {
        transition: none !important;
    }

}


/* ==========================================================
   META-GEDS — PATH READY / CONTACT MODE
   ========================================================== */

.geds-path-ready-card[hidden] {
    display: none !important;
}


.geds-path-ready-card {
    position: relative;

    margin-bottom: 26px;
    padding: 24px;

    overflow: hidden;

    border:
        1px solid rgba(37,211,102,.22);

    border-radius: 22px;

    background:
        radial-gradient(
            circle at 100% 0%,
            rgba(37,211,102,.10),
            transparent 34%
        ),
        linear-gradient(
            135deg,
            rgba(37,211,102,.055),
            rgba(212,167,78,.045)
        );

    animation:
        gedsPathReadyIn
        .55s
        cubic-bezier(.2,.8,.2,1)
        both;
}


@keyframes gedsPathReadyIn {

    from {
        opacity: 0;
        transform: translateY(12px);
    }

    to {
        opacity: 1;
        transform: translateY(0);
    }

}


.geds-path-ready-card::before {
    content: '';

    position: absolute;

    top: 0;
    right: 0;

    width: 100%;
    height: 2px;

    background:
        linear-gradient(
            90deg,
            transparent,
            #25d366,
            #d9aa55,
            transparent
        );
}


.geds-path-ready-top {
    display: flex;
    align-items: center;

    gap: 13px;

    margin-bottom: 22px;
}


.geds-path-ready-check {
    width: 45px;
    height: 45px;

    flex: 0 0 45px;

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

    border-radius: 50%;

    background:
        rgba(37,211,102,.12);

    border:
        1px solid rgba(37,211,102,.30);

    color: #25d366;

    font-size: 18px;
    font-weight: 900;

    box-shadow:
        0 0 0 6px
        rgba(37,211,102,.035);
}


.geds-path-ready-top span {
    display: block;

    margin-bottom: 3px;

    color: #25d366;

    font-size: 10px;
    font-weight: 800;
}


.geds-path-ready-top h3 {
    margin: 0;

    font-size: 17px;
    font-weight: 900;
}


/* route */

.geds-path-ready-route {
    position: relative;

    display: grid;

    grid-template-columns:
        1fr auto
        1fr auto
        1fr auto
        1fr;

    align-items: center;

    gap: 9px;

    padding: 16px;

    border-radius: 16px;

    background:
        rgba(127,127,127,.045);

    border:
        1px solid rgba(127,127,127,.10);
}


.geds-path-ready-route > div {
    min-width: 0;

    text-align: center;
}


.geds-path-ready-route small {
    display: block;

    margin-bottom: 4px;

    opacity: .48;

    font-size: 8px;
}


.geds-path-ready-route strong {
    display: block;

    overflow: hidden;

    text-overflow: ellipsis;

    font-size: 11px;
    font-weight: 900;
}


.geds-path-ready-route > i {
    color: #d7a951;

    font-size: 13px;
    font-style: normal;

    opacity: .70;
}


.geds-path-ready-destination strong {
    color: #25d366;
}


/* interest */

.geds-path-ready-interest {
    margin-top: 12px;
    padding: 12px 14px;

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

    gap: 15px;

    border-radius: 13px;

    background:
        rgba(37,211,102,.06);
}


.geds-path-ready-interest span {
    opacity: .55;

    font-size: 9px;
}


.geds-path-ready-interest strong {
    color: #25d366;

    font-size: 11px;
    font-weight: 900;
}


/* bottom */

.geds-path-ready-bottom {
    margin-top: 17px;

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

    gap: 15px;
}


.geds-path-ready-bottom p {
    margin: 0;

    font-size: 11px;
    font-weight: 700;

    line-height: 1.8;
}


.geds-path-ready-bottom button {
    flex: 0 0 auto;

    padding: 8px 11px;

    border:
        1px solid rgba(127,127,127,.16);

    border-radius: 10px;

    background:
        rgba(127,127,127,.04);

    color: inherit;

    font: inherit;
    font-size: 8px;

    cursor: pointer;

    opacity: .65;

    transition:
        opacity .2s ease,
        border-color .2s ease;
}


.geds-path-ready-bottom button:hover {
    opacity: 1;

    border-color:
        rgba(215,169,81,.45);
}


/* ==========================================================
   PATH MODE — CONTACT STEP
   ========================================================== */

.geds-path-form-mode
.geds-contact-step {
    position: relative;
}


.geds-path-form-mode
.geds-contact-step
.geds-step-number {
    color: #25d366;

    border-color:
        rgba(37,211,102,.30);

    background:
        rgba(37,211,102,.07);
}


.geds-path-form-mode
.geds-whatsapp-submit {
    box-shadow:
        0 14px 40px
        rgba(37,211,102,.13);
}


/* ==========================================================
   MOBILE
   ========================================================== */

@media(max-width:700px) {

    .geds-path-ready-card {
        padding: 18px;

        border-radius: 18px;
    }


    .geds-path-ready-route {
        display: block;

        padding:
            7px 14px;
    }


    .geds-path-ready-route > div {
        position: relative;

        padding:
            12px 0 12px 36px;

        text-align: right;

        border-bottom:
            1px solid
            rgba(127,127,127,.09);
    }


    .geds-path-ready-route
    > div:last-of-type {
        border-bottom: 0;
    }


    .geds-path-ready-route > i {
        display: block;

        height: 0;

        position: relative;

        right: 10px;

        z-index: 2;

        transform: rotate(-90deg);

        text-align: right;
    }


    .geds-path-ready-route small {
        font-size: 8px;
    }


    .geds-path-ready-route strong {
        font-size: 12px;
    }


    .geds-path-ready-bottom {
        display: block;
    }


    .geds-path-ready-bottom button {
        margin-top: 10px;
    }

}


/* ==========================================================
   META-GEDS — PATH MODE READABILITY FIX
   ========================================================== */

/*
 * بطاقة "مسارك جاهز"
 */
.geds-contact-v2 .geds-path-ready-card {
    color: #ffffff !important;

    background:
        radial-gradient(
            circle at 100% 0%,
            rgba(37, 211, 102, .13),
            transparent 38%
        ),
        linear-gradient(
            135deg,
            rgba(13, 51, 48, .96),
            rgba(12, 35, 43, .98)
        ) !important;

    border-color:
        rgba(37, 211, 102, .35) !important;
}


/* العنوان العلوي */
.geds-contact-v2
.geds-path-ready-top span {
    color: #42e985 !important;
    opacity: 1 !important;
}


.geds-contact-v2
.geds-path-ready-top h3 {
    color: #ffffff !important;
    opacity: 1 !important;
}


/* علامة الصح */
.geds-contact-v2
.geds-path-ready-check {
    color: #52ef91 !important;

    background:
        rgba(37, 211, 102, .13) !important;

    border-color:
        rgba(67, 235, 135, .40) !important;
}


/* ==========================================================
   ROUTE
   ========================================================== */

.geds-contact-v2
.geds-path-ready-route {
    background:
        rgba(0, 0, 0, .15) !important;

    border-color:
        rgba(255, 255, 255, .09) !important;
}


.geds-contact-v2
.geds-path-ready-route small {
    color:
        rgba(255, 255, 255, .60) !important;

    opacity: 1 !important;
}


.geds-contact-v2
.geds-path-ready-route strong {
    color: #ffffff !important;
    opacity: 1 !important;
}


.geds-contact-v2
.geds-path-ready-route
.geds-path-ready-destination strong {
    color: #54e995 !important;
}


/* الأسهم بين مراحل المسار */
.geds-contact-v2
.geds-path-ready-route > i {
    color: #e4b75f !important;
    opacity: 1 !important;
}


/* ==========================================================
   INTEREST THAT WILL ACTUALLY BE SENT
   ========================================================== */

.geds-contact-v2
.geds-path-ready-interest {
    padding: 13px 16px !important;

    background:
        rgba(37, 211, 102, .10) !important;

    border:
        1px solid
        rgba(37, 211, 102, .16);
}


.geds-contact-v2
.geds-path-ready-interest span {
    color:
        rgba(255, 255, 255, .68) !important;

    opacity: 1 !important;
}


.geds-contact-v2
.geds-path-ready-interest strong {
    color: #51ed91 !important;

    opacity: 1 !important;

    font-size: 12px !important;
}


/* ==========================================================
   BOTTOM TEXT
   ========================================================== */

.geds-contact-v2
.geds-path-ready-bottom p {
    color:
        rgba(255, 255, 255, .80) !important;

    opacity: 1 !important;
}


.geds-contact-v2
.geds-path-ready-bottom button {
    color:
        rgba(255, 255, 255, .75) !important;

    border-color:
        rgba(255, 255, 255, .15) !important;

    background:
        rgba(255, 255, 255, .05) !important;

    opacity: 1 !important;
}


/* ==========================================================
   LAST STEP
   ========================================================== */

.geds-path-form-mode
.geds-contact-step
.geds-step-head span {
    color: #e4b75f !important;
    opacity: 1 !important;
}


.geds-path-form-mode
.geds-contact-step
.geds-step-head h3 {
    color: #ffffff !important;
    opacity: 1 !important;
}


.geds-path-form-mode
.geds-contact-step
.geds-step-head p {
    color:
        rgba(255, 255, 255, .70) !important;

    opacity: 1 !important;
}


/* رقم الخطوة 02 */
.geds-path-form-mode
.geds-contact-step
.geds-step-number {
    color: #50e991 !important;

    border-color:
        rgba(37, 211, 102, .35) !important;

    background:
        rgba(37, 211, 102, .09) !important;
}


/* رقم واتساب */
.geds-path-form-mode
.geds-phone-label {
    color:
        rgba(255, 255, 255, .88) !important;
}


/* الموافقة */
.geds-path-form-mode
.geds-consent-text {
    color:
        rgba(255, 255, 255, .76) !important;

    opacity: 1 !important;
}


.geds-path-form-mode
.geds-consent-text strong {
    color: #ffffff !important;
}


/* ==========================================================
   MOBILE
   ========================================================== */

@media(max-width:700px) {

    .geds-contact-v2
    .geds-path-ready-route strong {
        font-size: 12px !important;
    }


    .geds-contact-v2
    .geds-path-ready-route small {
        font-size: 8px !important;
    }


    .geds-contact-v2
    .geds-path-ready-interest strong {
        font-size: 12px !important;
    }

}


/* ==========================================================
   META-GEDS — NEED ENGINE
   "لا نبدأ من الحل. نبدأ من الاحتياج."
   ========================================================== */

.geds-need-engine {
    position: relative;

    padding:
        120px 0;

    overflow: hidden;

    background:
        linear-gradient(
            135deg,
            #073747,
            #062c3b 55%,
            #051f2d
        );

    color: #fff;
}


.geds-need-engine::before {
    content: '';

    position: absolute;
    inset: 0;

    pointer-events: none;

    opacity: .10;

    background-image:
        linear-gradient(
            45deg,
            rgba(255,255,255,.06) 1px,
            transparent 1px
        );

    background-size:
        34px 34px;
}


.geds-need-engine::after {
    content: '';

    position: absolute;

    width: 650px;
    height: 650px;

    top: -280px;
    left: -250px;

    border-radius: 50%;

    pointer-events: none;

    background:
        radial-gradient(
            circle,
            rgba(44,174,167,.12),
            transparent 68%
        );
}


/* ==========================================================
   HEADER
   ========================================================== */

.geds-need-head {
    position: relative;

    z-index: 2;

    max-width: 1000px;

    margin:
        0 0 65px auto;

    text-align: right;
}


.geds-need-kicker {
    display: flex;
    align-items: center;

    gap: 12px;

    margin-bottom: 24px;

    color: #e0b45c;

    font-size: 9px;
    font-weight: 900;

    letter-spacing: .16em;
}


.geds-need-kicker i {
    width: 42px;
    height: 1px;

    background:
        rgba(224,180,92,.65);
}


.geds-need-head h2 {
    margin: 0;

    color: #fff;

    font-size:
        clamp(
            46px,
            6vw,
            80px
        );

    font-weight: 900;

    line-height: 1.12;

    letter-spacing: -.045em;
}


.geds-need-head h2 span {
    color: #e2b45d;
}


.geds-need-head > p {
    max-width: 780px;

    margin:
        24px 0 0 auto;

    color:
        rgba(255,255,255,.67);

    font-size: 14px;

    line-height: 2;
}


/* ==========================================================
   LIVE CASE
   ========================================================== */

.geds-need-live {
    position: relative;

    z-index: 3;

    padding: 28px;

    overflow: hidden;

    border:
        1px solid
        rgba(255,255,255,.09);

    border-radius: 30px;

    background:
        linear-gradient(
            145deg,
            rgba(4,25,35,.76),
            rgba(8,44,55,.82)
        );

    box-shadow:
        0 35px 90px
        rgba(0,0,0,.18);

    backdrop-filter:
        blur(12px);
}


.geds-need-live::before {
    content: '';

    position: absolute;

    width: 380px;
    height: 380px;

    top: -230px;
    right: -130px;

    border-radius: 50%;

    background:
        radial-gradient(
            circle,
            rgba(224,180,92,.12),
            transparent 70%
        );

    pointer-events: none;
}


/* ==========================================================
   LIVE TOP
   ========================================================== */

.geds-need-live-top {
    display: flex;
    align-items: center;
    justify-content: space-between;

    gap: 20px;

    padding-bottom: 22px;

    border-bottom:
        1px solid
        rgba(255,255,255,.07);
}


.geds-need-live-label {
    display: flex;
    align-items: center;

    gap: 9px;

    color:
        rgba(255,255,255,.52);

    font-size: 9px;
    font-weight: 800;
}


.geds-need-live-label > span {
    width: 7px;
    height: 7px;

    border-radius: 50%;

    background: #52df99;

    box-shadow:
        0 0 0 5px
        rgba(82,223,153,.08),
        0 0 15px
        rgba(82,223,153,.35);

    animation:
        gedsNeedLivePulse
        1.5s ease-in-out infinite;
}


@keyframes gedsNeedLivePulse {

    50% {
        opacity: .35;
    }

}


/* ==========================================================
   SWITCHER
   ========================================================== */

.geds-case-switcher {
    display: flex;

    gap: 5px;

    padding: 4px;

    border:
        1px solid
        rgba(255,255,255,.08);

    border-radius: 999px;

    background:
        rgba(0,0,0,.12);
}


.geds-case-switcher button {
    min-width: 75px;

    padding:
        8px 14px;

    border: 0;
    border-radius: 999px;

    background: transparent;

    color:
        rgba(255,255,255,.45);

    font-family: inherit;
    font-size: 9px;
    font-weight: 800;

    cursor: pointer;

    transition:
        color .3s ease,
        background .3s ease,
        box-shadow .3s ease;
}


.geds-case-switcher button.active {
    color: #09262f;

    background: #dfb35d;

    box-shadow:
        0 8px 25px
        rgba(223,179,93,.16);
}


/* ==========================================================
   CASE SOURCE
   ========================================================== */

.geds-case-stage {
    min-height: 195px;

    padding:
        34px 12px 30px;

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

    gap: 30px;

    transition:
        opacity .23s ease,
        transform .23s ease;
}


.geds-case-changing
.geds-case-stage {
    opacity: .15;

    transform:
        translateY(5px);
}


.geds-case-source {
    max-width: 760px;

    display: flex;
    align-items: center;

    gap: 22px;
}


.geds-case-source-icon {
    width: 76px;
    height: 76px;

    flex: 0 0 76px;

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

    border:
        1px solid
        rgba(225,180,91,.28);

    border-radius: 50%;

    background:
        radial-gradient(
            circle,
            rgba(224,180,92,.13),
            rgba(224,180,92,.025)
        );

    color: #e2b55e;

    font-size: 27px;

    box-shadow:
        0 0 0 9px
        rgba(224,180,92,.025);
}


.geds-case-source small {
    display: block;

    margin-bottom: 6px;

    color: #e2b55e;

    font-size: 9px;
    font-weight: 900;
}


.geds-case-source h3 {
    margin: 0;

    color: #fff;

    font-size:
        clamp(
            23px,
            3vw,
            34px
        );

    font-weight: 900;
}


.geds-case-source p {
    max-width: 650px;

    margin:
        10px 0 0;

    color:
        rgba(255,255,255,.50);

    font-size: 11px;
    line-height: 1.9;
}


/* ==========================================================
   SIGNAL
   ========================================================== */

.geds-need-signal {
    flex: 0 0 auto;

    display: flex;
    align-items: center;

    gap: 8px;

    padding:
        9px 13px;

    border:
        1px solid
        rgba(81,222,152,.15);

    border-radius: 999px;

    background:
        rgba(81,222,152,.05);

    color:
        rgba(255,255,255,.55);

    font-size: 8px;
}


.geds-need-signal span {
    width: 6px;
    height: 6px;

    border-radius: 50%;

    background: #51de98;
}


/* ==========================================================
   PIPELINE
   ========================================================== */

.geds-need-pipeline {
    position: relative;

    display: grid;

    grid-template-columns:
        repeat(
            5,
            minmax(0,1fr)
        );

    gap: 14px;

    padding-top: 28px;

    border-top:
        1px solid
        rgba(255,255,255,.06);
}


.geds-need-track {
    position: absolute;

    top: 50px;
    right: 7%;
    left: 7%;

    height: 2px;

    background:
        rgba(255,255,255,.07);

    z-index: 0;
}


.geds-need-track > span {
    position: absolute;

    top: 0;
    right: 0;

    width: 0;
    height: 100%;

    border-radius: 999px;

    background:
        linear-gradient(
            270deg,
            #e0b45c,
            #54dc99
        );

    box-shadow:
        0 0 15px
        rgba(83,221,153,.25);

    transition:
        width .75s
        cubic-bezier(.2,.8,.2,1);
}


.geds-need-track > i {
    position: absolute;

    top: 50%;
    right: 0;

    width: 10px;
    height: 10px;

    transform:
        translateY(-50%);

    border-radius: 50%;

    background: #55e09b;

    box-shadow:
        0 0 0 6px
        rgba(85,224,155,.08),
        0 0 22px
        rgba(85,224,155,.50);

    transition:
        right .75s
        cubic-bezier(.2,.8,.2,1);

    z-index: 4;
}


/* ==========================================================
   STEPS
   ========================================================== */

.geds-need-step {
    position: relative;

    z-index: 2;

    min-height: 175px;

    padding:
        57px 15px 17px;

    border:
        1px solid
        transparent;

    border-radius: 17px;

    opacity: .30;

    transition:
        opacity .45s ease,
        transform .45s ease,
        border-color .45s ease,
        background .45s ease;
}


.geds-need-number {
    position: absolute;

    top: 0;
    right: 50%;

    width: 45px;
    height: 45px;

    transform:
        translateX(50%);

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

    border:
        1px solid
        rgba(255,255,255,.10);

    border-radius: 50%;

    background: #092c39;

    color:
        rgba(255,255,255,.45);

    font-size: 8px;
    font-weight: 900;

    box-shadow:
        0 0 0 7px #082a37;

    transition:
        color .4s ease,
        border-color .4s ease,
        background .4s ease,
        box-shadow .4s ease;
}


.geds-need-step > small {
    display: block;

    margin-bottom: 5px;

    color:
        rgba(255,255,255,.35);

    font-size: 7px;
    font-weight: 700;
}


.geds-need-step h4 {
    margin:
        0 0 8px;

    color: #fff;

    font-size: 13px;
    font-weight: 900;
}


.geds-need-step p {
    margin: 0;

    color:
        rgba(255,255,255,.48);

    font-size: 8px;
    line-height: 1.8;
}


/* active */

.geds-need-step.active {
    opacity: 1;

    transform:
        translateY(-3px);

    border-color:
        rgba(224,180,92,.18);

    background:
        rgba(224,180,92,.045);
}


.geds-need-step.active
.geds-need-number {
    color: #0a2a33;

    border-color: #dfb35d;

    background: #dfb35d;

    box-shadow:
        0 0 0 7px
        rgba(223,179,93,.07),
        0 0 25px
        rgba(223,179,93,.20);
}


/* complete */

.geds-need-step.complete {
    opacity: .72;
}


.geds-need-step.complete
.geds-need-number {
    color: #55df9a;

    border-color:
        rgba(85,223,154,.35);

    background:
        #0d3938;
}


/* ==========================================================
   RESULT
   ========================================================== */

.geds-need-result {
    margin-top: 22px;

    padding:
        17px 19px;

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

    gap: 30px;

    border:
        1px solid
        rgba(82,222,153,.12);

    border-radius: 15px;

    background:
        rgba(82,222,153,.035);

    opacity: .38;

    transition:
        opacity .5s ease,
        border-color .5s ease,
        background .5s ease,
        box-shadow .5s ease;
}


.geds-case-complete
.geds-need-result {
    opacity: 1;

    border-color:
        rgba(82,222,153,.28);

    background:
        rgba(82,222,153,.07);

    box-shadow:
        0 12px 40px
        rgba(0,0,0,.08);
}


.geds-need-result-status {
    display: flex;
    align-items: center;

    gap: 11px;

    flex: 0 0 auto;
}


.geds-need-result-status > span {
    width: 34px;
    height: 34px;

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

    border-radius: 50%;

    background:
        rgba(82,222,153,.10);

    color: #55e09b;

    font-weight: 900;
}


.geds-need-result-status small {
    display: block;

    margin-bottom: 2px;

    color:
        rgba(255,255,255,.38);

    font-size: 7px;
}


.geds-need-result-status strong {
    color: #fff;

    font-size: 11px;
}


.geds-need-result > p {
    max-width: 610px;

    margin: 0;

    color:
        rgba(255,255,255,.50);

    font-size: 9px;
    line-height: 1.9;
}


/* ==========================================================
   PRINCIPLE / FIVE ELEMENTS
   ========================================================== */

.geds-need-principle {
    position: relative;

    z-index: 2;

    margin-top: 38px;

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

    gap: 15px;
}


.geds-need-principle > div {
    display: flex;
    align-items: center;

    gap: 8px;
}


.geds-need-principle small {
    color: #dcb05a;

    font-size: 7px;
    font-weight: 900;
}


.geds-need-principle strong {
    color:
        rgba(255,255,255,.62);

    font-size: 9px;
}


.geds-need-principle > span {
    flex: 1;

    height: 1px;

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


/* ==========================================================
   MOBILE
   ========================================================== */

@media(max-width:800px) {

    .geds-need-engine {
        padding:
            80px 0;
    }


    .geds-need-head {
        margin-bottom: 40px;
    }


    .geds-need-head h2 {
        font-size:
            clamp(
                40px,
                12vw,
                58px
            );
    }


    .geds-need-head > p {
        font-size: 12px;
    }


    .geds-need-live {
        padding:
            18px 14px;

        border-radius: 22px;
    }


    .geds-need-live-top {
        display: block;
    }


    .geds-case-switcher {
        margin-top: 15px;

        display: grid;

        grid-template-columns:
            repeat(3,1fr);

        border-radius: 14px;
    }


    .geds-case-switcher button {
        min-width: 0;

        padding:
            9px 7px;
    }


    .geds-case-stage {
        min-height: 260px;

        padding:
            30px 4px 24px;

        display: block;
    }


    .geds-case-source {
        align-items: flex-start;

        gap: 15px;
    }


    .geds-case-source-icon {
        width: 55px;
        height: 55px;

        flex-basis: 55px;

        font-size: 20px;
    }


    .geds-case-source h3 {
        font-size: 23px;
    }


    .geds-need-signal {
        width: fit-content;

        margin:
            20px 70px 0 0;
    }


    /* vertical pipeline */

    .geds-need-pipeline {
        display: block;

        padding:
            20px 0 0 0;

        border-top:
            1px solid
            rgba(255,255,255,.06);
    }


    .geds-need-track {
        top: 38px;
        right: 22px;
        bottom: 38px;
        left: auto;

        width: 2px;
        height: auto;
    }


    .geds-need-track > span {
        width: 100%;
        height: 0;

        transition:
            height .75s ease;
    }


    .geds-need-track > i {
        top: 0;
        right: 50% !important;

        transform:
            translate(50%,-50%);

        transition:
            top .75s ease;
    }


    .geds-need-step {
        min-height: 100px;

        padding:
            16px 70px 16px 12px;

        text-align: right;
    }


    .geds-need-number {
        top: 21px;
        right: 0;

        transform: none;
    }


    .geds-need-step h4 {
        font-size: 12px;
    }


    .geds-need-step p {
        font-size: 8px;
    }


    .geds-need-result {
        display: block;

        margin-top: 14px;
    }


    .geds-need-result > p {
        margin-top: 12px;
    }


    .geds-need-principle {
        margin-top: 30px;

        display: grid;

        grid-template-columns:
            repeat(5,1fr);

        gap: 4px;
    }


    .geds-need-principle > span {
        display: none;
    }


    .geds-need-principle > div {
        display: block;

        text-align: center;
    }


    .geds-need-principle small {
        display: block;

        margin-bottom: 3px;
    }


    .geds-need-principle strong {
        font-size: 7px;
    }

}


/* ==========================================================
   REDUCED MOTION
   ========================================================== */

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

    .geds-need-live-label > span {
        animation: none;
    }


    .geds-need-track > span,
    .geds-need-track > i,
    .geds-need-step,
    .geds-case-stage {
        transition: none;
    }

}


/* ==========================================================
   MSAHEM LAB
   ========================================================== */

.geds-msahem-lab {
    position: relative;

    padding:
        110px 0 120px;

    overflow: hidden;

    background:
        #f6f7f8;

    color: #0b1830;
}


.geds-msahem-lab::before {
    content: '';

    position: absolute;

    width: 620px;
    height: 620px;

    top: -360px;
    left: -180px;

    border-radius: 50%;

    background:
        radial-gradient(
            circle,
            rgba(205,160,72,.10),
            transparent 68%
        );

    pointer-events: none;
}


/* ==========================================================
   HEADER
   ========================================================== */

.geds-lab-header {
    position: relative;
    z-index: 2;

    margin-bottom: 50px;
}


.geds-lab-header-grid {
    display: grid;

    grid-template-columns:
        minmax(0,1.1fr)
        minmax(300px,.9fr);

    gap: 80px;

    align-items: end;
}


.geds-lab-header h2 {
    max-width: 760px;

    margin:
        18px 0 0;

    color: #0c1930;

    font-size:
        clamp(
            43px,
            5.4vw,
            72px
        );

    font-weight: 900;

    line-height: 1.13;

    letter-spacing: -.045em;
}


.geds-lab-header h2 span {
    color: #073e50;
}


.geds-lab-header-copy p {
    margin: 0;

    color: #5f6876;

    font-size: 13px;

    line-height: 2;
}


.geds-lab-time {
    width: fit-content;

    margin-top: 20px;

    padding:
        8px 12px;

    display: flex;
    align-items: center;

    gap: 8px;

    border:
        1px solid #e2e5e8;

    border-radius: 999px;

    color: #68717e;

    background:
        rgba(255,255,255,.65);

    font-size: 8px;
}


.geds-lab-time i {
    width: 6px;
    height: 6px;

    border-radius: 50%;

    background: #d3a54d;

    box-shadow:
        0 0 0 4px
        rgba(211,165,77,.10);
}


.geds-lab-time strong {
    color: #0d2732;
}


/* ==========================================================
   SHELL
   ========================================================== */

.geds-lab-shell {
    position: relative;

    z-index: 3;

    overflow: hidden;

    border:
        1px solid #dfe4e8;

    border-radius: 30px;

    background: #fff;

    box-shadow:
        0 30px 90px
        rgba(12,29,42,.08);
}


/* ==========================================================
   STATUS BAR
   ========================================================== */

.geds-lab-status {
    min-height: 72px;

    padding:
        0 26px;

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

    gap: 25px;

    border-bottom:
        1px solid #e9ecef;

    background:
        rgba(249,250,251,.92);
}


.geds-lab-status-copy {
    display: flex;
    align-items: center;

    gap: 11px;
}


.geds-lab-live-dot {
    width: 8px;
    height: 8px;

    border-radius: 50%;

    background: #31bd79;

    box-shadow:
        0 0 0 6px
        rgba(49,189,121,.08);

    animation:
        gedsLabLive
        1.6s ease-in-out infinite;
}


@keyframes gedsLabLive {

    50% {
        opacity: .35;
    }

}


.geds-lab-status-copy small {
    display: block;

    margin-bottom: 2px;

    color: #c18f35;

    font-size: 7px;
    font-weight: 900;

    letter-spacing: .12em;
}


.geds-lab-status-copy strong {
    color: #162333;

    font-size: 10px;
}


.geds-lab-progress-meta {
    display: flex;
    align-items: center;

    gap: 12px;
}


.geds-lab-progress-meta > span {
    color: #8a929d;

    font-size: 8px;
    font-weight: 800;
}


.geds-lab-progress {
    width: 150px;
    height: 3px;

    overflow: hidden;

    border-radius: 999px;

    background: #e6e9ec;
}


.geds-lab-progress i {
    display: block;

    width: 0;
    height: 100%;

    border-radius: inherit;

    background:
        linear-gradient(
            90deg,
            #d3a54d,
            #0b5363
        );

    transition:
        width .45s ease;
}


/* ==========================================================
   BODY
   ========================================================== */

.geds-lab-body {
    display: grid;

    grid-template-columns:
        330px minmax(0,1fr);

    min-height: 570px;
}


/* ==========================================================
   MONITOR
   ========================================================== */

.geds-lab-monitor {
    position: relative;

    padding:
        27px 25px;

    overflow: hidden;

    color: #fff;

    background:
        linear-gradient(
            155deg,
            #082d3b,
            #061e2b
        );

    border-left:
        1px solid
        rgba(255,255,255,.05);
}


.geds-lab-monitor::after {
    content: '';

    position: absolute;
    inset: 0;

    opacity: .07;

    background-image:
        linear-gradient(
            rgba(255,255,255,.08) 1px,
            transparent 1px
        ),
        linear-gradient(
            90deg,
            rgba(255,255,255,.08) 1px,
            transparent 1px
        );

    background-size:
        26px 26px;

    pointer-events: none;
}


.geds-lab-monitor-head {
    position: relative;
    z-index: 3;

    display: flex;
    align-items: center;
    justify-content: space-between;
}


.geds-lab-monitor-head small {
    color:
        rgba(255,255,255,.42);

    font-size: 7px;

    letter-spacing: .13em;
}


.geds-lab-monitor-head span {
    padding:
        5px 8px;

    border:
        1px solid
        rgba(72,218,150,.18);

    border-radius: 999px;

    color: #48da96;

    background:
        rgba(72,218,150,.06);

    font-size: 6px;
    font-weight: 900;
}


/* ==========================================================
   RADAR
   ========================================================== */

.geds-lab-radar {
    position: relative;

    width: 205px;
    height: 205px;

    margin:
        30px auto;

    overflow: hidden;

    border:
        1px solid
        rgba(255,255,255,.07);

    border-radius: 50%;

    background:
        radial-gradient(
            circle,
            rgba(44,190,151,.06),
            transparent 67%
        );
}


.geds-lab-radar-ring {
    position: absolute;

    top: 50%;
    left: 50%;

    transform:
        translate(-50%,-50%);

    border:
        1px solid
        rgba(255,255,255,.07);

    border-radius: 50%;
}


.geds-lab-radar-ring.ring-1 {
    width: 60px;
    height: 60px;
}


.geds-lab-radar-ring.ring-2 {
    width: 120px;
    height: 120px;
}


.geds-lab-radar-ring.ring-3 {
    width: 175px;
    height: 175px;
}


.geds-lab-radar-line {
    position: absolute;

    top: 50%;
    left: 50%;

    background:
        rgba(255,255,255,.05);
}


.geds-lab-radar-line.line-x {
    width: 100%;
    height: 1px;

    transform:
        translate(-50%,-50%);
}


.geds-lab-radar-line.line-y {
    width: 1px;
    height: 100%;

    transform:
        translate(-50%,-50%);
}


.geds-lab-radar-scan {
    position: absolute;

    top: 50%;
    left: 50%;

    width: 50%;
    height: 50%;

    transform-origin:
        0 0;

    background:
        conic-gradient(
            from 0deg,
            rgba(65,216,150,.22),
            transparent 35%
        );

    animation:
        gedsLabRadar
        3.4s linear infinite;
}


@keyframes gedsLabRadar {

    to {
        transform:
            rotate(360deg);
    }

}


.geds-lab-radar-core {
    position: absolute;

    top: 50%;
    left: 50%;

    width: 48px;
    height: 48px;

    transform:
        translate(-50%,-50%);

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

    border:
        1px solid
        rgba(211,165,77,.35);

    border-radius: 50%;

    color: #e0b45d;

    background: #082a36;

    box-shadow:
        0 0 0 8px
        rgba(211,165,77,.04);

    font-size: 12px;
    font-weight: 900;

    z-index: 4;
}


/* ==========================================================
   SIGNALS
   ========================================================== */

.geds-lab-signals {
    position: relative;
    z-index: 3;
}


.geds-lab-signals > div {
    min-height: 47px;

    padding:
        10px 0;

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

    gap: 12px;

    border-bottom:
        1px solid
        rgba(255,255,255,.07);
}


.geds-lab-signals span {
    color:
        rgba(255,255,255,.37);

    font-size: 7px;
}


.geds-lab-signals strong {
    color:
        rgba(255,255,255,.70);

    font-size: 8px;

    transition:
        color .25s ease;
}


.geds-lab-signals > div.captured strong {
    color: #4cde99;
}


.geds-lab-signals > div.captured {
    animation:
        gedsLabCapture
        .45s ease;
}


@keyframes gedsLabCapture {

    50% {
        background:
            rgba(76,222,153,.05);
    }

}


.geds-lab-monitor-footer {
    position: relative;
    z-index: 3;

    margin-top: 22px;

    color:
        rgba(255,255,255,.32);

    font-size: 7px;
    line-height: 1.8;
}


.geds-lab-monitor-footer span {
    display: inline-block;

    width: 20px;
    height: 1px;

    margin-left: 6px;

    vertical-align: middle;

    background: #d3a54d;
}


/* ==========================================================
   WORKSPACE
   ========================================================== */

.geds-lab-workspace {
    position: relative;

    padding:
        55px 55px 45px;

    background:
        linear-gradient(
            145deg,
            #fff,
            #fafbfc
        );
}


.geds-lab-question[hidden],
.geds-lab-analysis[hidden],
.geds-lab-result[hidden] {
    display: none !important;
}


.geds-lab-question.active {
    animation:
        gedsLabQuestionIn
        .42s ease both;
}


@keyframes gedsLabQuestionIn {

    from {
        opacity: 0;
        transform:
            translateY(8px);
    }

    to {
        opacity: 1;
        transform:
            translateY(0);
    }

}


.geds-lab-question-number {
    margin-bottom: 17px;

    color: #d0a24a;

    font-size: 9px;
    font-weight: 900;

    letter-spacing: .12em;
}


.geds-lab-question-copy small {
    display: block;

    margin-bottom: 7px;

    color: #a27931;

    font-size: 8px;
    font-weight: 900;
}


.geds-lab-question-copy h3 {
    margin: 0;

    color: #0b1b31;

    font-size:
        clamp(
            27px,
            3vw,
            39px
        );

    font-weight: 900;

    line-height: 1.3;
}


.geds-lab-question-copy p {
    margin:
        10px 0 0;

    color: #77808b;

    font-size: 10px;

    line-height: 1.8;
}


/* ==========================================================
   OPTIONS
   ========================================================== */

.geds-lab-options {
    display: grid;

    gap: 12px;

    margin-top: 35px;
}


.geds-lab-options-4 {
    grid-template-columns:
        repeat(2,minmax(0,1fr));
}


.geds-lab-options-2 {
    grid-template-columns:
        repeat(2,minmax(0,1fr));
}


.geds-lab-options button {
    position: relative;

    min-height: 115px;

    padding:
        19px 18px;

    text-align: right;

    border:
        1px solid #e2e6e9;

    border-radius: 16px;

    background: #fff;

    color: inherit;

    font-family: inherit;

    cursor: pointer;

    transition:
        transform .25s ease,
        border-color .25s ease,
        box-shadow .25s ease,
        background .25s ease;
}


.geds-lab-options button:hover {
    transform:
        translateY(-3px);

    border-color:
        rgba(196,148,59,.55);

    background:
        #fffdf9;

    box-shadow:
        0 14px 30px
        rgba(20,36,48,.07);
}


.geds-lab-options button > i {
    display: block;

    margin-bottom: 12px;

    color: #c7973f;

    font-size: 7px;
    font-style: normal;
    font-weight: 900;
}


.geds-lab-options button > strong {
    display: block;

    margin-bottom: 5px;

    color: #122238;

    font-size: 12px;
    font-weight: 900;
}


.geds-lab-options button > span:not(.geds-lab-option-mark) {
    color: #818995;

    font-size: 8px;

    line-height: 1.7;
}


.geds-lab-option-mark {
    width: 31px;
    height: 31px;

    margin-bottom: 13px;

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

    border:
        1px solid #e2e5e8;

    border-radius: 50%;

    color: #b68734;

    background: #fafafa;

    font-size: 10px;
    font-weight: 900;
}


/* ==========================================================
   ANALYSIS
   ========================================================== */

.geds-lab-analysis {
    min-height: 410px;

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

    gap: 30px;

    animation:
        gedsLabQuestionIn
        .4s ease both;
}


.geds-lab-analysis-visual {
    position: relative;
}


.geds-lab-analysis-ring {
    width: 115px;
    height: 115px;

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

    border:
        1px solid
        rgba(15,76,91,.15);

    border-radius: 50%;

    color: #0a5362;

    background:
        radial-gradient(
            circle,
            rgba(13,82,97,.07),
            transparent 65%
        );

    box-shadow:
        0 0 0 12px
        rgba(13,82,97,.025);

    font-size: 17px;
    font-weight: 900;
}


.geds-lab-analysis-ring::before {
    content: '';

    position: absolute;
    inset: -8px;

    border:
        2px solid transparent;

    border-top-color: #d2a34b;

    border-radius: 50%;

    animation:
        gedsLabSpin
        .85s linear infinite;
}


@keyframes gedsLabSpin {

    to {
        transform:
            rotate(360deg);
    }

}


.geds-lab-analysis-copy small {
    display: block;

    margin-bottom: 5px;

    color: #c28f34;

    font-size: 7px;
    font-weight: 900;
}


.geds-lab-analysis-copy h3 {
    margin: 0;

    color: #0c1c31;

    font-size: 30px;
    font-weight: 900;
}


.geds-lab-analysis-copy p {
    margin:
        8px 0 0;

    color: #7d8590;

    font-size: 9px;
}


/* ==========================================================
   RESULT
   ========================================================== */

.geds-lab-result {
    animation:
        gedsLabResultIn
        .55s
        cubic-bezier(.2,.8,.2,1)
        both;
}


@keyframes gedsLabResultIn {

    from {
        opacity: 0;
        transform:
            translateY(12px);
    }

    to {
        opacity: 1;
        transform:
            translateY(0);
    }

}


.geds-lab-result-kicker {
    display: flex;
    align-items: center;

    gap: 8px;

    margin-bottom: 28px;

    color: #27845b;

    font-size: 8px;
    font-weight: 900;
}


.geds-lab-result-kicker span {
    width: 25px;
    height: 25px;

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

    border-radius: 50%;

    background:
        rgba(49,189,121,.09);

    color: #2caa70;
}


.geds-lab-result-grid {
    display: grid;

    grid-template-columns:
        1.15fr .85fr;

    gap: 30px;
}


.geds-lab-result-main {
    padding-left: 30px;

    border-left:
        1px solid #e5e8eb;
}


.geds-lab-result-main small,
.geds-lab-result-route > small {
    display: block;

    margin-bottom: 8px;

    color: #8b929b;

    font-size: 7px;
}


.geds-lab-result-main h3 {
    max-width: 580px;

    margin: 0;

    color: #0b2033;

    font-size:
        clamp(
            29px,
            3.3vw,
            43px
        );

    font-weight: 900;

    line-height: 1.3;
}


.geds-lab-result-main p {
    max-width: 590px;

    margin:
        15px 0 0;

    color: #68717c;

    font-size: 10px;
    line-height: 2;
}


.geds-lab-result-route {
    padding: 20px;

    border:
        1px solid #e5e8ea;

    border-radius: 17px;

    background: #fafbfb;
}


.geds-lab-result-route > div {
    display: flex;
    flex-wrap: wrap;
    align-items: center;

    gap: 8px;
}


.geds-lab-result-route span {
    color: #34414e;

    font-size: 9px;
    font-weight: 800;
}


.geds-lab-result-route i {
    color: #c99a43;

    font-style: normal;
}


.geds-lab-result-route strong {
    color: #16805a;

    font-size: 10px;
    font-weight: 900;
}


/* ==========================================================
   RESULT ACTIONS
   ========================================================== */

.geds-lab-result-actions {
    margin-top: 35px;

    display: flex;
    align-items: center;

    gap: 10px;
}


.geds-lab-build-path {
    min-height: 48px;

    padding:
        0 20px;

    display: inline-flex;
    align-items: center;

    gap: 22px;

    border: 0;
    border-radius: 13px;

    color: #fff;

    background:
        linear-gradient(
            135deg,
            #0a5262,
            #073847
        );

    font-family: inherit;
    font-size: 10px;
    font-weight: 900;

    cursor: pointer;

    box-shadow:
        0 14px 35px
        rgba(7,62,78,.15);

    transition:
        transform .25s ease,
        box-shadow .25s ease;
}


.geds-lab-build-path:hover {
    transform:
        translateY(-2px);

    box-shadow:
        0 18px 40px
        rgba(7,62,78,.22);
}


.geds-lab-build-path i {
    color: #e0b45b;

    font-style: normal;
}


.geds-lab-restart {
    min-height: 48px;

    padding:
        0 16px;

    border:
        1px solid #e1e5e8;

    border-radius: 13px;

    color: #6d7580;

    background: #fff;

    font-family: inherit;
    font-size: 8px;
    font-weight: 800;

    cursor: pointer;
}


.geds-lab-result-note {
    margin-top: 22px;

    color: #9a9fa6;

    font-size: 7px;
}


/* ==========================================================
   MOBILE
   ========================================================== */

@media(max-width:850px) {

    .geds-msahem-lab {
        padding:
            75px 0 85px;
    }


    .geds-lab-header-grid {
        display: block;
    }


    .geds-lab-header-copy {
        margin-top: 25px;
    }


    .geds-lab-shell {
        border-radius: 21px;
    }


    .geds-lab-status {
        padding:
            14px 16px;

        display: block;
    }


    .geds-lab-progress-meta {
        margin-top: 12px;
    }


    .geds-lab-progress {
        flex: 1;

        width: auto;
    }


    .geds-lab-body {
        display: block;
    }


    .geds-lab-monitor {
        padding:
            20px 17px;
    }


    .geds-lab-radar {
        width: 145px;
        height: 145px;

        margin:
            22px auto;
    }


    .geds-lab-radar-ring.ring-1 {
        width: 45px;
        height: 45px;
    }


    .geds-lab-radar-ring.ring-2 {
        width: 85px;
        height: 85px;
    }


    .geds-lab-radar-ring.ring-3 {
        width: 125px;
        height: 125px;
    }


    .geds-lab-signals {
        display: grid;

        grid-template-columns:
            repeat(2,1fr);

        gap: 0 15px;
    }


    .geds-lab-monitor-footer {
        display: none;
    }


    .geds-lab-workspace {
        min-height: 500px;

        padding:
            34px 18px;
    }


    .geds-lab-options-4,
    .geds-lab-options-2 {
        grid-template-columns: 1fr;
    }


    .geds-lab-options button {
        min-height: 95px;
    }


    .geds-lab-analysis {
        min-height: 380px;

        flex-direction: column;

        text-align: center;
    }


    .geds-lab-result-grid {
        display: block;
    }


    .geds-lab-result-main {
        padding-left: 0;

        border-left: 0;
    }


    .geds-lab-result-route {
        margin-top: 25px;
    }


    .geds-lab-result-actions {
        display: block;
    }


    .geds-lab-build-path {
        width: 100%;

        justify-content:
            space-between;
    }


    .geds-lab-restart {
        width: 100%;

        margin-top: 8px;
    }

}


/* ==========================================================
   REDUCED MOTION
   ========================================================== */

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

    .geds-lab-live-dot,
    .geds-lab-radar-scan,
    .geds-lab-analysis-ring::before {
        animation: none !important;
    }

}


/* =========================================================
   META-GEDS — EXHIBITION QR EXPERIENCE
   ========================================================= */

.geds-qr-section {
    position: relative;
    overflow: hidden;
    padding: 110px 24px;
    background:
        radial-gradient(circle at 78% 45%, rgba(197, 155, 74, .13), transparent 32%),
        radial-gradient(circle at 18% 15%, rgba(255, 255, 255, .05), transparent 25%),
        #090b10;
    color: #fff;
}

.geds-qr-container {
    position: relative;
    z-index: 2;
    max-width: 1180px;
    margin: 0 auto;
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(340px, .78fr);
    gap: 90px;
    align-items: center;
}

.geds-qr-copy {
    min-width: 0;
}

.geds-qr-kicker {
    display: inline-flex;
    align-items: center;
    gap: 9px;
    margin-bottom: 22px;
    font-size: 14px;
    font-weight: 800;
    color: #d5b36c;
    letter-spacing: .03em;
}

.geds-qr-live-dot {
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background: #d5b36c;
    box-shadow: 0 0 0 7px rgba(213, 179, 108, .10);
}

.geds-qr-copy h2 {
    margin: 0;
    max-width: 700px;
    font-size: clamp(42px, 5.4vw, 78px);
    line-height: 1.05;
    font-weight: 900;
    letter-spacing: -.04em;
}

.geds-qr-copy h2 span {
    display: block;
    color: #d5b36c;
}

.geds-qr-description {
    max-width: 610px;
    margin: 28px 0 0;
    color: rgba(255,255,255,.70);
    font-size: 19px;
    line-height: 1.9;
}

.geds-qr-steps {
    display: flex;
    align-items: center;
    gap: 17px;
    margin-top: 38px;
    flex-wrap: wrap;
}

.geds-qr-step {
    display: flex;
    align-items: center;
    gap: 9px;
}

.geds-qr-step strong {
    display: grid;
    place-items: center;
    width: 33px;
    height: 33px;
    border: 1px solid rgba(213,179,108,.35);
    border-radius: 50%;
    color: #d5b36c;
    font-size: 11px;
}

.geds-qr-step span {
    font-size: 15px;
    font-weight: 800;
}

.geds-qr-step-arrow {
    color: rgba(255,255,255,.25);
}

.geds-qr-no-app {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    margin-top: 34px;
    padding: 11px 16px;
    border: 1px solid rgba(255,255,255,.10);
    border-radius: 999px;
    background: rgba(255,255,255,.04);
    color: rgba(255,255,255,.70);
    font-size: 13px;
}

.geds-qr-no-app span {
    color: #d5b36c;
    font-weight: 900;
}


/* QR visual */

.geds-qr-visual {
    position: relative;
    display: flex;
    flex-direction: column;
    align-items: center;
}

.geds-qr-phone-hint {
    margin-bottom: 15px;
    color: rgba(255,255,255,.48);
    font-size: 12px;
    font-weight: 700;
}

.geds-qr-card {
    position: relative;
    width: min(100%, 390px);
    padding: 20px;
    border-radius: 34px;
    background: #fff;
    box-shadow:
        0 30px 90px rgba(0,0,0,.45),
        0 0 0 1px rgba(213,179,108,.15);
}

.geds-qr-code {
    position: relative;
    overflow: hidden;
    border-radius: 20px;
    background: #fff;
}

.geds-qr-code img {
    display: block;
    width: 100%;
    height: auto;
}

.geds-qr-scan-line {
    position: absolute;
    left: 8%;
    right: 8%;
    top: 8%;
    height: 2px;
    background: linear-gradient(
        90deg,
        transparent,
        #c49b4a,
        transparent
    );
    box-shadow: 0 0 16px rgba(196,155,74,.85);
    animation: gedsQrScan 3.2s ease-in-out infinite;
    pointer-events: none;
}

@keyframes gedsQrScan {
    0%, 100% {
        top: 8%;
        opacity: .35;
    }

    50% {
        top: 90%;
        opacity: 1;
    }
}

.geds-qr-corner {
    position: absolute;
    width: 38px;
    height: 38px;
    z-index: 4;
    pointer-events: none;
}

.geds-qr-corner.corner-1 {
    top: 8px;
    right: 8px;
    border-top: 3px solid #d5b36c;
    border-right: 3px solid #d5b36c;
    border-radius: 0 18px 0 0;
}

.geds-qr-corner.corner-2 {
    top: 8px;
    left: 8px;
    border-top: 3px solid #d5b36c;
    border-left: 3px solid #d5b36c;
    border-radius: 18px 0 0 0;
}

.geds-qr-corner.corner-3 {
    bottom: 8px;
    right: 8px;
    border-bottom: 3px solid #d5b36c;
    border-right: 3px solid #d5b36c;
    border-radius: 0 0 18px 0;
}

.geds-qr-corner.corner-4 {
    bottom: 8px;
    left: 8px;
    border-bottom: 3px solid #d5b36c;
    border-left: 3px solid #d5b36c;
    border-radius: 0 0 0 18px;
}

.geds-qr-url {
    margin-top: 22px;
    color: rgba(255,255,255,.80);
    font-size: 14px;
    font-weight: 700;
    letter-spacing: .02em;
}

.geds-qr-scan-label {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 12px;
    margin-top: 13px;
    color: #d5b36c;
    font-size: 13px;
    font-weight: 800;
}

.geds-qr-scan-label span {
    width: 25px;
    height: 1px;
    background: rgba(213,179,108,.35);
}

.geds-qr-glow {
    position: absolute;
    border-radius: 50%;
    filter: blur(90px);
    pointer-events: none;
}

.geds-qr-glow-one {
    width: 320px;
    height: 320px;
    right: 3%;
    top: 28%;
    background: rgba(197,155,74,.08);
}

.geds-qr-glow-two {
    width: 260px;
    height: 260px;
    left: 5%;
    bottom: 0;
    background: rgba(255,255,255,.025);
}


/* Mobile */

@media (max-width: 800px) {

    .geds-qr-section {
        padding: 78px 20px;
    }

    .geds-qr-container {
        grid-template-columns: 1fr;
        gap: 55px;
        text-align: center;
    }

    .geds-qr-copy h2 {
        font-size: clamp(40px, 13vw, 62px);
        margin-inline: auto;
    }

    .geds-qr-description {
        margin-inline: auto;
        font-size: 16px;
    }

    .geds-qr-steps {
        justify-content: center;
        gap: 12px;
    }

    .geds-qr-no-app {
        margin-top: 28px;
    }

    .geds-qr-card {
        width: min(88vw, 350px);
        padding: 17px;
        border-radius: 29px;
    }

    .geds-qr-url {
        font-size: 12px;
    }

}

@media (prefers-reduced-motion: reduce) {
    .geds-qr-scan-line {
        animation: none;
        top: 50%;
    }
}
