:root{
  --page-bg: #ffffff;

  /* Neumorphism */
  --neu-bg: #ffffff;
  --neu-light: #ffffff;
  --neu-dark: #c7cfdb;

  --text: #1f2937;
  --muted: #4b5563;

  /* sizes (adaptive) */
  --logo-size: clamp(72px, 12vw, 120px);
  --pill-size: clamp(46px, 7vw, 52px);
}

*{ box-sizing:border-box; margin:0; padding:0; }

html, body{
  height: 100%;
  font-family: -apple-system, BlinkMacSystemFont, "SF Pro Text","SF Pro Display",
    "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}

body{
  background: var(--page-bg);
  color: var(--text);
  display:flex;
  align-items:center;
  justify-content:center;
  padding: 28px 16px;
}

/* Neumorphism helpers */
.shadow-neu{
  box-shadow: 12px 12px 24px var(--neu-dark), -12px -12px 24px var(--neu-light);
}
.shadow-inset-neu{
  box-shadow: inset 8px 8px 16px var(--neu-dark), inset -8px -8px 16px var(--neu-light);
}

.wrap{
  width: min(980px, 100%);
  display:flex;
  justify-content:center;
}

.card{
  width: min(820px, 100%);
  background: var(--neu-bg);
  border-radius: 28px;
  padding: clamp(18px, 3vw, 32px);
}

/* HEADER ROW: Telegram | Logo | EN */
.header{
  display: grid;
  grid-template-columns: var(--pill-size) 1fr var(--pill-size);
  align-items: start;
  column-gap: 16px;
  margin-bottom: clamp(14px, 2vw, 20px);
}

.header-center{
  display:flex;
  justify-content:center;
  align-items:flex-start;
}

.tm-logo{
  width: var(--logo-size);
  height: auto;
  display:block;
  object-fit: contain;
}

/* Telegram button */
.icon-link{
  width: var(--pill-size);
  height: var(--pill-size);
  border-radius: 16px;
  background: var(--neu-bg);
  box-shadow: 8px 8px 16px var(--neu-dark), -8px -8px 16px var(--neu-light);
  display:flex;
  align-items:center;
  justify-content:center;
  text-decoration:none;
  transition: transform .06s ease, box-shadow .2s ease;
}

.icon-link:active{
  transform: translateY(1px);
  box-shadow: 6px 6px 12px var(--neu-dark), -6px -6px 12px var(--neu-light);
}

.icon{
  width: clamp(22px, 3vw, 26px);
  height: clamp(22px, 3vw, 26px);
  object-fit: contain;
}

/* EN pill */
.lang{
  width: var(--pill-size);
  height: var(--pill-size);
  border-radius: 16px;
  background: var(--neu-bg);
  box-shadow: 8px 8px 16px var(--neu-dark), -8px -8px 16px var(--neu-light);
  display:flex;
  align-items:center;
  justify-content:center;
  font-weight: 800;
  font-size: 12px;
  letter-spacing: .04em;
  user-select:none;
}

.hero{
  text-align:center;
  padding: 4px 8px 8px;
}

/* H1 responsive */
.brand-title{
  font-size: clamp(39px, 6vw, 66px);
  letter-spacing: -0.03em;
  line-height: 1.05;
  margin-top: clamp(6px, 1vw, 10px);
  margin-bottom: 12px;
  font-weight: 800;
}

.brand-uk{
  font-weight: 900;
  color: #d94645;
}

.subtitle{
  font-size: clamp(16px, 2.6vw, 22px);
  font-weight: 700;
  margin-bottom: 14px;
  color: var(--text);
  opacity: 0.95;
}

p{
  font-size: clamp(15px, 2.2vw, 18px);
  line-height: 1.55;
  color: var(--muted);
  margin-bottom: 26px;
}

.actions{
  display:flex;
  gap: 14px;
  justify-content:center;
  flex-wrap:wrap;
}

.btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding: 14px 20px;
  min-height: 52px;
  border-radius: 18px;
  text-decoration:none;
  font-weight: 700;
  background: var(--neu-bg);
  color: var(--text);
  box-shadow: 10px 10px 20px var(--neu-dark), -10px -10px 20px var(--neu-light);
  transition: transform .06s ease, box-shadow .2s ease;
}

.btn:active{
  transform: translateY(1px);
  box-shadow: 7px 7px 14px var(--neu-dark), -7px -7px 14px var(--neu-light);
}

.footer{
  margin-top: 22px;
  padding: 16px 18px;
  border-radius: 18px;
  background: var(--neu-bg);
  color: #6b7280;
  font-size: 13px;
  text-align:center;
}

/* Mobile fine-tune */
@media (max-width: 420px){
  .card{ border-radius: 24px; }
}

/* ===== Modern Ad Slot (HTML5) ===== */

/* Prevent "blue/underline link" inside hero for non-button links */
.hero a:not(.btn):not(.icon-link),
.hero a:not(.btn):not(.icon-link):link,
.hero a:not(.btn):not(.icon-link):visited,
.hero a:not(.btn):not(.icon-link):hover,
.hero a:not(.btn):not(.icon-link):active{
  color: inherit;
  text-decoration: none;
}

.ad-slot{
  margin-top: 16px;
  display: flex;
  justify-content: center;
}

.ad-card{
  width: 100%;
  max-width: 680px;

  display: grid;
  grid-template-columns: auto 1fr auto;
  align-items: center;
  gap: 12px;

  padding: 14px 16px;
  border-radius: 18px;

  background: var(--neu-bg);
  border: 1px solid rgba(0,0,0,0.06);
  box-shadow: 12px 12px 24px var(--neu-dark), -12px -12px 24px var(--neu-light);

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

.ad-card:hover{
  transform: translateY(-1px);
  border-color: rgba(0,0,0,0.10);
  box-shadow: 16px 16px 30px var(--neu-dark), -16px -16px 30px var(--neu-light);
}

.ad-card:active{
  transform: translateY(1px);
  box-shadow: 9px 9px 18px var(--neu-dark), -9px -9px 18px var(--neu-light);
}

.ad-badge{
  display: inline-flex;
  align-items: center;
  justify-content: center;

  height: 34px;
  padding: 0 12px;
  border-radius: 999px;

  font-size: 12px;
  font-weight: 900;
  letter-spacing: .08em;

  color: #d94645;
  background: rgba(217, 70, 69, 0.10);
  border: 1px solid rgba(217, 70, 69, 0.20);
}

.ad-body{
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: 3px;
  text-align: left;
}

.ad-title{
  font-size: 14px;
  font-weight: 900;
  letter-spacing: .02em;
}

.ad-subtitle{
  font-size: 12px;
  line-height: 1.25;
  color: var(--muted);
  opacity: .9;
}

.ad-cta{
  display: inline-flex;
  align-items: center;
  gap: 8px;

  padding: 10px 14px;
  border-radius: 16px;

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

  background: var(--neu-bg);
  box-shadow: 8px 8px 16px var(--neu-dark), -8px -8px 16px var(--neu-light);
}

.ad-arrow{ opacity: .75; }

@media (max-width: 560px){
  .ad-card{
    grid-template-columns: 1fr;
    gap: 10px;
    text-align: center;
  }
  .ad-body{ text-align: center; }
  .ad-cta{ justify-content: center; }
}
