/* ==========================================================================
   Synmathisi — conversion landing pages
   Loaded only on /gia-goneis, /gia-kathigites, /gia-frontistiria
   ========================================================================== */

.lp { --accent:var(--brand); --accent-soft:var(--brand-50); --accent-line:var(--brand-100); --accent-ink:var(--brand-700); }
.lp--parent  { --accent:var(--brand);   --accent-soft:var(--brand-50); --accent-line:var(--brand-100); --accent-ink:var(--brand-700); }
.lp--teacher { --accent:var(--teal-700);--accent-soft:var(--teal-50);  --accent-line:var(--teal-100);  --accent-ink:var(--teal-800); }
.lp--centre  { --accent:var(--gold-700);--accent-soft:var(--gold-50);  --accent-line:var(--gold-100);  --accent-ink:var(--gold-800); }

/* ---------------------------------------------------------------- header */
.lp-bar { position:sticky; top:0; z-index:60; background:#fff; border-bottom:1px solid var(--line); }
.lp-bar__inner { display:flex; align-items:center; gap:.6rem; height:60px; flex-wrap:nowrap; min-width:0; }
.lp-bar__inner .logo { flex:0 1 auto; min-width:0; overflow:hidden; }
.lp-bar__cta { margin-inline-start:auto; display:flex; align-items:center; gap:.4rem; flex:0 0 auto; }
/* On small screens the sticky bottom bar carries the CTA, so the header stays clean. */
@media (max-width:760px){ .lp-bar__cta .btn--outline { display:none; } }
@media (max-width:560px){ .lp-bar__cta .btn--gold { display:none; } }
@media (min-width:761px){ .lp-bar__inner { gap:1rem; } .lp-bar__cta { gap:.5rem; } }

/* ---------------------------------------------------------------- hero */
.lp-hero { background:var(--brand-800); color:#fff; position:relative; overflow:hidden; isolation:isolate; }
.lp-hero__media { position:absolute; inset:0; z-index:-2; }
.lp-hero__media img { width:100%; height:100%; object-fit:cover; object-position:88% 40%; }
@media (min-width:900px){ .lp-hero__media img { object-position:96% 38%; } }
/* Dark wash: the photo reads as texture behind white type, never competes with it. */
.lp-hero::after {
  content:""; position:absolute; inset:0; z-index:-1; pointer-events:none;
  background:
    radial-gradient(1100px 480px at 78% -10%, rgba(22,160,133,.20), transparent 62%),
    linear-gradient(180deg, rgba(6,33,60,.93) 0%, rgba(6,33,60,.88) 55%, rgba(6,33,60,.72) 100%);
}
@media (min-width:900px){
  .lp-hero::after {
    background:
      radial-gradient(1000px 460px at 82% -10%, rgba(22,160,133,.20), transparent 62%),
      linear-gradient(95deg, rgba(6,33,60,.97) 0%, rgba(6,33,60,.93) 38%, rgba(6,33,60,.74) 58%, rgba(6,33,60,.50) 78%, rgba(6,33,60,.42) 100%);
  }
}
.lp-hero__inner { position:relative; z-index:1; padding-block:2.75rem 3rem; display:grid; gap:2rem; grid-template-columns:minmax(0,1fr); }
@media (min-width:980px){ .lp-hero__inner { grid-template-columns:minmax(0,1.08fr) minmax(0,.92fr); gap:3rem; padding-block:4rem 4.5rem; align-items:center; } }
.lp-hero h1 { color:#fff; font-size:clamp(1.85rem, 1.15rem + 2.9vw, 3.1rem); line-height:1.12; letter-spacing:-.028em; margin-bottom:.85rem; }
.lp-hero p.lead { color:#C6D6E6; font-size:clamp(1rem, .95rem + .35vw, 1.19rem); max-width:56ch; }
.lp-kicker {
  display:inline-flex; align-items:center; gap:.45rem; padding:.32rem .75rem; margin-bottom:1.1rem;
  background:rgba(255,255,255,.1); border:1px solid rgba(255,255,255,.2); border-radius:100px;
  font-size:.75rem; font-weight:650; letter-spacing:.07em; text-transform:uppercase; color:#9FE0D0;
}
.lp-hero__cta { display:flex; gap:.7rem; flex-wrap:wrap; margin-top:1.6rem; }
.lp-hero__note { margin-top:1rem; font-size:.8125rem; color:#93AABF; }
.lp-hero__points { list-style:none; padding:0; margin:1.6rem 0 0; display:grid; gap:.55rem; }
.lp-hero__points li { display:flex; gap:.6rem; align-items:flex-start; color:#D4E1EC; font-size:.9375rem; }
.lp-hero__points li::before {
  content:""; width:18px; height:18px; margin-top:.2rem; flex:0 0 auto; border-radius:100px; background:rgba(22,160,133,.25);
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='18' height='18' viewBox='0 0 18 18'%3E%3Cpath fill='none' stroke='%235DCAA5' stroke-width='2.1' stroke-linecap='round' stroke-linejoin='round' d='m5 9.2 2.6 2.6 5.3-5.6'/%3E%3C/svg%3E");
}

/* Hero side panel — glass over the photograph, so the people stay visible. */
.lp-panel {
  background:rgba(10,38,66,.42);
  backdrop-filter:blur(16px) saturate(150%);
  -webkit-backdrop-filter:blur(16px) saturate(150%);
  border:1px solid rgba(255,255,255,.18);
  border-radius:16px; padding:1.4rem;
  box-shadow:0 18px 46px rgba(3,18,34,.34);
}
.lp-panel h2 { font-size:1.0625rem; margin-bottom:.9rem; color:#fff; }
.lp-panel .lp-checks li { color:#DCE7F0; }
.lp-panel .lp-checks li::before {
  background:rgba(93,202,165,.22);
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='17' height='17' viewBox='0 0 17 17'%3E%3Cpath fill='none' stroke='%235DCAA5' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round' d='m4.6 8.7 2.5 2.5 5-5.3'/%3E%3C/svg%3E");
}
.lp-panel .lp-mini { color:#9FB6CA; }
/* Fallback for browsers without backdrop-filter */
@supports not (backdrop-filter: blur(1px)) {
  .lp-panel { background:rgba(8,30,53,.86); }
}

/* ---------------------------------------------------------------- buttons */
.btn--gold { background:var(--gold); color:#3F2C02; border-color:var(--gold); font-weight:700; }
.btn--gold:hover { background:#DE9E12; border-color:#DE9E12; }
.btn--teal { background:var(--teal); color:#fff; }
.btn--teal:hover { background:var(--teal-700); }
.btn--on-dark { background:transparent; color:#fff; border-color:rgba(255,255,255,.4); }
.btn--on-dark:hover { background:rgba(255,255,255,.12); border-color:rgba(255,255,255,.7); }

/* ---------------------------------------------------------------- sections */
.lp-sec { padding-block:2.75rem; }
@media (min-width:768px){ .lp-sec { padding-block:4rem; } }
.lp-sec--alt { background:var(--bg-2); }
.lp-sec--soft { background:var(--accent-soft); }
.lp-sec__head { max-width:60ch; margin-bottom:1.85rem; }
.lp-sec__head--center { margin-inline:auto; text-align:center; }
.lp-eyebrow { font-size:.75rem; font-weight:700; letter-spacing:.1em; text-transform:uppercase; color:var(--accent); margin-bottom:.55rem; }
.lp-sec h2 { font-size:clamp(1.4rem, 1.15rem + 1.25vw, 2.05rem); letter-spacing:-.02em; margin-bottom:.6rem; }
.lp-sec__head p { color:var(--ink-600); font-size:1.0625rem; margin:0; }

/* ---------------------------------------------------------------- cards */
.lp-cards { display:grid; gap:1rem; grid-template-columns:minmax(0,1fr); }
@media (min-width:640px){ .lp-cards--2 { grid-template-columns:repeat(2,minmax(0,1fr)); } .lp-cards--3 { grid-template-columns:repeat(2,minmax(0,1fr)); } .lp-cards--4 { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media (min-width:960px){ .lp-cards--3 { grid-template-columns:repeat(3,minmax(0,1fr)); } .lp-cards--4 { grid-template-columns:repeat(4,minmax(0,1fr)); } }
.lp-card { background:#fff; border:1px solid var(--line); border-radius:12px; padding:1.25rem; }
.lp-card--flat { background:var(--bg-2); border-color:transparent; }
.lp-card h3 { font-size:1.0625rem; margin-bottom:.4rem; }
.lp-card p { color:var(--ink-600); font-size:.9375rem; margin:0; }
.lp-ico {
  width:40px; height:40px; border-radius:10px; display:grid; place-items:center; margin-bottom:.85rem;
  background:var(--accent-soft); color:var(--accent);
}
.lp-ico svg { width:21px; height:21px; }

/* numbered tiers */
.lp-tier { position:relative; background:#fff; border:1px solid var(--line); border-radius:12px; padding:1.25rem 1.25rem 1.25rem 3.4rem; }
.lp-tier__n {
  position:absolute; inset-inline-start:1.1rem; top:1.2rem; width:1.85rem; height:1.85rem; border-radius:8px;
  background:var(--accent); color:#fff; display:grid; place-items:center; font-weight:700; font-size:.875rem;
}
.lp-tier h3 { font-size:1rem; margin-bottom:.3rem; }
.lp-tier p { font-size:.9375rem; color:var(--ink-600); margin:0; }
.lp-tier__tag { display:inline-block; margin-top:.6rem; font-size:.75rem; font-weight:650; color:var(--accent-ink); background:var(--accent-soft); padding:.2rem .55rem; border-radius:100px; }

/* ---------------------------------------------------------------- group buying scale */
.lp-scale { display:grid; gap:.9rem; grid-template-columns:minmax(0,1fr); }
@media (min-width:768px){ .lp-scale { grid-template-columns:repeat(3,minmax(0,1fr)); align-items:end; } }
.lp-scale__item { background:#fff; border:1px solid var(--line); border-radius:12px; padding:1.15rem; text-align:center; }
.lp-scale__item--lg { border-color:var(--gold); border-width:2px; }
.lp-scale__bar { height:8px; border-radius:100px; background:var(--gold-100); margin-bottom:.9rem; overflow:hidden; }
.lp-scale__bar span { display:block; height:100%; background:var(--gold); border-radius:100px; }
.lp-scale__n { font-size:2rem; font-weight:750; color:var(--ink-900); line-height:1; letter-spacing:-.03em; }
.lp-scale__lbl { font-size:.8125rem; color:var(--ink-500); margin-top:.25rem; }
.lp-scale__txt { font-size:.9375rem; color:var(--ink-700); margin-top:.7rem; }
.lp-shout {
  margin-top:1.5rem; text-align:center; font-size:clamp(1.1rem, .95rem + .8vw, 1.55rem);
  font-weight:700; color:var(--ink-900); letter-spacing:-.02em; line-height:1.35;
}
.lp-shout em { font-style:normal; color:var(--gold-700); }

/* ---------------------------------------------------------------- before / after */
.lp-vs { display:grid; gap:1rem; grid-template-columns:minmax(0,1fr); align-items:stretch; }
@media (min-width:820px){ .lp-vs { grid-template-columns:minmax(0,1fr) auto minmax(0,1fr); align-items:center; } }
.lp-vs__col { border:1px solid var(--line); border-radius:12px; padding:1.3rem; background:#fff; }
.lp-vs__col--now { background:var(--bg-2); border-style:dashed; }
.lp-vs__col--new { border-color:var(--accent); }
.lp-vs__tag { font-size:.75rem; font-weight:700; letter-spacing:.09em; text-transform:uppercase; margin-bottom:.6rem; color:var(--ink-400); }
.lp-vs__col--new .lp-vs__tag { color:var(--accent); }
.lp-vs__big { font-size:1.15rem; font-weight:650; color:var(--ink-900); margin-bottom:.45rem; }
.lp-vs__col p { font-size:.9375rem; color:var(--ink-600); margin:0; }
.lp-vs__arrow { display:grid; place-items:center; color:var(--ink-300); }
.lp-vs__arrow svg { width:28px; height:28px; }
@media (max-width:819px){ .lp-vs__arrow { transform:rotate(90deg); } }

/* ---------------------------------------------------------------- quote / statement */
.lp-statement {
  background:var(--brand-800); color:#fff; border-radius:16px; padding:2rem 1.5rem; text-align:center;
}
@media (min-width:768px){ .lp-statement { padding:2.75rem 3rem; } }
.lp-statement p { font-size:clamp(1.15rem, 1rem + 1vw, 1.7rem); font-weight:650; line-height:1.4; letter-spacing:-.02em; margin:0 auto; max-width:34ch; color:#fff; }
.lp-statement small { display:block; margin-top:1rem; color:#9FB6CA; font-size:.9375rem; font-weight:400; max-width:52ch; margin-inline:auto; line-height:1.6; }

/* ---------------------------------------------------------------- founding offer */
.lp-founding { border:2px solid var(--gold); border-radius:16px; background:var(--gold-50); padding:1.5rem; }
@media (min-width:768px){ .lp-founding { padding:2rem 2.25rem; } }
.lp-founding__badge {
  display:inline-block; background:var(--gold); color:#3F2C02; font-size:.75rem; font-weight:750;
  letter-spacing:.07em; text-transform:uppercase; padding:.28rem .7rem; border-radius:100px; margin-bottom:.9rem;
}
.lp-founding h2 { margin-bottom:.5rem; }
.lp-founding ul { list-style:none; padding:0; margin:1.1rem 0 0; display:grid; gap:.6rem; }
@media (min-width:768px){ .lp-founding ul { grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:.6rem 1.5rem; } }
.lp-founding li { display:flex; gap:.6rem; align-items:flex-start; font-size:.9375rem; color:var(--ink-700); }
.lp-founding li::before {
  content:""; width:18px; height:18px; margin-top:.2rem; flex:0 0 auto; border-radius:100px; background:#fff;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='18' height='18' viewBox='0 0 18 18'%3E%3Cpath fill='none' stroke='%23A9750B' stroke-width='2.1' stroke-linecap='round' stroke-linejoin='round' d='m5 9.2 2.6 2.6 5.3-5.6'/%3E%3C/svg%3E");
}

/* ---------------------------------------------------------------- omadikes agores strip */
.lp-oa { background:var(--ink-900); color:#C3D2DE; border-radius:14px; padding:1.4rem 1.5rem; }
@media (min-width:768px){ .lp-oa { display:flex; align-items:center; gap:2rem; padding:1.6rem 2rem; } }
.lp-oa h3 { color:#fff; font-size:1.0625rem; margin-bottom:.35rem; }
.lp-oa p { margin:0; font-size:.9375rem; }
.lp-oa a { color:#5DCAA5; font-weight:650; white-space:nowrap; }
.lp-oa__cta { margin-top:.9rem; }
@media (min-width:768px){ .lp-oa__cta { margin-top:0; margin-inline-start:auto; } }

/* ---------------------------------------------------------------- form */
.lp-form { background:#fff; border:1px solid var(--line); border-radius:16px; padding:1.4rem; }
@media (min-width:768px){ .lp-form { padding:2rem; } }
.lp-form__head { margin-bottom:1.4rem; }
.lp-form__head h2 { margin-bottom:.4rem; }
.lp-form__head p { color:var(--ink-600); margin:0; font-size:.9375rem; }
.lp-hp { position:absolute; left:-9999px; width:1px; height:1px; overflow:hidden; }
.lp-form .form-actions { padding-top:1rem; border-top:1px solid var(--line-2); margin-top:.5rem; }
.lp-trust { display:flex; flex-wrap:wrap; gap:1rem 1.5rem; margin-top:1.1rem; font-size:.8125rem; color:var(--ink-500); }
.lp-trust span { display:flex; align-items:center; gap:.4rem; }
.lp-trust svg { width:15px; height:15px; color:var(--teal-700); flex:0 0 auto; }

/* thank-you banner */
.lp-thanks { background:var(--teal-50); border:1px solid var(--teal-100); border-radius:12px; padding:1.25rem 1.4rem; }
.lp-thanks h3 { color:var(--teal-800); margin-bottom:.3rem; font-size:1.0625rem; }
.lp-thanks p { color:var(--ink-700); margin:0; font-size:.9375rem; }

/* ---------------------------------------------------------------- faq */
.lp-faq { border:1px solid var(--line); border-radius:12px; background:#fff; overflow:hidden; }
.lp-faq + .lp-faq { margin-top:.6rem; }
.lp-faq > summary { padding:1rem 1.15rem; cursor:pointer; font-weight:650; color:var(--ink-900); list-style:none; display:flex; gap:1rem; align-items:center; font-size:.9375rem; }
.lp-faq > summary::-webkit-details-marker { display:none; }
.lp-faq > summary::after { content:"+"; margin-inline-start:auto; color:var(--ink-400); font-weight:400; font-size:1.3rem; line-height:1; }
.lp-faq[open] > summary::after { content:"−"; }
.lp-faq__body { padding:0 1.15rem 1.15rem; color:var(--ink-600); font-size:.9375rem; line-height:1.7; }

/* ---------------------------------------------------------------- sticky mobile cta */
.lp-sticky {
  position:sticky; bottom:0; z-index:55; background:rgba(255,255,255,.97); backdrop-filter:blur(8px);
  border-top:1px solid var(--line); padding:.65rem 1rem; display:flex; gap:.7rem; align-items:center;
}
@media (min-width:900px){ .lp-sticky { display:none; } }
.lp-sticky__txt { font-size:.8125rem; color:var(--ink-600); line-height:1.35; min-width:0; overflow:hidden; }
.lp-sticky .btn { margin-inline-start:auto; flex:0 0 auto; }

/* ---------------------------------------------------------------- misc */
.lp-stats { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:.75rem; }
.lp-stat { background:rgba(255,255,255,.08); border:1px solid rgba(255,255,255,.14); border-radius:10px; padding:.85rem .75rem; text-align:center; }
.lp-stat__n { font-size:1.5rem; font-weight:750; color:#fff; line-height:1; letter-spacing:-.02em; }
.lp-stat__l { font-size:.75rem; color:#9FB6CA; margin-top:.3rem; }
.lp-mini { font-size:.8125rem; color:var(--ink-500); }
.lp-checks { list-style:none; padding:0; margin:0; display:grid; gap:.5rem; }
.lp-checks li { display:flex; gap:.55rem; align-items:flex-start; font-size:.9375rem; color:var(--ink-700); }
.lp-checks li::before {
  content:""; width:17px; height:17px; margin-top:.22rem; flex:0 0 auto; border-radius:100px; background:var(--teal-50);
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='17' height='17' viewBox='0 0 17 17'%3E%3Cpath fill='none' stroke='%230E7A64' stroke-width='2.1' stroke-linecap='round' stroke-linejoin='round' d='m4.6 8.7 2.5 2.5 5-5.3'/%3E%3C/svg%3E");
}
.lp-cost { display:grid; gap:.55rem; }
.lp-cost__row { display:flex; align-items:center; gap:.75rem; font-size:.9375rem; }
.lp-cost__row span:first-child { flex:1; color:var(--ink-700); }
.lp-cost__bar { width:44%; height:9px; border-radius:100px; background:var(--bg-3); overflow:hidden; flex:0 0 44%; }
.lp-cost__bar i { display:block; height:100%; background:var(--brand-500); border-radius:100px; }
