:root {
    --up-bg: radial-gradient(circle at 100% -40%, rgba(5, 116, 113, 0.2), transparent 45%),
        linear-gradient(rgb(255, 255, 255) 0%, rgb(238, 244, 248) 100%);
    --up-hero: linear-gradient(126deg, #052536 0%, #0d3f56 42%, #0d5f66 100%);
    --up-card: #ffffff;
    --up-text: #15293a;
    --up-muted: #5f7384;
    --up-border: #d7e5ec;
    --up-accent: #0c8f8a;
    --up-accent-2: #067471;
    --up-dark: #091d2b;
    --up-shadow-sm: 0 14px 28px rgba(17, 43, 61, 0.08);
    --up-shadow-md: 0 24px 60px rgba(15, 47, 66, 0.15);
}

* {
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

body {
    font-family: "Manrope", "Lato", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
    background: var(--up-bg);
    color: var(--up-text);
}

h1,
h2,
h3,
h4,
h5,
h6 {
    font-family: "Space Grotesk", "Manrope", sans-serif;
    color: var(--up-text);
    letter-spacing: -0.02em;
}

a {
    color: var(--up-accent-2);
}

a:hover,
a:focus {
    color: var(--up-accent);
}

section {
    padding: 94px 0;
}

section h3.section-subheading {
    color: var(--up-accent-2);
    font-style: normal;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.09em;
    font-size: 12px;
}

section h2.section-heading {
    font-weight: 700;
}

section h2.section-heading:after {
    border-bottom-color: var(--up-accent);
}

#mainNav,
.navbar-default,
.navbar-default.affix {
    background: transparent;
    border: 0;
}

#mainNav {
    padding: 16px 0 0;
}

#mainNav .container {
    border: 1px solid rgba(215, 229, 236, 0.9);
    border-radius: 16px;
    background: rgba(255, 255, 255, 0.82);
    box-shadow: var(--up-shadow-sm);
    backdrop-filter: blur(10px);
}

.navbar-default .navbar-brand {
    color: #11283a;
    font-weight: 800;
    letter-spacing: 0.07em;
    text-transform: uppercase;
}

.navbar-default .navbar-nav > li > a {
    color: #2f495c;
    font-weight: 700;
}

.navbar-default .navbar-nav > li > a:hover,
.navbar-default .navbar-nav > li > a:focus,
.navbar-default .navbar-nav > .active > a,
.navbar-default .navbar-nav > .active > a:hover,
.navbar-default .navbar-nav > .active > a:focus {
    color: var(--up-accent);
    background: rgba(12, 143, 138, 0.12);
    border-radius: 12px;
}

.navbar-default .navbar-toggle {
    border-color: #d2e4ea;
    border-radius: 12px;
}

.navbar-default .navbar-toggle .icon-bar {
    background-color: #0a4f62;
}

header.shorten {
    background-image: none;
}

header.shorten .section-inner {
    position: relative;
    overflow: hidden;
    background: var(--up-hero);
    border-bottom: 1px solid rgba(11, 59, 76, 0.45);
}

header.shorten .section-inner::before {
    content: "";
    position: absolute;
    inset: 0;
    background:
        radial-gradient(80% 78% at 6% -14%, rgba(91, 213, 203, 0.2), transparent 52%),
        radial-gradient(70% 68% at 94% 0, rgba(40, 183, 214, 0.24), transparent 46%);
    pointer-events: none;
}

header.shorten .section-inner::after {
    content: "";
    position: absolute;
    right: -110px;
    bottom: -170px;
    width: 430px;
    height: 430px;
    border-radius: 50%;
    background: radial-gradient(circle at 30% 30%, rgba(255, 255, 255, 0.18), rgba(255, 255, 255, 0));
    pointer-events: none;
}

header .intro-text {
    position: relative;
    z-index: 2;
}

header .intro-text .intro-lead-in {
    color: rgba(237, 249, 255, 0.88);
    font-style: normal;
    font-weight: 500;
}

header .intro-text .intro-heading {
    color: #ffffff;
    text-shadow: 0 12px 32px rgba(4, 20, 30, 0.35);
}

.shorten #shorten.cloud-shorten-form {
    margin: 0 auto;
    max-width: 820px;
    width: 100%;
}

.shorten #shorten.cloud-shorten-form .cloud-shorten-group {
    margin-bottom: 0;
}

.shorten #shorten.cloud-shorten-form .cloud-shorten-shell {
    position: relative;
    padding: 12px;
    border-radius: 34px;
    background: linear-gradient(135deg, rgba(255, 255, 255, 0.18) 0%, rgba(132, 231, 233, 0.12) 100%);
    border: 1px solid rgba(203, 239, 241, 0.34);
    box-shadow: 0 28px 60px rgba(3, 17, 28, 0.24);
    backdrop-filter: blur(16px);
    -webkit-backdrop-filter: blur(16px);
}

.shorten #shorten.cloud-shorten-form .cloud-shorten-shell::before {
    content: "";
    position: absolute;
    inset: 14px 160px 14px 18px;
    border-radius: 24px;
    background: radial-gradient(circle at left center, rgba(91, 232, 218, 0.18), rgba(91, 232, 218, 0));
    pointer-events: none;
}

.shorten #shorten.cloud-shorten-form .cloud-shorten-input {
    width: 100%;
    height: 84px;
    padding: 0 230px 0 28px;
    border-radius: 24px;
    border: 1px solid rgba(213, 238, 244, 0.88);
    background: linear-gradient(180deg, rgba(255, 255, 255, 0.98) 0%, rgba(243, 251, 255, 0.96) 100%);
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.92), 0 14px 30px rgba(4, 22, 34, 0.16);
    color: #17384b;
    font-family: "Manrope", sans-serif;
    font-size: 18px;
    font-weight: 700;
    letter-spacing: 0.01em;
    transition: border-color 0.25s ease, box-shadow 0.25s ease, transform 0.25s ease;
}

.shorten #shorten.cloud-shorten-form .cloud-shorten-input:focus {
    border-color: rgba(101, 233, 226, 0.95);
    box-shadow: 0 0 0 6px rgba(79, 212, 212, 0.12), inset 0 1px 0 rgba(255, 255, 255, 0.92), 0 18px 34px rgba(4, 22, 34, 0.2);
    transform: translateY(-1px);
}

.shorten #shorten.cloud-shorten-form .cloud-shorten-input::-webkit-input-placeholder {
    color: rgba(34, 78, 99, 0.55);
    font-weight: 600;
}

.shorten #shorten.cloud-shorten-form .cloud-shorten-input:-moz-placeholder {
    color: rgba(34, 78, 99, 0.55);
    font-weight: 600;
}

.shorten #shorten.cloud-shorten-form .cloud-shorten-input::-moz-placeholder {
    color: rgba(34, 78, 99, 0.55);
    font-weight: 600;
}

.shorten #shorten.cloud-shorten-form .cloud-shorten-input:-ms-input-placeholder {
    color: rgba(34, 78, 99, 0.55);
    font-weight: 600;
}

.shorten #shorten.cloud-shorten-form .cloud-shorten-submit {
    position: absolute;
    top: 50%;
    right: 18px;
    transform: translateY(-50%);
    min-width: 188px;
    height: 56px;
    padding: 0 24px 0 26px;
    border: 1px solid rgba(255, 255, 255, 0.22);
    border-radius: 20px;
    background: linear-gradient(135deg, #63f0df 0%, #3da7e4 48%, #2165d1 100%);
    box-shadow: 0 18px 28px rgba(23, 95, 188, 0.34), inset 0 1px 0 rgba(255, 255, 255, 0.25);
    color: #ffffff;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 12px;
    font-family: "Space Grotesk", "Manrope", sans-serif;
    font-size: 15px;
    font-weight: 700;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    transition: transform 0.25s ease, box-shadow 0.25s ease, filter 0.25s ease;
}

.shorten #shorten.cloud-shorten-form .cloud-shorten-submit::before {
    content: "";
    position: absolute;
    inset: 1px;
    border-radius: inherit;
    background: linear-gradient(180deg, rgba(255, 255, 255, 0.18), rgba(255, 255, 255, 0));
    pointer-events: none;
}

.shorten #shorten.cloud-shorten-form .cloud-shorten-submit::after {
    content: "\2192";
    width: 30px;
    height: 30px;
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.2);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 18px;
    line-height: 1;
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.28);
}

.shorten #shorten.cloud-shorten-form .cloud-shorten-submit:hover,
.shorten #shorten.cloud-shorten-form .cloud-shorten-submit:focus {
    transform: translateY(-50%) translateX(2px) scale(1.02);
    box-shadow: 0 22px 34px rgba(23, 95, 188, 0.42), inset 0 1px 0 rgba(255, 255, 255, 0.28);
    filter: saturate(1.05);
}

.shorten #shorten.cloud-shorten-form .cloud-shorten-submit:active {
    transform: translateY(-50%) scale(0.985);
    box-shadow: 0 12px 22px rgba(23, 95, 188, 0.32), inset 0 2px 6px rgba(0, 0, 0, 0.12);
}

.shorten #shorten.cloud-shorten-form .cloud-shorten-submit[disabled] {
    opacity: 0.75;
    cursor: not-allowed;
    filter: grayscale(0.08);
}

.shorten.add-link-result {
    margin: 20px auto 0;
    max-width: 820px;
}

.shorten.add-link-result .input-group {
    display: flex;
    align-items: stretch;
    overflow: hidden;
    border-radius: 24px;
    border: 1px solid rgba(203, 239, 241, 0.34);
    background: linear-gradient(135deg, rgba(255, 255, 255, 0.2) 0%, rgba(132, 231, 233, 0.12) 100%);
    box-shadow: 0 24px 50px rgba(3, 17, 28, 0.2);
}

.shorten.add-link-result .form-control.input-lg {
    height: 78px;
    border: 0;
    background: rgba(255, 255, 255, 0.97);
    color: #17384b;
    font-family: "Manrope", sans-serif;
    font-size: 17px;
    font-weight: 700;
    padding: 0 24px;
}

.shorten.add-link-result .input-group-addon {
    min-width: 68px;
    border: 0;
    color: #ffffff;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    transition: filter 0.2s ease, transform 0.2s ease;
}

.shorten.add-link-result .input-group-addon.copy-it {
    background: linear-gradient(180deg, #38b8d6 0%, #1f82c8 100%);
}

.shorten.add-link-result .input-group-addon.reshort {
    background: linear-gradient(180deg, #1e3650 0%, #152636 100%);
}

.shorten.add-link-result .input-group-addon:hover {
    filter: brightness(1.08);
    transform: translateY(-1px);
}

@media (max-width: 767px) {
    .shorten #shorten.cloud-shorten-form .cloud-shorten-shell {
        padding: 10px;
        border-radius: 28px;
    }

    .shorten #shorten.cloud-shorten-form .cloud-shorten-shell::before {
        inset: 12px;
        border-radius: 20px;
    }

    .shorten #shorten.cloud-shorten-form .cloud-shorten-input {
        height: 72px;
        padding: 0 22px;
        border-radius: 20px;
        font-size: 16px;
    }

    .shorten #shorten.cloud-shorten-form .cloud-shorten-submit {
        position: relative;
        top: auto;
        right: auto;
        width: 100%;
        min-width: 0;
        margin-top: 14px;
        transform: none;
    }

    .shorten #shorten.cloud-shorten-form .cloud-shorten-submit:hover,
    .shorten #shorten.cloud-shorten-form .cloud-shorten-submit:focus {
        transform: translateY(-1px);
    }

    .shorten #shorten.cloud-shorten-form .cloud-shorten-submit:active {
        transform: scale(0.99);
    }

    .shorten.add-link-result .input-group {
        border-radius: 20px;
    }

    .shorten.add-link-result .form-control.input-lg {
        height: 70px;
        font-size: 15px;
        padding: 0 18px;
    }

    .shorten.add-link-result .input-group-addon {
        min-width: 58px;
    }
}

@media (min-width: 768px) and (max-width: 991px) {
    .shorten #shorten.cloud-shorten-form .cloud-shorten-input {
        padding-right: 214px;
    }

    .shorten #shorten.cloud-shorten-form .cloud-shorten-submit {
        min-width: 172px;
    }
}

.steps {
    background: transparent;
}

.step,
.feature,
.testimonials .testimonial,
.stat,
#contact-form,
.box,
.blog-item,
.box-main {
    border: 1px solid var(--up-border);
    border-radius: 20px;
    background: linear-gradient(180deg, #ffffff 0%, #f8fcfe 100%);
    box-shadow: var(--up-shadow-sm);
}

.step,
.feature,
.stat {
    padding: 30px 24px;
}

.step .step-heading,
.feature .feature-heading {
    font-weight: 700;
}

.feature-content,
.testimonials .content,
.stat-text,
#services,
.page-content {
    color: var(--up-muted);
    font-style: normal;
}

.feature {
    transition: transform 0.28s ease, box-shadow 0.28s ease, border-color 0.28s ease;
}

.feature:hover {
    transform: translateY(-8px);
    border-color: rgba(9, 140, 136, 0.34);
    box-shadow: var(--up-shadow-md);
}

#testimonials {
    background:
        radial-gradient(circle at 100% -40%, rgba(5, 116, 113, 0.14), transparent 45%),
        linear-gradient(rgb(255, 255, 255) 0%, rgb(238, 244, 248) 100%);
}

#testimonials .testimonial {
    padding: 26px;
}

.testimonials .content .fa-stack-2x {
    color: var(--up-accent);
}

.testimonials .content .fa-quote-left.fa-inverse {
    color: #ffffff;
}

.stats {
    color: #d7f4ff;
    background:
        radial-gradient(80% 85% at 0 -25%, rgba(90, 224, 201, 0.26), transparent 52%),
        linear-gradient(130deg, #062331 0%, #0b4a5f 48%, #0f6f69 100%);
}

.stats h3.section-subheading,
.stats h2.section-heading,
.stats .stat-num,
.stats .stat-text {
    color: #ecfcff;
}

.stats h2.section-heading:after {
    border-bottom-color: rgba(236, 252, 255, 0.75);
}

.stats .stat {
    background: rgba(255, 255, 255, 0.05);
    border: 1px solid rgba(170, 231, 237, 0.28);
    box-shadow: 0 14px 32px rgba(0, 16, 25, 0.25);
}

section#services .container,
.box-main {
    border: 1px solid var(--up-border);
    border-radius: 20px;
    background: linear-gradient(180deg, #ffffff 0%, #f8fcfe 100%);
    box-shadow: var(--up-shadow-sm);
    padding: 30px;
}

.separator > .container {
    border-top-color: #d9e8ee;
}

section#contact {
    background:
        radial-gradient(circle at 100% -40%, rgba(5, 116, 113, 0.16), transparent 45%),
        linear-gradient(rgb(255, 255, 255) 0%, rgb(238, 244, 248) 100%);
}

section#contact #contact-form {
    padding: 30px;
}

section#contact .form-group input,
section#contact .form-group textarea,
.form-control {
    border: 1px solid #ccdbe3;
    border-radius: 13px;
    background: #ffffff;
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.9);
}

.form-control:focus,
section#contact .form-group input:focus,
section#contact .form-group textarea:focus {
    border-color: #73b6b9;
    box-shadow: 0 0 0 3px rgba(12, 143, 138, 0.14);
}

section#contact .btn-contact,
.btn.btn-contact {
    color: #ffffff;
    border-radius: 14px;
    border: 0;
    background: linear-gradient(135deg, #10aaa4 0%, #067471 100%);
    box-shadow: 0 16px 28px rgba(7, 111, 116, 0.36);
}

section#contact .btn-contact:hover,
.btn.btn-contact:hover {
    transform: translateY(-1px);
    background: linear-gradient(135deg, #0f9a95 0%, #065f5d 100%);
}

.payment-methods {
    background:
        radial-gradient(circle at 100% -40%, rgba(5, 116, 113, 0.12), transparent 45%),
        linear-gradient(rgb(255, 255, 255) 0%, rgb(238, 244, 248) 100%);
}

.payment-methods img {
    filter: saturate(1.05) drop-shadow(0 8px 14px rgba(13, 39, 53, 0.15));
}

footer {
    background: linear-gradient(180deg, #0b1e2c 0%, #081724 100%);
    color: #b8cad8;
}

footer .copyright-container {
    border-top: 1px solid rgba(125, 163, 188, 0.24);
}

footer .bottom-menu a {
    color: #d2e4ef;
}

footer .bottom-menu a:hover {
    color: #ffffff;
}

footer .social-links ul li a {
    background: rgba(255, 255, 255, 0.08);
    color: #ffffff;
    border: 1px solid rgba(146, 190, 210, 0.28);
}

footer .social-links ul li a:hover,
footer .social-links ul li a:focus,
footer .social-links ul li a:active {
    background: var(--up-accent);
    border-color: var(--up-accent);
}

#cookie-pop {
    background: #061824 !important;
    border-top: 1px solid rgba(112, 163, 191, 0.35);
}

.cookie-message,
.cookie-message a {
    color: #d7edf9 !important;
}

.cookie-confirm button {
    border-radius: 999px !important;
    padding: 7px 16px !important;
    border: 0 !important;
    background: linear-gradient(135deg, #10aaa4 0%, #067471 100%) !important;
    color: #ffffff !important;
}

.inner-page header .section-inner {
    background:
        radial-gradient(circle at 100% -40%, rgba(5, 116, 113, 0.2), transparent 45%),
        linear-gradient(rgb(255, 255, 255) 0%, rgb(238, 244, 248) 100%);
    border-bottom: 1px solid #d9e8ee;
}

.inner-page header .intro-text .intro-lead-in {
    color: #1e3447;
    font-weight: 700;
}

.inner-page section {
    padding: 34px 0;
}

@media (min-width: 1400px) {
    .container {
        width: 100%;
        max-width: 1360px;
    }
}

@media (max-width: 991px) {
    section {
        padding: 74px 0;
    }

    .step,
    .feature,
    .stat,
    #contact-form {
        padding: 22px 18px;
    }

    header .intro-text .intro-heading {
        font-size: 42px;
        line-height: 1.2;
    }
}

@media (max-width: 767px) {
    #mainNav {
        padding-top: 10px;
    }

    #mainNav .container {
        border-radius: 14px;
    }

    .navbar-default .navbar-collapse {
        border-top-color: #deebf0;
    }

    header .section-inner {
        padding-top: 48px;
    }

    header .intro-text .intro-heading {
        font-size: 32px;
    }

    .shorten #shorten input.input-lg {
        height: 54px;
        border-radius: 13px;
    }

    .shorten #shorten button {
        top: 8px;
        right: 8px;
    }

    section {
        padding: 58px 0;
    }
}
