:root {
  --ink: #0a1832;
  --navy: #07152d;
  --navy-2: #0c2348;
  --blue: #246bfd;
  --blue-bright: #5a91ff;
  --orange: #ff6b35;
  --paper: #f5f7fb;
  --white: #ffffff;
  --muted: #657087;
  --line: #dce2ed;
  --radius: 22px;
  --shadow: 0 30px 70px rgba(7, 21, 45, .14);
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; color: var(--ink); background: var(--white); font-family: "Manrope", system-ui, sans-serif; font-size: 16px; line-height: 1.65; -webkit-font-smoothing: antialiased; }
img { display: block; max-width: 100%; }
a { color: inherit; }
.shell { width: min(1160px, calc(100% - 40px)); margin-inline: auto; }
.section { padding: 110px 0; }
.skip-link { position: fixed; left: 14px; top: -60px; z-index: 100; background: white; padding: 10px 16px; border-radius: 8px; }
.skip-link:focus { top: 14px; }

.announcement { background: var(--blue); color: white; font-size: .88rem; }
.announcement__inner { min-height: 38px; display: flex; justify-content: center; align-items: center; gap: 12px; padding: 6px 20px; text-align: center; }
.announcement__divider { width: 1px; height: 15px; background: rgba(255,255,255,.42); }
.live-dot { width: 8px; height: 8px; border-radius: 50%; background: #8cffc4; box-shadow: 0 0 0 5px rgba(140,255,196,.14); }

.nav { height: 88px; display: flex; justify-content: space-between; align-items: center; }
.brand { display: inline-flex; align-items: center; color: var(--ink); text-decoration: none; line-height: 1; }
.brand > img { display: block; width: auto; height: 48px; }
.nav__cta { padding: 11px 18px; border: 1px solid var(--line); border-radius: 999px; font-weight: 700; font-size: .88rem; text-decoration: none; transition: .2s ease; }
.nav__cta:hover { border-color: var(--blue); color: var(--blue); }

.hero { position: relative; overflow: hidden; color: var(--ink); background: linear-gradient(180deg, #fff 0%, #f7f9fd 100%); border-top: 1px solid #edf0f5; }
.hero::before { content: "ΟΔΜΑ"; position: absolute; left: 50%; bottom: -16%; color: rgba(7,21,45,.025); font: 800 clamp(10rem, 22vw, 22rem)/1 "Manrope", sans-serif; letter-spacing: -.09em; transform: translateX(-50%); }
.hero__glow { position: absolute; left: 50%; top: -260px; width: 760px; height: 540px; border-radius: 50%; background: rgba(36,107,253,.10); filter: blur(110px); transform: translateX(-50%); }
.hero__inner { position: relative; min-height: 665px; display: grid; place-items: center; padding-top: 74px; padding-bottom: 82px; }
.hero__copy { width: min(940px, 100%); text-align: center; }
.eyebrow, .section-number { display: inline-block; font-size: .73rem; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }
.eyebrow { margin-bottom: 20px; color: var(--blue); }
.hero h1 { max-width: 940px; margin: 0 auto 18px; font: 600 clamp(2.4rem, 4.4vw, 4.35rem)/1.13 "Manrope", system-ui, sans-serif; letter-spacing: -.047em; text-wrap: balance; }
.hero h1 strong { color: var(--navy); font-weight: 800; }
.hero__underline { font-weight: 800; text-decoration: underline; text-decoration-color: var(--blue); text-decoration-thickness: .09em; text-underline-offset: .12em; }
.hero__underline--orange { text-decoration-color: var(--orange); }
.hero__lead { max-width: 720px; margin: 0 auto; color: var(--muted); font-size: 1.05rem; line-height: 1.7; }
.hero__showing { width: fit-content; display: flex; align-items: center; gap: 10px; margin: 26px auto 0; padding: 9px 14px; border: 1px solid #dce5f4; border-radius: 999px; background: rgba(255,255,255,.86); color: var(--muted); font-size: .78rem; box-shadow: 0 10px 28px rgba(7,21,45,.06); }
.hero__showing .live-dot { background: #20b66b; box-shadow: 0 0 0 5px rgba(32,182,107,.12); }
.hero__showing strong { color: var(--ink); }
.hero__actions { display: flex; align-items: center; justify-content: center; gap: 20px; margin-top: 22px; }
.button { min-height: 56px; display: inline-flex; align-items: center; justify-content: center; gap: 20px; padding: 0 24px; border-radius: 8px; font-weight: 800; text-decoration: none; transition: transform .2s ease, background .2s ease; }
.button:hover { transform: translateY(-2px); }
.button--primary { color: white; background: var(--orange); box-shadow: 0 14px 30px rgba(255,107,53,.25); }
.button--primary:hover { background: #f65d28; }
.microcopy { color: var(--muted); font-size: .82rem; }
.trust-line { display: flex; align-items: center; justify-content: center; gap: 15px; width: fit-content; margin: 26px auto 0; color: var(--muted); font-size: .78rem; line-height: 1.45; text-align: left; }
.trust-line strong { color: var(--ink); }
.trust-line__faces { display: flex; }
.trust-line__faces span { width: 33px; height: 33px; display: grid; place-items: center; margin-left: -7px; border: 2px solid white; border-radius: 50%; background: #dce8ff; color: var(--blue); font-size: .68rem; font-weight: 800; }
.trust-line__faces span:first-child { margin-left: 0; background: #ffe2d7; color: #bf3f11; }
.trust-line__faces span:last-child { background: var(--blue); color: white; }

.section-number { color: var(--blue); }
.section-number--light { color: #a9c6ff; }
.section h2 { margin: 14px 0 0; font: 700 clamp(2rem, 3.7vw, 3.7rem)/1.12 "Roboto Slab", Georgia, serif; letter-spacing: -.04em; }
.section h2 span { color: var(--blue); }
.problem { background: var(--paper); }
.problem__grid { display: grid; grid-template-columns: .94fr 1.06fr; gap: 100px; align-items: start; }
.problem__copy { padding-top: 30px; border-top: 1px solid #cfd7e5; }
.problem__copy p { margin: 0 0 22px; font-size: 1.08rem; }
.plain-list, .check-list, .fit-card ul, .registration__copy ul { list-style: none; padding: 0; margin: 0; }
.plain-list li { position: relative; margin: 12px 0; padding-left: 24px; color: #39475e; }
.plain-list li::before { content: "—"; position: absolute; left: 0; color: var(--orange); font-weight: 800; }

.section-heading { max-width: 870px; margin: 0 auto 54px; text-align: center; }
.section-heading p { max-width: 720px; margin: 20px auto 0; color: var(--muted); font-size: 1.04rem; }
.section-heading--compact { max-width: 790px; margin-bottom: 44px; }
.odma { display: grid; grid-template-columns: repeat(4, 1fr); border: 1px solid var(--line); border-radius: var(--radius); overflow: hidden; box-shadow: 0 20px 60px rgba(10,24,50,.07); }
.odma article { position: relative; min-height: 285px; padding: 28px 24px; border-right: 1px solid var(--line); background: white; transition: transform .25s ease, background .25s ease; }
.odma article:last-child { border-right: 0; }
.odma article:hover { z-index: 1; background: var(--navy); color: white; transform: translateY(-6px); }
.odma article > b { display: block; color: var(--blue); font: 700 4.8rem/1 "Roboto Slab", serif; letter-spacing: -.08em; }
.odma article > span { position: absolute; right: 22px; top: 22px; color: #aeb8c8; font-size: .75rem; font-weight: 700; }
.odma h3 { margin: 42px 0 7px; font-size: 1.08rem; }
.odma p { margin: 0; color: var(--muted); font-size: .84rem; line-height: 1.55; }
.odma article:hover p { color: #b7c3d6; }

.learn { background: var(--paper); }
.learn__grid { display: grid; grid-template-columns: 1.03fr .97fr; gap: 84px; align-items: center; }
.preview-card { position: relative; padding: 10px; border: 1px solid #d8dfeb; border-radius: 18px; background: white; box-shadow: var(--shadow); transform: rotate(-1.2deg); }
.preview-card::before { content: ""; position: absolute; inset: -18px 32px 18px -18px; z-index: -1; border-radius: 18px; background: var(--blue); opacity: .12; }
.preview-card img { width: 100%; border-radius: 11px; }
.preview-card__tag { position: absolute; left: 28px; bottom: -25px; display: flex; align-items: center; gap: 10px; padding: 12px 17px; border-radius: 8px; background: var(--navy); color: white; font-size: .76rem; font-weight: 700; box-shadow: 0 16px 35px rgba(7,21,45,.2); transform: rotate(1.2deg); }
.preview-card__tag span { color: #9cc0ff; }
.learn__content h2 { font-size: clamp(2rem, 3vw, 3.15rem); }
.check-list { margin: 30px 0 26px; }
.check-list li { position: relative; margin: 14px 0; padding-left: 34px; color: #35445b; }
.check-list li::before { content: "✓"; position: absolute; left: 0; top: 2px; display: grid; place-items: center; width: 20px; height: 20px; border-radius: 50%; background: #deebff; color: var(--blue); font-size: .7rem; font-weight: 900; }
.text-link { display: inline-flex; gap: 10px; align-items: center; color: var(--blue); font-weight: 800; text-underline-offset: 5px; }

.proof__grid { display: grid; grid-template-columns: 1fr 1fr; gap: 22px; }
.proof figure { margin: 0; padding: 8px; border: 1px solid var(--line); border-radius: 16px; background: white; box-shadow: 0 16px 46px rgba(10,24,50,.08); }
.proof figure img { width: 100%; border-radius: 10px; }

.fit { color: white; background: var(--navy); }
.fit__grid { display: grid; grid-template-columns: .72fr 1.28fr; gap: 80px; align-items: center; }
.fit__intro h2 span { color: var(--blue-bright); }
.fit__intro p { color: #b2bed0; }
.fit__cards { display: grid; grid-template-columns: 1fr 1fr; gap: 18px; }
.fit-card { position: relative; min-height: 350px; padding: 34px 28px; border: 1px solid rgba(255,255,255,.13); border-radius: 18px; background: rgba(255,255,255,.055); }
.fit-card--yes { background: var(--blue); border-color: var(--blue); transform: translateY(-12px); }
.fit-card__icon { display: grid; place-items: center; width: 34px; height: 34px; border-radius: 50%; background: white; color: var(--blue); font-size: 1.25rem; font-weight: 800; }
.fit-card--no .fit-card__icon { background: rgba(255,255,255,.1); color: #b8c4d6; }
.fit-card h3 { margin: 24px 0 18px; font-size: 1.08rem; }
.fit-card li { position: relative; margin: 13px 0; padding-left: 18px; color: #d4ddef; font-size: .88rem; }
.fit-card li::before { content: "·"; position: absolute; left: 0; font-weight: 900; }
.fit-card--yes li { color: white; }

.about { overflow: hidden; background: var(--paper); }
.about__grid { display: grid; grid-template-columns: .76fr 1.24fr; gap: 90px; align-items: center; }
.about__portrait { position: relative; max-width: 400px; }
.about__portrait::after { content: ""; position: absolute; right: -24px; bottom: -24px; width: 75%; height: 75%; z-index: 0; border: 3px solid var(--orange); border-radius: 4px 24px 4px 24px; }
.about__portrait img { position: relative; z-index: 1; width: 100%; aspect-ratio: 4/5; object-fit: cover; border-radius: 22px 22px 4px 22px; box-shadow: var(--shadow); }
.about__lead { color: var(--ink) !important; font-size: 1.25rem !important; font-weight: 700; }
.about__copy > p { max-width: 690px; color: #56637a; }
.about__stats { display: flex; gap: 40px; margin-top: 35px; padding-top: 25px; border-top: 1px solid #d6deea; }
.about__stats span { color: var(--muted); font-size: .72rem; line-height: 1.4; }
.about__stats strong { display: block; color: var(--blue); font-size: 1.35rem; }

.registration { position: relative; overflow: hidden; color: white; background: linear-gradient(135deg, #06142c 0%, #0b2751 100%); }
.registration__orb { position: absolute; left: -180px; bottom: -250px; width: 600px; height: 600px; border-radius: 50%; border: 100px solid rgba(36,107,253,.11); }
.registration__grid { position: relative; display: grid; grid-template-columns: .84fr 1.16fr; gap: 78px; align-items: center; }
.registration__copy h2 { font-size: clamp(2.3rem, 4vw, 4rem); }
.registration__copy h2 em { color: var(--blue-bright); font-style: normal; }
.registration__copy > p { color: #b7c3d6; }
.registration__copy li { display: flex; align-items: center; gap: 10px; margin: 12px 0; color: #e5ebf5; font-size: .9rem; }
.registration__copy li span { color: #79ffa8; }
.registration__form { min-height: 530px; padding: 34px; border-radius: 20px; background: white; color: var(--ink); box-shadow: 0 35px 90px rgba(0,0,0,.28); }
.form-heading { margin-bottom: 18px; text-align: center; }
.form-heading span { color: var(--orange); font-size: .69rem; font-weight: 800; letter-spacing: .13em; }
.form-heading h3 { margin: 5px 0 0; font: 700 1.6rem/1.3 "Roboto Slab", serif; }
.widget_wrapper, .ewp_form_container { min-height: 340px; }
.form-privacy { margin: 12px auto 0; max-width: 460px; color: #7b8496; font-size: .7rem; text-align: center; }
.form-privacy a { text-underline-offset: 3px; }

footer { padding: 32px 0; background: #040e20; color: #7d8da8; }
.footer__inner { display: flex; align-items: center; justify-content: space-between; gap: 24px; font-size: .76rem; }
.brand--footer { width: 250px; height: 64px; overflow: hidden; color: white; }
.brand--footer img { width: 250px; height: auto; margin-top: -13px; }
.footer__inner a { text-underline-offset: 3px; }
.mobile-cta { display: none; }

@media (max-width: 960px) {
  .section { padding: 84px 0; }
  .hero__inner { min-height: 620px; padding-top: 66px; padding-bottom: 74px; }
  .problem__grid, .learn__grid, .fit__grid, .about__grid, .registration__grid { grid-template-columns: 1fr; gap: 56px; }
  .problem__copy { padding-top: 24px; }
  .odma { grid-template-columns: 1fr 1fr; }
  .odma article:nth-child(2) { border-right: 0; }
  .odma article:nth-child(-n+2) { border-bottom: 1px solid var(--line); }
  .about__portrait { margin-inline: auto; }
  .registration__copy { max-width: 650px; }
}

@media (max-width: 680px) {
  .shell { width: min(100% - 30px, 1160px); }
  .section { padding: 68px 0; }
  .announcement__inner { gap: 7px; font-size: .76rem; }
  .announcement__inner > strong, .announcement__divider { display: none; }
  .nav { height: 72px; }
  .brand > img { height: 39px; }
  .nav__cta { display: none; }
  .hero__inner { min-height: auto; padding-top: 50px; padding-bottom: 62px; }
  .eyebrow { margin-bottom: 19px; font-size: .65rem; }
  .hero h1 { font-size: clamp(2rem, 9.7vw, 3.1rem); line-height: 1.12; }
  .hero__lead { font-size: .98rem; }
  .hero__showing { max-width: 100%; flex-wrap: wrap; justify-content: center; border-radius: 14px; line-height: 1.35; }
  .hero__actions { align-items: stretch; flex-direction: column; gap: 12px; }
  .button { width: 100%; }
  .microcopy { text-align: center; }
  .section h2 { font-size: clamp(2rem, 10vw, 2.75rem); }
  .section-heading { text-align: left; margin-bottom: 38px; }
  .odma { grid-template-columns: 1fr; }
  .odma article, .odma article:nth-child(2) { min-height: 220px; border-right: 0; border-bottom: 1px solid var(--line); }
  .odma article:last-child { border-bottom: 0; }
  .odma h3 { margin-top: 24px; }
  .learn__grid { gap: 64px; }
  .preview-card__tag { left: 12px; font-size: .68rem; }
  .proof__grid, .fit__cards { grid-template-columns: 1fr; }
  .fit-card { min-height: 0; }
  .fit-card--yes { transform: none; }
  .about__stats { display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; }
  .registration__form { min-height: 500px; padding: 24px 14px; }
  .form-heading h3 { font-size: 1.35rem; }
  .footer__inner { align-items: flex-start; flex-direction: column; }
  .mobile-cta { position: fixed; left: 12px; right: 12px; bottom: 12px; z-index: 50; display: block; padding: 14px 18px; border-radius: 10px; background: var(--orange); color: white; box-shadow: 0 15px 40px rgba(7,21,45,.35); font-weight: 800; text-align: center; text-decoration: none; transition: opacity .2s ease, transform .2s ease; }
  .mobile-cta.is-hidden { opacity: 0; pointer-events: none; transform: translateY(20px); }
  footer { padding-bottom: 90px; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { transition-duration: .01ms !important; }
}
