/* EuCrack Contact Page - stable custom CSS, mobile-first. */
.eu-contact-page{
  position:relative;
  min-height:100vh;
  overflow:hidden;
  background:#f8fafc;
  color:#0f172a;
}

.eu-contact-bg{
  position:absolute;
  inset:0;
  pointer-events:none;
  background:
    radial-gradient(circle at 92% 0%,rgba(14,165,233,.13),transparent 30%),
    radial-gradient(circle at 0% 36%,rgba(21,70,212,.08),transparent 28%),
    linear-gradient(180deg,#f8fafc 0%,#ffffff 50%,#f8fafc 100%);
}

.eu-contact-container{
  position:relative;
  width:min(100% - 28px,1120px);
  margin:0 auto;
  padding:24px 0 56px;
}

.eu-contact-back-wrap{margin-bottom:18px;}

.eu-contact-hero{
  position:relative;
  overflow:hidden;
  border-radius:30px;
  background:linear-gradient(135deg,#03122b 0%,#07245a 54%,#06345f 100%);
  color:#fff;
  border:1px solid rgba(255,255,255,.12);
  box-shadow:0 24px 70px rgba(3,18,43,.24);
  padding:30px 22px;
  margin-bottom:18px;
}

.eu-contact-hero-glow{
  position:absolute;
  border-radius:999px;
  pointer-events:none;
  filter:blur(72px);
}

.eu-contact-hero-glow.one{
  top:-80px;
  right:-70px;
  width:240px;
  height:240px;
  background:rgba(56,189,248,.22);
}

.eu-contact-hero-glow.two{
  left:-90px;
  bottom:-110px;
  width:280px;
  height:280px;
  background:rgba(21,70,212,.18);
}

.eu-contact-hero-content{position:relative;z-index:1;max-width:720px;}

.eu-contact-chip{
  display:inline-flex;
  align-items:center;
  border-radius:999px;
  border:1px solid rgba(255,255,255,.16);
  background:rgba(255,255,255,.10);
  padding:6px 11px;
  font-size:11px;
  line-height:1;
  font-weight:900;
  letter-spacing:.16em;
  text-transform:uppercase;
  color:#dff4ff;
}

.eu-contact-hero h1{
  margin:16px 0 0;
  font-family:'DM Serif Display',serif;
  font-size:clamp(2rem,5.2vw,3.15rem);
  line-height:1.02;
  letter-spacing:-.03em;
  color:#fff;
}

.eu-contact-hero p{
  margin:14px 0 0;
  max-width:680px;
  color:rgba(226,232,240,.92);
  font-size:15.5px;
  line-height:1.75;
  font-weight:500;
}

.eu-contact-support-section{margin-bottom:18px;}
.eu-contact-section-head{margin-bottom:12px;}
.eu-contact-section-head span{
  display:inline-flex;
  margin-bottom:7px;
  color:#1546d4;
  font-size:11px;
  line-height:1;
  font-weight:900;
  letter-spacing:.14em;
  text-transform:uppercase;
}
.eu-contact-section-head h2{
  margin:0;
  color:#03122b;
  font-size:1.18rem;
  line-height:1.18;
  font-weight:900;
  letter-spacing:-.02em;
}
.eu-contact-section-head p{
  margin:7px 0 0;
  color:#64748b;
  font-size:14.2px;
  line-height:1.6;
  font-weight:600;
}

.eu-contact-support-grid{display:grid;grid-template-columns:1fr;gap:10px;}
.eu-contact-support-card{
  position:relative;
  display:grid;
  grid-template-columns:44px minmax(0,1fr) 28px;
  align-items:center;
  gap:12px;
  border-radius:21px;
  border:1px solid rgba(219,231,255,.96);
  background:linear-gradient(180deg,rgba(255,255,255,.97),rgba(248,251,255,.92));
  box-shadow:0 12px 34px rgba(15,23,42,.055),inset 0 1px 0 rgba(255,255,255,.95);
  padding:14px;
  overflow:hidden;
  transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease;
}
.eu-contact-support-card:before{
  content:"";
  position:absolute;
  inset:0;
  background:radial-gradient(circle at 8% 20%,rgba(14,165,233,.10),transparent 32%);
  pointer-events:none;
}
.eu-contact-support-card:active{transform:scale(.99);border-color:#bfdbfe;box-shadow:0 10px 26px rgba(21,70,212,.10);}
.eu-contact-support-icon{
  position:relative;
  z-index:1;
  display:flex;
  align-items:center;
  justify-content:center;
  width:44px;
  height:44px;
  border-radius:16px;
  background:#eff6ff;
  border:1px solid #dbeafe;
  color:#1546d4;
  flex:0 0 auto;
}
.eu-contact-support-icon:before,.eu-contact-support-icon:after{content:"";position:absolute;display:block;box-sizing:border-box;}
.eu-contact-support-icon.book:before{width:17px;height:22px;border:2px solid currentColor;border-radius:4px;background:rgba(255,255,255,.55);}
.eu-contact-support-icon.book:after{width:2px;height:18px;left:16px;background:currentColor;border-radius:99px;opacity:.7;}
.eu-contact-support-icon.access:before{width:20px;height:20px;border:2px solid currentColor;border-radius:999px;}
.eu-contact-support-icon.access:after{width:10px;height:10px;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:rotate(45deg);top:13px;}
.eu-contact-support-icon.feedback:before{width:22px;height:16px;border:2px solid currentColor;border-radius:6px;}
.eu-contact-support-icon.feedback:after{width:8px;height:8px;border-left:2px solid currentColor;border-bottom:2px solid currentColor;transform:rotate(-35deg);left:13px;bottom:11px;background:#eff6ff;}
.eu-contact-support-icon.shield:before{width:20px;height:23px;border:2px solid currentColor;border-radius:10px 10px 12px 12px;clip-path:polygon(50% 0%,100% 16%,88% 78%,50% 100%,12% 78%,0% 16%);}
.eu-contact-support-icon.shield:after{width:8px;height:4px;border-left:2px solid currentColor;border-bottom:2px solid currentColor;transform:rotate(-45deg);}
.eu-contact-support-copy{position:relative;z-index:1;min-width:0;}
.eu-contact-support-card h3{margin:0;color:#03122b;font-size:1rem;line-height:1.2;font-weight:900;letter-spacing:-.015em;}
.eu-contact-support-card p{margin:5px 0 0;color:#64748b;font-size:13.4px;line-height:1.48;font-weight:600;}
.eu-contact-support-arrow{position:relative;z-index:1;display:flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:999px;background:#f1f5f9;color:#1546d4;font-size:15px;font-weight:900;}

.eu-contact-main-grid{display:grid;grid-template-columns:1fr;gap:16px;margin-bottom:16px;}
.eu-contact-card{
  position:relative;
  overflow:hidden;
  border-radius:26px;
  border:1px solid rgba(226,232,240,.86);
  background:#fff;
  box-shadow:0 16px 46px rgba(15,23,42,.07);
  padding:20px;
}
.eu-contact-card:before{content:"";position:absolute;top:-70px;right:-76px;width:170px;height:170px;border-radius:999px;background:radial-gradient(circle,rgba(14,165,233,.12),transparent 68%);pointer-events:none;}
.eu-contact-card-icon{position:relative;z-index:1;display:flex;align-items:center;justify-content:center;width:50px;height:50px;border-radius:18px;margin-bottom:16px;}
.eu-contact-card-icon.email{background:#eff6ff;border:1px solid #dbeafe;color:#1546d4;}
.eu-contact-card-icon.instagram{background:#fdf2f8;border:1px solid #fce7f3;color:#db2777;}
.eu-contact-card-body{position:relative;z-index:1;}
.eu-contact-card-kicker{display:inline-flex;margin-bottom:9px;color:#64748b;font-size:11px;line-height:1;font-weight:900;letter-spacing:.14em;text-transform:uppercase;}
.eu-contact-card h2{margin:0;color:#03122b;font-size:1.25rem;line-height:1.18;font-weight:900;letter-spacing:-.02em;}
.eu-contact-card p{color:#475569;font-size:15px;line-height:1.72;font-weight:500;}
.eu-contact-card-body > p{margin:10px 0 0;}

.eu-contact-best-for{
  margin-top:16px;
  border-radius:18px;
  border:1px solid #e5edf7;
  background:linear-gradient(180deg,#fbfdff 0%,#f8fafc 100%);
  padding:13px 14px;
}
.eu-contact-best-for > span{
  display:block;
  margin-bottom:9px;
  color:#03122b;
  font-size:11px;
  line-height:1;
  font-weight:900;
  letter-spacing:.12em;
  text-transform:uppercase;
}
.eu-contact-best-for div{display:grid;gap:7px;}
.eu-contact-best-for p{
  position:relative;
  margin:0;
  padding-left:15px;
  color:#64748b;
  font-size:13.8px;
  line-height:1.42;
  font-weight:500;
}
.eu-contact-best-for p:before{
  content:"";
  position:absolute;
  left:0;
  top:.58em;
  width:5px;
  height:5px;
  border-radius:999px;
  background:#1546d4;
  box-shadow:0 0 0 3px rgba(21,70,212,.07);
}

.eu-contact-action{display:inline-flex;align-items:center;justify-content:center;width:100%;min-height:48px;margin-top:18px;border-radius:17px;padding:12px 18px;font-size:14px;line-height:1;font-weight:900;text-decoration:none;transition:transform .18s ease,box-shadow .18s ease;}
.eu-contact-action:active{transform:scale(.985);}
.eu-contact-action.primary{background:linear-gradient(135deg,#1546d4 0%,#0284c7 100%);color:#fff;box-shadow:0 14px 30px rgba(21,70,212,.22);}
.eu-contact-action.secondary{background:#fff;color:#1546d4;border:1px solid #dbeafe;box-shadow:0 12px 28px rgba(15,23,42,.06);}
.eu-contact-small-link{display:none!important;}

.eu-contact-note{border-radius:24px;border:1px solid #dbeafe;background:linear-gradient(135deg,#fff 0%,#f0f9ff 100%);box-shadow:0 16px 46px rgba(14,165,233,.09);padding:20px;}
.eu-contact-note h2{margin:0;color:#03122b;font-size:1.12rem;line-height:1.25;font-weight:900;letter-spacing:-.015em;}
.eu-contact-note p{margin:8px 0 0;color:#475569;font-size:14.8px;line-height:1.7;font-weight:600;}

@media (min-width:768px){
  .eu-contact-container{width:min(100% - 48px,1120px);padding:34px 0 72px;}
  .eu-contact-hero{border-radius:34px;padding:42px 40px;margin-bottom:24px;}
  .eu-contact-hero p{font-size:16px;}
  .eu-contact-support-section{margin-bottom:24px;}
  .eu-contact-section-head{margin-bottom:14px;}
  .eu-contact-section-head h2{font-size:1.35rem;}
  .eu-contact-section-head p{font-size:15px;}
  .eu-contact-support-grid{grid-template-columns:repeat(4,1fr);gap:14px;}
  .eu-contact-support-card{display:block;padding:18px;min-height:172px;}
  .eu-contact-support-icon{margin-bottom:13px;}
  .eu-contact-support-card h3{font-size:1rem;}
  .eu-contact-support-card p{font-size:13.5px;line-height:1.55;}
  .eu-contact-support-arrow{display:none;}
  .eu-contact-main-grid{grid-template-columns:minmax(0,1.25fr) minmax(300px,.75fr);gap:20px;margin-bottom:20px;}
  .eu-contact-card{border-radius:30px;padding:26px;}
  .eu-contact-card h2{font-size:1.42rem;}
  .eu-contact-action{width:auto;min-width:168px;}
  .eu-contact-note{padding:24px;}
}

@media (max-width:420px){
  .eu-contact-container{width:min(100% - 24px,1120px);padding-top:20px;}
  .eu-contact-hero{border-radius:26px;padding:26px 18px;}
  .eu-contact-hero h1{font-size:2rem;}
  .eu-contact-hero p{font-size:14.5px;line-height:1.72;}
  .eu-contact-section-head h2{font-size:1.1rem;}
  .eu-contact-section-head p{font-size:13.7px;}
  .eu-contact-support-grid{gap:9px;}
  .eu-contact-support-card{grid-template-columns:40px minmax(0,1fr) 26px;border-radius:19px;padding:12px;gap:10px;}
  .eu-contact-support-icon{width:40px;height:40px;border-radius:15px;}
  .eu-contact-support-card h3{font-size:.95rem;}
  .eu-contact-support-card p{font-size:12.8px;line-height:1.45;}
  .eu-contact-support-arrow{width:26px;height:26px;font-size:14px;}
  .eu-contact-card{border-radius:24px;padding:18px;}
  .eu-contact-card h2{font-size:1.16rem;}
  .eu-contact-card p{font-size:14.5px;line-height:1.68;}
  .eu-contact-best-for p{font-size:13.4px;font-weight:500;}
}
