/* Page-specific features only: pricing.html */
@layer pages{
:root{--pricing-primary: var(--primary, #1F73E8);--pricing-primary-light: var(--primary-light, #4EA6FF);--pricing-accent: var(--accent, #7BC4FF);--pricing-dark: var(--dark, #172033);--pricing-gray: var(--gray, #667085);--pricing-page: #f6faff;--pricing-soft: #f8fbff;--pricing-border: #dbe9ff;--pricing-white: #fff;--pricing-success: #2d8b42;--pricing-success-bg: #eaf9ef;--pricing-danger: #c62828;--pricing-danger-bg: #fff0f0;--pricing-warning: #9a6500;--pricing-warning-bg: #fff7dc;--pricing-radius: 18px;--pricing-radius-lg: 23px;--pricing-shadow: 0 18px 46px rgba(15, 38, 75, .09);--pricing-shadow-hover: 0 24px 58px rgba(15, 38, 75, .14);--pricing-transition: .22s ease;}
#pricing-packages,#pricing-addons,#pricing-quantity,#pricing-comparison,#pricing-payment,#pricing-faq{scroll-margin-top: 110px;}
#pricing-packages,#pricing-quantity,#pricing-payment{background: var(--pricing-white);}
#pricing-addons,#pricing-comparison,#pricing-faq{background: var(--pricing-page);}
#pricing-packages,#pricing-addons,#pricing-quantity,#pricing-comparison,#pricing-payment,#pricing-faq{padding: 92px 0;}
#pricing-packages .section-title,#pricing-addons .section-title,#pricing-quantity .section-title,#pricing-comparison .section-title,#pricing-faq .section-title{max-width: 850px;margin: 0 auto 42px;text-align: center;}
#pricing-packages .section-title h2,#pricing-addons .section-title h2,#pricing-quantity .section-title h2,#pricing-comparison .section-title h2,#pricing-faq .section-title h2{margin-bottom: 12px;color: var(--pricing-primary);}
#pricing-hero{position: relative;overflow: hidden;padding: 102px 0 96px;text-align: center;color: #fff;background:
        radial-gradient(circle at 85% 18%, rgba(255,255,255,.22), transparent 27%),
        radial-gradient(circle at 10% 90%, rgba(123,196,255,.30), transparent 32%),
        linear-gradient(135deg, var(--pricing-primary), var(--pricing-primary-light));}
#pricing-hero::before{content: "";position: absolute;inset: 0;pointer-events: none;background:
        linear-gradient(120deg, transparent 0 62%, rgba(255,255,255,.07) 62% 64%, transparent 64%),
        linear-gradient(30deg, transparent 0 72%, rgba(255,255,255,.05) 72% 74%, transparent 74%);}
#pricing-hero .container{position: relative;z-index: 1;}
#pricing-hero h1{max-width: 900px;margin: 0 auto 18px;color: #fff;font-size: clamp(2.55rem, 5.5vw, 4.5rem);line-height: 1.08;}
#pricing-hero p{max-width: 880px;margin: 0 auto;color: rgba(255,255,255,.95);font-size: clamp(1rem, 1.7vw, 1.16rem);line-height: 1.75;}
#pricing-hero .hero-buttons{display: flex;flex-wrap: wrap;justify-content: center;gap: 13px;margin-top: 31px;}
#pricing-hero .btn{min-width: 190px;}
#pricing-hero .btn.secondary{border-color: rgba(255,255,255,.78);background: rgba(255,255,255,.10);color: #fff;backdrop-filter: blur(6px);}
#pricing-hero .btn.secondary:hover,#pricing-hero .btn.secondary:focus-visible{border-color: #fff;background: #fff;color: var(--pricing-primary);}
.pricing-grid{display: grid;grid-template-columns: repeat(3, minmax(0, 1fr));gap: 26px;align-items: stretch;}
.pricing-card{position: relative;display: flex;overflow: hidden;min-width: 0;flex-direction: column;border: 1px solid var(--pricing-border);border-radius: var(--pricing-radius-lg);background: var(--pricing-white);box-shadow: var(--pricing-shadow);transition:
        transform var(--pricing-transition),
        border-color var(--pricing-transition),
        box-shadow var(--pricing-transition);}
.pricing-card:hover{transform: translateY(-5px);border-color: #b8d4f8;box-shadow: var(--pricing-shadow-hover);}
.pricing-card.featured-plan{border: 2px solid var(--pricing-primary);}
.pricing-card.featured-plan::after{content: "";position: absolute;inset: 0;pointer-events: none;border-radius: inherit;box-shadow: inset 0 0 0 1px rgba(255,255,255,.45);}
.popular{position: absolute;top: 16px;right: 16px;z-index: 2;display: inline-flex;align-items: center;min-height: 30px;padding: 5px 12px;border-radius: 999px;background: #fff;color: var(--pricing-primary);box-shadow: 0 7px 18px rgba(0,0,0,.13);font-size: .76rem;font-weight: 800;letter-spacing: .04em;text-transform: uppercase;}
.pricing-card-header{min-height: 176px;padding: 32px 28px 28px;color: #fff;background:
        radial-gradient(circle at 85% 20%, rgba(255,255,255,.22), transparent 25%),
        linear-gradient(135deg, var(--pricing-primary), var(--pricing-primary-light));}
.pricing-card-header h2{max-width: 78%;margin-bottom: 18px;color: #fff;font-size: clamp(1.45rem, 2vw, 1.9rem);}
.price{color: #fff;font-family: "Poppins", sans-serif;font-size: 2rem;font-weight: 800;line-height: 1.05;}
.price small{display: block;margin-top: 6px;color: rgba(255,255,255,.86);font-family: "Inter", sans-serif;font-size: .8rem;font-weight: 700;letter-spacing: .08em;text-transform: uppercase;}
.pricing-card-body{display: flex;flex: 1;flex-direction: column;padding: 29px 28px 31px;}
.pricing-card-body ul{display: grid;gap: 12px;margin: 0 0 28px;padding: 0;list-style: none;}
.pricing-card-body li{position: relative;padding-left: 27px;color: #475467;line-height: 1.55;}
.pricing-card-body li::before{content: "✓";position: absolute;top: 0;left: 0;display: grid;place-items: center;width: 19px;height: 19px;border-radius: 50%;background: #e4f3ff;color: var(--pricing-primary);font-size: .72rem;font-weight: 900;}
.pricing-card-body .btn{width: 100%;margin-top: auto;text-align: center;}
.pricing-note{max-width: 900px;margin: 42px auto 0;padding: 27px 29px;border: 1px solid #c9dcf8;border-left: 6px solid var(--pricing-primary);border-radius: 17px;background: #eef7ff;box-shadow: 0 14px 34px rgba(31,115,232,.07);}
.pricing-note h3{margin-bottom: 8px;color: var(--pricing-primary);}
.pricing-note p{margin: 0;}
.addon-grid{display: grid;grid-template-columns: repeat(3, minmax(0, 1fr));gap: 22px;}
.addon-card{display: flex;min-width: 0;min-height: 100%;flex-direction: column;padding: 25px;border: 1px solid var(--pricing-border);border-radius: var(--pricing-radius);background: var(--pricing-white);box-shadow: 0 14px 34px rgba(15,38,75,.07);transition:
        transform var(--pricing-transition),
        border-color var(--pricing-transition),
        box-shadow var(--pricing-transition);}
.addon-card:hover{transform: translateY(-4px);border-color: #b7d2f4;box-shadow: 0 20px 42px rgba(15,38,75,.11);}
.addon-card h3{margin-bottom: 10px;color: var(--pricing-primary);}
.addon-card p{margin-bottom: 17px;color: #536071;line-height: 1.65;}
.addon-price{display: inline-flex;align-items: center;align-self: flex-start;min-height: 34px;margin: auto 0 18px;padding: 6px 12px;border-radius: 999px;background: #eef6ff;color: var(--pricing-primary);font-size: .82rem;font-weight: 800;}
.addon-card .btn{width: 100%;text-align: center;}
.quantity-table,.comparison-table{width: 100%;border-spacing: 0;border-collapse: separate;overflow: hidden;border: 1px solid var(--pricing-border);border-radius: 17px;background: var(--pricing-white);box-shadow: 0 15px 38px rgba(15,38,75,.07);}
.quantity-table th,.quantity-table td,.comparison-table th,.comparison-table td{padding: 16px 17px;border-right: 1px solid #e5edf8;border-bottom: 1px solid #e5edf8;text-align: left;vertical-align: top;}
.quantity-table th:last-child,.quantity-table td:last-child,.comparison-table th:last-child,.comparison-table td:last-child{border-right: 0;}
.quantity-table tbody tr:last-child td,.comparison-table tbody tr:last-child td{border-bottom: 0;}
.quantity-table th,.comparison-table th{color: #fff;background: linear-gradient(
        135deg,
        var(--pricing-primary),
        var(--pricing-primary-light)
    );font-size: .77rem;font-weight: 800;letter-spacing: .055em;text-transform: uppercase;}
.quantity-table tbody tr:nth-child(even),.comparison-table tbody tr:nth-child(even){background: #f8fbff;}
.quantity-table tbody tr:hover,.comparison-table tbody tr:hover{background: #eef6ff;}
.quantity-table td:first-child,.comparison-table td:first-child{color: var(--pricing-dark);font-weight: 800;}
.comparison-table .included,.comparison-table .not-included{position: relative;padding-left: 41px;font-weight: 700;}
.comparison-table .included::before,.comparison-table .not-included::before{position: absolute;top: 15px;left: 17px;display: grid;place-items: center;width: 18px;height: 18px;border-radius: 50%;font-size: .7rem;font-weight: 900;}
.comparison-table .included{color: var(--pricing-success);}
.comparison-table .included::before{content: "✓";background: var(--pricing-success-bg);color: var(--pricing-success);}
.comparison-table .not-included{color: #7a4f00;}
.comparison-table .not-included::before{content: "•";background: var(--pricing-warning-bg);color: var(--pricing-warning);}
.discount-banner{max-width: 970px;margin: 31px auto 0;padding: 22px 25px;border: 1px solid #c9dcf8;border-radius: 16px;background:
        radial-gradient(circle at 90% 20%, rgba(255,255,255,.62), transparent 25%),
        linear-gradient(135deg, #eaf4ff, #f8fbff);color: #305276;box-shadow: 0 12px 30px rgba(31,115,232,.07);font-weight: 700;text-align: center;}
#pricing-payment{padding-top: 80px;padding-bottom: 80px;}
.square-payment{position: relative;overflow: hidden;max-width: 950px;margin: 0 auto;padding: clamp(30px, 5vw, 53px);border: 1px solid #cfe1fb;border-radius: 24px;background:
        radial-gradient(circle at 88% 18%, rgba(31,115,232,.10), transparent 27%),
        linear-gradient(135deg, #fff, #f4f9ff);box-shadow: var(--pricing-shadow);text-align: center;}
.square-payment::before{content: "$";position: absolute;top: -45px;right: 17px;color: rgba(31,115,232,.055);font-family: "Poppins", sans-serif;font-size: 13rem;font-weight: 800;line-height: 1;pointer-events: none;}
.square-payment > *{position: relative;z-index: 1;}
.square-payment h2{margin-bottom: 15px;color: var(--pricing-primary);}
.square-payment p{max-width: 800px;margin-right: auto;margin-left: auto;}
.square-payment .btn{margin-top: 7px;}
.pricing-faq .faq-container{display: grid;max-width: 900px;margin: 0 auto;gap: 13px;}
.pricing-faq .faq-item{overflow: hidden;border: 1px solid var(--pricing-border);border-radius: 15px;background: var(--pricing-white);box-shadow: 0 10px 26px rgba(15,38,75,.055);}
.pricing-faq .faq-question{position: relative;width: 100%;padding: 19px 58px 19px 21px;border: 0;background: transparent;color: var(--pricing-dark);cursor: pointer;font: inherit;font-weight: 800;text-align: left;transition: color var(--pricing-transition), background var(--pricing-transition);}
.pricing-faq .faq-question::after{content: "+";position: absolute;top: 50%;right: 20px;display: grid;place-items: center;width: 29px;height: 29px;border-radius: 50%;background: #eef6ff;color: var(--pricing-primary);font-size: 1.25rem;line-height: 1;transform: translateY(-50%);transition: transform var(--pricing-transition), background var(--pricing-transition);}
.pricing-faq .faq-question[aria-expanded="true"]{background: #f7fbff;color: var(--pricing-primary);}
.pricing-faq .faq-question[aria-expanded="true"]::after{content: "−";background: var(--pricing-primary);color: #fff;}
.pricing-faq .faq-question:hover,.pricing-faq .faq-question:focus-visible{background: #f4f9ff;color: var(--pricing-primary);outline: none;}
.pricing-faq .faq-answer{display: none;padding: 0 21px 20px;color: #536071;}
.pricing-faq .faq-answer[aria-hidden="false"],.pricing-faq .faq-question[aria-expanded="true"] + .faq-answer{display: block;}
.pricing-faq .faq-answer p:last-child{margin-bottom: 0;}
#final-cta{position: relative;overflow: hidden;padding: 88px 0;color: #fff;background:
        radial-gradient(circle at 84% 17%, rgba(255,255,255,.19), transparent 25%),
        linear-gradient(135deg, var(--pricing-primary), var(--pricing-primary-light));text-align: center;}
#final-cta .container{position: relative;z-index: 1;}
#final-cta .cta-logo{display: block;width: min(150px, 42vw);max-height: 95px;margin: 0 auto 18px;object-fit: contain;}
#final-cta h2{margin-bottom: 13px;color: #fff;}
#final-cta p{max-width: 760px;margin: 0 auto;color: rgba(255,255,255,.93);}
#final-cta .cta-buttons{display: flex;flex-wrap: wrap;justify-content: center;gap: 12px;margin-top: 27px;}
#final-cta .btn.secondary{border-color: rgba(255,255,255,.8);background: rgba(255,255,255,.10);color: #fff;}
#final-cta .btn.secondary:hover,#final-cta .btn.secondary:focus-visible{background: #fff;color: var(--pricing-primary);}
#backToTop{position: fixed;right: 22px;bottom: 22px;z-index: 900;display: grid;place-items: center;width: 46px;height: 46px;border: 0;border-radius: 50%;background: var(--pricing-primary);color: #fff;box-shadow: 0 12px 28px rgba(0,0,0,.18);cursor: pointer;opacity: 0;visibility: hidden;transform: translateY(12px);transition: var(--pricing-transition);}
#backToTop.show{opacity: 1;visibility: visible;transform: translateY(0);}
#backToTop:hover,#backToTop:focus-visible{background: #1764cc;outline: none;transform: translateY(-2px);}
@media (max-width: 1180px) {.pricing-grid,.addon-grid{grid-template-columns: repeat(2, minmax(0, 1fr));}}
@media (max-width: 900px) {.quantity-table,.comparison-table{display: block;overflow-x: auto;min-width: 100%;-webkit-overflow-scrolling: touch;white-space: normal;}
.quantity-table thead,.quantity-table tbody,.comparison-table thead,.comparison-table tbody{min-width: 830px;}}
@media (max-width: 760px) {#pricing-hero{padding: 75px 0 72px;}
#pricing-packages,#pricing-addons,#pricing-quantity,#pricing-comparison,#pricing-payment,#pricing-faq{padding: 64px 0;}
.pricing-grid,.addon-grid{grid-template-columns: 1fr;}
.pricing-card-header{min-height: 0;}
.pricing-card-header h2{max-width: 72%;}
#pricing-hero .hero-buttons,#final-cta .cta-buttons{align-items: stretch;flex-direction: column;}
#pricing-hero .btn,#final-cta .btn{width: 100%;}}
@media (max-width: 520px) {.pricing-card-header,.pricing-card-body,.addon-card,.pricing-note,.square-payment{padding-right: 19px;padding-left: 19px;}
.popular{top: 13px;right: 13px;}
.pricing-card-header h2{max-width: 68%;font-size: 1.34rem;}
.quantity-table th,.quantity-table td,.comparison-table th,.comparison-table td{padding: 14px;}}
@media (prefers-reduced-motion: reduce) {.pricing-card,.addon-card,#backToTop,.pricing-faq .faq-question,.pricing-faq .faq-question::after{transition: none ;}}
@media print {.site-header,#pricing-hero .hero-buttons,#final-cta,#backToTop,.pricing-card .btn,.addon-card .btn,.square-payment .btn{display: none ;}
#pricing-packages,#pricing-addons,#pricing-quantity,#pricing-comparison,#pricing-payment,#pricing-faq{padding: 26px 0;background: #fff;}
.pricing-grid,.addon-grid{grid-template-columns: 1fr;}
.pricing-card,.addon-card,.square-payment,.quantity-table,.comparison-table{break-inside: avoid;box-shadow: none;}}
noscript{display: block;padding: 18px;background: #fff1d6;color: #714d00;font-weight: 700;text-align: center;}
#backToTop{position: fixed;right: 22px;bottom: 22px;z-index: 900;display: grid;place-items: center;width: 46px;height: 46px;border: 0;border-radius: 50%;background: var(--primary);color: #fff;box-shadow: 0 12px 28px rgba(0,0,0,.18);cursor: pointer;opacity: 0;visibility: hidden;transform: translateY(12px);transition: .25s ease;}
#backToTop.show{opacity: 1;visibility: visible;transform: translateY(0);}
.quantity-table,.comparison-table{width: 100%;}
@media (max-width: 900px) {.quantity-table,.comparison-table{display: block;overflow-x: auto;-webkit-overflow-scrolling: touch;}}
.pricing-table-scroll{width: 100%;overflow-x: auto;border-radius: 17px;-webkit-overflow-scrolling: touch;}
.pricing-table-scroll table{min-width: 720px;}
@media (max-width: 900px) {.quantity-table,.comparison-table{display: table;overflow: visible;}}
#pricing-faq .faq-container{display: grid;width: min(100%, 920px);margin: 0 auto;gap: 13px;}
#pricing-faq .faq-item{overflow: hidden;margin: 0;border: 1px solid rgba(31, 115, 232, .18);border-radius: 14px;background: #fff;box-shadow: 0 10px 28px rgba(23, 32, 51, .07);}
#pricing-faq .faq-question{position: relative;display: flex;width: 100%;align-items: center;justify-content: space-between;gap: 20px;padding: 20px 58px 20px 22px;border: 0;border-radius: 0;background: #fff;color: #172033;font: 700 1rem/1.45 "Poppins", sans-serif;text-align: left;cursor: pointer;box-shadow: none;}
#pricing-faq .faq-question::after{position: absolute;top: 50%;right: 22px;width: 28px;height: 28px;border-radius: 50%;background: rgba(31, 115, 232, .1);color: #1F73E8;content: "+";font: 700 1.35rem/28px "Inter", sans-serif;text-align: center;transform: translateY(-50%);}
#pricing-faq .faq-question:hover{background: #f7fbff;color: #172033;}
#pricing-faq .faq-question:focus-visible{outline: 3px solid rgba(31, 115, 232, .35);outline-offset: -3px;}
#pricing-faq .faq-answer{display: block ;height: auto ;max-height: none ;overflow: visible ;visibility: visible ;opacity: 1 ;padding: 0;background: #fff;color: #444;}
#pricing-faq .faq-answer p{margin: 0;padding: 0 22px 22px;}
#pricing-faq
.faq-container.pricing-faq-enhanced
.faq-answer{max-height: 0 ;overflow: hidden ;visibility: hidden ;opacity: 0 ;transition:
        max-height .35s ease,
        opacity .22s ease,
        visibility 0s linear .35s;}
#pricing-faq
.faq-container.pricing-faq-enhanced
.faq-item.is-open
.faq-answer{visibility: visible ;opacity: 1 ;transition:
        max-height .35s ease,
        opacity .22s ease,
        visibility 0s linear 0s;}
#pricing-faq .faq-item.is-open .faq-question::after{content: "−";background: #1F73E8;color: #fff;}
@media (prefers-reduced-motion: reduce) {#pricing-faq
    .faq-container.pricing-faq-enhanced
    .faq-answer{transition: none ;}}
}
