:root {
--gold: #168BDE;
--gold-light: #E8F5FF;
--gold-dark: #0869B2;
--orange: #27A9F5;
--orange-dark: #07558E;
--black: #102A43;
--gray-800: #203B53;
--gray-600: #536B80;
--gray-400: #9AAFC0;
--gray-100: #EAF2F8;
--white: #FFFFFF;
--bg: #F4FAFF;
--radius: 12px;
--radius-lg: 18px;
}
* {
margin: 0;
padding: 0;
box-sizing: border-box;
}
html {
scroll-behavior: smooth;
scroll-padding-top: 80px;
}
body {
font-family: Arial, Helvetica, sans-serif;
background: var(--bg);
color: var(--black);
line-height: 1.6;
}
img {
max-width: 100%;
height: auto;
}
a {
-webkit-tap-highlight-color: transparent;
}
button {
font: inherit;
}
.shell {
width: 100%;
max-width: 430px;
min-height: 100vh;
min-height: 100dvh;
margin: 0 auto;
background: var(--white);
display: flex;
flex-direction: column;
overflow: clip;
box-shadow: 0 0 35px rgba(95, 60, 0, 0.08);
}
/* NAVIGATION */
.sticky-nav,
nav {
display: flex;
align-items: center;
justify-content: space-between;
padding: 12px 16px;
background: rgba(255, 255, 255, 0.97);
border-bottom: 1px solid #D9EAF7;
position: sticky;
top: 0;
z-index: 100;
}
.logo {
display: flex;
align-items: center;
gap: 9px;
text-decoration: none;
min-width: 0;
}
.logo img {
width: 40px;
height: 40px;
object-fit: contain;
border-radius: 10px;
}
.logo-name {
font-size: 1.05rem;
font-weight: 800;
letter-spacing: -0.3px;
color: #07558E;
}
.hamburger {
display: flex;
flex-direction: column;
gap: 5px;
padding: 8px;
background: #E8F5FF;
border: 1px solid #B9E2FF;
border-radius: 9px;
cursor: pointer;
}
.hamburger span {
display: block;
width: 21px;
height: 2px;
background: #07558E;
border-radius: 4px;
}
.dropdown {
display: none;
position: absolute;
top: calc(100% + 5px);
right: 12px;
width: min(240px, calc(100vw - 28px));
max-height: 75vh;
overflow-y: auto;
background: var(--white);
border: 1px solid #CDE7FA;
border-radius: var(--radius);
box-shadow: 0 12px 30px rgba(92, 55, 0, 0.16);
z-index: 110;
}
.dropdown.open {
display: block;
}
.dropdown a {
display: block;
padding: 11px 15px;
font-size: 0.875rem;
font-weight: 600;
color: var(--gray-800);
text-decoration: none;
border-bottom: 1px solid #EAF4FB;
}
.dropdown a:last-child {
border-bottom: none;
}
.dropdown a:hover,
.dropdown a:focus-visible {
background: var(--gold-light);
color: #07558E;
}
/* MAIN CONTENT */
.scroll {
flex: 1;
min-width: 0;
padding-bottom: 30px;
}
section[id] {
scroll-margin-top: 78px;
}
/* HERO */
.hero {
position: relative;
isolation: isolate;
padding: 30px 19px 27px;
display: flex;
flex-direction: column;
align-items: center;
text-align: center;
color: var(--white);
background: linear-gradient(
145deg,
#43B7FF 0%,
#168BDE 42%,
#07558E 100%
);
border-bottom: 3px solid #0869B2;
}
.hero::before {
content: "";
position: absolute;
inset: 0;
z-index: -1;
background:
radial-gradient(
circle at 10% 0%,
rgba(255, 255, 255, 0.28),
transparent 42%
);
pointer-events: none;
}
.hero-logo {
width: 82px;
height: 82px;
object-fit: contain;
border-radius: 19px;
margin-bottom: 15px;
background: #FFFFFF;
box-shadow: 0 5px 16px rgba(105, 54, 0, 0.18);
}
.hero h1 {
font-size: 1.55rem;
line-height: 1.3;
font-weight: 800;
color: #073B67;
margin-bottom: 11px;
text-wrap: balance;
}
.hero p {
max-width: 340px;
margin-bottom: 19px;
font-size: 0.9rem;
line-height: 1.75;
color: #073B67;
}
.hero .note {
width: 100%;
margin-top: 10px;
text-align: left;
}
/* BUTTONS */
.btn-row {
display: flex;
gap: 10px;
width: 100%;
margin-bottom: 10px;
}
.btn {
flex: 1;
min-width: 0;
display: inline-flex;
align-items: center;
justify-content: center;
padding: 11px 10px;
border-radius: var(--radius);
font-size: 0.83rem;
line-height: 1.4;
font-weight: 700;
text-align: center;
text-decoration: none;
border: 1px solid transparent;
cursor: pointer;
transition: background-color 0.18s ease, transform 0.18s ease;
}
.btn-primary {
color: #3D2600;
background: #FFFFFF;
border-color: rgba(255, 255, 255, 0.8);
box-shadow: 0 3px 8px rgba(107, 58, 0, 0.12);
}
.btn-primary:hover {
background: #E8F5FF;
}
.btn-outline {
color: #402500;
background: rgba(255, 255, 255, 0.22);
border-color: rgba(89, 49, 0, 0.38);
}
.btn-outline:hover {
background: rgba(255, 255, 255, 0.45);
}
.btn:active {
transform: translateY(1px);
}
/* CONTENT SECTIONS */
.sec {
margin: 13px 12px;
padding: 20px 16px;
background: var(--white);
border: 1px solid #DDEAF4;
border-radius: var(--radius-lg);
box-shadow: 0 3px 12px rgba(95, 60, 0, 0.035);
}
.sec h2 {
font-size: 1.08rem;
line-height: 1.45;
font-weight: 800;
color: #07558E;
margin-bottom: 13px;
padding-bottom: 10px;
border-bottom: 2px solid var(--gold-light);
}
.sec h3 {
font-size: 0.94rem;
line-height: 1.5;
font-weight: 750;
color: #07558E;
margin: 17px 0 7px;
}
.sec p {
font-size: 0.88rem;
line-height: 1.8;
color: var(--gray-600);
margin-bottom: 10px;
overflow-wrap: anywhere;
}
.sec ul,
.sec ol {
padding-left: 20px;
margin: 8px 0 12px;
}
.sec li {
font-size: 0.87rem;
line-height: 1.8;
color: var(--gray-600);
margin-bottom: 5px;
overflow-wrap: anywhere;
}
.sec a {
color: #0878C9;
font-weight: 700;
text-decoration: none;
overflow-wrap: anywhere;
}
.sec a:hover {
color: #064E83;
text-decoration: underline;
}
/* TABLE OF CONTENTS */
.toc-list {
list-style: none;
padding: 0;
margin: 12px 0 0;
counter-reset: toc;
}
.toc-list li {
counter-increment: toc;
display: flex;
align-items: flex-start;
gap: 10px;
padding: 10px 0;
margin: 0;
border-bottom: 1px solid #F2EBDD;
font-size: 0.87rem;
}
.toc-list li:last-child {
border-bottom: none;
}
.toc-list li::before {
content: counter(toc);
flex: 0 0 24px;
width: 24px;
height: 24px;
display: grid;
place-items: center;
border-radius: 50%;
background: var(--gold-light);
color: #985200;
font-size: 0.75rem;
font-weight: 800;
}
.toc-list a {
flex: 1;
color: var(--gray-800);
font-weight: 600;
text-decoration: none;
line-height: 1.6;
}
.toc-list a:hover {
color: #0878C9;
}
/* EXPANDABLE CONTENT / FAQ */
.sec details {
margin: 9px 0;
border: 1px solid #F0E2BF;
border-radius: 10px;
background: #F8FCFF;
overflow: hidden;
}
.sec summary {
position: relative;
padding: 13px 35px 13px 13px;
color: #704000;
font-size: 0.88rem;
line-height: 1.55;
font-weight: 700;
cursor: pointer;
list-style: none;
}
.sec summary::-webkit-details-marker {
display: none;
}
.sec summary::after {
content: "+";
position: absolute;
top: 50%;
right: 13px;
transform: translateY(-50%);
color: #0878C9;
font-size: 1.2rem;
font-weight: 700;
}
.sec details[open] summary {
background: #E8F5FF;
border-bottom: 1px solid #F0E2BF;
}
.sec details[open] summary::after {
content: "−";
}
.sec details > p,
.sec details > ol,
.sec details > ul {
margin: 12px 13px 14px;
}
/* TABLES */
.data-table {
width: 100%;
border-collapse: collapse;
margin: 13px 0;
font-size: 0.82rem;
overflow-wrap: anywhere;
}
.data-table th {
background: #D9EEFF;
color: #073B67;
font-weight: 800;
text-align: left;
}
.data-table th,
.data-table td {
padding: 10px 9px;
border: 1px solid #D8E8F4;
vertical-align: top;
}
.data-table td {
color: var(--gray-600);
line-height: 1.65;
}
.data-table tbody tr:nth-child(even) {
background: #F8FCFF;
}
/* INFORMATION / SAFETY NOTICE */
.note {
padding: 13px;
margin: 14px 0;
background: #FFF5D4;
border: 1px solid #B9E2FF;
border-left: 4px solid #168BDE;
border-radius: 9px;
color: #254D6D;
font-size: 0.84rem;
line-height: 1.75;
overflow-wrap: anywhere;
}
.note strong {
color: #07558E;
}
/* FOOTER */
footer {
padding: 25px 17px;
background: #082A49;
color: #E8F5FF;
text-align: center;
border-top: 4px solid #168BDE;
}
footer p {
font-size: 0.81rem;
line-height: 1.8;
margin-bottom: 12px;
color: #C9E5F8;
overflow-wrap: anywhere;
}
footer strong {
color: #75CCFF;
}
footer a {
color: #75CCFF;
text-decoration: none;
}
footer a:hover {
text-decoration: underline;
}
.footer-links {
display: flex;
flex-wrap: wrap;
justify-content: center;
gap: 9px 15px;
margin: 16px 0;
}
.footer-links a {
font-size: 0.8rem;
font-weight: 600;
}
/* KEYBOARD ACCESSIBILITY */
a:focus-visible,
button:focus-visible,
summary:focus-visible {
outline: 3px solid #0878C9;
outline-offset: 3px;
}
/* MOBILE RESPONSIVENESS */
@media (max-width: 360px) {
.hero {
padding: 25px 14px;
}
.hero h1 {
font-size: 1.35rem;
}
.sec {
margin: 10px;
padding: 17px 13px;
}
.btn-row {
gap: 7px;
}
.btn {
padding: 10px 7px;
font-size: 0.77rem;
}
.data-table {
font-size: 0.76rem;
}
.data-table th,
.data-table td {
padding: 8px 6px;
}
}
@media (prefers-reduced-motion: reduce) {
html {
scroll-behavior: auto;
}
*,
*::before,
*::after {
transition-duration: 0.01ms !important;
}
}
.hero .btn-row:last-of-type {
margin-bottom: 0;
}
.hero .btn-primary[href="contact.html"] {
background: #073B67;
color: #FFFFFF;
border: 1px solid #073B67;
}
.hero .btn-primary[href="contact.html"]:hover {
background: #5A3500;
}
/* Arbpay Screenshot Gallery */
.vivipay-gallery {
position: relative;
overflow: hidden;
padding: 22px 36px;
margin-top: 20px;
background: linear-gradient(135deg, #F4FAFF, #DFF2FF);
border: 1px solid #B9E2FF;
border-radius: 20px;
}
.gallery-track {
display: flex;
gap: 20px;
overflow-x: auto;
scroll-snap-type: x mandatory;
scroll-behavior: smooth;
scrollbar-width: none;
}
.gallery-track::-webkit-scrollbar {
display: none;
}
.gallery-slide {
flex: 0 0 calc(50% - 10px);
min-width: 0;
text-align: center;
scroll-snap-align: center;
}
.gallery-slide img {
display: block;
width: 100%;
height: 290px;
object-fit: contain;
padding: 8px;
background: #FFFFFF;
border: 1px solid #B9E2FF;
border-radius: 18px;
box-shadow: 0 8px 20px rgba(117, 71, 0, 0.09);
}
.gallery-slide h3 {
margin: 14px 0 6px;
color: #07558E;
font-size: 16px;
}
.gallery-slide p {
margin: 0 0 12px;
color: #536B80;
font-size: 13px;
line-height: 1.6;
}
.gallery-arrow {
position: absolute;
top: 38%;
z-index: 2;
width: 34px;
height: 34px;
border: 1px solid #75CCFF;
border-radius: 50%;
background: #FFFFFF;
color: #07558E;
font-size: 18px;
cursor: pointer;
box-shadow: 0 3px 10px rgba(0, 0, 0, 0.08);
}
.gallery-prev {
left: 6px;
}
.gallery-next {
right: 6px;
}
.gallery-arrow:hover {
background: #ffc928;
}
.gallery-dots {
display: flex;
justify-content: center;
gap: 9px;
margin: 18px 0;
}
.gallery-dot {
width: 10px;
height: 10px;
padding: 0;
border: 0;
border-radius: 50%;
background: #CDE7FA;
cursor: pointer;
}
.gallery-dot.active {
background: #168BDE;
transform: scale(1.2);
}
@media (min-width: 700px) {
.gallery-slide {
flex-basis: calc(33.333% - 14px);
}
}
@media (max-width: 420px) {
.vivipay-gallery {
padding: 16px 32px;
}
.gallery-track {
gap: 12px;
}
.gallery-slide {
flex-basis: 100%;
}
.gallery-slide img {
height: 300px;
}
.gallery-arrow {
top: 35%;
}
}
@media (prefers-reduced-motion: reduce) {
.gallery-track {
scroll-behavior: auto;
}
}

/* Vivipay brand refinements */
.logo-name { color: #07558E; }
.hero { background: linear-gradient(145deg, #43B7FF 0%, #168BDE 48%, #07558E 100%); }
.hero h1, .hero p { color: #FFFFFF; }
.hero .note { color: #203B53; }
.btn-primary { color: #073B67; }
.sec h2, .sec h3 { color: #07558E; }
.sec a { color: #0878C9; }
footer { border-top-color: #168BDE; }
@media (min-width: 700px) {
  .shell { max-width: 900px; }
  .hero { padding: 44px 28px 36px; }
  .hero h1 { max-width: 760px; font-size: clamp(1.8rem, 3vw, 2.5rem); }
  .hero p { max-width: 680px; }
  .sec { margin: 18px 20px; padding: 24px; }
  .sec h2 { font-size: 1.25rem; }
}
