:root{
  --navy:#000080;
  --accent:#FF9900;
  --offwhite:#F7F7F5;
  --beige:#EDE6D8;
  --softgray:#6B7280;
}

.bg-navy{ background: var(--navy); }
.text-navy{ color: var(--navy); }
.bg-accent{ background: var(--accent); }
.text-accent{ color: var(--accent); }
.bg-offwhite{ background: var(--offwhite); }
.bg-beige{ background: var(--beige); }
.text-softgray{ color: var(--softgray); }

.shadow-soft{ box-shadow: 0 10px 30px rgba(2,8,23,.08); }
.shadow-glow{ box-shadow: 0 12px 40px rgba(255,153,0,.18); }

.tetyapi-menu li{ list-style:none; }
.tetyapi-menu a{
  position:relative;
  padding:10px 2px;
  transition:color .2s ease;
}
.tetyapi-menu a:after{
  content:"";
  position:absolute;
  left:0; bottom:4px;
  height:2px; width:0;
  background: var(--accent);
  border-radius:999px;
  transition:width .25s ease;
}
.tetyapi-menu a:hover:after{ width:100%; }

.btn-shine{ position:relative; overflow:hidden; }
.btn-shine:before{
  content:"";
  position:absolute; top:-50%; left:-60%;
  width:40%; height:200%;
  transform:rotate(20deg);
  background:rgba(255,255,255,.25);
  filter:blur(2px);
  transition:left .6s ease;
}
.btn-shine:hover:before{ left:120%; }

/* WhatsApp icon (mask) */
.wa-ico{
  width:18px;height:18px; display:inline-block;
  background: currentColor;
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 32 32'%3E%3Cpath d='M19.11 17.62c-.27-.14-1.6-.79-1.85-.88-.25-.09-.43-.14-.62.14-.18.27-.71.88-.87 1.06-.16.18-.32.2-.59.07-.27-.14-1.15-.42-2.19-1.35-.81-.72-1.36-1.61-1.52-1.88-.16-.27-.02-.42.12-.56.12-.12.27-.32.41-.48.14-.16.18-.27.27-.45.09-.18.05-.34-.02-.48-.07-.14-.62-1.49-.85-2.04-.22-.53-.45-.46-.62-.47l-.53-.01c-.18 0-.48.07-.73.34-.25.27-.96.94-.96 2.29 0 1.35.99 2.66 1.13 2.85.14.18 1.95 2.98 4.73 4.17.66.29 1.18.46 1.58.59.66.21 1.27.18 1.75.11.53-.08 1.6-.65 1.83-1.28.23-.62.23-1.15.16-1.28-.07-.13-.25-.2-.52-.34z'/%3E%3Cpath d='M16.02 2.67c-7.36 0-13.34 5.98-13.34 13.34 0 2.35.62 4.65 1.79 6.67L2.5 29.33l6.8-1.78a13.3 13.3 0 006.72 1.82h.01c7.36 0 13.34-5.98 13.34-13.34 0-3.56-1.39-6.9-3.91-9.43a13.25 13.25 0 00-9.44-3.93zm0 24.4h-.01c-2.12 0-4.19-.57-5.99-1.65l-.43-.25-4.04 1.06 1.08-3.94-.28-.45a11.05 11.05 0 01-1.71-5.87c0-6.11 4.97-11.08 11.08-11.08 2.96 0 5.74 1.15 7.83 3.25a11 11.05 0 013.25 7.83c0 6.11-4.97 11.08-11.08 11.08z'/%3E%3C/svg%3E") center/contain no-repeat;
  mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 32 32'%3E%3Cpath d='M19.11 17.62c-.27-.14-1.6-.79-1.85-.88-.25-.09-.43-.14-.62.14-.18.27-.71.88-.87 1.06-.16.18-.32.2-.59.07-.27-.14-1.15-.42-2.19-1.35-.81-.72-1.36-1.61-1.52-1.88-.16-.27-.02-.42.12-.56.12-.12.27-.32.41-.48.14-.16.18-.27.27-.45.09-.18.05-.34-.02-.48-.07-.14-.62-1.49-.85-2.04-.22-.53-.45-.46-.62-.47l-.53-.01c-.18 0-.48.07-.73.34-.25.27-.96.94-.96 2.29 0 1.35.99 2.66 1.13 2.85.14.18 1.95 2.98 4.73 4.17.66.29 1.18.46 1.58.59.66.21 1.27.18 1.75.11.53-.08 1.6-.65 1.83-1.28.23-.62.23-1.15.16-1.28-.07-.13-.25-.2-.52-.34z'/%3E%3Cpath d='M16.02 2.67c-7.36 0-13.34 5.98-13.34 13.34 0 2.35.62 4.65 1.79 6.67L2.5 29.33l6.8-1.78a13.3 13.3 0 006.72 1.82h.01c7.36 0 13.34-5.98 13.34-13.34 0-3.56-1.39-6.9-3.91-9.43a13.25 13.25 0 00-9.44-3.93zm0 24.4h-.01c-2.12 0-4.19-.57-5.99-1.65l-.43-.25-4.04 1.06 1.08-3.94-.28-.45a11.05 11.05 0 01-1.71-5.87c0-6.11 4.97-11.08 11.08-11.08 2.96 0 5.74 1.15 7.83 3.25a11 11.05 0 013.25 7.83c0 6.11-4.97 11.08-11.08 11.08z'/%3E%3C/svg%3E") center/contain no-repeat;
}