:root {
    --navy: #062f59;
    --navy2: #063b68;
    --teal: #08bfae;
    --cyan: #087fae;
    --text: #17395f;
    --muted: #607695;
    --bg: #f6fafc;
    --line: #e7eef4;
    --shadow: 0 12px 32px rgba(15, 74, 111, 0.09);
}
* {
    box-sizing: border-box;
}
html {
    scroll-behavior: smooth;
}
body {
    margin: 0;
    font-family: Poppins, Arial, sans-serif;
    color: var(--text);
    background: #fff;
    -webkit-font-smoothing: antialiased;
}
a {
    color: inherit;
    text-decoration: none;
}
button,
input {
    font: inherit;
}
button {
    cursor: pointer;
}
svg {
    width: 1em;
    height: 1em;
    display: block;
}
.container {
    width: min(1180px, calc(100% - 44px));
    margin: auto;
}
.header {
    height: 76px;
    background: #fff;
    border-bottom: 1px solid #edf3f8;
    position: sticky;
    top: 0;
    z-index: 1000;
}
.header-inner {
    height: 100%;
    display: flex;
    align-items: center;
    gap: 28px;
}
.logo {
    width: 242px;
    max-width: 25vw;
}
.nav {
    margin-left: auto;
    display: flex;
    align-items: center;
    gap: 27px;
    font-size: 13px;
    font-weight: 600;
    color: #082f57;
}
.nav a {
    padding: 28px 0 23px;
    position: relative;
    white-space: nowrap;
}
.nav a.active:after {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    bottom: 14px;
    height: 3px;
    background: var(--teal);
    border-radius: 5px;
}
.header-actions {
    display: flex;
    gap: 9px;
    align-items: center;
}
.location-btn,
.business-btn {
    height: 44px;
    border: 0;
    border-radius: 17px;
    padding: 0 17px;
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: 12px;
    font-weight: 600;
    white-space: nowrap;
}
.location-btn {
    background: #f4f9fc;
    color: #0a355d;
    display: none;
}
.location-btn svg {
    width: 17px;
    color: #08ad9f;
}
.business-btn {
    background: linear-gradient(135deg, #092f58, #063b68);
    color: #fff;
}
.business-btn svg {
    width: 16px;
}
.menu {
    display: none;
    border: 0;
    background: none;
    font-size: 27px;
    color: var(--navy);
}
.hero {
    background-image: url("../img/banner.png");
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    overflow: hidden;
    position: relative;
    width: 100%;
}
.hero-inner {
    position: relative;
    min-height: 440px;
    padding: 50px 0 40px;
    display: flex;
    flex-direction: column;
    justify-content: center;
}
.hero-copy {
    width: 48%;
    position: relative;
    z-index: 3;
}
.kicker {
    display: inline-flex;
    padding: 7px 16px;
    background: #e9f4fa;
    border-radius: 20px;
    font-size: 11px;
    font-weight: 700;
    color: #113c65;
    margin-bottom: 11px;
}
h1 {
    font-size: 61px;
    line-height: 0.99;
    letter-spacing: -2.8px;
    margin: 0 0 14px;
    font-weight: 800;
    color: #062f59;
}
.gradient-text {
    background: linear-gradient(100deg, #0782ae 5%, #09c9ae 80%);
    -webkit-background-clip: text;
    background-clip: text;
    color: transparent;
}
.hero-copy p {
    font-size: 16px;
    line-height: 1.5;
    color: #496785;
    max-width: 510px;
    margin: 0 0 22px;
}
.hero-visual {
    position: absolute;
    right: -22px;
    top: 0;
    width: 60vw;
    height: 405px;
    object-fit: cover;
    object-position: center top;
    border-radius: 0 0 0 160px;
    opacity: 0.98;
    z-index: 1;
}
.search-row {
    z-index: 5;
    display: grid;
    grid-template-columns: 185px 1fr 135px;
    gap: 0;
    width: min(770px, calc(100% - 10px));
    max-width: none;
    margin: -30px 0 30px 0;
    border-radius: 18px;
    background: #fff;
    box-shadow: 0 9px 30px rgba(15, 74, 111, 0.11);
    overflow: hidden;
    border: 1px solid #eef4f7;
    position: relative;
}
.select-box,
.search-input {
    height: 58px;
    display: flex;
    align-items: center;
    padding: 0 18px;
    gap: 12px;
}
.select-box {
    border-right: 1px solid #edf1f4;
    color: #17395f;
    font-weight: 500;
}
.select-box svg {
    width: 18px;
    color: #05b7a5;
}
.chev {
    margin-left: auto;
    margin-bottom: 6px;
}
.search-input {
    color: #8190a5;
}
.search-input svg {
    width: 19px;
    color: #617a94;
    flex: 0 0 auto;
}
.search-input input {
    border: 0;
    outline: 0;
    width: 100%;
    font-size: 14px;
    color: #1d466d;
    background: transparent;
}
.search-btn {
    border: 0;
    background: linear-gradient(135deg, #0aa9a5, #08bfae);
    color: #fff;
    font-weight: 700;
    font-size: 14px;
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 10px;
}
.search-btn svg {
    width: 18px;
}
.quick-nav {
    z-index: 5;
    display: grid;
    grid-template-columns: repeat(8, 1fr);
    gap: 9px;
    margin: 0;
}
.quick-chip {
    background: #fff;
    border: 1px solid #edf1f5;
    border-radius: 15px;
    min-height: 74px;
    padding: 14px 3px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 6px;
    box-shadow: 0 6px 20px rgba(16, 60, 95, 0.05);
    font-size: 12px;
    color: #092f58;
    font-weight: 600;
}
.chip-icon {
    width: 46px;
    height: 46px;
    border-radius: 12px;
    display: grid;
    place-items: center;
    font-size: 22px;
    font-weight: 700;
}
.q-orange {
    background: #fff1e5;
    color: #ff741d;
}
.q-purple {
    background: #eee8ff;
    color: #7549e9;
}
.q-red {
    background: #ffe9eb;
    color: #ef4654;
}
.q-pink {
    background: #ffeaf5;
    color: #f02988;
}
.q-blue {
    background: #e5f2ff;
    color: #0c8cf0;
}
.q-green {
    background: #e2f8ef;
    color: #0aaa76;
}
.q-violet {
    background: #efe8ff;
    color: #6b42d9;
}
.q-yellow {
    background: #fff3db;
    color: #f2a500;
}
.q-teal {
    background: #e2f5f5;
    color: #0b9d9d;
}
.q-pink2 {
    background: #ffe7ef;
    color: #ec3981;
}
.q-blue2 {
    background: #e7f0ff;
    color: #247ce0;
}
.q-gray {
    background: #e9edf0;
    color: #697783;
}
.section {
    padding: 80px 0;
}
.section-head {
    text-align: center;
    margin-bottom: 28px;
}
.section-head h2 {
    font-size: 28px;
    letter-spacing: -1px;
    margin: 0 0 2px;
    color: #07345f;
    font-weight: 700;
}
.section-head p {
    margin: 0;
    color: #71819a;
    font-size: 14px;
}
.steps {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 50px;
}
.step {
    text-align: center;
    position: relative;
}
.step:not(:last-child):after {
    content: "→";
    position: absolute;
    right: -43px;
    top: 27px;
    font-size: 27px;
    color: #7f96ad;
}
.step-icon {
    width: 64px;
    height: 64px;
    border-radius: 50%;
    margin: 0 auto 10px;
    display: grid;
    place-items: center;
    position: relative;
    font-size: 29px;
}
.step-icon svg {
    width: 31px;
    height: 31px;
}
.step-1 {
    background: #e2f4ff;
    color: #0d91e8;
}
.step-2 {
    background: #e7f9f3;
    color: #0ab681;
}
.step-3 {
    background: #ffe8eb;
    color: #f14a55;
}
.step-4 {
    background: #fff1d9;
    color: #f3a300;
}
.step-no {
    position: absolute;
    right: 0;
    bottom: -1px;
    background: #fff;
    border-radius: 50%;
    width: 19px;
    height: 19px;
    font-size: 10px;
    display: grid;
    place-items: center;
    font-weight: 700;
}
.step h3 {
    margin: 0 0 2px;
    font-size: 14px;
    color: #082f58;
}
.step p {
    font-size: 11.5px;
    line-height: 1.55;
    color: #627695;
    margin: 0 auto;
    max-width: 200px;
}
.stats {
    margin-top: 34px;
    background: #f2f9fd;
    border-radius: 20px;
    padding: 20px 25px;
    display: grid;
    grid-template-columns: repeat(4, 1fr);
}
.stat {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 14px;
    position: relative;
}
.stat:not(:last-child):after {
    content: "";
    width: 1px;
    height: 45px;
    background: #dcebf3;
    position: absolute;
    right: 0;
}
.stat-icon {
    width: 51px;
    height: 51px;
    border-radius: 50%;
    background: #e5f5ff;
    color: #0a78c9;
    display: grid;
    place-items: center;
}
.stat-icon svg {
    width: 26px;
}
.stat strong {
    font-size: 23px;
    display: block;
    line-height: 1;
    color: #082f58;
}
.stat span {
    font-size: 10px;
    color: #284b6c;
}
.business-cta {
    background: linear-gradient(110deg, #062f5b 0%, #005d88 55%, #09b7a6 100%);
    color: #fff;
    border-radius: 28px;
    overflow: hidden;
    margin: 2px 0 40px;
    min-height: 235px;
    position: relative;
}
.business-cta:after {
    content: "";
    position: absolute;
    width: 340px;
    height: 180px;
    right: -20px;
    bottom: -110px;
    background: #4dcf98;
    border-radius: 50% 50% 0 0;
    opacity: 0.35;
}
.cta-inner {
    perspective: 1500px;
    display: grid;
    grid-template-columns: 1.1fr 0.9fr;
    gap: 25px;
    align-items: center;
    padding: 60px 50px;
    position: relative;
    z-index: 2;
}
.cta-tag {
    display: inline-flex;
    background: #0abca7;
    border-radius: 20px;
    padding: 6px 15px;
    font-size: 11px;
    font-weight: 700;
    margin-bottom: 10px;
}
.cta-copy h2 {
    font-size: 34px;
    margin: 0 0 5px;
    letter-spacing: -1px;
}
.cta-copy p {
    font-size: 13px;
    line-height: 1.5;
    margin: 0 0 16px;
    max-width: 550px;
    color: #edf8fb;
}
.cta-actions {
    display: flex;
    gap: 13px;
    flex-wrap: wrap;
}
.cta-primary,
.cta-secondary {
    height: 45px;
    border-radius: 13px;
    padding: 0 18px;
    display: inline-flex;
    align-items: center;
    gap: 8px;
    font-size: 12px;
    font-weight: 700;
}
.cta-primary {
    background: #fff;
    color: #123b60;
    border: 0;
}
.cta-secondary {
    border: 1px solid rgba(255, 255, 255, 0.7);
    color: #fff;
    background: transparent;
}
.cta-actions svg {
    width: 17px;
}
.dashboard {
    box-shadow: -15px 25px 50px rgba(0, 0, 0, 0.12);
    transform: rotateY(-40deg) rotateX(0deg) rotateZ(-0deg);
    border-radius: 10px;
    transform-style: preserve-3d;
    backface-visibility: hidden;
    width: 100%;
    justify-self: center;
    filter: drop-shadow(0 18px 25px rgba(0, 0, 0, 0.14));
}
.categories-section {
    padding: 50px 0 50px;
}
.cat-title-row {
    display: flex;
    justify-content: space-between;
    align-items: end;
    margin-bottom: 13px;
}
.cat-title-row h2 {
    margin: 0;
    font-size: 22px;
    color: #07345f;
    font-weight: 700;
    letter-spacing: -0.45px;
}
.cat-title-row p {
    margin: 2px 0 0;
    color: #6e819a;
    font-size: 12px;
}
.view-all {
    font-size: 12px;
    font-weight: 700;
    color: #0879db;
    display: flex;
    align-items: center;
    gap: 7px;
}
.view-all svg {
    width: 16px;
}
.category-grid {
    display: grid;
    grid-template-columns: repeat(8, 1fr);
    gap: 11px;
}
.category-card {
    background: #fff;
    border: 1px solid #e7edf2;
    border-radius: 10px;
    overflow: hidden;
    box-shadow: 0 5px 14px rgba(14, 53, 86, 0.06);
    transition: 0.2s;
}
.category-card:hover {
    transform: translateY(-3px);
}
.cat-img {
    height: 65px;
    overflow: hidden;
    background: #edf5f8;
}
.cat-img img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.25s ease;
}
.category-card:hover .cat-img img {
    transform: scale(1.03);
}
.category-card span {
    display: block;
    text-align: center;
    font-size: 10px;
    font-weight: 700;
    padding: 8px 2px;
    color: #0c365e;
    white-space: nowrap;
}
.bottom-grid {
    display: grid;
    grid-template-columns: 1.05fr 0.95fr;
    gap: 14px;
    padding-bottom: 90px;
}
.info-card {
    border-radius: 21px;
    padding: 22px 26px;
    min-height: 195px;
    position: relative;
    overflow: hidden;
}
.why-card {
    background: linear-gradient(135deg, #e9faf5, #f1fbf8);
}
.mobile-card {
    background: linear-gradient(135deg, #e7f5ff, #eef9ff);
    padding-right: 220px;
}
.info-card h2 {
    margin: 0 0 17px;
    font-size: 21px;
    color: #08365f;
    font-weight: 700;
    letter-spacing: -0.35px;
}
.feature-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 14px 25px;
}
.feature {
    display: grid;
    grid-template-columns: 49px 1fr;
    gap: 11px;
    align-items: center;
}
.feature-icon {
    width: 49px;
    height: 49px;
    border-radius: 13px;
    display: grid;
    place-items: center;
}
.feature-icon svg {
    width: 23px;
}
.fi1 {
    background: #d5f4ed;
    color: #08a995;
}
.fi2 {
    background: #dbeaff;
    color: #2787d9;
}
.fi3 {
    background: #fff0ce;
    color: #f4a400;
}
.fi4 {
    background: #ffe1e8;
    color: #ef4e66;
}
.feature strong {
    display: block;
    font-size: 11px;
    color: #12395e;
    margin-bottom: 2px;
}
.feature span {
    display: block;
    font-size: 9px;
    color: #6a7d94;
    line-height: 1.35;
}
.mobile-card p {
    font-size: 10px;
    color: #5e7894;
    max-width: 280px;
    line-height: 1.5;
    margin: 0 0 12px;
}
.home-btn {
    background: #073b69;
    color: #fff;
    border: 0;
    border-radius: 11px;
    padding: 11px 16px;
    font-size: 10px;
    font-weight: 700;
    display: inline-flex;
    align-items: center;
    gap: 7px;
    position: relative;
    z-index: 4;
}
.home-btn svg {
    width: 15px;
}
.phone {
    position: absolute;
    width: 195px;
    right: -4px;
    bottom: -42px;
    transform: rotate(8deg);
    z-index: 2;
    filter: drop-shadow(0 16px 20px rgba(0, 40, 80, 0.18));
}







.pricing-section {
    position: relative;
    isolation: isolate;
    overflow: hidden;
    padding: 90px 20px 90px;
    background: radial-gradient(
            ellipse at 0% 22%,
            rgba(93, 224, 255, 0.22),
            transparent 33%
        ),
        radial-gradient(
            ellipse at 100% 10%,
            rgba(0, 198, 167, 0.15),
            transparent 31%
        ),
        linear-gradient(135deg, #f6fbff 0%, #eef8ff 52%, #f9fcff 100%);
}
.pricing-section:before {
    content: "";
    position: absolute;
    z-index: -1;
    left: -140px;
    top: 110px;
    width: 430px;
    height: 430px;
    border: 1px solid #bdeeff;
    border-radius: 50%;
    box-shadow: 0 0 0 45px #d9f7ff55, 0 0 0 95px #d9f7ff33;
    animation: orbitGlow 13s ease-in-out infinite alternate;
}
.pricing-section:after {
    content: "";
    position: absolute;
    z-index: -1;
    right: -190px;
    top: -140px;
    width: 470px;
    height: 470px;
    border-radius: 50%;
    background: radial-gradient(circle, #b7fff44d, transparent 68%);
    animation: floatGlow 10s ease-in-out infinite alternate;
}
.wrap {
    width: min(1440px, 100%);
    margin: auto;
}
.heading {
    text-align: center;
    max-width: 1050px;
    margin: 0 auto 32px;
    position: relative;
}
.eyebrow {
    display: inline-flex;
    align-items: center;
    gap: 9px;
    padding: 8px 18px;
    border-radius: 999px;
    background: linear-gradient(110deg, #d9efff, #b9e8ff);
    color: #0a3265;
    font-weight: 850;
    font-size: 14px;
    box-shadow: 0 6px 20px #0b65a512;
}
.spark {
    color: #00a9e7;
    font-size: 20px;
    line-height: 1;
}
h1 {
    margin: 7px 0 8px;
    font-size: clamp(34px, 4.3vw, 58px);
    line-height: 1.08;
    letter-spacing: -0.045em;
    font-weight: 900;
    color: var(--navy);
}
h1 .gradient {
    background: linear-gradient(100deg, #008fa5, #00bfa5 55%, #009b94);
    -webkit-background-clip: text;
    background-clip: text;
    color: transparent;
}
.subtitle {
    margin: 0 auto;
    color: #23446e;
    font-size: clamp(16px, 1.65vw, 21px);
    line-height: 1.42;
    max-width: 850px;
}
.heading:after {
    content: "";
    display: block;
    width: 116px;
    height: 5px;
    margin: 12px auto 0;
    border-radius: 99px;
    background: linear-gradient(90deg, #009fe8, #00c6a7);
    transform: rotate(-2deg);
}
.cards {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    gap: 34px;
    align-items: stretch;
}
.cards article {
    padding-bottom: 120px;
}
.cards article .cta {
    position: absolute;
    left: 32px;
    bottom: 32px;
    width: calc(100% - 64px);
}
.plan {
    position: relative;
    min-width: 0;
    border-radius: 25px;
    padding: 28px 32px 25px;
    overflow: hidden;
    animation: riseIn 0.8s cubic-bezier(0.2, 0.75, 0.25, 1) both;
}
.basic {
    background: linear-gradient(
        145deg,
        rgba(255, 255, 255, 0.98),
        rgba(250, 253, 255, 0.96)
    );
    border: 1px solid #d8edff;
    box-shadow: 0 15px 45px #1a5c9514;
}
.plus {
    color: white;
    background: radial-gradient(ellipse at 100% 0%, #00c6a735, transparent 38%),
        radial-gradient(ellipse at 0% 100%, #087fe52b, transparent 45%),
        linear-gradient(145deg, #061b3d 0%, #082d60 58%, #00606d 100%);
    border: 2px solid transparent;
    box-shadow: 0 16px 45px #006e9a2b;
    isolation: isolate;
    animation-delay: 0.15s;
}
.plus:before {
    content: "";
    position: absolute;
    inset: 0;
    border-radius: inherit;
    padding: 2px;
    background: linear-gradient(135deg, #00c6a7, #16a9ff 50%, #00e0bd);
    -webkit-mask: linear-gradient(#000 0 0) content-box,
        linear-gradient(#000 0 0);
    -webkit-mask-composite: xor;
    mask-composite: exclude;
    pointer-events: none;
    z-index: -1;
}
.plan-top {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 12px;
    min-height: 35px;
}
.kicker {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    border-radius: 99px;
    padding: 8px 14px;
    font-size: 13px;
    font-weight: 800;
    color: #087e77;
    background: #d9fbf3;
    white-space: nowrap;
}
.plus .kicker {
    background: linear-gradient(100deg, #fff0a9, #a5fff0);
    color: #0b2e56;
}
.popular {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    padding: 8px 13px;
    border-radius: 99px;
    background: linear-gradient(100deg, #fff0a9, #9cfff0);
    color: #092d5a;
    font-size: 12px;
    font-weight: 900;
    white-space: nowrap;
}
.plan-intro {
    display: grid;
    grid-template-columns: 132px 1fr;
    gap: 22px;
    align-items: center;
    margin: 17px 0 19px;
}
.icon-tile {
    height: 116px;
    width: 116px;
    border-radius: 24px;
    display: grid;
    place-items: center;
    background: linear-gradient(145deg, #d8f6ff, #c9edff);
    box-shadow: inset 0 0 0 1px #b4e7ff, 0 12px 30px #0099e51a;
    position: relative;
}
.icon-tile:after {
    content: "";
    position: absolute;
    width: 68px;
    height: 68px;
    right: -10px;
    bottom: -10px;
    border-radius: 22px;
    background: linear-gradient(135deg, #00e0c0, #1686ff);
    opacity: 0.18;
    filter: blur(10px);
}
.icon-tile svg {
    width: 82px;
    height: 82px;
    position: relative;
    z-index: 1;
    filter: drop-shadow(0 7px 5px #06376a25);
}
.plus .icon-tile {
    background: linear-gradient(145deg, #02d8d1, #0875ff);
    box-shadow: 0 0 0 1px #27e9f5, 0 0 32px #00c6a766;
}
.plus .icon-tile svg {
    filter: drop-shadow(0 4px 9px #001c4b66);
}
.plan h2 {
    margin: 0 0 7px;
    font-size: clamp(25px, 2.5vw, 36px);
    line-height: 1.1;
    letter-spacing: -0.035em;
    color: var(--navy);
    font-weight: 900;
}
.plus h2 {
    color: #fff;
}
.description {
    margin: 0;
    color: #35577f;
    font-size: clamp(14px, 1.35vw, 18px);
    line-height: 1.5;
}
.plus .description {
    color: #edf7ff;
}
.price-panel {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 18px;
    border: 1px solid #c9eafa;
    border-radius: 20px;
    padding: 18px 20px;
    margin: 18px 0 22px;
    background: linear-gradient(110deg, #f4fcff, #effaff);
}
.plus .price-panel {
    background: linear-gradient(110deg, #071f4cdd, #06376be8);
    border-color: #00c6a7;
    border-radius: 20px;
    box-shadow: 0 0 0 1px #00c6a71c, inset 0 0 28px #00bfa51a;
}
.price-main {
    min-width: 0;
}
.price-line {
    display: flex;
    align-items: baseline;
    gap: 9px;
    flex-wrap: wrap;
}
.price {
    font-size: clamp(47px, 5.2vw, 74px);
    line-height: 0.95;
    font-weight: 950;
    letter-spacing: -0.065em;
    color: #00a994;
}
.plus .price {
    color: #fff;
}
.price-period {
    font-size: clamp(15px, 1.8vw, 23px);
    font-weight: 700;
    color: #23446e;
}
.plus .price-period {
    color: #fff;
}
.price-caption {
    margin-top: 9px;
    font-size: clamp(13px, 1.25vw, 17px);
    line-height: 1.45;
    color: #173c68;
}
.plus .price-caption {
    color: #e2f5ff;
}
.price-caption strong {
    font-weight: 900;
}
.free-stamp {
    flex: 0 0 185px;
    text-align: center;
    border-radius: 16px;
    padding: 14px 12px;
    background: linear-gradient(135deg, #e0fff8, #b8fff0);
    color: #075d5c;
    box-shadow: 0 8px 25px #00c6a71a;
}
.free-stamp .gift {
    font-size: 19px;
}
.free-stamp small {
    display: block;
    font-size: 14px;
    font-weight: 750;
}
.free-stamp strong {
    display: block;
    font-size: 34px;
    line-height: 1.05;
    letter-spacing: -0.04em;
}
.free-stamp em {
    display: block;
    font-size: 12px;
    font-style: normal;
    margin-top: 5px;
}
.year2 {
    display: grid;
    grid-template-columns: 1fr auto;
    gap: 12px;
    align-items: center;
    margin: -9px 0 20px;
    padding: 13px 17px;
    border: 1px solid #00a9e6;
    border-radius: 16px;
    background: linear-gradient(100deg, #0a2a5a, #064b6c);
    color: #fff;
}
.year2-label {
    display: flex;
    align-items: center;
    gap: 12px;
    font-size: 16px;
    font-weight: 650;
}
.calendar {
    width: 40px;
    height: 40px;
    display: grid;
    place-items: center;
    border-radius: 12px;
    background: #0c4075;
    color: #aeeaff;
    font-size: 20px;
}
.year2-price {
    text-align: right;
    border-left: 1px solid #55a6d0;
    padding-left: 18px;
}
.year2-price strong {
    display: block;
    font-size: clamp(20px, 2vw, 28px);
    line-height: 1.1;
}
.year2-price small {
    display: block;
    margin-top: 4px;
    color: #c5e9ff;
    font-size: 12px;
}
.feature-heading {
    font-size: 13px;
    font-weight: 850;
    margin: 14px 0 12px;
    color: #28476d;
}
.plus .feature-heading {
    color: #dff7ff;
}
.features {
    display: grid;
    gap: 10px;
    list-style: none;
    margin: 0;
    padding: 0;
}
.features li {
    display: flex;
    align-items: flex-start;
    gap: 11px;
    font-size: clamp(13px, 1.2vw, 16px);
    line-height: 1.4;
    color: #25466f;
}
.plus .features li {
    color: #f0f7ff;
}
.check {
    flex: 0 0 22px;
    width: 22px;
    height: 22px;
    display: grid;
    place-items: center;
    border-radius: 50%;
    background: linear-gradient(135deg, #00c6a7, #079be8);
    color: white;
    font-size: 14px;
    font-weight: 900;
    box-shadow: 0 3px 9px #00a99526;
}
.plus .check {
    background: linear-gradient(135deg, #00d9ad, #00aeea);
    color: #fff;
}
.visual-float {
    position: absolute;
    right: 22px;
    bottom: 118px;
    width: 190px;
    opacity: 0.95;
    pointer-events: none;
    animation: float 5s ease-in-out infinite;
}
.mini-map {
    position: relative;
    height: 100px;
    border-radius: 17px;
    background: linear-gradient(135deg, #c9f8ff, #effaff);
    overflow: hidden;
    border: 1px solid #c8eaff;
}
.mini-map:before,
.mini-map:after {
    content: "";
    position: absolute;
    background: #fff;
    opacity: 0.95;
    transform: rotate(-28deg);
    width: 180%;
    height: 9px;
    left: -35%;
    top: 42%;
}
.mini-map:after {
    transform: rotate(32deg);
    top: 62%;
    height: 6px;
}
.pin {
    position: absolute;
    z-index: 2;
    top: 22px;
    right: 43px;
    font-size: 26px;
    filter: drop-shadow(0 3px 2px #06376a33);
}
.mini-photo {
    height: 57px;
    margin-top: 7px;
    border-radius: 11px;
    background: linear-gradient(
        110deg,
        #9c6844,
        #e4c59b 38%,
        #476c61 39%,
        #9ebc9c 65%,
        #f1dfba
    );
    border: 3px solid #fff;
    box-shadow: 0 4px 12px #123a5a20;
}
.mini-actions {
    display: flex;
    justify-content: space-around;
    padding-top: 7px;
    color: #087f85;
    font-size: 11px;
    font-weight: 800;
}
.basic .visual-float {
    right: 30px;
    bottom: 113px;
}
.plus .visual-float {
    right: 24px;
    bottom: 230px;
    width: 185px;
    transform: rotate(-4deg);
}
.phone {
    border: 5px solid #152b53;
    border-radius: 27px;
    background: #f9fdff;
    padding: 7px;
    box-shadow: 0 12px 28px #00112e55;
    transform: rotate(5deg);
}
.phone-top {
    height: 12px;
    width: 55px;
    background: #152b53;
    border-radius: 0 0 10px 10px;
    margin: -7px auto 8px;
}
.phone-photo {
    height: 75px;
    border-radius: 12px;
    background: linear-gradient(
        145deg,
        #72513e,
        #e8bd89 42%,
        #446e68 43%,
        #b5c8a4
    );
}
.phone-title {
    font-size: 11px;
    font-weight: 900;
    color: #102b55;
    margin: 7px 2px 3px;
}
.phone-sub {
    font-size: 9px;
    color: #68809a;
    margin: 0 2px 7px;
}
.phone-buttons {
    display: flex;
    justify-content: space-around;
    color: #008f8c;
    font-size: 10px;
    font-weight: 800;
}
.price-stats {
    position: absolute;
    right: 0;
    top: 35px;
    background: #fff;
    color: #14335c;
    border-radius: 13px;
    padding: 12px 13px;
    box-shadow: 0 8px 24px #00112e2e;
    font-size: 11px;
    transform: translateX(5px);
}
.price-stats strong {
    display: block;
    color: #00a994;
    font-size: 18px;
    margin-top: 4px;
}
.cta {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 14px;
    min-height: 58px;
    width: 100%;
    margin-top: 23px;
    border-radius: 17px;
    padding: 15px 18px;
    text-decoration: none;
    text-align: center;
    font-size: clamp(15px, 1.5vw, 20px);
    font-weight: 850;
    transition: transform 0.25s, box-shadow 0.25s, filter 0.25s;
}
.cta:hover {
    transform: translateY(-3px);
    filter: saturate(1.12);
}
.basic .cta {
    border: 1.5px solid #078fff;
    color: #0757a3;
    background: linear-gradient(100deg, #f0fbff, #fff);
    box-shadow: 0 8px 22px #087fe514;
}
.basic .cta:hover {
    box-shadow: 0 13px 28px #087fe52b;
}
.plus .cta {
    border: 1px solid #16e5d0;
    color: #062b50;
    background: linear-gradient(100deg, #00d9bd, #20cce5);
    box-shadow: 0 8px 26px #00c6a744;
}
.plus .cta:hover {
    box-shadow: 0 14px 34px #00c6a766;
}
.arrow {
    font-size: 26px;
    line-height: 1;
    transition: transform 0.25s;
}
.cta:hover .arrow {
    transform: translateX(5px);
}
.benefits {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    max-width: 1150px;
    margin: 26px auto 0;
    gap: 0;
}
.benefit {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 12px;
    padding: 12px 15px;
    border-right: 1px solid #d1e5f4;
}
.benefit:last-child {
    border-right: 0;
}
.benefit-icon {
    width: 47px;
    height: 47px;
    flex: 0 0 47px;
    border-radius: 15px;
    display: grid;
    place-items: center;
    font-size: 23px;
    background: linear-gradient(135deg, #d7f2ff, #c4f9f2);
    box-shadow: 0 5px 15px #0b75a010;
}
.benefit strong {
    display: block;
    font-size: 14px;
    color: #14345f;
    white-space: nowrap;
}
.benefit span {
    display: block;
    margin-top: 3px;
    font-size: 12px;
    color: #4f6b8d;
    white-space: nowrap;
}
.smallprint {
    max-width: 900px;
    margin: 18px auto 0;
    text-align: center;
    color: #6b819d;
    font-size: 11px;
    line-height: 1.65;
}
@keyframes riseIn {
    from {
        opacity: 0;
        transform: translateY(24px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}
@keyframes float {
    0%,
    100% {
        translate: 0 0;
    }
    50% {
        translate: 0 -9px;
    }
}
@keyframes floatGlow {
    from {
        transform: translate(0, 0) scale(1);
    }
    to {
        transform: translate(-20px, 22px) scale(1.07);
    }
}
@keyframes orbitGlow {
    from {
        transform: translateY(0);
    }
    to {
        transform: translateY(22px);
    }
}






.footer {
    background: #052d50;
    color: #b8cedb;
    padding: 62px 0 24px;
}
.footer-grid {
    display: grid;
    grid-template-columns: 1.5fr 1fr 1fr 1fr;
    gap: 38px;
}
.footer-logo-wrap {
    background: #fff;
    border-radius: 18px;
    padding: 13px 18px;
    width: max-content;
    max-width: 100%;
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.12);
}
.footer-logo {
    width: 230px;
    max-width: 100%;
    display: block;
}
.footer h4 {
    color: #fff;
    margin: 0 0 14px;
}
.footer a {
    display: block;
    margin: 9px 0;
    font-size: 13px;
    color: #b8cedb;
}
.footer a:hover {
    color: #fff;
}
.footer p {
    font-size: 13px;
    max-width: 390px;
}
.footer-bottom {
    border-top: 1px solid rgba(255, 255, 255, 0.12);
    margin-top: 42px;
    padding-top: 20px;
    display: flex;
    justify-content: space-between;
    gap: 20px;
    font-size: 12px;
    color: #8ea9ba;
}
.footer-bottom {
    flex-direction: row;
    justify-content: space-between;
}













/* Client reference refinements */
@media (min-width: 821px) {
    .hero-inner {
        min-height: 440px;
    }
    .hero-visual {
        width: 60vw;
        right: -22px;
        max-width: none;
    }
    .quick-nav {
        left: 0;
        right: 0;
    }
}



@media (max-width: 1100px) {
    .nav {
        gap: 15px;
    }
    .logo {
        width: 215px;
    }
    .header-inner {
        gap: 16px;
    }
    .quick-nav {
        grid-template-columns: repeat(6, 1fr);
    }
    .hero-copy {
        width: 58%;
    }
    .hero-visual {
        width: 55%;
        opacity: 0.85;
    }
}
@media (max-width: 1050px) {
    .plan {
        padding: 24px;
    }
    .plan-intro {
        grid-template-columns: 100px 1fr;
        gap: 16px;
    }
    .icon-tile {
        width: 96px;
        height: 96px;
    }
    .icon-tile svg {
        width: 70px;
        height: 70px;
    }
    .visual-float {
        width: 145px;
        right: 17px;
    }
    .basic .visual-float {
        opacity: 0.7;
    }
    .free-stamp {
        flex-basis: 145px;
    }
    .free-stamp strong {
        font-size: 29px;
    }
    .footer-grid {
        grid-template-columns: 1.3fr 1fr 1fr;
    }
}
@media (max-width: 820px) {
    .hero-inner {
        min-height: 560px;
        padding: 35px 0 20px;
    }
    .hero-copy {
        width: 100%;
    }
    .hero-visual {
        width: 100%;
        height: 340px;
        top: 165px;
        right: 0;
        max-width: none;
        border-radius: 0;
        opacity: 0.9;
    }
    .quick-nav {
        position: relative;
        left: auto;
        right: auto;
        top: auto;
        grid-template-columns: repeat(6, 1fr);
        margin-top: 12px;
    }
    .container {
        width: min(100% - 30px, 680px);
    }
    .header {
        height: 68px;
    }
    .header-inner {
        justify-content: space-between;
    }
    .logo {
        width: 190px;
        max-width: none;
    }
    .nav {
        display: none;
    }
    .menu {
        display: block;
    }
    .header-actions .location-btn {
        display: flex;
    }
    .business-btn {
        height: 40px;
        padding: 0 12px;
    }
    .business-btn span {
        display: none;
    }
    .hero-inner {
        display: flex;
        align-items: center;
        padding: 35px 0 25px;
        min-height: 510px;
    }
    .hero-copy {
        width: 100%;
        z-index: 3;
    }
    h1 {
        font-size: 48px;
        letter-spacing: -2px;
    }
    .hero-copy p {
        font-size: 13px;
        max-width: 500px;
    }
    .hero-visual {
        width: 100%;
        height: 340px;
        top: 165px;
        right: 0;
        border-radius: 0;
        opacity: 0.9;
    }
    .search-row {
        grid-template-columns: 1fr 58px;
        margin-top: -2px;
    }
    .select-box {
        display: none;
    }
    .search-btn {
        font-size: 0;
    }
    .search-btn svg {
        width: 21px;
    }
    .quick-nav {
        grid-template-columns: repeat(6, 1fr);
        gap: 7px;
    }
    .quick-chip {
        min-height: 68px;
    }
    .steps {
        grid-template-columns: 1fr 1fr;
        gap: 32px 20px;
    }
    .step:not(:last-child):after {
        display: none;
    }
    .stats {
        grid-template-columns: 1fr 1fr;
        gap: 18px 0;
    }
    .stat:nth-child(2):after {
        display: none;
    }
    .cta-inner {
        grid-template-columns: 1fr;
    }
    .dashboard {
        width: 260px;
    }
    .category-grid {
        grid-template-columns: repeat(4, 1fr);
    }
    .bottom-grid {
        grid-template-columns: 1fr;
    }
}
@media (max-width: 767px) {
    .footer-grid {
        grid-template-columns: 1fr 1fr;
    }
    .footer-bottom {
        flex-direction: column;
    }
    .pricing-section {
        padding: 30px 14px;
    }
    .heading {
        margin-bottom: 25px;
    }
    .cards {
        grid-template-columns: 1fr;
        gap: 22px;
        max-width: 560px;
        margin: auto;
    }
    .plan {
        padding: 24px 22px;
    }
    .plan-intro {
        grid-template-columns: 84px 1fr;
        gap: 14px;
        margin: 18px 0;
    }
    .icon-tile {
        width: 82px;
        height: 82px;
        border-radius: 20px;
    }
    .icon-tile svg {
        width: 60px;
        height: 60px;
    }
    .plan h2 {
        font-size: 27px;
    }
    .description {
        font-size: 14px;
    }
    .price-panel {
        padding: 15px;
        gap: 10px;
    }
    .price {
        font-size: 49px;
    }
    .free-stamp {
        flex-basis: 120px;
        padding: 11px 8px;
    }
    .free-stamp strong {
        font-size: 25px;
    }
    .free-stamp small {
        font-size: 12px;
    }
    .free-stamp em {
        font-size: 10px;
    }
    .year2 {
        padding: 12px;
    }
    .year2-label {
        font-size: 14px;
    }
    .year2-price {
        padding-left: 12px;
    }
    .year2-price strong {
        font-size: 21px;
    }
    .visual-float {
        display: none;
    }
    .features li {
        font-size: 14px;
    }
    .benefits {
        grid-template-columns: repeat(2, 1fr);
        gap: 6px;
        margin-top: 20px;
    }
    .benefit {
        justify-content: flex-start;
        border-right: 0;
        padding: 10px 7px;
    }
    .benefit strong,
    .benefit span {
        white-space: normal;
    }
    .benefit-icon {
        width: 40px;
        height: 40px;
        flex-basis: 40px;
        font-size: 20px;
    }
}
@media (max-width: 520px) {
    .hero-inner {
        min-height: 550px;
        padding-top: 27px;
    }
    .quick-nav {
        grid-template-columns: repeat(4, 1fr);
    }.container {
        width: calc(100% - 22px);
    }
    .logo {
        width: 170px;
    }
    .hero-inner {
        min-height: 500px;
        padding-top: 27px;
    }
    h1 {
        font-size: 40px;
        letter-spacing: -1.6px;
    }
    .hero-copy p {
        font-size: 12px;
        max-width: 340px;
    }
    .kicker {
        font-size: 9px;
    }
    .hero-visual {
        top: 170px;
        height: 315px;
        object-position: 58% top;
    }
    .search-row {
        max-width: 100%;
        border-radius: 14px;
    }
    .search-input {
        height: 53px;
        padding: 0 13px;
    }
    .search-input input {
        font-size: 12px;
    }
    .search-btn {
        height: 53px;
    }
    .quick-nav {
        grid-template-columns: repeat(4, 1fr);
        margin-top: 12px;
    }
    .quick-chip:nth-child(n + 9) {
        display: none;
    }
    .section {
        padding: 35px 0;
    }
    .section-head h2 {
        font-size: 23px;
    }
    .section-head p {
        font-size: 12px;
    }
    .steps {
        grid-template-columns: 1fr 1fr;
        gap: 24px 12px;
    }
    .step h3 {
        font-size: 13px;
    }
    .step p {
        font-size: 10px;
    }
    .stats {
        border-radius: 16px;
        padding: 17px 8px;
    }
    .stat {
        gap: 8px;
    }
    .stat-icon {
        width: 43px;
        height: 43px;
    }
    .stat-icon svg {
        width: 21px;
    }
    .stat strong {
        font-size: 18px;
    }
    .stat span {
        font-size: 8px;
    }
    .business-cta {
        border-radius: 20px;
        margin-bottom: 32px;
    }
    .cta-inner {
        padding: 24px 20px;
    }
    .cta-copy h2 {
        font-size: 27px;
    }
    .cta-copy p {
        font-size: 11px;
    }
    .dashboard {
        width: 230px;
    }
    .cat-title-row {
        align-items: start;
        gap: 10px;
    }
    .cat-title-row h2 {
        font-size: 18px;
    }
    .cat-title-row p {
        font-size: 10px;
    }
    .view-all {
        font-size: 10px;
    }
    .category-grid {
        grid-template-columns: repeat(2, 1fr);
        gap: 10px;
    }
    .cat-img {
        height: 90px;
    }
    .category-card span {
        font-size: 10px;
        padding: 8px;
    }
    .feature-grid {
        gap: 13px 10px;
    }
    .info-card {
        padding: 19px 18px;
    }
    .info-card h2 {
        font-size: 19px;
    }
    .mobile-card {
        padding: 19px 18px;
        min-height: 285px;
    }
    .mobile-card p {
        max-width: 190px;
    }
    .phone {
        width: 165px;
        right: -5px;
        bottom: -36px;
    }
}
@media (max-width: 420px) {
    .footer-grid {
        grid-template-columns: 1fr;
    }
    .plan-top {
        align-items: flex-start;
        flex-wrap: wrap;
    }
    .plan-intro {
        grid-template-columns: 1fr;
    }
    .icon-tile {
        display: none;
    }
    .price-panel {
        align-items: flex-start;
    }
    .price {
        font-size: 43px;
    }
    .price-period {
        font-size: 14px;
    }
    .free-stamp {
        flex-basis: 105px;
    }
    .free-stamp strong {
        font-size: 22px;
    }
    .year2 {
        grid-template-columns: 1fr;
    }
    .year2-price {
        text-align: left;
        border-left: 0;
        border-top: 1px solid #55a6d0;
        padding: 10px 0 0;
    }
    .benefit {
        gap: 8px;
    }
}
@media (prefers-reduced-motion: reduce) {
    *,
    *::before,
    *::after {
        animation-duration: 0.01ms !important;
        animation-iteration-count: 1 !important;
        transition-duration: 0.01ms !important;
        scroll-behavior: auto !important;
    }
}

/* =========================================================
   ABHIBULAO MOTION SYSTEM v4
   Smooth viewport-driven entrance animations
   - Elements start invisible.
   - Opacity rises while the element settles into position.
   - Different sections use different directions.
   - Cards/items stagger one-by-one.
   - Hover motion is independent from entrance motion.
   ========================================================= */

:root {
    --motion-fast: 180ms;
    --motion-base: 360ms;
    --motion-duration: 760ms;
    --motion-duration-soft: 680ms;
    --motion-ease: cubic-bezier(.16, 1, .3, 1);
    --motion-ease-soft: cubic-bezier(.22, .75, .2, 1);
}



/* Once the entrance has completed, hovering must never inherit
   the entrance delay. */

.motion-reveal.is-visible:hover {
    transition-delay: 0ms !important;
}

/* ---------------------------------------------------------
   HERO
   --------------------------------------------------------- */

.hero .hero-copy .kicker.motion-reveal {
    --motion-delay: 0ms !important;
    --motion-duration: 620ms;
    transform: translate3d(0px, 40px, 0) scale(.985) !important;
}

.hero .hero-copy h1.motion-reveal {
    --motion-delay: 90ms !important;
    --motion-duration: 760ms;
    transform: translate3d(0px, 40px, 0) scale(.985) !important;
}

.hero .hero-copy p.motion-reveal {
    --motion-delay: 180ms !important;
    --motion-duration: 720ms;
    transform: translate3d(0px, 40px, 0) scale(.985) !important;
}

.hero .search-row.motion-reveal {
    --motion-delay: 270ms !important;
    --motion-duration: 760ms;
}

.hero .quick-nav .quick-chip.motion-reveal {
    --motion-duration: 620ms;
}

/* Quick chips enter sequentially */

.hero .quick-nav .quick-chip.motion-reveal:nth-child(1)  { --motion-delay: 340ms !important; }
.hero .quick-nav .quick-chip.motion-reveal:nth-child(2)  { --motion-delay: 400ms !important; }
.hero .quick-nav .quick-chip.motion-reveal:nth-child(3)  { --motion-delay: 460ms !important; }
.hero .quick-nav .quick-chip.motion-reveal:nth-child(4)  { --motion-delay: 520ms !important; }
.hero .quick-nav .quick-chip.motion-reveal:nth-child(5)  { --motion-delay: 580ms !important; }
.hero .quick-nav .quick-chip.motion-reveal:nth-child(6)  { --motion-delay: 640ms !important; }
.hero .quick-nav .quick-chip.motion-reveal:nth-child(7)  { --motion-delay: 700ms !important; }
.hero .quick-nav .quick-chip.motion-reveal:nth-child(8)  { --motion-delay: 760ms !important; }
.hero .quick-nav .quick-chip.motion-reveal:nth-child(9)  { --motion-delay: 820ms !important; }
.hero .quick-nav .quick-chip.motion-reveal:nth-child(10) { --motion-delay: 880ms !important; }
.hero .quick-nav .quick-chip.motion-reveal:nth-child(11) { --motion-delay: 940ms !important; }
.hero .quick-nav .quick-chip.motion-reveal:nth-child(12) { --motion-delay: 1000ms !important; }

/* ---------------------------------------------------------
   HOW IT WORKS
   --------------------------------------------------------- */

#how .section-head.motion-reveal {
    --motion-delay: 0ms !important;
}

#how .steps .step.motion-reveal {
    --motion-duration: 780ms;
}

#how .steps .step.motion-reveal:nth-child(1) { --motion-delay: 80ms !important; }
#how .steps .step.motion-reveal:nth-child(2) { --motion-delay: 190ms !important; }
#how .steps .step.motion-reveal:nth-child(3) { --motion-delay: 300ms !important; }
#how .steps .step.motion-reveal:nth-child(4) { --motion-delay: 410ms !important; }

#how .stats .stat.motion-reveal {
    --motion-duration: 650ms;
}

#how .stats .stat.motion-reveal:nth-child(1) { --motion-delay: 0ms !important; }
#how .stats .stat.motion-reveal:nth-child(2) { --motion-delay: 90ms !important; }
#how .stats .stat.motion-reveal:nth-child(3) { --motion-delay: 180ms !important; }
#how .stats .stat.motion-reveal:nth-child(4) { --motion-delay: 270ms !important; }

/* ---------------------------------------------------------
   BUSINESS CTA
   --------------------------------------------------------- */

#business .business-cta.motion-reveal {
    --motion-delay: 0ms !important;
    --motion-duration: 900ms;
}

#business .cta-tag.motion-reveal {
    --motion-delay: 90ms !important;
    transform:
        translate3d(-25px, 0, 0)
        scale(.98) !important;
}

#business .cta-copy h2.motion-reveal {
    --motion-delay: 170ms !important;
    transform:
        translate3d(-32px, 0, 0)
        scale(.985) !important;
}

#business .cta-copy p.motion-reveal {
    --motion-delay: 250ms !important;
    transform:
        translate3d(-26px, 6px, 0)
        scale(.99) !important;
}

#business .cta-actions.motion-reveal {
    --motion-delay: 330ms !important;
    transform:
        translate3d(-20px, 0, 0)
        scale(.99) !important;
}

/* Preserve the dashboard's existing 3D resting position. */

#business .dashboard.motion-reveal {
    --motion-delay: 180ms !important;
    --motion-duration: 950ms;

    transform:
        translate3d(42px, 12px, 0)
        rotateY(-40deg)
        rotateX(0deg)
        rotateZ(0deg) !important;
}

#business .dashboard.motion-reveal.is-visible {
    transform:
        translate3d(0, 0, 0)
        rotateY(-40deg)
        rotateX(0deg)
        rotateZ(0deg) !important;
}

/* ---------------------------------------------------------
   POPULAR CATEGORIES
   --------------------------------------------------------- */

#categories .cat-title-row.motion-reveal {
    --motion-delay: 0ms !important;
}

#categories .category-card.motion-reveal {
    --motion-duration: 680ms;
}

/* Deliberate one-by-one category reveal */

#categories .category-card.motion-reveal:nth-child(1) { --motion-delay: 80ms !important; }
#categories .category-card.motion-reveal:nth-child(2) { --motion-delay: 180ms !important; }
#categories .category-card.motion-reveal:nth-child(3) { --motion-delay: 280ms !important; }
#categories .category-card.motion-reveal:nth-child(4) { --motion-delay: 380ms !important; }
#categories .category-card.motion-reveal:nth-child(5) { --motion-delay: 480ms !important; }
#categories .category-card.motion-reveal:nth-child(6) { --motion-delay: 580ms !important; }
#categories .category-card.motion-reveal:nth-child(7) { --motion-delay: 680ms !important; }
#categories .category-card.motion-reveal:nth-child(8) { --motion-delay: 780ms !important; }
#categories .category-card.motion-reveal:nth-child(9) { --motion-delay: 880ms !important; }
#categories .category-card.motion-reveal:nth-child(10) { --motion-delay: 980ms !important; }
#categories .category-card.motion-reveal:nth-child(11) { --motion-delay: 1080ms !important; }
#categories .category-card.motion-reveal:nth-child(12) { --motion-delay: 1180ms !important; }

/* ---------------------------------------------------------
   WHY CHOOSE US
   --------------------------------------------------------- */

.bottom-grid .why-card.motion-reveal {
    --motion-delay: 0ms !important;
    --motion-duration: 820ms;
}

.bottom-grid .why-card .feature.motion-reveal {
    --motion-duration: 620ms;
}

.bottom-grid .why-card .feature.motion-reveal:nth-child(1) { --motion-delay: 100ms !important; }
.bottom-grid .why-card .feature.motion-reveal:nth-child(2) { --motion-delay: 190ms !important; }
.bottom-grid .why-card .feature.motion-reveal:nth-child(3) { --motion-delay: 280ms !important; }
.bottom-grid .why-card .feature.motion-reveal:nth-child(4) { --motion-delay: 370ms !important; }

.bottom-grid .feature.motion-reveal.is-visible:hover {
    transform:
        translate3d(4px, 0, 0)
        scale(1) !important;
}

/* ---------------------------------------------------------
   MOBILE CARD
   --------------------------------------------------------- */

.bottom-grid .mobile-card.motion-reveal {
    --motion-delay: 80ms !important;
    --motion-duration: 850ms;
}

.bottom-grid .mobile-card .home-btn.motion-reveal {
    --motion-delay: 180ms !important;
}

.bottom-grid .mobile-card .phone.motion-reveal {
    --motion-delay: 260ms !important;
    --motion-duration: 900ms;

    transform:
        translate3d(38px, 12px, 0)
        rotate(5deg) !important;
}

.bottom-grid .mobile-card .phone.motion-reveal.is-visible {
    transform:
        translate3d(0, 0, 0)
        rotate(5deg) !important;
}

/* ---------------------------------------------------------
   PRICING
   --------------------------------------------------------- */

/* The old .plan riseIn animation is deliberately disabled when
   the viewport controller adds .motion-reveal. */

#pricing .heading.motion-reveal {
    --motion-delay: 0ms !important;
}

#pricing .plan.motion-reveal {
    --motion-duration: 850ms;
}

#pricing .plan.motion-reveal:nth-child(1) { --motion-delay: 80ms !important; }
#pricing .plan.motion-reveal:nth-child(2) { --motion-delay: 220ms !important; }

/* Content inside each pricing plan reveals in a controlled sequence. */

#pricing .plan .plan-top.motion-reveal {
    --motion-delay: 80ms !important;
    --motion-duration: 620ms;
}

#pricing .plan .plan-intro.motion-reveal {
    --motion-delay: 170ms !important;
    --motion-duration: 680ms;
}

#pricing .plan .price.motion-reveal {
    --motion-delay: 260ms !important;
    --motion-duration: 650ms;
}

#pricing .plan .features li.motion-reveal {
    --motion-duration: 560ms;
}

#pricing .plan .features li.motion-reveal:nth-child(1) { --motion-delay: 330ms !important; }
#pricing .plan .features li.motion-reveal:nth-child(2) { --motion-delay: 390ms !important; }
#pricing .plan .features li.motion-reveal:nth-child(3) { --motion-delay: 450ms !important; }
#pricing .plan .features li.motion-reveal:nth-child(4) { --motion-delay: 510ms !important; }
#pricing .plan .features li.motion-reveal:nth-child(5) { --motion-delay: 570ms !important; }
#pricing .plan .features li.motion-reveal:nth-child(6) { --motion-delay: 630ms !important; }
#pricing .plan .features li.motion-reveal:nth-child(7) { --motion-delay: 690ms !important; }
#pricing .plan .features li.motion-reveal:nth-child(8) { --motion-delay: 750ms !important; }
#pricing .plan .features li.motion-reveal:nth-child(9) { --motion-delay: 810ms !important; }
#pricing .plan .features li.motion-reveal:nth-child(10) { --motion-delay: 870ms !important; }

#pricing .plan .cta.motion-reveal {
    --motion-delay: 680ms !important;
}

#pricing .benefit.motion-reveal {
    --motion-duration: 620ms;
}

#pricing .benefit.motion-reveal:nth-child(1) { --motion-delay: 80ms !important; }
#pricing .benefit.motion-reveal:nth-child(2) { --motion-delay: 170ms !important; }
#pricing .benefit.motion-reveal:nth-child(3) { --motion-delay: 260ms !important; }
#pricing .benefit.motion-reveal:nth-child(4) { --motion-delay: 350ms !important; }

#pricing .smallprint.motion-reveal {
    --motion-delay: 430ms !important;
    --motion-duration: 620ms;
}

/* ---------------------------------------------------------
   FOOTER
   --------------------------------------------------------- */

.footer .footer-grid > div.motion-reveal {
    --motion-duration: 680ms;
}

.footer .footer-grid > div.motion-reveal:nth-child(1) { --motion-delay: 0ms !important; }
.footer .footer-grid > div.motion-reveal:nth-child(2) { --motion-delay: 100ms !important; }
.footer .footer-grid > div.motion-reveal:nth-child(3) { --motion-delay: 200ms !important; }
.footer .footer-grid > div.motion-reveal:nth-child(4) { --motion-delay: 300ms !important; }

.footer .footer-bottom.motion-reveal {
    --motion-delay: 380ms !important;
    --motion-duration: 650ms;
}

/* ---------------------------------------------------------
   HOVER INTERACTIONS
   Entrance motion and hover motion are intentionally separate.
   --------------------------------------------------------- */

.nav a,
.location-btn,
.business-btn,
.search-btn,
.cta-primary,
.cta-secondary,
.home-btn,
.view-all,
.footer a {
    transition:
        color var(--motion-fast) ease,
        background-color var(--motion-fast) ease,
        border-color var(--motion-fast) ease,
        box-shadow var(--motion-base) var(--motion-ease),
        transform var(--motion-base) var(--motion-ease);
}

.nav a:hover {
    transform: translateY(-2px);
}

.location-btn:hover {
    transform: translateY(-2px);
    box-shadow: 0 8px 22px rgba(15,74,111,.10);
}

.business-btn:hover,
.search-btn:hover,
.cta-primary:hover,
.home-btn:hover {
    transform: translateY(-3px);
    box-shadow: 0 12px 26px rgba(6,59,104,.18);
}

.cta-secondary:hover {
    transform: translateY(-3px);
    background: rgba(255,255,255,.08);
}

.search-btn:active,
.business-btn:active,
.cta-primary:active,
.cta-secondary:active,
.home-btn:active {
    transform: translateY(0) scale(.98);
}

/* Search */

.search-row:focus-within {
    border-color: rgba(8,191,174,.55);
    box-shadow:
        0 12px 34px rgba(8,191,174,.15),
        0 0 0 4px rgba(8,191,174,.08);
    transform: translateY(-2px);
    transition:
        box-shadow var(--motion-base) var(--motion-ease),
        transform var(--motion-base) var(--motion-ease),
        border-color var(--motion-fast) ease;
}

.search-input input::placeholder {
    transition: opacity var(--motion-fast) ease;
}

.search-input input:focus::placeholder {
    opacity: .45;
}

/* Quick chips */

.quick-chip {
    transition:
        transform var(--motion-base) var(--motion-ease),
        box-shadow var(--motion-base) var(--motion-ease),
        border-color var(--motion-fast) ease;
}

.quick-chip:hover {
    transform: translateY(-7px) scale(1.025);
    border-color: rgba(8,191,174,.35);
    box-shadow: 0 14px 30px rgba(16,60,95,.12);
}

.quick-chip .chip-icon {
    transition: transform var(--motion-base) var(--motion-ease);
}

.quick-chip:hover .chip-icon {
    transform: scale(1.12) rotate(-4deg);
}

/* Section headings */

.section-head h2,
.cat-title-row h2,
.info-card h2,
.cta-copy h2 {
    transition:
        transform var(--motion-base) var(--motion-ease),
        color var(--motion-base) ease;
}

/* Steps */

.step {
    transition:
        transform var(--motion-base) var(--motion-ease),
        box-shadow var(--motion-base) var(--motion-ease);
}

.step.motion-reveal.is-visible:hover {
    transform: translate3d(0, -7px, 0) scale(1) !important;
}

.step-icon {
    transition:
        transform var(--motion-base) var(--motion-ease),
        box-shadow var(--motion-base) var(--motion-ease);
}

.step.motion-reveal.is-visible:hover .step-icon {
    transform:
        translateY(-3px)
        scale(1.08)
        rotate(-3deg);
    box-shadow: 0 12px 28px rgba(13,145,232,.16);
}

.step-no {
    transition: transform var(--motion-base) var(--motion-ease);
}

.step.motion-reveal.is-visible:hover .step-no {
    transform: scale(1.12);
}

/* Stats */

.stat {
    transition:
        transform var(--motion-base) var(--motion-ease),
        box-shadow var(--motion-base) var(--motion-ease);
}

.stat.motion-reveal.is-visible:hover {
    transform: translate3d(0, -5px, 0) scale(1) !important;
}

.stat-icon {
    transition:
        transform var(--motion-base) var(--motion-ease),
        box-shadow var(--motion-base) var(--motion-ease);
}

.stat:hover .stat-icon {
    transform: scale(1.08) rotate(-4deg);
    box-shadow: 0 10px 22px rgba(10,120,201,.12);
}

/* Business CTA */

.business-cta {
    transition:
        transform var(--motion-base) var(--motion-ease),
        box-shadow var(--motion-base) var(--motion-ease);
}

.business-cta.motion-reveal.is-visible:hover {
    transform: translate3d(0, -5px, 0) scale(1) !important;
    box-shadow: 0 24px 48px rgba(6,59,104,.18);
}

.cta-tag {
    transition: transform var(--motion-base) var(--motion-ease);
}

.business-cta:hover .cta-tag {
    transform: translateX(4px);
}

.dashboard {
    transition:
        transform .7s var(--motion-ease),
        filter .5s var(--motion-ease);
}

.business-cta:hover .dashboard {
    transform:
        rotateY(-30deg)
        rotateX(2deg)
        rotateZ(-1deg)
        translateY(-7px)
        scale(1.015) !important;

    filter:
        drop-shadow(0 24px 30px rgba(0,0,0,.18));
}

/* Categories */

.category-card {
    transition:
        transform var(--motion-base) var(--motion-ease),
        box-shadow var(--motion-base) var(--motion-ease),
        border-color var(--motion-fast) ease;
}

.category-card.motion-reveal.is-visible:hover {
    transform: translate3d(0, -7px, 0) scale(1) !important;
    border-color: rgba(8,191,174,.30);
    box-shadow: 0 14px 30px rgba(14,53,86,.12);
}

.category-card .cat-img img {
    transition: transform .55s var(--motion-ease);
}

.category-card:hover .cat-img img {
    transform: scale(1.07);
}

/* Why / mobile */

.info-card {
    transition:
        transform var(--motion-base) var(--motion-ease),
        box-shadow var(--motion-base) var(--motion-ease);
}

.info-card.motion-reveal.is-visible:hover {
    transform: translate3d(0, -6px, 0) scale(1) !important;
    box-shadow: 0 18px 38px rgba(14,53,86,.11);
}

.feature {
    transition: transform var(--motion-base) var(--motion-ease);
}

.feature.motion-reveal.is-visible:hover {
    transform: translate3d(4px, 0, 0) scale(1) !important;
}

.feature-icon {
    transition:
        transform var(--motion-base) var(--motion-ease),
        box-shadow var(--motion-base) var(--motion-ease);
}

.feature:hover .feature-icon {
    transform: scale(1.08) rotate(-4deg);
    box-shadow: 0 9px 20px rgba(8,169,149,.12);
}

.phone {
    transition:
        transform .65s var(--motion-ease),
        filter .5s ease;
}

.mobile-card:hover .phone {
    transform:
        rotate(5deg)
        translateY(-7px) !important;

    filter:
        drop-shadow(0 22px 28px rgba(0,40,80,.24));
}

/* Pricing */

.plan {
    transition:
        transform .55s var(--motion-ease),
        box-shadow .55s var(--motion-ease),
        border-color .3s ease;
}

.plan.motion-reveal.is-visible:hover {
    transform: translate3d(0, -9px, 0) scale(1) !important;
}

.basic:hover {
    box-shadow: 0 24px 58px rgba(26,92,149,.17);
    border-color: #bfe4fb;
}

.plus:hover {
    box-shadow: 0 26px 62px rgba(0,110,154,.34);
}

.plan .cta {
    transition:
        transform var(--motion-base) var(--motion-ease),
        box-shadow var(--motion-base) var(--motion-ease),
        filter var(--motion-base) ease;
}

.plan .cta:hover {
    transform: translateY(-3px);
    filter: brightness(1.04);
    box-shadow: 0 12px 28px rgba(0,0,0,.14);
}

.features li {
    transition: transform var(--motion-fast) var(--motion-ease);
}

.features li:hover {
    transform: translateX(4px);
}

.features .check {
    transition: transform var(--motion-base) var(--motion-ease);
}

.features li:hover .check {
    transform: scale(1.1) rotate(8deg);
}

.benefit {
    transition:
        transform var(--motion-base) var(--motion-ease),
        box-shadow var(--motion-base) var(--motion-ease);
}

.benefit.motion-reveal.is-visible:hover {
    transform: translate3d(0, -5px, 0) scale(1) !important;
    box-shadow: 0 12px 25px rgba(15,74,111,.09);
}

.benefit-icon {
    transition: transform var(--motion-base) var(--motion-ease);
}

.benefit:hover .benefit-icon {
    transform: scale(1.1) rotate(-5deg);
}

/* Footer */

.footer-grid > div {
    transition: transform var(--motion-base) var(--motion-ease);
}

.footer-grid > div.motion-reveal.is-visible:hover {
    transform: translate3d(0, -3px, 0) scale(1) !important;
}

.footer a:hover {
    transform: translateX(4px);
    color: #fff;
}

/* ---------------------------------------------------------
   SUBTLE CONTINUOUS MOTION
   --------------------------------------------------------- */

@keyframes softPulse {
    0%, 100% {
        box-shadow: 0 0 0 0 rgba(8,191,174,.10);
    }

    50% {
        box-shadow: 0 0 0 9px rgba(8,191,174,0);
    }
}

.search-btn {
    animation: softPulse 3.5s 1.5s ease-in-out infinite;
}

/* =========================================================
   ABHIBULAO MOTION SYSTEM v4 — FINAL / CASCADE SAFE
   =========================================================
   IMPORTANT:
   The generic reveal state comes first. Direction-specific rules
   and visible-state rules are then layered correctly.

   Result:
   1. opacity starts at 0
   2. element moves from its role-specific direction
   3. opacity reaches 1 while it settles into place
   4. siblings use controlled stagger delays
   5. hover motion does not fight entrance motion
   ========================================================= */

:root {
    --motion-fast: 180ms;
    --motion-base: 360ms;
    --motion-duration: 760ms;
    --motion-ease: cubic-bezier(.16, 1, .3, 1);
}

/* ---------------------------------------------------------
   1. GENERIC INITIAL STATE
   --------------------------------------------------------- */

.motion-reveal {
    animation: none !important;
    opacity: 0 !important;
    transform: translate3d(0, 32px, 0) scale(.985) !important;
    filter: blur(2px) !important;

    transition-property: opacity, transform, filter !important;
    transition-duration: var(--motion-duration, 760ms) !important;
    transition-timing-function: var(--motion-ease) !important;
    transition-delay: var(--motion-delay, 0ms) !important;

    will-change: opacity, transform, filter;
}

/* ---------------------------------------------------------
   2. DIRECTION STATES
   These use higher specificity than the generic state.
   --------------------------------------------------------- */

.motion-reveal.motion-up {
    transform: translate3d(0, 32px, 0) scale(.985) !important;
}

.motion-reveal.motion-down {
    transform: translate3d(0, -32px, 0) scale(.985) !important;
}

.motion-reveal.motion-left {
    transform: translate3d(-38px, 0, 0) scale(.985) !important;
}

.motion-reveal.motion-right {
    transform: translate3d(38px, 0, 0) scale(.985) !important;
}

.motion-reveal.motion-scale {
    transform: scale(.94) !important;
}

/* ---------------------------------------------------------
   3. VISIBLE STATE
   --------------------------------------------------------- */

.motion-reveal.is-visible {
    opacity: 1 !important;
    transform: translate3d(0, 0, 0) scale(1) !important;
    filter: blur(0) !important;
}

/* ---------------------------------------------------------
   4. HERO
   --------------------------------------------------------- */

.hero .hero-copy .kicker.motion-reveal {
    --motion-delay: 0ms !important;
    --motion-duration: 620ms !important;
    transform: translate3d(-20px, 8px, 0) scale(.99) !important;
}

.hero .hero-copy h1.motion-reveal {
    --motion-delay: 90ms !important;
    --motion-duration: 760ms !important;
    transform: translate3d(-34px, 8px, 0) scale(.985) !important;
}

.hero .hero-copy p.motion-reveal {
    --motion-delay: 180ms !important;
    --motion-duration: 720ms !important;
    transform: translate3d(-28px, 10px, 0) scale(.99) !important;
}

.hero .search-row.motion-reveal {
    --motion-delay: 270ms !important;
    --motion-duration: 760ms !important;
    transform: translate3d(0, 28px, 0) scale(.985) !important;
}

.hero .quick-nav .quick-chip.motion-reveal {
    --motion-duration: 620ms !important;
    transform: translate3d(0, 24px, 0) scale(.97) !important;
}

.hero .quick-nav .quick-chip.motion-reveal:nth-child(1)  { --motion-delay: 340ms !important; }
.hero .quick-nav .quick-chip.motion-reveal:nth-child(2)  { --motion-delay: 400ms !important; }
.hero .quick-nav .quick-chip.motion-reveal:nth-child(3)  { --motion-delay: 460ms !important; }
.hero .quick-nav .quick-chip.motion-reveal:nth-child(4)  { --motion-delay: 520ms !important; }
.hero .quick-nav .quick-chip.motion-reveal:nth-child(5)  { --motion-delay: 580ms !important; }
.hero .quick-nav .quick-chip.motion-reveal:nth-child(6)  { --motion-delay: 640ms !important; }
.hero .quick-nav .quick-chip.motion-reveal:nth-child(7)  { --motion-delay: 700ms !important; }
.hero .quick-nav .quick-chip.motion-reveal:nth-child(8)  { --motion-delay: 760ms !important; }
.hero .quick-nav .quick-chip.motion-reveal:nth-child(9)  { --motion-delay: 820ms !important; }
.hero .quick-nav .quick-chip.motion-reveal:nth-child(10) { --motion-delay: 880ms !important; }
.hero .quick-nav .quick-chip.motion-reveal:nth-child(11) { --motion-delay: 940ms !important; }
.hero .quick-nav .quick-chip.motion-reveal:nth-child(12) { --motion-delay: 1000ms !important; }

/* Visible hero elements must return to their final positions. */
.hero .hero-copy .kicker.motion-reveal.is-visible,
.hero .hero-copy h1.motion-reveal.is-visible,
.hero .hero-copy p.motion-reveal.is-visible,
.hero .search-row.motion-reveal.is-visible,
.hero .quick-nav .quick-chip.motion-reveal.is-visible {
    transform: translate3d(0, 0, 0) scale(1) !important;
}

/* ---------------------------------------------------------
   5. HOW IT WORKS
   --------------------------------------------------------- */

#how .section-head.motion-reveal {
    --motion-delay: 0ms !important;
}

#how .steps .step.motion-reveal {
    --motion-duration: 780ms !important;
    transform: translate3d(0, 32px, 0) scale(.985) !important;
}

#how .steps .step.motion-reveal:nth-child(1) { --motion-delay: 80ms !important; }
#how .steps .step.motion-reveal:nth-child(2) { --motion-delay: 190ms !important; }
#how .steps .step.motion-reveal:nth-child(3) { --motion-delay: 300ms !important; }
#how .steps .step.motion-reveal:nth-child(4) { --motion-delay: 410ms !important; }

#how .stats .stat.motion-reveal {
    --motion-duration: 650ms !important;
    transform: scale(.94) !important;
}

#how .stats .stat.motion-reveal:nth-child(1) { --motion-delay: 0ms !important; }
#how .stats .stat.motion-reveal:nth-child(2) { --motion-delay: 90ms !important; }
#how .stats .stat.motion-reveal:nth-child(3) { --motion-delay: 180ms !important; }
#how .stats .stat.motion-reveal:nth-child(4) { --motion-delay: 270ms !important; }

#how .section-head.motion-reveal.is-visible,
#how .steps .step.motion-reveal.is-visible,
#how .stats .stat.motion-reveal.is-visible {
    transform: translate3d(0, 0, 0) scale(1) !important;
}

/* ---------------------------------------------------------
   6. BUSINESS CTA
   --------------------------------------------------------- */

#business .business-cta.motion-reveal {
    --motion-delay: 0ms !important;
    --motion-duration: 900ms !important;
    transform: translate3d(0, 30px, 0) scale(.985) !important;
}

#business .cta-tag.motion-reveal {
    --motion-delay: 90ms !important;
    transform: translate3d(-25px, 0, 0) scale(.98) !important;
}

#business .cta-copy h2.motion-reveal {
    --motion-delay: 170ms !important;
    transform: translate3d(-32px, 0, 0) scale(.985) !important;
}

#business .cta-copy p.motion-reveal {
    --motion-delay: 250ms !important;
    transform: translate3d(-26px, 6px, 0) scale(.99) !important;
}

#business .cta-actions.motion-reveal {
    --motion-delay: 330ms !important;
    transform: translate3d(-20px, 0, 0) scale(.99) !important;
}

#business .dashboard.motion-reveal {
    --motion-delay: 180ms !important;
    --motion-duration: 950ms !important;
    transform:
        translate3d(42px, 12px, 0)
        rotateY(-40deg)
        rotateX(0deg)
        rotateZ(0deg) !important;
}

#business .business-cta.motion-reveal.is-visible,
#business .cta-tag.motion-reveal.is-visible,
#business .cta-copy h2.motion-reveal.is-visible,
#business .cta-copy p.motion-reveal.is-visible,
#business .cta-actions.motion-reveal.is-visible {
    transform: translate3d(0, 0, 0) scale(1) !important;
}

#business .dashboard.motion-reveal.is-visible {
    transform:
        translate3d(0, 0, 0)
        rotateY(-40deg)
        rotateX(0deg)
        rotateZ(0deg) !important;
}

/* ---------------------------------------------------------
   7. CATEGORIES — ONE BY ONE
   --------------------------------------------------------- */

#categories .cat-title-row.motion-reveal {
    --motion-delay: 0ms !important;
}

#categories .category-card.motion-reveal {
    --motion-duration: 680ms !important;
    transform: translate3d(0, 32px, 0) scale(.975) !important;
}

#categories .category-card.motion-reveal:nth-child(1) { --motion-delay: 80ms !important; }
#categories .category-card.motion-reveal:nth-child(2) { --motion-delay: 180ms !important; }
#categories .category-card.motion-reveal:nth-child(3) { --motion-delay: 280ms !important; }
#categories .category-card.motion-reveal:nth-child(4) { --motion-delay: 380ms !important; }
#categories .category-card.motion-reveal:nth-child(5) { --motion-delay: 480ms !important; }
#categories .category-card.motion-reveal:nth-child(6) { --motion-delay: 580ms !important; }
#categories .category-card.motion-reveal:nth-child(7) { --motion-delay: 680ms !important; }
#categories .category-card.motion-reveal:nth-child(8) { --motion-delay: 780ms !important; }
#categories .category-card.motion-reveal:nth-child(9) { --motion-delay: 880ms !important; }
#categories .category-card.motion-reveal:nth-child(10) { --motion-delay: 980ms !important; }
#categories .category-card.motion-reveal:nth-child(11) { --motion-delay: 1080ms !important; }
#categories .category-card.motion-reveal:nth-child(12) { --motion-delay: 1180ms !important; }

#categories .cat-title-row.motion-reveal.is-visible,
#categories .category-card.motion-reveal.is-visible {
    transform: translate3d(0, 0, 0) scale(1) !important;
}

/* ---------------------------------------------------------
   8. WHY CHOOSE US
   --------------------------------------------------------- */

.bottom-grid .why-card.motion-reveal {
    --motion-delay: 0ms !important;
    --motion-duration: 820ms !important;
    transform: translate3d(-38px, 0, 0) scale(.985) !important;
}

.bottom-grid .why-card .feature.motion-reveal {
    --motion-duration: 620ms !important;
    transform: translate3d(0, 28px, 0) scale(.985) !important;
}

.bottom-grid .why-card .feature.motion-reveal:nth-child(1) { --motion-delay: 100ms !important; }
.bottom-grid .why-card .feature.motion-reveal:nth-child(2) { --motion-delay: 190ms !important; }
.bottom-grid .why-card .feature.motion-reveal:nth-child(3) { --motion-delay: 280ms !important; }
.bottom-grid .why-card .feature.motion-reveal:nth-child(4) { --motion-delay: 370ms !important; }

.bottom-grid .why-card.motion-reveal.is-visible {
    transform: translate3d(0, 0, 0) scale(1) !important;
}

.bottom-grid .why-card .feature.motion-reveal.is-visible {
    transform: translate3d(0, 0, 0) scale(1) !important;
}

/* ---------------------------------------------------------
   9. MOBILE CARD
   --------------------------------------------------------- */

.bottom-grid .mobile-card.motion-reveal {
    --motion-delay: 80ms !important;
    --motion-duration: 850ms !important;
    transform: translate3d(38px, 0, 0) scale(.985) !important;
}

.bottom-grid .mobile-card .home-btn.motion-reveal {
    --motion-delay: 180ms !important;
    transform: translate3d(0, 26px, 0) scale(.985) !important;
}

.bottom-grid .mobile-card .phone.motion-reveal {
    --motion-delay: 260ms !important;
    --motion-duration: 900ms !important;
    transform:
        translate3d(38px, 12px, 0)
        rotate(5deg) !important;
}

.bottom-grid .mobile-card.motion-reveal.is-visible,
.bottom-grid .mobile-card .home-btn.motion-reveal.is-visible {
    transform: translate3d(0, 0, 0) scale(1) !important;
}

.bottom-grid .mobile-card .phone.motion-reveal.is-visible {
    transform:
        translate3d(0, 0, 0)
        rotate(5deg) !important;
}

/* ---------------------------------------------------------
   10. PRICING
   --------------------------------------------------------- */

/* Kill the old load-time riseIn animation once motion-reveal is present. */
#pricing .plan.motion-reveal {
    animation: none !important;
    --motion-duration: 850ms !important;
    transform: translate3d(0, 32px, 0) scale(.985) !important;
}

#pricing .plan.motion-reveal:nth-child(1) { --motion-delay: 80ms !important; }
#pricing .plan.motion-reveal:nth-child(2) { --motion-delay: 220ms !important; }

#pricing .heading.motion-reveal {
    --motion-delay: 0ms !important;
}

#pricing .plan .plan-top.motion-reveal {
    --motion-delay: 80ms !important;
    --motion-duration: 620ms !important;
    transform: translate3d(-18px, 0, 0) scale(.99) !important;
}

#pricing .plan .plan-intro.motion-reveal {
    --motion-delay: 170ms !important;
    --motion-duration: 680ms !important;
    transform: translate3d(0, 22px, 0) scale(.99) !important;
}

#pricing .plan .price.motion-reveal {
    --motion-delay: 260ms !important;
    --motion-duration: 650ms !important;
    transform: translate3d(0, 22px, 0) scale(.99) !important;
}

#pricing .plan .features li.motion-reveal {
    --motion-duration: 560ms !important;
    transform: translate3d(0, 18px, 0) !important;
}

#pricing .plan .features li.motion-reveal:nth-child(1) { --motion-delay: 330ms !important; }
#pricing .plan .features li.motion-reveal:nth-child(2) { --motion-delay: 390ms !important; }
#pricing .plan .features li.motion-reveal:nth-child(3) { --motion-delay: 450ms !important; }
#pricing .plan .features li.motion-reveal:nth-child(4) { --motion-delay: 510ms !important; }
#pricing .plan .features li.motion-reveal:nth-child(5) { --motion-delay: 570ms !important; }
#pricing .plan .features li.motion-reveal:nth-child(6) { --motion-delay: 630ms !important; }
#pricing .plan .features li.motion-reveal:nth-child(7) { --motion-delay: 690ms !important; }
#pricing .plan .features li.motion-reveal:nth-child(8) { --motion-delay: 750ms !important; }
#pricing .plan .features li.motion-reveal:nth-child(9) { --motion-delay: 810ms !important; }
#pricing .plan .features li.motion-reveal:nth-child(10) { --motion-delay: 870ms !important; }

#pricing .plan .cta.motion-reveal {
    --motion-delay: 680ms !important;
    transform: translate3d(0, 22px, 0) scale(.99) !important;
}

#pricing .benefit.motion-reveal {
    --motion-duration: 620ms !important;
    transform: translate3d(0, 26px, 0) scale(.985) !important;
}

#pricing .benefit.motion-reveal:nth-child(1) { --motion-delay: 80ms !important; }
#pricing .benefit.motion-reveal:nth-child(2) { --motion-delay: 170ms !important; }
#pricing .benefit.motion-reveal:nth-child(3) { --motion-delay: 260ms !important; }
#pricing .benefit.motion-reveal:nth-child(4) { --motion-delay: 350ms !important; }

#pricing .smallprint.motion-reveal {
    --motion-delay: 430ms !important;
    --motion-duration: 620ms !important;
    transform: translate3d(0, 20px, 0) !important;
}

/* Pricing visible states */
#pricing .heading.motion-reveal.is-visible,
#pricing .plan.motion-reveal.is-visible,
#pricing .plan .plan-top.motion-reveal.is-visible,
#pricing .plan .plan-intro.motion-reveal.is-visible,
#pricing .plan .price.motion-reveal.is-visible,
#pricing .plan .features li.motion-reveal.is-visible,
#pricing .plan .cta.motion-reveal.is-visible,
#pricing .benefit.motion-reveal.is-visible,
#pricing .smallprint.motion-reveal.is-visible {
    transform: translate3d(0, 0, 0) scale(1) !important;
}

/* ---------------------------------------------------------
   11. FOOTER
   --------------------------------------------------------- */

.footer .footer-grid > div.motion-reveal {
    --motion-duration: 680ms !important;
    transform: translate3d(0, 28px, 0) scale(.985) !important;
}

.footer .footer-grid > div.motion-reveal:nth-child(1) { --motion-delay: 0ms !important; }
.footer .footer-grid > div.motion-reveal:nth-child(2) { --motion-delay: 100ms !important; }
.footer .footer-grid > div.motion-reveal:nth-child(3) { --motion-delay: 200ms !important; }
.footer .footer-grid > div.motion-reveal:nth-child(4) { --motion-delay: 300ms !important; }

.footer .footer-bottom.motion-reveal {
    --motion-delay: 380ms !important;
    --motion-duration: 650ms !important;
    transform: translate3d(0, 24px, 0) !important;
}

.footer .footer-grid > div.motion-reveal.is-visible,
.footer .footer-bottom.motion-reveal.is-visible {
    transform: translate3d(0, 0, 0) scale(1) !important;
}

/* ---------------------------------------------------------
   12. HOVER — ONLY AFTER ENTRANCE
   --------------------------------------------------------- */

.motion-reveal.is-visible:hover {
    transition-delay: 0ms !important;
}

/* Cards */
.category-card.motion-reveal.is-visible:hover {
    transform: translate3d(0, -7px, 0) scale(1) !important;
}

.step.motion-reveal.is-visible:hover {
    transform: translate3d(0, -7px, 0) scale(1) !important;
}

.stat.motion-reveal.is-visible:hover {
    transform: translate3d(0, -5px, 0) scale(1) !important;
}

.info-card.motion-reveal.is-visible:hover {
    transform: translate3d(0, -6px, 0) scale(1) !important;
}

.feature.motion-reveal.is-visible:hover {
    transform: translate3d(4px, 0, 0) scale(1) !important;
}

.plan.motion-reveal.is-visible:hover {
    transform: translate3d(0, -9px, 0) scale(1) !important;
}

.benefit.motion-reveal.is-visible:hover {
    transform: translate3d(0, -5px, 0) scale(1) !important;
}

.footer .footer-grid > div.motion-reveal.is-visible:hover {
    transform: translate3d(0, -3px, 0) scale(1) !important;
}

/* Existing micro interactions */
.nav a,
.location-btn,
.business-btn,
.search-btn,
.cta-primary,
.cta-secondary,
.home-btn,
.view-all,
.footer a {
    transition:
        color var(--motion-fast) ease,
        background-color var(--motion-fast) ease,
        border-color var(--motion-fast) ease,
        box-shadow var(--motion-base) var(--motion-ease),
        transform var(--motion-base) var(--motion-ease);
}

.nav a:hover {
    transform: translateY(-2px);
}

.location-btn:hover {
    transform: translateY(-2px);
    box-shadow: 0 8px 22px rgba(15,74,111,.10);
}

.business-btn:hover,
.search-btn:hover,
.cta-primary:hover,
.home-btn:hover {
    transform: translateY(-3px);
    box-shadow: 0 12px 26px rgba(6,59,104,.18);
}

.cta-secondary:hover {
    transform: translateY(-3px);
    background: rgba(255,255,255,.08);
}

.search-btn:active,
.business-btn:active,
.cta-primary:active,
.cta-secondary:active,
.home-btn:active {
    transform: translateY(0) scale(.98);
}

.search-row:focus-within {
    border-color: rgba(8,191,174,.55);
    box-shadow:
        0 12px 34px rgba(8,191,174,.15),
        0 0 0 4px rgba(8,191,174,.08);
    transform: translateY(-2px);
}

.quick-chip {
    transition:
        transform var(--motion-base) var(--motion-ease),
        box-shadow var(--motion-base) var(--motion-ease),
        border-color var(--motion-fast) ease;
}

.quick-chip.motion-reveal.is-visible:hover {
    transform: translate3d(0, -7px, 0) scale(1.025) !important;
    border-color: rgba(8,191,174,.35);
    box-shadow: 0 14px 30px rgba(16,60,95,.12);
}

.quick-chip .chip-icon {
    transition: transform var(--motion-base) var(--motion-ease);
}

.quick-chip:hover .chip-icon {
    transform: scale(1.12) rotate(-4deg);
}

.step-icon,
.stat-icon,
.feature-icon,
.benefit-icon {
    transition:
        transform var(--motion-base) var(--motion-ease),
        box-shadow var(--motion-base) var(--motion-ease);
}

.step.motion-reveal.is-visible:hover .step-icon {
    transform: translateY(-3px) scale(1.08) rotate(-3deg);
    box-shadow: 0 12px 28px rgba(13,145,232,.16);
}

.stat.motion-reveal.is-visible:hover .stat-icon {
    transform: scale(1.08) rotate(-4deg);
    box-shadow: 0 10px 22px rgba(10,120,201,.12);
}

.feature.motion-reveal.is-visible:hover .feature-icon {
    transform: scale(1.08) rotate(-4deg);
    box-shadow: 0 9px 20px rgba(8,169,149,.12);
}

.benefit.motion-reveal.is-visible:hover .benefit-icon {
    transform: scale(1.1) rotate(-5deg);
}

.category-card .cat-img img {
    transition: transform .55s var(--motion-ease);
}

.category-card:hover .cat-img img {
    transform: scale(1.07);
}

.business-cta {
    transition:
        transform var(--motion-base) var(--motion-ease),
        box-shadow var(--motion-base) var(--motion-ease);
}

.business-cta.motion-reveal.is-visible:hover {
    transform: translate3d(0, -5px, 0) scale(1) !important;
    box-shadow: 0 24px 48px rgba(6,59,104,.18);
}

.dashboard {
    transition:
        transform .7s var(--motion-ease),
        filter .5s var(--motion-ease);
}

.business-cta:hover .dashboard {
    transform:
        rotateY(-30deg)
        rotateX(2deg)
        rotateZ(-1deg)
        translateY(-7px)
        scale(1.015) !important;
    filter: drop-shadow(0 24px 30px rgba(0,0,0,.18));
}

.phone {
    transition:
        transform .65s var(--motion-ease),
        filter .5s ease;
}

.mobile-card:hover .phone {
    transform:
        rotate(5deg)
        translateY(-7px) !important;
    filter: drop-shadow(0 22px 28px rgba(0,40,80,.24));
}

.plan .cta {
    transition:
        transform var(--motion-base) var(--motion-ease),
        box-shadow var(--motion-base) var(--motion-ease),
        filter var(--motion-base) ease;
}

.plan .cta:hover {
    transform: translateY(-3px);
    filter: brightness(1.04);
    box-shadow: 0 12px 28px rgba(0,0,0,.14);
}

.features li {
    transition: transform var(--motion-fast) var(--motion-ease);
}

.features li:hover {
    transform: translateX(4px);
}

.features .check {
    transition: transform var(--motion-base) var(--motion-ease);
}

.features li:hover .check {
    transform: scale(1.1) rotate(8deg);
}

.footer a:hover {
    transform: translateX(4px);
    color: #fff;
}

/* ---------------------------------------------------------
   13. SUBTLE CONTINUOUS MOTION
   --------------------------------------------------------- */

@keyframes softPulse {
    0%, 100% {
        box-shadow: 0 0 0 0 rgba(8,191,174,.10);
    }
    50% {
        box-shadow: 0 0 0 9px rgba(8,191,174,0);
    }
}

.search-btn {
    animation: softPulse 3.5s 1.5s ease-in-out infinite;
}

/* ---------------------------------------------------------
   14. REDUCED MOTION
   --------------------------------------------------------- */

@media (prefers-reduced-motion: reduce) {
    *,
    *::before,
    *::after {
        animation-duration: 0.01ms !important;
        animation-iteration-count: 1 !important;
        transition-duration: 0.01ms !important;
        scroll-behavior: auto !important;
    }

    .motion-reveal,
    .motion-reveal.motion-up,
    .motion-reveal.motion-down,
    .motion-reveal.motion-left,
    .motion-reveal.motion-right,
    .motion-reveal.motion-scale,
    .motion-reveal.is-visible,
    .motion-reveal.is-visible:hover {
        opacity: 1 !important;
        transform: none !important;
        filter: none !important;
        transition: none !important;
        animation: none !important;
    }
}
