:root{
  --navy:#010d35;
  --blue:#0075ff;
  --blue-deep:#0a4ec9;
  --orange:#fe951c;
  --orange-deep:#ff7b00;
  --soft-bg:#eef4fb;
  --paper:#ffffff;
  --ink:#0d1b43;
  --muted:#5e6c88;
  --line:rgba(8, 24, 67, 0.08);
  --shadow-sm:0 14px 32px rgba(8, 24, 67, 0.08);
  --shadow-md:0 24px 52px rgba(8, 24, 67, 0.12);
  --shadow-lg:0 40px 90px rgba(4, 18, 58, 0.2);
}

*{
  box-sizing:border-box;
}

html{
  scroll-behavior:smooth;
}

body{
  margin:0;
  font-family:'Segoe UI', sans-serif;
  background:linear-gradient(180deg, #f8fbff 0%, #eef4fb 100%);
  color:var(--ink);
  padding-top:90px;
}

img{
  max-width:100%;
  display:block;
}

a{
  text-decoration:none;
}

.section-padding{
  padding:100px 0;
}

.contact-page{
  position:relative;
  overflow:hidden;
}

.custom-navbar{
  background:rgba(255,255,255,0.94);
  backdrop-filter:blur(18px);
  padding:20px 0;
  box-shadow:0 10px 30px rgba(0,0,0,0.05);
}

.nav-link{
  font-weight:500;
  color:#1e1e1e !important;
  transition:0.3s ease;
}

.nav-link:hover{
  color:var(--blue) !important;
}

.active-link{
  color:var(--blue) !important;
  font-weight:600;
}

.nav-icon{
  font-size:20px;
  color:#1e1e1e;
  transition:0.3s ease;
}

.nav-icon:hover{
  color:var(--blue);
}

.mobile-page-title{
  font-weight:600;
  font-size:18px;
  letter-spacing:1px;
}

.user-dropdown-wrapper{
  position:relative;
}

.btn-user-trigger{
  display:flex;
  align-items:center;
  gap:8px;
  background:transparent;
  border:none;
  padding:0;
  cursor:pointer;
  color:inherit;
}

.user-avatar-circle{
  width:34px;
  height:34px;
  border-radius:50%;
  object-fit:cover;
  background:linear-gradient(135deg, #6c63ff, #ff6584);
  display:flex;
  align-items:center;
  justify-content:center;
  font-size:13px;
  font-weight:700;
  color:#fff;
  overflow:hidden;
  flex-shrink:0;
  border:2px solid rgba(255,255,255,0.15);
}

.user-avatar-circle img{
  width:100%;
  height:100%;
  object-fit:cover;
}

.user-dropdown-menu{
  display:none;
  position:absolute;
  top:calc(100% + 12px);
  right:0;
  width:220px;
  background:#ffffff;
  border:1px solid #e5e7eb;
  border-radius:16px;
  box-shadow:0 8px 30px rgba(0,0,0,0.12);
  overflow:hidden;
  z-index:9999;
  animation:dropFadeIn 0.18s ease;
}

.user-dropdown-menu.show{
  display:block;
}

@keyframes dropFadeIn{
  from{ opacity:0; transform:translateY(-6px); }
  to{ opacity:1; transform:translateY(0); }
}

.drop-header{
  padding:14px 16px;
  border-bottom:1px solid #f0f0f0;
  display:flex;
  align-items:center;
  gap:10px;
  background:#fff;
}

.drop-header-avatar{
  width:40px;
  height:40px;
  border-radius:50%;
  background:linear-gradient(135deg, #6c63ff, #ff6584);
  display:flex;
  align-items:center;
  justify-content:center;
  font-size:15px;
  font-weight:700;
  color:#fff;
  flex-shrink:0;
  overflow:hidden;
}

.drop-header-avatar img{
  width:100%;
  height:100%;
  object-fit:cover;
}

.drop-user-name{
  font-size:13px;
  font-weight:600;
  color:#111827;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}

.drop-user-email{
  font-size:11px;
  color:#6b7280;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}

.drop-section{
  padding:6px;
  background:#fff;
}

.drop-section + .drop-section{
  border-top:1px solid #f0f0f0;
}

.drop-item{
  display:flex;
  align-items:center;
  gap:10px;
  padding:9px 10px;
  border-radius:10px;
  color:#374151;
  font-size:13px;
  font-weight:500;
  text-decoration:none;
  cursor:pointer;
  background:transparent;
  border:none;
  width:100%;
  text-align:left;
  transition:background 0.15s;
}

.drop-item:hover{
  background:#f3f4f6;
  color:#111827;
}

.drop-item.danger{
  color:#ef4444;
}

.drop-item.danger:hover{
  background:rgba(239,68,68,0.07);
}

.drop-icon{
  width:28px;
  height:28px;
  border-radius:7px;
  background:#f3f4f6;
  display:flex;
  align-items:center;
  justify-content:center;
  font-size:14px;
  flex-shrink:0;
}

#auth-overlay{
  display:none;
  position:fixed;
  inset:0;
  background:rgba(0,0,0,0.65);
  z-index:9999;
  align-items:center;
  justify-content:center;
  padding:24px;
}

#auth-overlay.show{
  display:flex;
}

.auth-box{
  background:#fff;
  border-radius:24px;
  padding:36px 30px;
  text-align:center;
  max-width:390px;
  width:100%;
  box-shadow:0 18px 60px rgba(0,0,0,0.28);
}

.auth-box-icon{
  width:72px;
  height:72px;
  margin:0 auto 16px;
  display:flex;
  align-items:center;
  justify-content:center;
  border-radius:22px;
  background:linear-gradient(135deg, rgba(0,117,255,0.12), rgba(254,149,28,0.18));
  color:var(--navy);
  font-size:2rem;
}

.auth-box h4{
  font-weight:700;
  margin-bottom:8px;
  font-size:1.35rem;
}

.auth-box p{
  color:#6b7280;
  font-size:0.95rem;
  margin-bottom:22px;
}

.auth-actions{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:12px;
  flex-wrap:wrap;
}

.auth-btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:132px;
  padding:13px 18px;
  border-radius:999px;
  border:none;
  font-weight:700;
  cursor:pointer;
  transition:transform 0.2s ease, box-shadow 0.2s ease, background 0.2s ease;
}

.auth-btn:hover{
  transform:translateY(-2px);
}

.auth-btn-primary{
  background:linear-gradient(135deg, var(--orange), var(--orange-deep));
  color:#fff;
  box-shadow:0 14px 28px rgba(254,149,28,0.26);
}

.auth-btn-secondary{
  background:#fff;
  color:var(--navy);
  border:1px solid rgba(8,24,67,0.12);
}

.contact-hero{
  position:relative;
  overflow:hidden;
  padding:120px 0 110px;
  background:
    linear-gradient(90deg, rgba(255,255,255,0.055) 1px, transparent 1px),
    linear-gradient(180deg, rgba(255,255,255,0.04) 1px, transparent 1px),
    radial-gradient(circle at 15% 22%, rgba(0,117,255,0.3), transparent 28%),
    radial-gradient(circle at 85% 18%, rgba(254,149,28,0.2), transparent 24%),
    linear-gradient(135deg, #07173f 0%, #0d337e 48%, #091633 100%);
  background-size:72px 72px, 72px 72px, auto, auto, auto;
  color:#fff;
}

.contact-hero::after{
  content:"";
  position:absolute;
  left:0;
  right:0;
  bottom:-1px;
  height:112px;
  background:#fff;
  clip-path:polygon(0 54%, 100% 8%, 100% 100%, 0 100%);
  pointer-events:none;
}

.hero-orb{
  position:absolute;
  border-radius:50%;
  filter:blur(8px);
  pointer-events:none;
}

.hero-orb-one{
  width:320px;
  height:320px;
  top:30px;
  left:-100px;
  background:radial-gradient(circle, rgba(0,117,255,0.3) 0%, rgba(0,117,255,0) 74%);
}

.hero-orb-two{
  width:360px;
  height:360px;
  right:-120px;
  bottom:10px;
  background:radial-gradient(circle, rgba(254,149,28,0.24) 0%, rgba(254,149,28,0) 74%);
}

.hero-copy{
  position:relative;
  z-index:2;
}

.hero-eyebrow{
  display:inline-flex;
  align-items:center;
  padding:10px 16px;
  border-radius:999px;
  background:rgba(255,255,255,0.1);
  border:1px solid rgba(255,255,255,0.14);
  color:#9fcfff;
  font-size:0.82rem;
  font-weight:700;
  letter-spacing:0.08em;
  text-transform:uppercase;
  margin-bottom:22px;
}

.hero-copy h1{
  font-size:clamp(3rem, 5vw, 4.75rem);
  line-height:1.03;
  letter-spacing:0;
  margin:0 0 22px;
  color:#fff;
  max-width:660px;
}

.hero-lead{
  max-width:620px;
  font-size:1.08rem;
  line-height:1.9;
  color:rgba(235,242,255,0.84);
  margin:0 0 30px;
}

.hero-actions{
  display:flex;
  align-items:center;
  gap:14px;
  flex-wrap:wrap;
  margin-bottom:34px;
}

.hero-btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:170px;
  padding:15px 26px;
  border-radius:999px;
  font-weight:700;
  transition:transform 0.25s ease, box-shadow 0.25s ease, background 0.25s ease, color 0.25s ease;
}

.hero-btn:hover{
  transform:translateY(-2px);
}

.hero-btn-primary{
  background:linear-gradient(135deg, var(--orange), var(--orange-deep));
  color:#fff;
  box-shadow:0 18px 36px rgba(254,149,28,0.25);
}

.hero-btn-primary:hover{
  color:#fff;
}

.hero-btn-secondary{
  background:rgba(255,255,255,0.1);
  color:#fff;
  border:1px solid rgba(255,255,255,0.18);
  box-shadow:none;
}

.hero-btn-secondary:hover{
  color:#fff;
  background:rgba(255,255,255,0.16);
}

.hero-insight-grid{
  display:grid;
  grid-template-columns:repeat(2, minmax(0, 1fr));
  gap:16px;
  max-width:640px;
}

.hero-insight-card{
  padding:22px;
  border-radius:24px;
  background:rgba(255,255,255,0.09);
  border:1px solid rgba(255,255,255,0.14);
  box-shadow:0 18px 36px rgba(0,0,0,0.14);
  backdrop-filter:blur(18px);
}

.hero-insight-card.wide{
  grid-column:span 2;
}

.hero-insight-card strong{
  display:block;
  font-size:1rem;
  color:#fff;
  margin-bottom:8px;
}

.hero-insight-card span{
  display:block;
  color:rgba(235,242,255,0.78);
  line-height:1.65;
}

.hero-visual{
  position:relative;
  z-index:2;
}

.hero-contact-board{
  position:relative;
  min-height:620px;
  border-radius:40px;
  background:linear-gradient(145deg, #f8fbff 0%, #ffffff 28%, #eff5ff 100%);
  border:1px solid rgba(8,24,67,0.08);
  box-shadow:var(--shadow-lg);
  overflow:hidden;
}

.hero-contact-board::before{
  content:"";
  position:absolute;
  inset:0;
  background:
    radial-gradient(circle at 20% 18%, rgba(0,117,255,0.14), transparent 24%),
    radial-gradient(circle at 78% 80%, rgba(254,149,28,0.16), transparent 22%);
  pointer-events:none;
}

.contact-board-orbit{
  position:absolute;
  border-radius:50%;
  border:1px solid rgba(0,117,255,0.12);
  pointer-events:none;
}

.contact-board-orbit-one{
  width:390px;
  height:390px;
  top:110px;
  left:60px;
}

.contact-board-orbit-two{
  width:250px;
  height:250px;
  top:180px;
  left:130px;
  border-color:rgba(254,149,28,0.18);
}

.contact-hub-core{
  position:absolute;
  inset:0;
  display:flex;
  align-items:center;
  justify-content:center;
}

.contact-hub-rings{
  position:absolute;
  inset:0;
  display:flex;
  align-items:center;
  justify-content:center;
}

.contact-hub-rings span{
  position:absolute;
  border-radius:50%;
  border:1px solid rgba(8,24,67,0.08);
}

.contact-hub-rings span:nth-child(1){
  width:380px;
  height:380px;
}

.contact-hub-rings span:nth-child(2){
  width:270px;
  height:270px;
  border-color:rgba(0,117,255,0.16);
}

.contact-hub-rings span:nth-child(3){
  width:170px;
  height:170px;
  border-color:rgba(254,149,28,0.2);
}

.contact-hub-center{
  position:relative;
  z-index:2;
  width:235px;
  height:235px;
  border-radius:50%;
  background:linear-gradient(160deg, #081c55 0%, #0c48b0 55%, #0075ff 100%);
  color:#fff;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  text-align:center;
  padding:30px;
  box-shadow:0 28px 60px rgba(4,18,58,0.24);
}

.hub-icon{
  width:64px;
  height:64px;
  display:flex;
  align-items:center;
  justify-content:center;
  border-radius:20px;
  background:rgba(255,255,255,0.12);
  font-size:1.6rem;
  margin-bottom:14px;
}

.hub-label{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:8px 12px;
  border-radius:999px;
  background:rgba(255,255,255,0.12);
  color:#fff;
  font-size:0.7rem;
  font-weight:700;
  letter-spacing:0.08em;
  text-transform:uppercase;
  margin-bottom:12px;
}

.contact-hub-center strong{
  display:block;
  font-size:1.32rem;
  line-height:1.15;
  margin-bottom:8px;
}

.contact-hub-center small{
  display:block;
  color:rgba(255,255,255,0.82);
  line-height:1.5;
}

.contact-route-card{
  position:absolute;
  z-index:3;
  width:220px;
  padding:18px 18px 18px 20px;
  border-radius:24px;
  background:rgba(255,255,255,0.92);
  border:1px solid rgba(8,24,67,0.08);
  box-shadow:var(--shadow-md);
  backdrop-filter:blur(14px);
}

.route-card-instagram{
  top:44px;
  left:36px;
  transform:rotate(-8deg);
}

.route-card-form{
  top:92px;
  right:28px;
  transform:rotate(7deg);
}

.route-card-mail{
  bottom:44px;
  left:50px;
  transform:rotate(-4deg);
}

.route-card-whatsapp{
  right:44px;
  bottom:70px;
  transform:rotate(5deg);
}

.route-kicker{
  display:inline-block;
  font-size:0.72rem;
  font-weight:700;
  letter-spacing:0.08em;
  text-transform:uppercase;
  color:var(--blue);
  margin-bottom:8px;
}

.contact-route-card strong{
  display:block;
  font-size:1.05rem;
  color:var(--navy);
  margin-bottom:6px;
}

.contact-route-card small{
  display:block;
  line-height:1.6;
  color:var(--muted);
}

.section-heading{
  max-width:760px;
  margin:0 auto 56px;
}

.section-kicker{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:10px 14px;
  border-radius:999px;
  background:rgba(0,117,255,0.08);
  color:var(--blue);
  font-size:0.8rem;
  font-weight:700;
  letter-spacing:0.07em;
  text-transform:uppercase;
  margin-bottom:18px;
}

.kicker-light{
  background:rgba(255,255,255,0.12);
  color:#fff;
}

.section-heading h2{
  font-size:clamp(2.2rem, 4vw, 3.45rem);
  line-height:1.06;
  color:var(--navy);
  margin-bottom:16px;
}

.section-heading p{
  margin:0;
  font-size:1.03rem;
  line-height:1.8;
  color:var(--muted);
}

.social-section{
  position:relative;
  z-index:1;
  margin-top:-1px;
  background:#fff;
}

.social-card{
  position:relative;
  display:block;
  color:inherit;
  text-decoration:none;
}

.social-channel-stack{
  display:grid;
  grid-template-rows:repeat(3, 1fr);
  gap:24px;
  height:100%;
}

.social-card-body{
  position:relative;
  min-height:260px;
  height:100%;
  display:grid;
  grid-template-columns:minmax(0, 1fr) minmax(220px, 42%);
  align-items:center;
  gap:28px;
  padding:34px 42px;
  border-radius:34px;
  background:linear-gradient(180deg, #ffffff 0%, #f8fbff 100%);
  border:1px solid var(--line);
  box-shadow:0 26px 70px rgba(8,24,67,0.1);
  overflow:hidden;
  transition:transform 0.35s ease, box-shadow 0.35s ease;
}

.social-card-body::before{
  content:"";
  position:absolute;
  top:28px;
  right:24px;
  width:240px;
  height:160px;
  opacity:0.5;
  background-image:radial-gradient(circle, rgba(0,117,255,0.16) 2px, transparent 3px);
  background-size:18px 18px;
  -webkit-mask-image:linear-gradient(90deg, transparent 0%, #000 35%, #000 100%);
  mask-image:linear-gradient(90deg, transparent 0%, #000 35%, #000 100%);
}

.social-card-body::after{
  content:"";
  position:absolute;
  right:-90px;
  bottom:-110px;
  width:300px;
  height:300px;
  border-radius:50%;
  background:radial-gradient(circle, rgba(0,117,255,0.12) 0%, rgba(0,117,255,0) 68%);
}

.social-card:hover .social-card-body{
  transform:translateY(-8px);
  box-shadow:0 34px 80px rgba(8,24,67,0.14);
}

.social-card-instagram{
  background:
    radial-gradient(circle at 78% 64%, rgba(193,53,132,0.2), transparent 34%),
    linear-gradient(135deg, #ffffff 0%, #fff7fb 54%, #f6f0ff 100%);
}

.social-card-gmail{
  background:
    radial-gradient(circle at 78% 64%, rgba(6,31,91,0.18), transparent 34%),
    linear-gradient(135deg, #ffffff 0%, #f7faff 58%, #eef4ff 100%);
}

.social-card-whatsapp{
  background:
    radial-gradient(circle at 78% 64%, rgba(37,211,102,0.2), transparent 34%),
    linear-gradient(135deg, #ffffff 0%, #f6fff9 56%, #ebfff2 100%);
}

.social-card-instagram::before{
  background-image:radial-gradient(circle, rgba(193,53,132,0.18) 2px, transparent 3px);
}

.social-card-gmail::before{
  background-image:radial-gradient(circle, rgba(6,31,91,0.18) 2px, transparent 3px);
}

.social-card-whatsapp::before{
  background-image:radial-gradient(circle, rgba(37,211,102,0.18) 2px, transparent 3px);
}

.social-card-copy,
.social-visual{
  position:relative;
  z-index:1;
}

.social-card-copy{
  max-width:390px;
}

.social-icon-shell{
  width:72px;
  height:72px;
  display:flex;
  align-items:center;
  justify-content:center;
  border-radius:50%;
  background:rgba(255,255,255,0.78);
  border:8px solid rgba(237,244,255,0.9);
  box-shadow:0 14px 36px rgba(8,24,67,0.12);
  margin-bottom:18px;
}

.social-icon-shell img{
  width:42px;
  height:42px;
  object-fit:contain;
}

.social-pill{
  display:inline-flex;
  align-items:center;
  padding:9px 18px;
  border-radius:999px;
  background:linear-gradient(90deg, #ff7a00 0%, #f7246c 46%, #7b1bff 100%);
  color:#fff;
  font-size:0.74rem;
  font-weight:700;
  letter-spacing:0.16em;
  text-transform:uppercase;
  margin-bottom:20px;
  box-shadow:0 14px 26px rgba(247,36,108,0.18);
}

.social-card-gmail .social-pill{
  background:linear-gradient(90deg, #010d35 0%, #073a8e 58%, #0b57d0 100%);
  box-shadow:0 14px 26px rgba(6,31,91,0.2);
}

.social-card-whatsapp .social-pill{
  background:linear-gradient(90deg, #128c4a 0%, #25d366 100%);
  box-shadow:0 14px 26px rgba(37,211,102,0.2);
}

.social-card-body h3{
  font-size:clamp(2.4rem, 4vw, 4.25rem);
  line-height:1;
  color:var(--navy);
  margin-bottom:16px;
}

.social-card-body p{
  color:var(--muted);
  font-size:1.08rem;
  line-height:1.65;
  margin-bottom:24px;
}

.social-link{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:10px;
  width:max-content;
  min-height:52px;
  padding:0 28px;
  border-radius:999px;
  background:linear-gradient(90deg, #ff7a00 0%, #f7246c 48%, #7b1bff 100%);
  color:#fff;
  font-size:0.98rem;
  font-weight:700;
  text-transform:uppercase;
  box-shadow:0 16px 30px rgba(247,36,108,0.22);
  transition:transform 0.25s ease, box-shadow 0.25s ease;
}

.social-card-gmail .social-link{
  background:linear-gradient(90deg, #010d35 0%, #073a8e 58%, #0b57d0 100%);
  box-shadow:0 16px 30px rgba(6,31,91,0.24);
}

.social-card-whatsapp .social-link{
  background:linear-gradient(90deg, #075e54 0%, #128c4a 48%, #25d366 100%);
  box-shadow:0 16px 30px rgba(37,211,102,0.24);
}

.social-link i{
  font-size:1rem;
  color:#fff;
  transition:transform 0.25s ease;
}

.social-card:hover .social-link{
  transform:translateY(-2px);
  box-shadow:0 20px 36px rgba(247,36,108,0.28);
}

.social-card-gmail:hover .social-link{
  box-shadow:0 20px 36px rgba(6,31,91,0.3);
}

.social-card-whatsapp:hover .social-link{
  box-shadow:0 20px 36px rgba(37,211,102,0.3);
}

.social-card:hover .social-link i{
  transform:translateX(5px);
}

.social-visual{
  min-height:210px;
  display:flex;
  align-items:center;
  justify-content:center;
}

.social-visual::before{
  content:"";
  position:absolute;
  width:210px;
  height:210px;
  border-radius:44px;
  background:linear-gradient(145deg, rgba(255,122,0,0.18), rgba(123,27,255,0.2));
  filter:blur(6px);
  transform:rotate(-8deg);
}

.social-visual-gmail::before{
  background:linear-gradient(145deg, rgba(1,13,53,0.2), rgba(7,58,142,0.18), rgba(11,87,208,0.14));
}

.social-visual-whatsapp::before{
  background:linear-gradient(145deg, rgba(7,94,84,0.18), rgba(18,140,74,0.2), rgba(37,211,102,0.16));
}

.social-visual img{
  position:relative;
  z-index:1;
  width:clamp(142px, 22vw, 240px);
  height:clamp(142px, 22vw, 240px);
  object-fit:contain;
  border-radius:36px;
  transform:rotate(6deg);
  filter:drop-shadow(0 28px 34px rgba(8,24,67,0.22));
}

.form-section{
  position:relative;
  padding-top:20px;
  padding-bottom:110px;
}

.contact-shell{
  position:relative;
  overflow:hidden;
  border-radius:36px;
  background:#fff;
  border:1px solid var(--line);
  box-shadow:var(--shadow-lg);
}

.contact-shell::before{
  content:"";
  position:absolute;
  inset:0;
  background:
    radial-gradient(circle at 10% 16%, rgba(0,117,255,0.08), transparent 26%),
    radial-gradient(circle at 88% 84%, rgba(254,149,28,0.1), transparent 24%);
  pointer-events:none;
}

.contact-side-panel,
.contact-form-panel{
  position:relative;
  z-index:1;
  min-height:100%;
}

.contact-side-panel{
  height:100%;
  padding:46px 38px;
  background:linear-gradient(160deg, #010d35 0%, #073a8e 56%, #0075ff 100%);
  color:#fff;
}

.contact-side-panel h2{
  font-size:clamp(2rem, 3.4vw, 3.05rem);
  line-height:1.08;
  margin-bottom:16px;
}

.contact-side-panel p{
  margin:0 0 26px;
  color:rgba(255,255,255,0.84);
  line-height:1.8;
}

.contact-points{
  display:grid;
  gap:16px;
}

.contact-point{
  display:flex;
  align-items:flex-start;
  gap:14px;
  padding:18px 18px 18px 16px;
  border-radius:24px;
  background:rgba(255,255,255,0.09);
  border:1px solid rgba(255,255,255,0.1);
  backdrop-filter:blur(10px);
}

.contact-point-icon{
  width:48px;
  height:48px;
  display:flex;
  align-items:center;
  justify-content:center;
  border-radius:16px;
  background:rgba(255,255,255,0.12);
  color:#fff;
  font-size:1.2rem;
  flex-shrink:0;
}

.contact-point strong{
  display:block;
  margin-bottom:5px;
  font-size:1rem;
}

.contact-point span{
  display:block;
  color:rgba(255,255,255,0.78);
  line-height:1.6;
}

.side-visual-stack{
  position:relative;
  width:200px;
  height:132px;
  margin-top:34px;
  perspective:1200px;
}

.stack-card{
  position:absolute;
  width:138px;
  height:88px;
  display:flex;
  align-items:center;
  justify-content:center;
  border-radius:24px;
  font-size:0.82rem;
  font-weight:800;
  letter-spacing:0.12em;
  text-transform:uppercase;
  box-shadow:0 18px 38px rgba(0,0,0,0.24);
}

.stack-card-main{
  left:0;
  top:14px;
  background:linear-gradient(135deg, #fff, #dbe8ff);
  color:var(--navy);
  transform:rotate(-10deg);
}

.stack-card-second{
  left:52px;
  top:0;
  background:linear-gradient(135deg, #ffb24d, #ff7b00);
  color:#fff;
  transform:rotate(5deg);
}

.stack-card-third{
  left:76px;
  top:44px;
  background:linear-gradient(135deg, #0f3e9b, #0075ff);
  color:#fff;
  transform:rotate(12deg);
}

.contact-form-panel{
  padding:46px 40px;
}

.form-topline{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
  flex-wrap:wrap;
  margin-bottom:18px;
}

.form-topline-label{
  display:inline-flex;
  align-items:center;
  padding:8px 12px;
  border-radius:999px;
  background:rgba(0,117,255,0.08);
  color:var(--blue);
  font-size:0.74rem;
  font-weight:700;
  letter-spacing:0.08em;
  text-transform:uppercase;
}

.form-topline-status{
  display:inline-flex;
  align-items:center;
  gap:8px;
  color:#4d5d7e;
  font-size:0.88rem;
  font-weight:700;
}

.contact-form-panel h3{
  font-size:2.25rem;
  color:var(--navy);
  margin-bottom:10px;
}

.form-intro{
  color:var(--muted);
  line-height:1.8;
  margin-bottom:28px;
}

.contact-form{
  background:transparent;
}

.form-label{
  font-size:0.9rem;
  font-weight:700;
  color:var(--navy);
  margin-bottom:8px;
}

.contact-form .form-control{
  padding:15px 16px;
  border-radius:18px;
  border:1px solid rgba(8,24,67,0.12);
  background:#f9fbff;
  color:var(--ink);
  box-shadow:none;
  transition:border-color 0.25s ease, box-shadow 0.25s ease, background 0.25s ease;
}

.contact-form .form-control::placeholder{
  color:#8a96ae;
}

.contact-form .form-control:focus{
  background:#fff;
  border-color:rgba(0,117,255,0.45);
  box-shadow:0 0 0 4px rgba(0,117,255,0.08);
}

textarea.form-control{
  resize:vertical;
  min-height:180px;
}

.contact-submit-btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:10px;
  width:100%;
  padding:16px 24px;
  border:none;
  border-radius:999px;
  background:linear-gradient(135deg, var(--orange), var(--orange-deep));
  color:#fff;
  font-size:1rem;
  font-weight:700;
  box-shadow:0 18px 34px rgba(254,149,28,0.26);
  transition:transform 0.25s ease, box-shadow 0.25s ease, filter 0.25s ease;
}

.contact-submit-btn:hover{
  transform:translateY(-2px);
  box-shadow:0 22px 42px rgba(254,149,28,0.3);
  filter:saturate(1.05);
}

.footer-section{
  background:var(--navy);
  color:#fff;
  padding:80px 0 30px;
}

.footer-title{
  font-weight:700;
  margin-bottom:15px;
}

.footer-subtitle{
  font-weight:600;
  margin-bottom:15px;
  position:relative;
}

.footer-subtitle::after{
  content:"";
  width:40px;
  height:3px;
  background:var(--blue);
  position:absolute;
  left:0;
  bottom:-5px;
}

.footer-text{
  color:#ccc;
  font-size:14px;
}

.footer-links{
  list-style:none;
  padding:0;
}

.footer-links li{
  margin-bottom:8px;
}

.footer-links a{
  color:#ccc;
  text-decoration:none;
  transition:0.3s;
}

.footer-links a:hover{
  color:#fff;
  padding-left:5px;
}

.footer-social a{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:38px;
  height:38px;
  background:rgba(255,255,255,0.1);
  border-radius:50%;
  color:#fff;
  margin-right:8px;
  transition:0.3s;
}

.footer-social a:hover{
  background:var(--blue);
  transform:translateY(-3px);
}

.footer-bottom{
  border-top:1px solid rgba(255,255,255,0.1);
  padding-top:20px;
  font-size:14px;
  color:#aaa;
}

.reveal,
.reveal-left,
.reveal-right{
  opacity:0;
  transition:opacity 0.8s ease, transform 0.8s ease;
}

.reveal{
  transform:translateY(38px);
}

.reveal-left{
  transform:translateX(-36px);
}

.reveal-right{
  transform:translateX(36px);
}

.reveal.active,
.reveal-left.active,
.reveal-right.active{
  opacity:1;
  transform:translate(0, 0);
}

@media(max-width:1199px){
  .hero-contact-board{
    min-height:590px;
  }

  .contact-route-card{
    width:200px;
  }

  .contact-board-orbit-one{
    left:36px;
  }

  .route-card-form{
    right:18px;
  }

  .route-card-mail{
    left:42px;
  }

  .route-card-whatsapp{
    right:18px;
    bottom:52px;
  }
}

@media(max-width:991px){
  body{
    padding-top:84px;
  }

  .section-padding{
    padding:82px 0;
  }

  .contact-hero{
    padding:94px 0 90px;
  }

  .hero-copy h1{
    max-width:none;
  }

  .hero-insight-grid{
    max-width:none;
  }

  .hero-contact-board{
    min-height:auto;
    padding:28px;
    display:grid;
    gap:16px;
  }

  .contact-board-orbit{
    display:none;
  }

  .contact-hub-core{
    position:relative;
    height:310px;
    order:1;
  }

  .contact-route-card{
    position:relative;
    width:100%;
    top:auto;
    right:auto;
    bottom:auto;
    left:auto;
    transform:none;
  }

  .route-card-instagram{
    order:2;
  }

  .route-card-form{
    order:3;
  }

  .route-card-mail{
    order:4;
  }

  .route-card-whatsapp{
    order:5;
  }

  .social-card-body{
    min-height:280px;
    grid-template-columns:minmax(0, 1fr) minmax(190px, 36%);
    padding:32px;
    transform:none;
  }

  .social-channel-stack{
    height:auto;
  }

  .contact-side-panel,
  .contact-form-panel{
    padding:34px 30px;
  }
}

@media(max-width:767px){
  .contact-hero{
    padding:82px 0 72px;
  }

  .hero-eyebrow,
  .section-kicker{
    font-size:0.72rem;
  }

  .hero-lead{
    font-size:1rem;
    line-height:1.75;
  }

  .hero-btn{
    width:100%;
  }

  .hero-insight-grid{
    grid-template-columns:1fr;
  }

  .hero-insight-card.wide{
    grid-column:auto;
  }

  .hero-contact-board{
    padding:20px;
    border-radius:30px;
  }

  .contact-hub-core{
    height:250px;
  }

  .contact-hub-rings span:nth-child(1){
    width:280px;
    height:280px;
  }

  .contact-hub-rings span:nth-child(2){
    width:210px;
    height:210px;
  }

  .contact-hub-rings span:nth-child(3){
    width:132px;
    height:132px;
  }

  .contact-hub-center{
    width:182px;
    height:182px;
    padding:22px;
  }

  .hub-icon{
    display:none;
  }

  .contact-hub-center strong{
    font-size:1.08rem;
  }

  .contact-hub-center small{
    font-size:0.86rem;
    line-height:1.35;
  }

  .social-card-body{
    grid-template-columns:1fr;
    min-height:auto;
    gap:18px;
  }

  .social-card-body::before{
    top:auto;
    right:-12px;
    bottom:34px;
  }

  .social-card-copy{
    max-width:none;
  }

  .social-card-body h3{
    font-size:2.55rem;
  }

  .social-card-body p{
    font-size:1rem;
    max-width:420px;
  }

  .social-visual{
    min-height:165px;
  }

  .social-visual::before{
    width:170px;
    height:170px;
  }

  .social-visual img{
    width:158px;
    height:158px;
  }

  .contact-side-panel h2{
    font-size:2.2rem;
  }

  .auth-actions{
    flex-direction:column;
  }

  .auth-btn{
    width:100%;
  }
}

@media(max-width:575px){
  .custom-navbar{
    padding:16px 0;
  }

  .hero-copy h1{
    font-size:2.7rem;
  }

  .contact-hub-core{
    height:238px;
  }

  .contact-hub-rings span:nth-child(1){
    width:238px;
    height:238px;
  }

  .contact-hub-rings span:nth-child(2){
    width:188px;
    height:188px;
  }

  .contact-hub-rings span:nth-child(3){
    width:138px;
    height:138px;
  }

  .contact-hub-center{
    width:176px;
    height:176px;
    padding:18px;
  }

  .hub-icon{
    display:none;
  }

  .hub-label{
    max-width:118px;
    padding:7px 10px;
    font-size:0.62rem;
    line-height:1.15;
    letter-spacing:0.04em;
    margin-bottom:8px;
    white-space:normal;
  }

  .contact-hub-center strong{
    font-size:0.98rem;
    line-height:1.12;
    margin-bottom:6px;
  }

  .contact-hub-center small{
    max-width:116px;
    font-size:0.76rem;
    line-height:1.3;
  }

  .hero-insight-card,
  .social-card-body,
  .contact-side-panel,
  .contact-form-panel,
  .auth-box{
    padding:22px;
  }

  .social-channel-stack{
    gap:20px;
  }

  .social-card-body{
    border-radius:28px;
  }

  .social-icon-shell{
    width:64px;
    height:64px;
    border-width:7px;
    margin-bottom:16px;
  }

  .social-icon-shell img{
    width:36px;
    height:36px;
  }

  .social-pill{
    padding:8px 14px;
    font-size:0.66rem;
    letter-spacing:0.12em;
    margin-bottom:16px;
  }

  .social-card-body h3{
    font-size:2.2rem;
  }

  .social-card-body p{
    font-size:0.96rem;
    line-height:1.55;
    margin-bottom:18px;
  }

  .social-visual{
    min-height:138px;
  }

  .social-visual::before{
    width:142px;
    height:142px;
    border-radius:34px;
  }

  .social-visual img{
    width:132px;
    height:132px;
    border-radius:28px;
  }

  .side-visual-stack{
    width:170px;
    height:112px;
  }

  .stack-card{
    width:120px;
    height:74px;
    border-radius:20px;
    font-size:0.72rem;
  }

  .stack-card-second{
    left:40px;
  }

  .stack-card-third{
    left:58px;
  }
}
