/*
Theme Name: Twenty Twenty-Five Child
Theme URI: https://wordpress.org/themes/twentytwentyfive/
Description: Child theme for Twenty Twenty-Five
Author: SiteTailors
Author URI: https://sitetailors.com
Template: twentytwentyfive
Version: 1.1.0
Text Domain: twentytwentyfive-child
*/


/* ==========================================================================
   1. FONTS & BASE TYPOGRAPHY
   ========================================================================== */

@import url('https://fonts.googleapis.com/css2?family=Inter:ital,opsz,wght@0,14..32,100..900;1,14..32,100..900&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Caladea:ital,wght@0,400;0,700;1,400;1,700&display=swap');

p, h5, a.wp-block-button__link.wp-element-button, body, a {
    font-family: Inter, sans-serif !important;
}

h1, h2, h3, h4, h6 {
    font-family: "Caladea", serif;
    font-weight: 400;
}

h1 {
    font-size: clamp(3rem, 1.5rem + 3vw, 4.5rem);
    line-height: 1;
}

h2 {
    font-size: clamp(2.5rem, 1rem + 2vw, 3.4rem);
    line-height: 1;
}

h3 {
    font-size: clamp(1.75rem, 1.8333rem + .5208vw, 2rem);
}

h3, h4 {
    letter-spacing: 0;
    line-height: 1.25;
}

h5 {
    font-size: .875rem;
    line-height: 1.25rem;
    text-transform: uppercase;
    font-weight: 600;
}

p {
    font-size: 16px;
}


/* ==========================================================================
   2. GLOBAL ELEMENTS (buttons, links, focus)
   ========================================================================== */

:where(.wp-site-blocks :focus) {
    outline: none !important;
}

a.wp-block-button__link.wp-element-button {
    padding: 20px 40px;
}

a.wp-block-button__link.wp-element-button:hover {
    background-color: var(--wp--preset--color--accent-1);
    color: #fff;
    opacity: 0.9;
}

.transparentbutton a:hover {
    background: #dc5638 !important;
    color: #fff !important;
}

.textlink a {
    text-decoration: underline;
}

.textlink a:hover {
    text-decoration: none;
    color: #151932cc;
}

a.custom-logo-link {
    opacity: 1 !important;
}

.liststyles {
    margin: 0px !important;
}


/* ==========================================================================
   3. HEADER & NAVIGATION
   ========================================================================== */

header.wp-block-template-part {
    display: block !important;
    z-index: 9999;
    position: relative;
}

.wp-block-group.alignfull.headingstyle.is-layout-flow.wp-block-group-is-layout-flow {
    position: relative;
    z-index: 99;
}

span.wp-block-navigation-item__label {
    font-size: 16px;
}

a.wp-block-navigation-item__content:hover {
    color: #fff !important;
    text-decoration: none;
}

li.current-menu-item a {
    font-weight: 700;
}

.headermenust ul {
    gap: 2rem;
}

/* Subpage nav colors */
.mainmenuheader a:active {
    font-weight: 600;
    color: #151932cc !important;
}

.mainmenuheader a:hover {
    color: #151932cc !important;
}

/* Home page nav colors (white on dark hero) */
.home .mainmenuheader a {
    color: #fff !important;
    opacity: .8;
}

.home .mainmenuheader a:hover {
    opacity: 1;
}

.home .mainmenuheader a:active {
    color: #fff;
    font-weight: 600;
}

/* Home page logo swap */
.home .wp-block-site-logo a {
    position: relative;
    display: inline-block;
}

.home .wp-block-site-logo a::after {
    content: '';
    position: absolute;
    inset: 0;
    background-image: url('/wp-content/uploads/2026/01/svg-image-1.svg');
    background-repeat: no-repeat;
    background-size: contain;
    background-position: center;
    z-index: 2;
}

/* Mobile menu icon colors */
.wp-block-navigation__responsive-container-close svg,
.wp-block-navigation__responsive-container-open svg {
    fill: #151932 !important;
}

.home .wp-block-navigation__responsive-container-close svg,
.home .wp-block-navigation__responsive-container-open svg {
    fill: #fff !important;
}


/* ==========================================================================
   4. HERO SECTIONS
   ========================================================================== */

.hero-section {
    position: relative;
    min-height: 90vh;
    background: #0b1a33;
    overflow: hidden;
    display: flex;
    align-items: center;
}

.heroimg {
    display: flex;
    flex-direction: row;
    align-items: flex-end;
    z-index: 1;
}

.heroleft {
    display: flex;
    flex-direction: column;
    justify-content: center;
}

.herosection {
    display: flex !important;
    flex-direction: row;
    align-items: center;
    position: relative;
    z-index: 99;
}

/* Dark hero background texture overlay */
.mainsections {
    position: relative;
}

.mainsections:before {
    content: '';
    position: absolute;
    width: 50%;
    height: 33%;
    background-color: rgb(12 73 140);
    border-radius: 50%;
    filter: blur(150px);
    top: 25%;
    left: 33.3%;
    z-index: 0;
    opacity: .4;
}

.mainsections:after {
    content: '';
    background-image: url('/wp-content/uploads/2026/01/texture-pattern-dark.webp');
    background-repeat: repeat;
    mix-blend-mode: overlay;
    position: absolute;
    left: 0;
    right: 0;
    top: 0;
    bottom: 0;
    z-index: 0;
}

/* Glow effects */
.bulbeffect {
    position: relative;
    overflow: visible;
}

.bulbeffect::after {
    content: "";
    position: absolute;
    width: 300px;
    height: 300px;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
    background: rgb(12, 73, 140);
    opacity: 0.4;
    filter: blur(150px);
    border-radius: 50%;
    z-index: -1;
}

/* Blue gradient background section */
.bluebggradient {
    background:
        linear-gradient(to bottom, #151932, rgba(21, 25, 50, 0.48)),
        url("/wp-content/uploads/2026/01/how-works-3.webp");
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
}


/* ==========================================================================
   5. DECORATIVE PATTERNS (pseudo-element backgrounds)
   ========================================================================== */

.imgbg {
    position: relative;
}

.imgbg:before {
    content: '';
    position: absolute;
    background-image: url('/wp-content/uploads/2026/01/dotted-pattern.svg');
    height: 100%;
    width: 100%;
    background-size: auto;
    background-repeat: repeat;
    z-index: 0;
    top: -30px;
    left: -30px;
    border-radius: 24px;
}

.imgbg img {
    z-index: 9;
    position: relative;
}

.imgbg2 {
    position: relative;
}

.imgbg2:before {
    content: '';
    position: absolute;
    background-image: url('/wp-content/uploads/2026/02/dotted-pattern-light.svg');
    height: 100%;
    width: 85%;
    background-size: auto;
    background-repeat: repeat;
    z-index: 0;
    top: -30px;
    left: inherit;
    border-radius: 24px;
    right: 22%;
}

.imgbg2 img {
    z-index: 9;
    position: relative;
}

.partnerheroimg {
    position: relative;
}

.partnerheroimg:after {
    content: '';
    position: absolute;
    background-image: url('/wp-content/uploads/2026/02/dotted-pattern-light.svg');
    height: 100%;
    width: 90%;
    background-size: auto;
    background-repeat: repeat;
    z-index: 0;
    top: -30px;
    left: 25px;
    border-radius: 1.5rem;
    right: 0px;
    bottom: 0px;
}

.partnerheroimg img {
    z-index: 9;
    position: relative;
}

figure.subpageimg {
    position: relative;
}

figure.subpageimg:before {
    content: '';
    position: absolute;
    background-image: url('/wp-content/uploads/2026/02/dotted-pattern-light.svg');
    background-repeat: repeat;
    top: 0;
    bottom: 0;
    left: 60px;
    right: 0;
    z-index: 0;
    height: 100%;
    width: 90%;
    border-radius: 24px;
    transform: translate3d(-30px, -30px, 0px);
}

figure.subpageimg img {
    z-index: 5;
    position: relative;
}


/* ==========================================================================
   6. LAYOUT UTILITIES & STRUCTURE
   ========================================================================== */

.subsection {
    max-width: 985px;
    width: 100%;
}

.lefttext {
    display: flex;
    align-items: center;
}

.gridposition {
    align-items: flex-start;
}

.gridposition img {
    padding-top: 8px;
}

.margin-80 {
    margin-bottom: 80px;
}

.gap-80 {
    padding: 80px 0px;
}

.container-gap-80 {
    gap: 80px;
    display: flex;
    flex-direction: column;
}

.container-padding {
    padding-top: 144px;
    padding-bottom: 144px;
}

.imgtextsection {
    display: flex !important;
    flex-direction: row;
    align-items: center;
}

.subleftright {
    display: grid !important;
}

.contactsec {
    align-items: flex-start !important;
}

.boxstyles {
    display: flex;
    flex-direction: column;
    gap: 40px;
}

.boxstyles h3 {
    margin: 0px !important;
}

.boxstyle {
    display: flex;
    flex-direction: column;
    gap: 24px;
}

.boxstyle p {
    margin: 0;
}

.boxstylefirst {
    display: flex;
    flex-direction: column;
    gap: 16px;
}

.numberstyle {
    opacity: 0.3;
    position: absolute;
    right: 0;
    bottom: -25px;
    font-size: 200px !important;
    font-family: 'Inter';
    top: inherit;
    left: inherit;
}

.dividerwidth {
    width: 64px;
    height: 4px;
}

hr.verticalhr {
    height: 350px;
    width: 1px;
}

.authouimg img {
    height: 130px;
    width: auto;
    object-fit: fill;
}


/* ==========================================================================
   7. ABOUT PAGE
   ========================================================================== */

.aboutheroimg {
    position: relative;
}

.aboutimg {
    max-width: 85%;
    height: 98%;
}

.aboutimg img {
    max-width: 85%;
    height: 98%;
    align-items: end;
    text-align: end;
    max-width: 523px;
    width: 100%;
    box-shadow: 0 25px 50px -12px rgba(0, 0, 0, .25) !important;
}

.reviewimg {
    position: absolute;
    bottom: -50px;
    left: 0;
    max-width: 373px;
    width: 100%;
}

.imgsizeleft img {
    max-width: 580px;
    width: 100%;
}


/* ==========================================================================
   8. CONTACT PAGE
   ========================================================================== */

.contactpage {
    width: 50%;
}


/* ==========================================================================
   9. PRICING PAGE
   ========================================================================== */

p.pricetitle {
    font-size: 2.25rem;
    line-height: 2.5rem;
    font-weight: 600;
}

p.boldfont {
    font-weight: 600;
}

.pricelist {
    width: 100%;
}

.pricelist li {
    position: relative;
    padding-left: 20px !important;
    list-style: none !important;
}

.pricelist li:before {
    content: '';
    background-image: url('/wp-content/uploads/2026/02/svg-image-3.svg');
    background-repeat: no-repeat;
    background-size: contain;
    width: 1.25rem;
    position: absolute;
    height: 15px;
    left: -16px;
    right: inherit;
    top: 4px;
    z-index: 99;
}

.pricecenter {
    box-shadow: 0 25px 50px -12px rgba(0, 0, 0, .25);
    position: relative;
}

p.oldprice {
    opacity: 0.5;
}

p.populartag {
    padding: .5rem .75rem;
    background-color: #151932;
    color: #fff;
    border-radius: 9999px;
    width: 10rem;
    margin-top: -4rem;
    text-transform: uppercase;
    font-size: 14px;
    text-align: center;
    position: absolute;
}

.pricingsubsec figure.priceimg {
    width: auto;
}

.pricingsubsec {
    align-items: stretch;
}

/* Fit Promise / Money Back Guarantee section */
.pricesub {
    padding-left: 32px;
    padding-right: 32px;
}

@media screen and (min-width: 1025px) {
    .pricingsubsec .imgresize img {
        width: 400px;
    }
}

.pricesub p.subpagetext {
    color: rgb(236, 233, 218) !important;
    font-size: 16px !important;
}


/* ==========================================================================
   10. FAQ / ACCORDION
   ========================================================================== */

.faq .wp-block-accordion-item {
    padding: 24px;
}

.wp-block-accordion-heading__toggle-icon {
    font-size: 24px;
    color: #000;
    display: inline-block;
    width: 24px;
    height: 24px;
    vertical-align: middle;
    background-color: #000;
    -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='m6 9 6 6 6-6' stroke='black' stroke-width='2' fill='none' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") no-repeat center;
    -webkit-mask-size: contain;
    mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='m6 9 6 6 6-6' stroke='black' stroke-width='2' fill='none' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") no-repeat center;
    mask-size: contain;
    transition: transform 1.2s cubic-bezier(0.4,0,0.2,1), background-color 0.8s ease-in-out;
    transform: rotate(0deg);
}

.wp-block-accordion-item.is-open > .wp-block-accordion-heading .wp-block-accordion-heading__toggle-icon {
    background-color: #dc5638;
    transform: rotate(180deg);
}

.faqsec {
    width: 100%;
}


/* ==========================================================================
   11. FOOTER
   ========================================================================== */

footer {
    margin-top: 0px;
}

.footermenusection {
    position: relative;
    z-index: 1;
}

.footersection {
    position: relative;
}

.footer-inner {
    position: relative;
    padding-top: 144px;
    padding-bottom: 96px;
}

.footerleft {
    max-width: 810px;
    width: 100%;
}

.footerfirstbox {
    display: flex;
    flex-direction: column;
    gap: 40px;
    margin-bottom: 80px;
}


/* ==========================================================================
   12. ANIMATIONS
   ========================================================================== */

.animateup {
    opacity: 0;
    transform: translateY(40px);
    animation: slideUp 0.8s ease-out forwards;
}

@keyframes slideUp {
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

.zoomin {
    opacity: 0;
    transform: scale(0.85);
    animation: zoomIn 0.8s ease-out forwards;
    animation-delay: 0.3s;
    will-change: transform, opacity;
}

@keyframes zoomIn {
    to {
        opacity: 1;
        transform: scale(1);
    }
}

.slideright {
    opacity: 0;
    transform: translateX(40px);
    animation: slideLeft 0.8s ease-out forwards;
    animation-delay: 0.3s;
    will-change: transform, opacity;
}

@keyframes slideLeft {
    to {
        opacity: 1;
        transform: translateX(0);
    }
}

.slideleftin {
    opacity: 0;
    transform: translate(-50px, 50px);
    animation: slideInBL 0.8s ease-out forwards;
    animation-delay: 0.2s;
}

@keyframes slideInBL {
    to {
        opacity: 1;
        transform: translate(0, 0);
    }
}

.animatetext { animation-delay: 0.1s; }
.animatebtn { animation-delay: 0.25s; }


/* ==========================================================================
   13. BLOCK-SPECIFIC OVERRIDES
   All hash-based layout selectors have been replaced with semantic class names.
   Semantic classes used: .footer-brand, .footer-links-col, .footerleft,
   .imgbox, .leftimgboxcontent, .boxstylefirst, .containersection.container-gap-80
   ========================================================================== */

/* Separator positioning */
hr.wp-block-separator.has-text-color.has-alpha-channel-opacity.has-background.is-style-default {
    position: relative;
}

/* Faded logomark background decoration */
.wp-block-group.bgimg.has-global-padding.is-layout-constrained.wp-block-group-is-layout-constrained {
    position: absolute;
    top: 3rem;
    left: 50%;
    right: 50%;
    width: 50%;
    height: 50%;
    max-width: 586px;
    max-height: 489px;
    transform: translateX(-50%) rotate(0deg);
    background-image: url("/wp-content/uploads/2026/02/faded-logomark-1.svg");
    background-repeat: no-repeat;
    background-size: cover;
    z-index: 0;
}

/* Logo glow effect */
.wp-block-group.logoimg.has-global-padding.is-layout-constrained.wp-block-group-is-layout-constrained {
    position: absolute;
    top: 25%;
    bottom: 25%;
    left: 50%;
    right: 50%;
    width: 24.333%;
    height: 16.666%;
    transform: translateX(-50%) rotate(180deg);
    background-color: rgb(125, 183, 255);
    opacity: 0.2;
    filter: blur(100px);
    border-radius: 9999px;
    z-index: 0;
}

.arrowstyle {
    height: 56px;
    width: 48px;
}

.tagimg {
    height: 164px;
    width: 241px;
}


/* ==========================================================================
   RESPONSIVE: ≤1440px
   ========================================================================== */

@media screen and (max-width: 1440px) {
    .containersection {
        padding-left: 32px !important;
        padding-right: 32px !important;
    }
}


/* ==========================================================================
   RESPONSIVE: ≤1080px
   ========================================================================== */

@media (max-width: 1080px) {
    .fourbox {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}


/* ==========================================================================
   RESPONSIVE: ≤1024px
   ========================================================================== */

@media screen and (max-width: 1024px) {

    /* --- Typography --- */
    p {
        font-size: clamp(16px, 0.875rem + ((1vw - 3.2px) * 0.179), 16px) !important;
    }
    p.textstyle {
        font-size: clamp(20px, 0.875rem + ((1vw - 3.2px) * 0.179), 20px) !important;
    }
    p.textstyles,
    p.subpagedesc {
        font-size: clamp(18px, 0.875rem + ((1vw - 3.2px) * 0.179), 18px) !important;
    }
    p.headstyle {
        font-size: 30px !important;
    }
    p.contactsubdesc {
        font-size: 16px !important;
    }
    span.wp-block-accordion-heading__toggle-title {
        font-size: 1.25rem !important;
    }
    .hero p {
        font-size: 20px !important;
    }
    .bluebggradient p {
        font-size: 24px !important;
        font-weight: 500;
    }

    /* --- Layout --- */
    .containersection {
        padding-left: 32px !important;
        padding-right: 32px !important;
    }
    .container-padding {
        padding-top: 136px;
        padding-bottom: 136px;
    }
    .mainsections {
        padding-top: 196px !important;
    }
    .mainimgboxsection {
        flex-direction: column !important;
    }
    .heroleft {
        max-width: 705px;
        width: 100%;
    }

    /* --- Header --- */
    .headingstyle {
        padding-bottom: 2rem !important;
        padding-top: 2rem !important;
    }
    .wp-block-group.alignfull.headingstyle.mainmenuheader.containersection.is-layout-flow.wp-block-group-is-layout-flow {
        padding-top: 20px !important;
        padding-bottom: 20px !important;
    }
    .mainheaderstyling {
        padding-top: 32px;
        padding-bottom: 32px;
    }

    /* --- About --- */
    .aboutimg img {
        max-width: 100%;
    }
    .authouimg img {
        height: 130px;
        width: revert-layer;
        object-fit: fill;
    }
    figure.wp-block-image.alignleft.size-full.has-custom-border {
        margin: 0px;
    }
    .imgbox {
        align-items: flex-start;
    }
    .gridposition {
        align-items: flex-start;
    }
    .gridposition img {
        padding-top: 8px;
    }

    /* --- Contact --- */
    .contactpagection {
        display: flex;
        flex-direction: column;
        gap: 80px;
    }
    .cardboxspace {
        display: flex;
        flex-direction: column;
        gap: 16px;
        margin-top: 0px;
    }
    p.textlink {
        margin-top: 0px;
    }
    .contactsec {
        display: flex;
        flex-direction: column;
        gap: 40px;
    }
    .contactsec > div {
        width: 50%;
    }
    .contactsec h2 {
        font-size: 36px;
    }

    /* --- Pricing --- */
    .pricingsubsec figure.priceimg {
        width: 50%;
    }
    .pricesub {
        padding-left: 32px !important;
        padding-right: 32px !important;
    }

    /* --- Footer --- */
    .footerfirstbox {
        display: flex;
        flex-direction: column;
        gap: 40px;
        margin-bottom: 80px;
    }

    /* --- Footer responsive overrides --- */
    .footer-brand {
        width: 550px !important;
    }
    .footer-links-col {
        width: 450px;
    }
}


/* ==========================================================================
   RESPONSIVE: ≤1023px
   ========================================================================== */

@media screen and (max-width: 1023px) {

    /* --- Layout --- */
    .fourbox,
    .lefttext {
        grid-template-columns: repeat(1, minmax(0, 1fr));
        gap: 48px;
    }
    .fournumberbox {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 40px;
    }
    .iconbox {
        grid-template-columns: repeat(1, minmax(0, 1fr));
        gap: 0;
        width: 100%;
    }
    .wp-block-group,
    .wp-block-buttons {
        margin-block-start: 0px;
        margin-block-end: 0;
    }
    .number {
        display: none !important;
    }
    .subsection {
        justify-content: center;
    }
    .container-gap-80 {
        gap: 48px;
        display: flex;
        flex-direction: column;
    }
    .lefttext {
        gap: 32px;
    }
    .gridposition {
        flex-direction: column;
        gap: 16px;
    }
    .boxxes {
        width: 100%;
    }
    .fourbox {
        width: 100%;
    }
    .headingh3box {
        margin: 0px !important;
    }
    .mainsections {
        padding-top: 220px !important;
    }
    .headingstyle {
        padding-bottom: 1.25rem !important;
        padding-top: 1.25rem !important;
    }

    /* --- Image/text sections --- */
    .subleftright {
        display: flex !important;
        flex-direction: column-reverse !important;
        gap: 40px;
        margin: 0px;
    }
    .subreverse {
        flex-direction: column !important;
    }
    .imgresize img {
        width: 75%;
    }
    .imgresize {
        align-items: center !important;
    }
    .imgsizeleft img {
        width: 60%;
    }
    .imgsizeleft {
        text-align: center;
    }
    .subleftimg {
        text-align: center;
    }
    .leftimgboxcontent {
        width: 100%;
        gap: 40px;
        display: flex;
        flex-direction: column;
    }

    /* --- Background images --- */
    .bgimgs {
        background-image: none !important;
    }
    .arrowstyle {
        transform: rotate(360deg);
    }
    .arrowstyle img {
        transform: rotate(90deg);
    }

    /* --- About --- */
    .authouimg img {
        height: 130px;
        width: auto;
    }
    .authbio p {
        width: 100%;
        display: flex;
        flex-direction: column;
        align-items: flex-start;
        max-width: 100% !important;
    }
    .numberdesc {
        width: 640px;
    }
    .numberstyle {
        right: 5px;
        bottom: -20px;
    }
    img.wp-image-684 {
        width: 680px;
    }

    /* --- Contact --- */
    .contactsec > div {
        width: 100%;
    }
    .contactsec {
        gap: 40px !important;
    }
    .contactsec hr {
        display: none;
    }
    .contactsecond {
        padding: 48px 24px !important;
    }
    .contactpage {
        display: flex;
        flex-direction: column;
        gap: 32px;
    }
    .contactpage > p {
        margin: 0px;
    }
    .contbtn {
        margin-top: 40px;
    }

    /* --- Pricing --- */
    .pricingsubsec figure.priceimg {
        width: 100%;
    }
    .pricingsubsec {
        flex-direction: column !important;
    }
    .Pricebox {
        padding: 32px !important;
        margin: 0px !important;
    }
    .pricepagebox {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 32px;
    }
    p.populartag {
        margin-top: -3.3rem;
    }
    .pricesub {
        padding-left: 26px !important;
        padding-right: 26px !important;
    }
    .pricingsubsec .imgresize img {
        width: 400px;
    }
    .pricehero {
        display: flex;
        flex-direction: column;
        gap: 96px;
    }
    .pricetable {
        display: flex;
        flex-direction: column;
        gap: 40px;
    }
    p.subpagetext {
        margin-top: 0px;
    }
    hr.dividerwidth {
        margin-top: 0px;
    }

    /* --- Subpage hero --- */
    .subpagshero .wp-block-buttons,
    .subpagshero p {
        margin-block-start: 0px;
    }
    .subpagshero {
        display: flex;
        flex-direction: column;
        gap: 32px;
    }
    .subpagegerosection {
        padding-top: 230px !important;
    }

    /* --- Components --- */
    .boxstyle {
        padding: 32px !important;
        gap: 24px;
        display: flex;
        flex-direction: column;
    }
    .boxstyle p {
        margin: 0;
    }
    .bluebggradient {
        padding: 32px !important;
        display: flex;
        flex-direction: column;
        gap: 32px;
    }
    p.topspace {
        margin-top: 0px;
    }
    .heroleft p.desc,
    .heroleft .herobtn {
        margin-top: 32px !important;
    }

    /* --- Footer --- */
    .footerfirstbox {
        margin-bottom: 40px;
    }
    .footersection {
        padding-top: 48px !important;
        margin-top: 48px !important;
        padding-bottom: 48px !important;
    }

    /* --- Block responsive overrides --- */
    .imgbox {
        flex-direction: column;
        margin: 0px !important;
        max-width: 100% !important;
        width: 100% !important;
    }
    .footer-brand {
        width: 590px !important;
    }
    .footer-links-col {
        width: 450px;
    }
    .footer-brand p {
        font-size: 16px;
    }
    .containersection.container-gap-80 > * + * {
        margin-block-start: 0;
    }
    .leftimgboxcontent > * + * {
        margin-top: 0px;
    }
}


/* ==========================================================================
   RESPONSIVE: ≤768px
   ========================================================================== */

@media (max-width: 768px) {

    /* --- Typography --- */
    h2 {
        font-size: 38px !important;
    }
    .wp-block-accordion-panel p {
        font-size: 16px !important;
    }
    .hero p {
        font-size: 20px !important;
    }
    footer p,
    footer a.wp-block-navigation-item__content {
        font-size: 16px;
    }
    span.wp-block-accordion-heading__toggle-title {
        font-size: 1.25rem;
    }
    p.populartag {
        font-size: 14px !important;
    }
    p.pricetitle {
        font-size: 2.25rem !important;
        line-height: 2.5rem;
    }

    /* --- Layout --- */
    .containersection {
        padding-left: 26px !important;
        padding-right: 26px !important;
    }
    .mainheaderstyling {
        padding-top: 20px;
        padding-bottom: 20px;
    }
    .mainsections {
        padding-bottom: 109px !important;
    }
    .container-gap-80 {
        gap: 40px;
        display: flex;
        flex-direction: column;
    }
    .container-padding {
        padding-top: 109px !important;
        padding-bottom: 109px !important;
    }
    .gap-80 {
        padding: 48px 0px;
    }
    .margin-80 {
        margin-bottom: 48px;
    }
    :root :where(.is-layout-flex) {
        gap: 1em;
    }
    body .is-layout-grid {
        margin: 0;
    }

    /* --- Images --- */
    .tagimg {
        display: none;
    }
    .imgtextsection {
        gap: 40px !important;
    }
    .imgresize img {
        width: 95%;
    }
    .imgsizeleft img {
        width: 75%;
    }
    .pricingsubsec .imgresize img {
        width: 400px;
    }

    /* --- Grid sections --- */
    .gridfirst {
        padding-right: 60px;
    }
    .gridsecond {
        max-width: 550px;
        width: 100%;
    }
    .fourbox,
    .lefttext {
        grid-template-columns: repeat(1, minmax(0, 1fr));
        gap: 40px;
    }
    .subsection {
        width: 100%;
    }
    .herosection {
        gap: 96px;
    }
    .heroleft {
        width: 100%;
    }
    .numberdesc {
        width: 640px;
    }
    .reviewimg {
        width: 309px;
    }

    /* --- About --- */
    .authbio p {
        width: 100% !important;
        max-width: 100%;
    }
    .authouimg img {
        height: 130px;
        width: auto;
    }

    /* --- Pricing --- */
    .pricehero {
        gap: 96px;
        display: flex;
        flex-direction: column;
    }
    .pricetable {
        display: flex;
        flex-direction: column;
        gap: 40px;
    }
    .leftimgboxcontent p {
        margin-top: 0px;
    }

    /* --- Contact --- */
    .partnerbox {
        padding: 0px !important;
    }

    /* --- Components --- */
    .boxstyle h3.wp-block-heading.has-text-align-center {
        padding-top: 0px !important;
    }
    .boxstyles {
        padding: 32px !important;
        gap: 32px;
    }
    .boxstyle p {
        margin-top: 0px;
    }
    .boxstyle {
        display: flex;
        flex-direction: column;
        gap: 24px;
    }
    .gridposition {
        flex-direction: column;
    }
    .buttonspace {
        margin-top: 0px;
    }
    .bgimgs {
        background-image: none !important;
    }
    .hero {
        padding-top: 185px !important;
    }

    /* --- Footer --- */
    .footer-inner {
        padding-top: 109px !important;
    }
    .gridlayoutfooter {
        flex-direction: column;
        align-items: flex-start;
    }
    .wp-block-group.has-global-padding {
        margin: 0px;
    }
    .mainheaderstyling {
        padding-top: 20px !important;
        padding-bottom: 20px !important;
    }

    /* --- Block responsive overrides --- */
    .imgbox {
        flex-direction: column;
        margin: 0px !important;
        max-width: 100% !important;
        width: 100% !important;
    }
    .footer-brand {
        width: 336px !important;
    }
    .footer-links-col {
        width: 345px;
    }
    .footerleft {
        width: 350px;
    }
    .containersection.container-gap-80 > * + * {
        margin-top: 0px;
    }
    .boxstylefirst {
        gap: 16px;
        display: flex;
        flex-direction: column;
    }
}


/* ==========================================================================
   RESPONSIVE: ≤767px
   ========================================================================== */

@media (max-width: 767px) {
    .herosection {
        flex-direction: column-reverse;
        gap: 48px;
    }
    .leftimghero {
        margin-bottom: 0px !important;
    }
    h1.h1text {
        max-width: 100%;
    }
    .wp-block-navigation__responsive-container-open:not(.always-shown) {
        display: block !important;
    }
    .wp-block-navigation__responsive-container:not(.hidden-by-default):not(.is-menu-open) {
        display: none !important;
    }
    .pricehero {
        gap: 48px;
        display: flex;
        flex-direction: column;
    }
}


/* ==========================================================================
   RESPONSIVE: ≤604px (Mobile)
   ========================================================================== */

@media screen and (max-width: 604px) {

    /* --- Typography --- */
    p {
        font-size: 16px !important;
    }
    p.textstyle {
        font-size: 20px !important;
    }
    p.contactsubdesc {
        font-size: 16px !important;
    }
    p.desc {
        font-size: 20px !important;
        font-weight: 400 !important;
    }
    p.subpagedesc {
        font-size: 18px !important;
    }
    p.pricetitle {
        font-size: 36px !important;
    }
    footer h2 {
        font-size: 36px !important;
    }
    h4 {
        font-size: 18px;
    }
    .leftimgboxcontent h5 {
        font-size: 20px !important;
    }

    /* --- Layout --- */
    .containersection {
        padding-left: 24px !important;
        padding-right: 24px !important;
    }
    .gridlayout {
        flex-direction: column;
        gap: 32px;
    }
    .gridfirst {
        width: 100%;
        padding: 0px;
    }
    .gridsecond {
        width: 100%;
        grid-template-columns: repeat(1, minmax(0, 1fr));
    }
    .subsection {
        width: 100%;
    }
    .container-padding {
        padding-top: 75px !important;
        padding-bottom: 75px !important;
    }
    .fournumberbox {
        grid-template-columns: repeat(1, minmax(0, 1fr));
    }
    .numberdesc {
        width: 100%;
    }
    img.wp-image-684 {
        width: 100%;
    }

    /* --- Images --- */
    .imgresize img,
    .imgsizeleft img {
        width: 100%;
    }
    .pricingsubsec .imgresize img {
        width: 100%;
    }
    figure.wp-block-image.alignwide.size-full.has-custom-border.imgbg.zoomin {
        height: 100% !important;
        margin-bottom: 0px !important;
        width: 55%;
    }
    figure.heroimgsmall {
        width: 45%;
    }

    /* --- Hero --- */
    .herosection {
        display: flex !important;
        flex-direction: column-reverse;
        gap: 48px;
    }
    .hero {
        padding: 160px 25px 75px !important;
    }
    .subpagegerosection {
        padding-bottom: 65px !important;
        padding-top: 170px !important;
    }
    .aboutleft {
        margin-top: 32px !important;
    }

    /* --- Header --- */
    header .containersection {
        padding-top: 20px !important;
        padding-bottom: 20px !important;
    }
    .wp-block-navigation__responsive-dialog {
        padding: 24px !important;
    }
    .wp-block-navigation__responsive-dialog a.wp-block-navigation-item__content {
        font-size: 20px !important;
    }
    .wp-block-navigation__responsive-container-open svg path {
        transform: scaleX(1.4) !important;
        transform-origin: center;
    }

    /* --- Pricing --- */
    .pricesub {
        padding-left: 24px !important;
        padding-right: 24px !important;
    }
    .Pricebox {
        gap: 32px;
    }
    .pricetable {
        gap: 40px;
        display: flex;
        flex-direction: column;
    }
    .leftimgboxcontent {
        gap: 32px;
        display: flex;
        flex-direction: column;
    }
    .leftimgboxcontent hr {
        margin: 0;
    }
    p.subpagetext,
    .subpagebutton {
        margin: 0px;
    }

    /* --- Components --- */
    .boxstyle {
        padding: 32px !important;
    }
    .bluebggradient {
        padding: 32px !important;
        gap: 32px;
        display: flex;
        flex-direction: column;
    }
    .wp-block-group.bgimg.has-global-padding.is-layout-constrained.wp-block-group-is-layout-constrained {
        display: none;
    }

    /* --- Footer --- */
    .footer-inner {
        padding: 74px 24px !important;
        gap: 48px;
        display: flex;
        flex-direction: column;
    }
    .footersection {
        flex-direction: column;
        gap: 32px;
        padding-top: 48px !important;
        padding-bottom: 0px !important;
        margin-top: 0px !important;
    }
    ul.wp-block-navigation__container.has-text-color.has-accent-2-color.is-responsive.items-justified-left.mainmenuheader.wp-block-navigation {
        gap: 32px;
    }
    .mainmenuheader a.wp-block-navigation-item__content {
        font-weight: 600;
        opacity: 1 !important;
    }

    /* --- Footer responsive overrides --- */
    .footer-brand {
        width: 100% !important;
        padding: 0px !important;
    }
    .footer-links-col {
        width: 100%;
    }
    .footerleft {
        width: 100%;
        display: flex;
        flex-direction: column;
        gap: 32px;
    }
}
