diff --git a/images/agilnova-favicon.png b/images/agilnova-favicon.png new file mode 100644 index 0000000..0bff57b Binary files /dev/null and b/images/agilnova-favicon.png differ diff --git a/images/estancia-agape-favicon.png b/images/estancia-agape-favicon.png new file mode 100644 index 0000000..40f82b9 --- /dev/null +++ b/images/estancia-agape-favicon.png @@ -0,0 +1,120 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/images/kate-group-favicon.png b/images/kate-group-favicon.png new file mode 100644 index 0000000..237981d Binary files /dev/null and b/images/kate-group-favicon.png differ diff --git a/images/paraguayservice-favicon.png b/images/paraguayservice-favicon.png new file mode 100644 index 0000000..0013bcb Binary files /dev/null and b/images/paraguayservice-favicon.png differ diff --git a/images/ramani-kenya-logo.png b/images/ramani-kenya-logo.png new file mode 100644 index 0000000..c82c5b1 Binary files /dev/null and b/images/ramani-kenya-logo.png differ diff --git a/images/startparaguay-favicon.png b/images/startparaguay-favicon.png new file mode 100644 index 0000000..0468b1a Binary files /dev/null and b/images/startparaguay-favicon.png differ diff --git a/index.html b/index.html index c4be23c..3b6418c 100644 --- a/index.html +++ b/index.html @@ -557,7 +557,6 @@
-

Effortless Odoo Community Hosting with AI-Powered Automation — Scale Your Business Seamlessly @@ -694,7 +693,6 @@
-

Your Plan, Your Timing: Upgrade Anytime

@@ -984,6 +982,83 @@
+
+ +
+
diff --git a/style.css b/style.css index 38198e4..714bc21 100644 --- a/style.css +++ b/style.css @@ -1,867 +1,913 @@ * { - box-sizing: border-box; - } - body { - margin: 0; - font-family: Inter, sans-serif; - font-size: 1rem; - line-height: 1.6; - color: #212529; - background: #fff; - } - h1, - h2, - h3 { - font-family: - Inter Tight, - sans-serif; - font-weight: 600; - line-height: 1.25; - margin-top: 0; - margin-bottom: 0.5rem; - } - h1 { - font-size: clamp(1.8rem, 3.2vw, 2.8rem); - } - h2 { - font-size: clamp(1.4rem, 2.56vw, 2rem); - } - h3 { - font-size: clamp(1.1rem, 2vw, 1.4rem); - } - p { - margin-top: 0; - margin-bottom: 1rem; - } - a { - color: #65435c; - text-decoration: none; - } - img { - max-width: 100%; - height: auto; - vertical-align: middle; - } - :root { - --primary: #714b67; - --secondary: #f0cda8; - --dark: #1b1319; - --light: #f6f5f4; - --border: #e5e3e0; - --radius: 0.6rem; - --radius-lg: 1rem; - } - .container { - width: 80%; - padding: 0 20px; - margin: 0 auto; - max-width: 1300px; - } - @media (max-width: 768px) { - .container { - max-width: 100%; - } - } - .row { - display: flex; - flex-wrap: wrap; - margin: 0 -15px; - } - .col-lg-5 { - flex: 0 0 41.666%; - max-width: 41.666%; - padding: 0 15px; - } - .col-lg-6 { - flex: 0 0 50%; - max-width: 50%; - padding: 0 15px; - } - .col-lg-10 { - flex: 0 0 83.333%; - max-width: 83.333%; - padding: 0 15px; - } - .offset-lg-1 { - margin-left: 8.333%; - } - .offset-lg-6 { - margin-left: 50%; - } - @media (max-width: 992px) { - .col-lg-5, - .col-lg-6, - .col-lg-10 { - flex: 0 0 100%; - max-width: 100%; - } - .offset-lg-1, - .offset-lg-6 { - margin-left: 0; - } - } - .text-center { - text-align: center; - } - .d-none { - display: none !important; - } - .d-flex { - display: flex; - } - .align-items-center { - align-items: center; - } - .mb-4 { - margin-bottom: 1.5rem; - } - .mt-3 { - margin-top: 1rem; - } - .btn { - display: inline-block; - padding: 0.6rem 1.5rem; - font-size: 0.9rem; - font-weight: 500; - border: 1px solid transparent; - border-radius: 0.5rem; - cursor: pointer; - text-decoration: none; - transition: all 0.2s; - } - .btn-primary { - color: #fff; - background: var(--primary); - border-color: var(--primary); - } - .btn-primary:hover { - background: #5e3f55; - border-color: #5e3f55; - transform: translateY(-1px); - } - .btn-outline-primary { - color: #65435c; - border-color: #65435c; - background: transparent; - } - .btn-outline-primary:hover { - color: #fff; - background: #65435c; - border-color: #65435c; - } - .btn-lg { - padding: 0.75rem 2rem; - font-size: 1rem; - border-radius: 2rem; - } - .hr { - width: 3.5rem; - height: 3px; - background: linear-gradient( - 90deg, - var(--primary), - var(--secondary) - ); - border-radius: 2px; - margin: 0 auto 1rem; - } - .hero-carousel { - position: relative; - overflow: hidden; - min-height: 400px; - } - .hero-slide { - position: absolute; - inset: 0; - min-height: 400px; - display: flex; - align-items: center; - background-size: cover; - background-position: center; - transform: translateY(-100%); - opacity: 0; - transition: - transform 0.5s ease, - opacity 0.5s ease; - z-index: 1; - } - .hero-slide.active { - transform: translateY(0); - opacity: 1; - z-index: 2; - } - .hero-slide.prev { - transform: translateY(100%); - opacity: 0; - z-index: 1; - } - .hero-slide::before { - content: ""; - position: absolute; - inset: 0; - background: none; - } - .hero-box { - position: relative; - z-index: 2; - padding: 1.5rem; - border-radius: var(--radius); - background: rgba(27, 19, 25, 0.75); - color: #fff; - border: 1px solid rgba(255, 255, 255, 0.08); - } - .hero-box h2 { - color: #fff; - font-size: clamp(1rem, 2.2vw, 1.4rem); - margin-bottom: 0.3rem; - } - .hero-box p { - color: rgba(255, 255, 255, 0.9); - font-size: 0.9rem; - margin-bottom: 0.5rem; - } - .carousel-dots { - position: absolute; - bottom: 1rem; - left: 0; - right: 0; - display: flex; - justify-content: center; - gap: 0.5rem; - z-index: 3; - } - .carousel-dot { - width: 8px; - height: 8px; - border-radius: 50%; - border: none; - background: rgba(255, 255, 255, 0.35); - cursor: pointer; - transition: all 0.3s; - } - .carousel-dot.active { - background: rgba(255, 255, 255, 0.8); - transform: scale(1.2); - } - .arrow { - position: absolute; - top: 50%; - transform: translateY(-50%); - z-index: 3; - background: rgba(27, 19, 25, 0.5); - color: #fff; - border: none; - width: 2.5rem; - height: 2.5rem; - border-radius: 50%; - cursor: pointer; - display: flex; - align-items: center; - justify-content: center; - transition: all 0.2s; - } - .arrow:hover { - background: rgba(27, 19, 25, 0.8); - transform: translateY(-50%) scale(1.05); - } - .arrow.left { - left: 1rem; - } - .arrow.right { - right: 1rem; - } - @media (max-width: 768px) { - .arrow { - display: none; - } - } - .stitle { - text-align: center; - padding: 2rem 0; - } - .stitle h1 { - font-size: clamp(1.12rem, 2.4vw, 1.6rem); - max-width: 720px; - margin: 0 auto; - color: var(--dark); - } - .tabs-section { - padding: 2rem 0; - } - .tabs-wrap { - display: flex; - gap: 2rem; - } - .tabs-nav { - flex: 0 0 220px; - max-width: 220px; - display: flex; - flex-direction: column; - gap: 0.25rem; - } - .tabs-content { - flex: 1; - min-height: 200px; - font-size: 1rem; - line-height: 1.7; - } - .tab-btn { - display: block; - padding: 0.6rem 1rem; - color: #212529; - border-radius: var(--radius); - border: none; - background: none; - width: 100%; - text-align: left; - font-size: 0.9rem; - font-weight: 500; - cursor: pointer; - transition: all 0.2s; - } - .tab-btn:hover { - background: var(--light); - } - .tab-btn.active { - background: linear-gradient( - 135deg, - rgba(113, 75, 103, 0.08), - rgba(113, 75, 103, 0.03) - ); - color: var(--primary); - font-weight: 600; - border-left: 3px solid var(--primary); - } - .tab-btn small { - display: block; - color: rgba(33, 37, 41, 0.55); - font-size: 0.72rem; - margin-top: 0.1rem; - } - .tab-btn.active small { - color: rgba(113, 75, 103, 0.6); - } - .tab-pane { - display: none; - } - .tab-pane.active { - display: block; - } - @media (max-width: 992px) { - .tabs-wrap { - flex-direction: column; - } - .tabs-nav { - flex: 0 0 100%; - max-width: 100%; - flex-direction: row; - overflow-x: auto; - padding-bottom: 0.5rem; - border-bottom: 1px solid var(--border); - } - .tab-btn { - white-space: nowrap; - width: auto; - border-left: none; - } - .tab-btn.active { - border-left: none; - border-bottom: 3px solid var(--primary); - } - .tab-btn small { - display: none; - } - .tabs-content { - flex: 0 0 100%; - max-width: 100%; - } - } - .psection { - padding: 2rem 0; - background: var(--light); - } - .pgrid { - display: grid; - grid-template-columns: repeat(4, 1fr); - gap: 1rem; - } - .pcard { - background: #fff; - border: 1px solid var(--border); - border-radius: var(--radius-lg); - overflow: hidden; - display: flex; - flex-direction: column; - transition: all 0.3s; - box-shadow: 0 1px 3px rgba(0, 0, 0, 0.06); - } - .pcard:hover { - box-shadow: 0 4px 16px rgba(0, 0, 0, 0.08); - transform: translateY(-3px); - } - .pcard.featured { - border: 2px solid var(--primary); - position: relative; - } - .pcard.featured::before { - content: "Most Popular"; - position: absolute; - top: 0.75rem; - right: 0.75rem; - background: var(--primary); - color: #fff; - padding: 0.2rem 0.6rem; - border-radius: 2rem; - font-size: 0.6rem; - font-weight: 600; - } - .pcard-body { - padding: 1.25rem; - flex: 1; - } - .pcard-body h3 { - font-size: 1.1rem; - font-weight: 700; - } - .pcard .price { - margin: 0.5rem 0; - } - .pcard .price strong { - font-size: clamp(1.28rem, 2vw, 1.92rem); - color: var(--dark); - } - .pcard .price small { - color: rgba(33, 37, 41, 0.55); - font-size: 0.82rem; - } - .pcard .desc { - font-size: 0.82rem; - color: rgba(33, 37, 41, 0.6); - min-height: 2rem; - font-style: italic; - } - .pcard .btn { - margin-bottom: 0.75rem; - width: 100%; - } - .pcard ul { - list-style: none; - padding: 0; - margin: 0; - } - .pcard li { - padding: 0.4rem 0; - font-size: 0.82rem; - border-bottom: 1px solid rgba(0, 0, 0, 0.05); - display: flex; - align-items: center; - gap: 0.4rem; - } - .pcard li:last-child { - border-bottom: 0; - } - .pcard-foot { - padding: 0.6rem 1.25rem; - text-align: center; - border-top: 1px solid var(--border); - font-size: 0.78rem; - color: rgba(33, 37, 41, 0.55); - } - @media (max-width: 992px) { - .pgrid { - grid-template-columns: repeat(2, 1fr); - } - } - @media (max-width: 576px) { - .pgrid { - grid-template-columns: 1fr; - } - } - .trial { - padding: 3rem 0; - background: linear-gradient(135deg, #1b1319, #2a1d27); - color: #fff; - } - .trial h2 { - color: #fff; - } - .trial p { - color: rgba(255, 255, 255, 0.8); - } - .abanner { - padding: 2rem 0; - text-align: center; - background: #fff; - } - .abanner h2 { - font-size: clamp(1.12rem, 2.4vw, 1.6rem) !important; - max-width: 700px; - margin: 0 auto 0.5rem; - } - .footer { - background: var(--dark); - color: rgba(255, 255, 255, 0.85); - padding-top: 3rem; - } - .fgrid { - display: grid; - grid-template-columns: 1.5fr 3fr 3.5fr; - gap: 2rem; - padding-bottom: 2rem; - border-bottom: 1px solid rgba(255, 255, 255, 0.08); - } - .footer h5 { - color: #fff; - margin-bottom: 0.8rem; - font-weight: 600; - } - .footer ul { - list-style: none; - padding: 0; - } - .footer li { - margin-bottom: 0.3rem; - } - .footer a { - color: rgba(255, 255, 255, 0.65); - transition: color 0.2s; - } - .footer a:hover { - color: #fff; - text-decoration: none; - } - .footer p { - color: rgba(255, 255, 255, 0.7); - font-size: 0.85rem; - line-height: 1.7; - } - .footer strong { - color: #fff; - } - .footer .social a { - display: inline-flex; - align-items: center; - justify-content: center; - width: 2.5rem; - height: 2.5rem; - border-radius: 50%; - background: rgba(255, 255, 255, 0.08); - color: rgba(255, 255, 255, 0.7); - margin-right: 0.3rem; - transition: all 0.2s; - } - .footer .social a:hover { - background: var(--primary); - color: #fff; - } - .fform label { - font-weight: 500; - margin-bottom: 0.25rem; - display: block; - color: #fff; - } - .fform input { - display: block; - width: 100%; - padding: 0.5rem 0.8rem; - font-size: 0.85rem; - background: rgba(255, 255, 255, 0.08); - border: 1px solid rgba(255, 255, 255, 0.12); - border-radius: 0.5rem; - color: #fff; - margin-bottom: 0.75rem; - } - .fform input:focus { - outline: none; - border-color: var(--primary); - } - .fform input::placeholder { - color: rgba(255, 255, 255, 0.35); - } - .fcopy { - padding: 1rem 0; - text-align: center; - font-size: 0.82rem; - color: rgba(255, 255, 255, 0.5); - } - @media (max-width: 992px) { - .fgrid { - grid-template-columns: 1fr; - } - } - .spinner-overlay { - position: absolute; - inset: 0; - display: flex; - align-items: center; - justify-content: center; - background: var(--dark); - z-index: 5; - transition: opacity 0.5s; - } - .spinner-overlay.hidden { - opacity: 0; - pointer-events: none; - } - .spinner { - width: 2rem; - height: 2rem; - border: 3px solid rgba(255, 255, 255, 0.15); - border-top-color: #fff; - border-radius: 50%; - animation: spin 0.8s linear infinite; - } - @keyframes spin { - to { - transform: rotate(360deg); - } - } + box-sizing: border-box; +} +body { + margin: 0; + font-family: Inter, sans-serif; + font-size: 1rem; + line-height: 1.6; + color: #212529; + background: #fff; +} +h1, +h2, +h3 { + font-family: + Inter Tight, + sans-serif; + font-weight: 600; + line-height: 1.25; + margin-top: 0; + margin-bottom: 0.5rem; +} +h1 { + font-size: clamp(1.8rem, 3.2vw, 2.8rem); +} +h2 { + font-size: clamp(1.4rem, 2.56vw, 2rem); +} +h3 { + font-size: clamp(1.1rem, 2vw, 1.4rem); +} +p { + margin-top: 0; + margin-bottom: 1rem; +} +a { + color: #65435c; + text-decoration: none; +} +img { + max-width: 100%; + height: auto; + vertical-align: middle; +} +:root { + --primary: #714b67; + --secondary: #f0cda8; + --dark: #1b1319; + --light: #f6f5f4; + --border: #e5e3e0; + --radius: 0.6rem; + --radius-lg: 1rem; +} +.container { + width: 80%; + padding: 0 20px; + margin: 0 auto; + max-width: 1300px; +} +@media (max-width: 768px) { + .container { + max-width: 100%; + } +} +.row { + display: flex; + flex-wrap: wrap; + margin: 0 -15px; +} +.col-lg-5 { + flex: 0 0 41.666%; + max-width: 41.666%; + padding: 0 15px; +} +.col-lg-6 { + flex: 0 0 50%; + max-width: 50%; + padding: 0 15px; +} +.col-lg-10 { + flex: 0 0 83.333%; + max-width: 83.333%; + padding: 0 15px; +} +.offset-lg-1 { + margin-left: 8.333%; +} +.offset-lg-6 { + margin-left: 50%; +} +@media (max-width: 992px) { + .col-lg-5, + .col-lg-6, + .col-lg-10 { + flex: 0 0 100%; + max-width: 100%; + } + .offset-lg-1, + .offset-lg-6 { + margin-left: 0; + } +} +.text-center { + text-align: center; +} +.d-none { + display: none !important; +} +.d-flex { + display: flex; +} +.align-items-center { + align-items: center; +} +.mb-4 { + margin-bottom: 1.5rem; +} +.mt-3 { + margin-top: 1rem; +} +.btn { + display: inline-block; + padding: 0.6rem 1.5rem; + font-size: 0.9rem; + font-weight: 500; + border: 1px solid transparent; + border-radius: 0.5rem; + cursor: pointer; + text-decoration: none; + transition: all 0.2s; +} +.btn-primary { + color: #fff; + background: var(--primary); + border-color: var(--primary); +} +.btn-primary:hover { + background: #5e3f55; + border-color: #5e3f55; + transform: translateY(-1px); +} +.btn-outline-primary { + color: #65435c; + border-color: #65435c; + background: transparent; +} +.btn-outline-primary:hover { + color: #fff; + background: #65435c; + border-color: #65435c; +} +.btn-lg { + padding: 0.75rem 2rem; + font-size: 1rem; + border-radius: 2rem; +} +.hr { + width: 3.5rem; + height: 3px; + background: linear-gradient(90deg, var(--primary), var(--secondary)); + border-radius: 2px; + margin: 0 auto 1rem; +} +.hero-carousel { + position: relative; + overflow: hidden; + min-height: 400px; +} +.hero-slide { + position: absolute; + inset: 0; + min-height: 400px; + display: flex; + align-items: center; + background-size: cover; + background-position: center; + transform: translateY(-100%); + opacity: 0; + transition: + transform 0.5s ease, + opacity 0.5s ease; + z-index: 1; +} +.hero-slide.active { + transform: translateY(0); + opacity: 1; + z-index: 2; +} +.hero-slide.prev { + transform: translateY(100%); + opacity: 0; + z-index: 1; +} +.hero-slide::before { + content: ""; + position: absolute; + inset: 0; + background: none; +} +.hero-box { + position: relative; + z-index: 2; + padding: 1.5rem; + border-radius: var(--radius); + background: rgba(27, 19, 25, 0.75); + color: #fff; + border: 1px solid rgba(255, 255, 255, 0.08); +} +.hero-box h2 { + color: #fff; + font-size: clamp(1rem, 2.2vw, 1.4rem); + margin-bottom: 0.3rem; +} +.hero-box p { + color: rgba(255, 255, 255, 0.9); + font-size: 0.9rem; + margin-bottom: 0.5rem; +} +.carousel-dots { + position: absolute; + bottom: 1rem; + left: 0; + right: 0; + display: flex; + justify-content: center; + gap: 0.5rem; + z-index: 3; +} +.carousel-dot { + width: 8px; + height: 8px; + border-radius: 50%; + border: none; + background: rgba(255, 255, 255, 0.35); + cursor: pointer; + transition: all 0.3s; +} +.carousel-dot.active { + background: rgba(255, 255, 255, 0.8); + transform: scale(1.2); +} +.arrow { + position: absolute; + top: 50%; + transform: translateY(-50%); + z-index: 3; + background: rgba(27, 19, 25, 0.5); + color: #fff; + border: none; + width: 2.5rem; + height: 2.5rem; + border-radius: 50%; + cursor: pointer; + display: flex; + align-items: center; + justify-content: center; + transition: all 0.2s; +} +.arrow:hover { + background: rgba(27, 19, 25, 0.8); + transform: translateY(-50%) scale(1.05); +} +.arrow.left { + left: 1rem; +} +.arrow.right { + right: 1rem; +} +@media (max-width: 768px) { + .arrow { + display: none; + } +} +.stitle { + text-align: center; + padding: 2rem 0; +} +.stitle h1 { + font-size: clamp(1.12rem, 2.4vw, 1.6rem); + max-width: 720px; + margin: 0 auto; + color: var(--dark); +} +.tabs-section { + padding: 2rem 0; +} +.tabs-wrap { + display: flex; + gap: 2rem; +} +.tabs-nav { + flex: 0 0 220px; + max-width: 220px; + display: flex; + flex-direction: column; + gap: 0.25rem; +} +.tabs-content { + flex: 1; + min-height: 200px; + font-size: 1rem; + line-height: 1.7; +} +.tab-btn { + display: block; + padding: 0.6rem 1rem; + color: #212529; + border-radius: var(--radius); + border: none; + background: none; + width: 100%; + text-align: left; + font-size: 0.9rem; + font-weight: 500; + cursor: pointer; + transition: all 0.2s; +} +.tab-btn:hover { + background: var(--light); +} +.tab-btn.active { + background: linear-gradient( + 135deg, + rgba(113, 75, 103, 0.08), + rgba(113, 75, 103, 0.03) + ); + color: var(--primary); + font-weight: 600; + border-left: 3px solid var(--primary); +} +.tab-btn small { + display: block; + color: rgba(33, 37, 41, 0.55); + font-size: 0.72rem; + margin-top: 0.1rem; +} +.tab-btn.active small { + color: rgba(113, 75, 103, 0.6); +} +.tab-pane { + display: none; +} +.tab-pane.active { + display: block; +} +@media (max-width: 992px) { + .tabs-wrap { + flex-direction: column; + } + .tabs-nav { + flex: 0 0 100%; + max-width: 100%; + flex-direction: row; + overflow-x: auto; + padding-bottom: 0.5rem; + border-bottom: 1px solid var(--border); + } + .tab-btn { + white-space: nowrap; + width: auto; + border-left: none; + } + .tab-btn.active { + border-left: none; + border-bottom: 3px solid var(--primary); + } + .tab-btn small { + display: none; + } + .tabs-content { + flex: 0 0 100%; + max-width: 100%; + } +} +.psection { + padding: 2rem 0; + background: var(--light); +} +.pgrid { + display: grid; + grid-template-columns: repeat(4, 1fr); + gap: 1rem; +} +.pcard { + background: #fff; + border: 1px solid var(--border); + border-radius: var(--radius-lg); + overflow: hidden; + display: flex; + flex-direction: column; + transition: all 0.3s; + box-shadow: 0 1px 3px rgba(0, 0, 0, 0.06); +} +.pcard:hover { + box-shadow: 0 4px 16px rgba(0, 0, 0, 0.08); + transform: translateY(-3px); +} +.pcard.featured { + border: 2px solid var(--primary); + position: relative; +} +.pcard.featured::before { + content: "Most Popular"; + position: absolute; + top: 0.75rem; + right: 0.75rem; + background: var(--primary); + color: #fff; + padding: 0.2rem 0.6rem; + border-radius: 2rem; + font-size: 0.6rem; + font-weight: 600; +} +.pcard-body { + padding: 1.25rem; + flex: 1; +} +.pcard-body h3 { + font-size: 1.1rem; + font-weight: 700; +} +.pcard .price { + margin: 0.5rem 0; +} +.pcard .price strong { + font-size: clamp(1.28rem, 2vw, 1.92rem); + color: var(--dark); +} +.pcard .price small { + color: rgba(33, 37, 41, 0.55); + font-size: 0.82rem; +} +.pcard .desc { + font-size: 0.82rem; + color: rgba(33, 37, 41, 0.6); + min-height: 2rem; + font-style: italic; +} +.pcard .btn { + margin-bottom: 0.75rem; + width: 100%; +} +.pcard ul { + list-style: none; + padding: 0; + margin: 0; +} +.pcard li { + padding: 0.4rem 0; + font-size: 0.82rem; + border-bottom: 1px solid rgba(0, 0, 0, 0.05); + display: flex; + align-items: center; + gap: 0.4rem; +} +.pcard li:last-child { + border-bottom: 0; +} +.pcard-foot { + padding: 0.6rem 1.25rem; + text-align: center; + border-top: 1px solid var(--border); + font-size: 0.78rem; + color: rgba(33, 37, 41, 0.55); +} +@media (max-width: 992px) { + .pgrid { + grid-template-columns: repeat(2, 1fr); + } +} +@media (max-width: 576px) { + .pgrid { + grid-template-columns: 1fr; + } +} +.trial { + padding: 3rem 0; + background: linear-gradient(135deg, #1b1319, #2a1d27); + color: #fff; +} +.trial h2 { + color: #fff; +} +.trial p { + color: rgba(255, 255, 255, 0.8); +} +.abanner { + padding: 2rem 0; + text-align: center; + background: #fff; +} +.abanner h2 { + font-size: clamp(1.12rem, 2.4vw, 1.6rem) !important; + max-width: 700px; + margin: 0 auto 0.5rem; +} +.footer { + background: var(--dark); + color: rgba(255, 255, 255, 0.85); + padding-top: 3rem; +} +.fgrid { + display: grid; + grid-template-columns: 1.5fr 3fr 3.5fr; + gap: 2rem; + padding-bottom: 2rem; + border-bottom: 1px solid rgba(255, 255, 255, 0.08); +} +.footer h5 { + color: #fff; + margin-bottom: 0.8rem; + font-weight: 600; +} +.footer ul { + list-style: none; + padding: 0; +} +.footer li { + margin-bottom: 0.3rem; +} +.footer a { + color: rgba(255, 255, 255, 0.65); + transition: color 0.2s; +} +.footer a:hover { + color: #fff; + text-decoration: none; +} +.footer p { + color: rgba(255, 255, 255, 0.7); + font-size: 0.85rem; + line-height: 1.7; +} +.footer strong { + color: #fff; +} +.footer .social a { + display: inline-flex; + align-items: center; + justify-content: center; + width: 2.5rem; + height: 2.5rem; + border-radius: 50%; + background: rgba(255, 255, 255, 0.08); + color: rgba(255, 255, 255, 0.7); + margin-right: 0.3rem; + transition: all 0.2s; +} +.footer .social a:hover { + background: var(--primary); + color: #fff; +} +.fform label { + font-weight: 500; + margin-bottom: 0.25rem; + display: block; + color: #fff; +} +.fform input { + display: block; + width: 100%; + padding: 0.5rem 0.8rem; + font-size: 0.85rem; + background: rgba(255, 255, 255, 0.08); + border: 1px solid rgba(255, 255, 255, 0.12); + border-radius: 0.5rem; + color: #fff; + margin-bottom: 0.75rem; +} +.fform input:focus { + outline: none; + border-color: var(--primary); +} +.fform input::placeholder { + color: rgba(255, 255, 255, 0.35); +} +.fcopy { + padding: 1rem 0; + text-align: center; + font-size: 0.82rem; + color: rgba(255, 255, 255, 0.5); +} +@media (max-width: 992px) { + .fgrid { + grid-template-columns: 1fr; + } +} +.spinner-overlay { + position: absolute; + inset: 0; + display: flex; + align-items: center; + justify-content: center; + background: var(--dark); + z-index: 5; + transition: opacity 0.5s; +} +.spinner-overlay.hidden { + opacity: 0; + pointer-events: none; +} +.spinner { + width: 2rem; + height: 2rem; + border: 3px solid rgba(255, 255, 255, 0.15); + border-top-color: #fff; + border-radius: 50%; + animation: spin 0.8s linear infinite; +} +@keyframes spin { + to { + transform: rotate(360deg); + } +} - /* ---- Billing Toggle ---- */ - .billing-toggle-wrap { - display: flex; - align-items: center; - justify-content: center; - gap: 0.75rem; - margin-bottom: 1.5rem; - } - .toggle-label { - font-size: 0.82rem; - font-weight: 500; - color: rgba(33, 37, 41, 0.6); - cursor: pointer; - transition: color 0.2s; - user-select: none; - } - .toggle-label.active { - color: var(--dark); - font-weight: 600; - } - .toggle-label small { - display: block; - font-size: 0.62rem; - font-weight: 400; - color: #28a745; - margin-top: 0.1rem; - } - .toggle-switch { - width: 48px; - height: 26px; - background: var(--border); - border-radius: 13px; - cursor: pointer; - position: relative; - transition: background 0.25s; - flex-shrink: 0; - } - .toggle-switch.yearly { - background: var(--primary); - } - .toggle-switch .thumb { - position: absolute; - top: 3px; - left: 3px; - width: 20px; - height: 20px; - background: #fff; - border-radius: 50%; - transition: left 0.25s; - box-shadow: 0 1px 3px rgba(0, 0, 0, 0.15); - } - .toggle-switch.yearly .thumb { - left: 25px; - } - .price-save { - font-size: 0.6rem; - font-weight: 700; - color: #28a745; - margin-top: 0.15rem; - } - .price-period { - color: rgba(33, 37, 41, 0.55); - font-size: 0.68rem; - } - /* ---- Blog Section ---- */ - .blog-section { - padding: 3rem 0; - background: #08080c; - color: #e8e8f0; - } - .blog-section h2 { - color: #e8e8f0; - } - .blog-search-wrap { - max-width: 500px; - margin: 0 auto 2rem; - } - .blog-search { - width: 100%; - padding: 0.75rem 1rem; - font-size: 0.85rem; - background: #1a1a2e; - border: 1px solid #2a2a4e; - border-radius: 0.5rem; - color: #e8e8f0; - font-family: Inter, sans-serif; - transition: border-color 0.2s; - outline: none; - } - .blog-search:focus { - border-color: #00f5ff; - box-shadow: 0 0 0 2px rgba(0, 245, 255, 0.15); - } - .blog-search::placeholder { - color: rgba(232, 232, 240, 0.35); - } - .blog-grid { - display: grid; - grid-template-columns: repeat(3, 1fr); - gap: 1.25rem; - margin-bottom: 2rem; - } - @media (max-width: 992px) { - .blog-grid { - grid-template-columns: repeat(2, 1fr); - } - } - @media (max-width: 576px) { - .blog-grid { - grid-template-columns: 1fr; - } - } - .blog-card { - background: #12121c; - border: 1px solid #1a1a2e; - border-radius: 0.6rem; - padding: 1.25rem; - display: flex; - flex-direction: column; - transition: - transform 0.2s, - border-color 0.2s, - box-shadow 0.2s; - } - .blog-card:hover { - transform: translateY(-2px); - border-color: #00f5ff; - box-shadow: 0 4px 20px rgba(0, 245, 255, 0.08); - } - .blog-card-top { - display: flex; - align-items: center; - gap: 0.5rem; - margin-bottom: 0.75rem; - flex-wrap: wrap; - } - .blog-badge { - display: inline-block; - padding: 0.15rem 0.5rem; - border-radius: 3rem; - font-size: 0.6rem; - font-weight: 700; - letter-spacing: 0.04em; - text-transform: uppercase; - color: #08080c; - } - .blog-badge-speed-run { - background: #f472b6; - } - .blog-badge-guide { - background: #a78bfa; - } - .blog-badge-howto { - background: #00f5ff; - } - .blog-badge-news { - background: #ffaa00; - } - .blog-badge-default { - background: #a78bfa; - } - .blog-agent { - display: inline-block; - padding: 0.15rem 0.45rem; - border-radius: 3rem; - font-size: 0.56rem; - font-weight: 600; - background: rgba(0, 245, 255, 0.15); - color: #00f5ff; - border: 1px solid rgba(0, 245, 255, 0.25); - } - .blog-date { - font-size: 0.82rem; - color: rgba(232, 232, 240, 0.45); - margin-bottom: 0.4rem; - } - .blog-card h3 { - font-family: "Inter Tight", sans-serif; - font-size: 1.1rem; - font-weight: 600; - margin: 0 0 0.5rem; - line-height: 1.35; - } - .blog-card h3 a { - color: #e8e8f0; - text-decoration: none; - transition: color 0.2s; - } - .blog-card h3 a:hover { - color: #00f5ff; - } - .blog-teaser { - font-size: 0.9rem; - color: rgba(232, 232, 240, 0.65); - line-height: 1.55; - margin-bottom: 1rem; - flex: 1; - } - .blog-readmore { - font-size: 0.85rem; - color: #00f5ff; - text-decoration: none; - font-weight: 500; - transition: opacity 0.2s; - margin-top: auto; - } - .blog-readmore:hover { - opacity: 0.75; - } - .blog-empty { - grid-column: 1 / -1; - text-align: center; - padding: 2rem; - color: rgba(232, 232, 240, 0.5); - font-size: 0.9rem; - } - .blog-pagination { - display: flex; - align-items: center; - justify-content: center; - gap: 0.75rem; - padding: 1rem 0; - } - .blog-page-btn { - padding: 0.4rem 1rem; - font-size: 0.85rem; - background: #12121c; - border: 1px solid #1a1a2e; - border-radius: 0.4rem; - color: #e8e8f0; - cursor: pointer; - font-family: Inter, sans-serif; - transition: - border-color 0.2s, - background 0.2s; - } - .blog-page-btn:hover:not(:disabled) { - border-color: #00f5ff; - background: rgba(0, 245, 255, 0.08); - } - .blog-page-btn:disabled { - opacity: 0.3; - cursor: default; - } - .blog-page-info { - font-size: 0.78rem; - color: rgba(232, 232, 240, 0.55); - } +/* ---- Billing Toggle ---- */ +.billing-toggle-wrap { + display: flex; + align-items: center; + justify-content: center; + gap: 0.75rem; + margin-bottom: 1.5rem; +} +.toggle-label { + font-size: 0.82rem; + font-weight: 500; + color: rgba(33, 37, 41, 0.6); + cursor: pointer; + transition: color 0.2s; + user-select: none; +} +.toggle-label.active { + color: var(--dark); + font-weight: 600; +} +.toggle-label small { + display: block; + font-size: 0.62rem; + font-weight: 400; + color: #28a745; + margin-top: 0.1rem; +} +.toggle-switch { + width: 48px; + height: 26px; + background: var(--border); + border-radius: 13px; + cursor: pointer; + position: relative; + transition: background 0.25s; + flex-shrink: 0; +} +.toggle-switch.yearly { + background: var(--primary); +} +.toggle-switch .thumb { + position: absolute; + top: 3px; + left: 3px; + width: 20px; + height: 20px; + background: #fff; + border-radius: 50%; + transition: left 0.25s; + box-shadow: 0 1px 3px rgba(0, 0, 0, 0.15); +} +.toggle-switch.yearly .thumb { + left: 25px; +} +.price-save { + font-size: 0.6rem; + font-weight: 700; + color: #28a745; + margin-top: 0.15rem; +} +.price-period { + color: rgba(33, 37, 41, 0.55); + font-size: 0.68rem; +} +/* ---- Partner Banner ---- */ +.partner-banner { + padding: 2rem 0; + background: #f6f5f4; + text-align: center; +} +.partner-banner h3 { + font-family: "Inter Tight", sans-serif; + font-size: 1rem; + font-weight: 600; + color: rgba(33, 37, 41, 0.45); + text-transform: uppercase; + letter-spacing: 0.08em; + margin-bottom: 1.5rem; +} +.partner-grid { + display: flex; + flex-wrap: wrap; + align-items: center; + justify-content: center; + gap: 2rem; +} +.partner-item { + display: flex; + flex-direction: column; + align-items: center; + gap: 0.4rem; + text-decoration: none; + color: rgba(33, 37, 41, 0.55); + font-size: 0.75rem; + transition: opacity 0.2s; +} +.partner-item:hover { + opacity: 0.7; +} +.partner-item img { + width: 32px; + height: 32px; + border-radius: 6px; + object-fit: contain; +} +@media (max-width: 768px) { + .partner-grid { + gap: 1.25rem; + } + .partner-item img { + width: 28px; + height: 28px; + } +} +/* ---- Blog Section ---- */ +.blog-section { + padding: 3rem 0; + background: #08080c; + color: #e8e8f0; +} +.blog-section h2 { + color: #e8e8f0; +} +.blog-search-wrap { + max-width: 500px; + margin: 0 auto 2rem; +} +.blog-search { + width: 100%; + padding: 0.75rem 1rem; + font-size: 0.85rem; + background: #1a1a2e; + border: 1px solid #2a2a4e; + border-radius: 0.5rem; + color: #e8e8f0; + font-family: Inter, sans-serif; + transition: border-color 0.2s; + outline: none; +} +.blog-search:focus { + border-color: #00f5ff; + box-shadow: 0 0 0 2px rgba(0, 245, 255, 0.15); +} +.blog-search::placeholder { + color: rgba(232, 232, 240, 0.35); +} +.blog-grid { + display: grid; + grid-template-columns: repeat(3, 1fr); + gap: 1.25rem; + margin-bottom: 2rem; +} +@media (max-width: 992px) { + .blog-grid { + grid-template-columns: repeat(2, 1fr); + } +} +@media (max-width: 576px) { + .blog-grid { + grid-template-columns: 1fr; + } +} +.blog-card { + background: #12121c; + border: 1px solid #1a1a2e; + border-radius: 0.6rem; + padding: 1.25rem; + display: flex; + flex-direction: column; + transition: + transform 0.2s, + border-color 0.2s, + box-shadow 0.2s; +} +.blog-card:hover { + transform: translateY(-2px); + border-color: #00f5ff; + box-shadow: 0 4px 20px rgba(0, 245, 255, 0.08); +} +.blog-card-top { + display: flex; + align-items: center; + gap: 0.5rem; + margin-bottom: 0.75rem; + flex-wrap: wrap; +} +.blog-badge { + display: inline-block; + padding: 0.15rem 0.5rem; + border-radius: 3rem; + font-size: 0.6rem; + font-weight: 700; + letter-spacing: 0.04em; + text-transform: uppercase; + color: #08080c; +} +.blog-badge-speed-run { + background: #f472b6; +} +.blog-badge-guide { + background: #a78bfa; +} +.blog-badge-howto { + background: #00f5ff; +} +.blog-badge-news { + background: #ffaa00; +} +.blog-badge-default { + background: #a78bfa; +} +.blog-agent { + display: inline-block; + padding: 0.15rem 0.45rem; + border-radius: 3rem; + font-size: 0.56rem; + font-weight: 600; + background: rgba(0, 245, 255, 0.15); + color: #00f5ff; + border: 1px solid rgba(0, 245, 255, 0.25); +} +.blog-date { + font-size: 0.82rem; + color: rgba(232, 232, 240, 0.45); + margin-bottom: 0.4rem; +} +.blog-card h3 { + font-family: "Inter Tight", sans-serif; + font-size: 1.1rem; + font-weight: 600; + margin: 0 0 0.5rem; + line-height: 1.35; +} +.blog-card h3 a { + color: #e8e8f0; + text-decoration: none; + transition: color 0.2s; +} +.blog-card h3 a:hover { + color: #00f5ff; +} +.blog-teaser { + font-size: 0.9rem; + color: rgba(232, 232, 240, 0.65); + line-height: 1.55; + margin-bottom: 1rem; + flex: 1; +} +.blog-readmore { + font-size: 0.85rem; + color: #00f5ff; + text-decoration: none; + font-weight: 500; + transition: opacity 0.2s; + margin-top: auto; +} +.blog-readmore:hover { + opacity: 0.75; +} +.blog-empty { + grid-column: 1 / -1; + text-align: center; + padding: 2rem; + color: rgba(232, 232, 240, 0.5); + font-size: 0.9rem; +} +.blog-pagination { + display: flex; + align-items: center; + justify-content: center; + gap: 0.75rem; + padding: 1rem 0; +} +.blog-page-btn { + padding: 0.4rem 1rem; + font-size: 0.85rem; + background: #12121c; + border: 1px solid #1a1a2e; + border-radius: 0.4rem; + color: #e8e8f0; + cursor: pointer; + font-family: Inter, sans-serif; + transition: + border-color 0.2s, + background 0.2s; +} +.blog-page-btn:hover:not(:disabled) { + border-color: #00f5ff; + background: rgba(0, 245, 255, 0.08); +} +.blog-page-btn:disabled { + opacity: 0.3; + cursor: default; +} +.blog-page-info { + font-size: 0.78rem; + color: rgba(232, 232, 240, 0.55); +}