:root{
  --gc-deep:#1a0033; --gc-magenta:#b600d5; --gc-glow:#ff48ff; --gc-text:#ffffff; --gc-subtle:rgba(255,255,255,.75);
  --gc-card:rgba(255,255,255,.06); --gc-stroke:rgba(255,255,255,.12);
  --radius-2xl:1.25rem; --shadow-soft:0 10px 30px rgba(0,0,0,.35); --space:12px; --accent:var(--gc-magenta);
  --hero-minh-desktop:420px; --hero-minh-mobile:360px; --hero-copy-minh-desktop:220px; --hero-copy-minh-mobile:200px;
  --hero-title-size:clamp(32px,5vw,56px); --hero-title-lh:1.03;
}
*{box-sizing:border-box}
html,body{height:100%}
html{scroll-behavior:smooth}
body{
  margin:0; font-family:Inter, system-ui, -apple-system, Segoe UI, Roboto, Ubuntu, Cantarell, Noto Sans, Helvetica, Arial, "Apple Color Emoji","Segoe UI Emoji";
  color:var(--gc-text); -webkit-font-smoothing:antialiased; text-rendering:optimizeLegibility;
}
/* Georgian font */
:lang(ka) body{
  font-family:"Noto Sans Georgian", Inter, system-ui, -apple-system, Segoe UI, Roboto, Ubuntu, Cantarell, Noto Sans, Helvetica, Arial, "Apple Color Emoji","Segoe UI Emoji";
}

/* Background */
body.has-bg::before{
  content:""; position:fixed; inset:0; z-index:-2; background:linear-gradient(180deg,var(--gc-deep),var(--gc-magenta));
}
body.has-bg::after{
  content:""; position:fixed; z-index:-1; pointer-events:none; width:clamp(720px,55vw,1280px); height:clamp(420px,38vw,900px);
  right:-10vw; top:-12vh; background:radial-gradient(closest-side, rgba(255,72,255,.26), transparent 70%);
}
.wave:before{
  content:""; position:absolute; inset:0; pointer-events:none;
  background: repeating-linear-gradient(90deg,transparent 0 28px, rgba(255,255,255,.035) 28px 29px),
    url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 1200 200"><path d="M0,120 C150,60 300,180 450,110 C600,40 750,160 900,90 C1050,20 1200,120 1200,120" fill="none" stroke="white" stroke-opacity="0.22" stroke-width="2"/></svg>') center 14%/1200px 200px no-repeat;
  mask-image: radial-gradient(1100px 430px at 50% 4%, rgba(0,0,0,.75), transparent 70%);
  animation: float 8s ease-in-out infinite alternate;
}
@keyframes float{from{transform:translateY(0)} to{transform:translateY(8px)}}

.container{max-width:1200px; margin:0 auto; padding:24px}

/* Header */
header{display:grid; grid-template-columns:1fr auto auto; gap:12px; align-items:center; padding:18px 0}
.brand{display:flex; align-items:center; gap:12px; text-decoration:none; color:var(--gc-text)}
.brand img{width:40px; height:40px; border-radius:12px; filter:drop-shadow(0 0 18px rgba(255,72,255,.35))}
.brand .title{font-weight:800; letter-spacing:.2px; font-size:22px}
.actions{display:flex; gap:10px; align-items:center}

.btn{
  appearance:none; border:1px solid var(--gc-stroke); background:var(--gc-card); color:var(--gc-text);
  padding:12px 16px; border-radius:12px; font-weight:700; text-decoration:none; backdrop-filter:blur(6px);
  transition:.2s transform,.2s background;
}
.btn:hover{transform:translateY(-1px); background:rgba(255,255,255,.1)}
.btn.primary{background:linear-gradient(180deg,#ff7bff,#b600d5); border:none; box-shadow:0 14px 40px rgba(182,0,213,.35)}

.langs{display:flex; gap:6px; align-items:center; margin-left:8px}
.lang{
  padding:6px 9px; border-radius:999px; font-weight:800; font-size:12px; letter-spacing:.2px; color:var(--gc-text);
  text-decoration:none; border:1px solid var(--gc-stroke); background:rgba(255,255,255,.06); line-height:1;
}
.lang.active{background:rgba(255,255,255,.14)}
.lang:hover{background:rgba(255,255,255,.1)}

.chip{padding:8px 12px; border-radius:999px; border:1px solid var(--gc-stroke); background:rgba(255,255,255,.06); font-weight:600; margin-bottom:var(--space)}

.hero{min-height:var(--hero-minh-desktop); display:grid; grid-template-columns:1.1fr .9fr; gap:28px; align-items:center; padding:16px 0 14px}
.hero-copy{min-height:var(--hero-copy-minh-desktop)}
.hero h1{
  font-size:var(--hero-title-size); line-height:var(--hero-title-lh); margin:var(--space) 0 var(--space);
  text-shadow:0 0 32px rgba(255,72,255,.35); white-space:nowrap; overflow:hidden; text-overflow:ellipsis;
}
.hero p{margin:0 0 22px; font-size:clamp(16px, 2.2vw, 18px); color:var(--gc-subtle)}

.section{margin-top:30px}
.section + .section{margin-top:56px}
.section h2{font-size:clamp(22px,3vw,32px); margin:0 0 14px}

.grid{display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:16px}
@media (max-width: 1024px){.hero{grid-template-columns:1fr}.grid{grid-template-columns:repeat(2,1fr)}}
@media (max-width: 560px){.grid{grid-template-columns:1fr}}

.card{position:relative; isolation:isolate; padding:18px; border-radius:var(--radius-2xl); background:var(--gc-card); border:1px solid var(--gc-stroke); box-shadow:var(--shadow-soft); overflow:hidden}
.card:after{
  content:""; position:absolute; inset:auto -40% -40% auto; width:180px; height:180px;
  background:radial-gradient(circle at 30% 30%, var(--gc-glow), transparent 60%); opacity:.18; filter:blur(18px); z-index:-1
}
.card h3{margin:4px 0 2px; font-size:18px}
.card p{margin:0; color:var(--gc-subtle); font-size:14px}
.card .row{display:flex; align-items:center; justify-content:space-between; gap:10px}
.links{display:flex; gap:8px; margin-top:12px; flex-wrap:wrap}
.pill{font-size:13px; padding:8px 12px; border-radius:999px; background:rgba(255,255,255,.08); border:1px solid var(--gc-stroke); text-decoration:none; color:var(--gc-text)}
.pill:hover{background:rgba(255,255,255,.14)}

/* Country cards: bottom-centered buttons */
.card.country{display:flex; flex-direction:column; min-height:180px}
.card.country .links{margin-top:auto; justify-content:center}

.features{display:grid; grid-template-columns:repeat(4,1fr); gap:16px}
.feature{padding:18px; border-radius:16px; background:rgba(255,255,255,.05); border:1px solid var(--gc-stroke)}
.feature h3{margin:0 0 8px}

.steps{display:grid; grid-template-columns:repeat(3,1fr); gap:16px; counter-reset:step;}
.step{
  position:relative; padding:18px 18px 18px 54px; border-radius:16px; background:rgba(255,255,255,.05); border:1px solid var(--gc-stroke);
}
.step::before{
  counter-increment:step; content:counter(step); position:absolute; left:16px; top:18px; width:28px; height:28px; border-radius:999px;
  display:grid; place-items:center; font-weight:800; background:rgba(255,255,255,.12); border:1px solid var(--gc-stroke);
}

.muted{color:var(--gc-subtle)}
.social{display:flex; gap:10px; flex-wrap:wrap}
.social a{
  width:44px; height:44px; border-radius:999px; display:grid; place-items:center; background:rgba(255,255,255,.08);
  border:1px solid var(--gc-stroke); color:var(--gc-text); text-decoration:none;
}
.social a:hover{background:rgba(255,255,255,.14)}
.social svg{width:22px; height:22px; fill:#fff}

details{background:rgba(255,255,255,.05); border:1px solid var(--gc-stroke); border-radius:12px; padding:14px 16px}
details+details{margin-top:10px}
summary{cursor:pointer; font-weight:700}
summary::-webkit-details-marker{display:none}

footer{margin-top:36px; padding:20px 0 40px; display:flex; flex-direction:column; gap:10px; align-items:center; border-top:1px solid var(--gc-stroke)}
footer .muted{text-align:center}
.legal{display:flex; gap:16px; flex-wrap:wrap; justify-content:center; margin-top:8px}
.legal a{color:var(--gc-subtle); text-decoration:none; border-bottom:1px dotted rgba(255,255,255,.25)}
.legal a:hover{color:#fff; border-bottom-color:#fff}

/* Floating language flags (mobile) */
.lang-fab{
  position:fixed; right:.75rem; bottom:1rem; z-index:60; display:none; gap:.5rem; flex-wrap:wrap; max-width:calc(100vw - 1.5rem);
}
@media (max-width:767.98px){ .lang-fab{display:flex} .langs{display:none} }
.flag-btn{
  display:inline-flex; align-items:center; justify-content:center; width:44px; height:44px; border-radius:12px;
  border:1px solid #e9eaee; background:#fff; box-shadow:0 8px 24px rgba(0,0,0,.08); font-size:20px; cursor:pointer; user-select:none;
}
.flag-active{outline:2px solid var(--accent); outline-offset:2px}

/* RTL for Arabic */
html[dir="rtl"] body, html[dir="rtl"] .container {direction:rtl}
html[dir="rtl"] .hero {grid-template-columns:.9fr 1.1fr}
html[dir="rtl"] .step {padding:18px 54px 18px 18px}
html[dir="rtl"] .step::before {left:auto; right:16px}

/* GE (ka) tweaks */
:lang(ka) .hero h1{
  white-space:normal; overflow-wrap:anywhere; word-break:normal; hyphens:auto;
  font-size:clamp(24px, 6.2vw, 44px); line-height:1.12; letter-spacing:.1px;
}
:lang(ka) .hero p{font-size:clamp(15px, 2vw, 17px); line-height:1.45}

/* Responsive */
@media (max-width:900px){
  header{grid-template-columns:1fr auto; row-gap:10px}
  .actions{justify-self:end}
  .features{grid-template-columns:repeat(2,1fr)}
  .steps{grid-template-columns:1fr}
}
@media (max-width:600px){
  .wave:before{display:none}
  .container{padding:16px}
  .hero{min-height:var(--hero-minh-mobile); gap:18px; padding:14px 0 10px}
  .hero-copy{min-height:var(--hero-copy-minh-mobile)}
  .card{padding:14px}
  .btn{padding:11px 14px}
  .hero h1{white-space:normal; overflow-wrap:anywhere; font-size:clamp(22px, 7vw, 40px); line-height:1.12}
}

/* Modal */
.modal-backdrop{position:fixed; inset:0; background:rgba(0,0,0,.55); display:none; align-items:center; justify-content:center; z-index:70}
.modal{
  width:min(720px, 92vw); background:var(--gc-card); border:1px solid var(--gc-stroke); border-radius:20px;
  box-shadow:var(--shadow-soft); padding:16px; backdrop-filter:blur(6px);
}
.modal h3{margin:6px 0 12px}
.modal .grid{grid-template-columns:repeat(2,1fr)}
.modal .row{display:flex; gap:8px; align-items:center; justify-content:space-between}
.modal .radio{display:flex; align-items:center; gap:8px; padding:10px 12px; border-radius:12px; border:1px solid var(--gc-stroke); background:rgba(255,255,255,.06)}
.modal .selects{display:flex; gap:10px; flex-wrap:wrap}
.modal .selects button{border:1px solid var(--gc-stroke); background:rgba(255,255,255,.08); color:#fff; padding:8px 10px; border-radius:999px; cursor:pointer}
.modal .actions{display:flex; justify-content:flex-end; margin-top:12px}

/* === CURSOR FIX — всё кликабельное показывает «руку» === */
a[href], button, [role="button"],
.btn, .pill, .lang, .flag-btn, .social a,
.open-funnel, .modal .radio, .modal .selects button,
.card.country .links a {
  cursor: pointer !important;
}
.langs .lang { cursor: pointer !important; }
