 :root {
        --gws-dark: #17171b;
        --gws-text: #242329;
        --gws-muted: #6e6b72;
        --gws-purple: #a85b7c;
        --gws-purple-dark: #914968;
        --gws-soft: #f8f3f4;
        --gws-border: #ece7e8;
        --gws-white: #ffffff;
    }


    /* --------------------------------
       HEADER
    -------------------------------- */

    .gws-header {
        width: 100%;
        position: relative;
        z-index: 9999;
        background: rgba(255,255,255,0.97);
        border-bottom: 1px solid var(--gws-border);
    }


    .gws-header-inner {
        width: min(1180px, calc(100% - 48px));
        margin: 0 auto;

        display: flex;
        align-items: center;
        justify-content: space-between;

        padding: 17px 0;
        gap: 30px;
    }


    /* --------------------------------
       LOGO
    -------------------------------- */

    .gws-logo {
        display: inline-flex;
        align-items: center;

        text-decoration: none;
        flex-shrink: 0;
    }


    .gws-logo img {
        display: block;

        width: auto;
        max-width: 155px;
        max-height: 54px;

        object-fit: contain;
    }


    /* --------------------------------
       NAVIGATION
    -------------------------------- */

    .gws-nav {
        display: flex;
        align-items: center;
        justify-content: center;

        gap: 28px;
        margin-left: auto;
    }


    .gws-nav-link {
        position: relative;

        display: inline-flex;
        align-items: center;
        gap: 5px;

        padding: 8px 0;

        border: 0;
        background: transparent;

        color: var(--gws-text);

        font-family: "DM Sans", Arial, sans-serif;
        font-size: 13px;
        font-weight: 500;

        text-decoration: none;
        white-space: nowrap;

        cursor: pointer;

        transition:
            color 0.25s ease,
            opacity 0.25s ease;
    }


    .gws-nav-link:hover {
        color: var(--gws-purple);
    }


    /* ACTIVE NAV */

    .gws-nav-link.gws-active {
        color: var(--gws-text);
    }


    .gws-nav-link.gws-active::after {
        content: "";

        position: absolute;
        left: 0;
        right: 0;
        bottom: -2px;

        height: 1.5px;

        background: var(--gws-purple);

        transform: scaleX(1);
        transform-origin: center;
    }


    /* --------------------------------
       SERVICES DROPDOWN
    -------------------------------- */

    .gws-nav-dropdown {
        position: relative;
    }


    .gws-dropdown-btn {
        font-family: inherit;
    }


    .gws-chevron {
        font-size: 14px;
        line-height: 1;

        transform: translateY(-1px);

        transition: transform 0.25s ease;
    }


    .gws-nav-dropdown:hover .gws-chevron {
        transform: rotate(180deg) translateY(1px);
    }


    .gws-dropdown-menu {
        position: absolute;

        top: calc(100% + 15px);
        left: 50%;

        width: 265px;

        padding: 9px;

        background: rgba(255,255,255,0.99);

        border: 1px solid var(--gws-border);
        border-radius: 12px;

        box-shadow:
            0 18px 50px rgba(28, 22, 27, 0.10);

        transform:
            translate(-50%, 8px);

        opacity: 0;
        visibility: hidden;

        pointer-events: none;

        transition:
            opacity 0.25s ease,
            transform 0.25s ease,
            visibility 0.25s ease;
    }


    .gws-nav-dropdown:hover .gws-dropdown-menu {
        opacity: 1;
        visibility: visible;
        pointer-events: auto;

        transform: translate(-50%, 0);
    }


    .gws-dropdown-menu::before {
        content: "";

        position: absolute;

        top: -6px;
        left: 50%;

        width: 11px;
        height: 11px;

        background: white;

        border-left: 1px solid var(--gws-border);
        border-top: 1px solid var(--gws-border);

        transform: translateX(-50%) rotate(45deg);
    }


    .gws-dropdown-menu a {
        display: block;

        padding: 11px 12px;

        border-radius: 8px;

        text-decoration: none;

        transition:
            background 0.2s ease,
            transform 0.2s ease;
    }


    .gws-dropdown-menu a:hover {
        background: var(--gws-soft);
        transform: translateX(2px);
    }


    .gws-drop-title {
        display: block;

        color: var(--gws-text);

        font-family: "DM Sans", Arial, sans-serif;
        font-size: 13px;
        font-weight: 600;
    }


    .gws-dropdown-menu small {
        display: block;

        margin-top: 3px;

        color: var(--gws-muted);

        font-family: "DM Sans", Arial, sans-serif;
        font-size: 10.5px;
        line-height: 1.4;
    }


    /* --------------------------------
       HEADER CTA
    -------------------------------- */

    .gws-header-cta {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        gap: 8px;

        flex-shrink: 0;

        padding: 10px 17px;

        border-radius: 30px;

        background: var(--gws-purple);

        color: white;

        font-family: "DM Sans", Arial, sans-serif;
        font-size: 11px;
        font-weight: 600;

        text-decoration: none;
        white-space: nowrap;

        box-shadow:
            0 6px 18px rgba(168, 91, 124, 0.18);

        transition:
            background 0.25s ease,
            transform 0.25s ease,
            box-shadow 0.25s ease;
    }


    .gws-header-cta span {
        font-size: 15px;
        line-height: 1;

        transition: transform 0.25s ease;
    }


    .gws-header-cta:hover {
        background: var(--gws-purple-dark);

        transform: translateY(-1px);

        box-shadow:
            0 9px 25px rgba(168, 91, 124, 0.25);
    }


    .gws-header-cta:hover span {
        transform: translateX(3px);
    }


    /* --------------------------------
       MOBILE MENU BUTTON
    -------------------------------- */

    .gws-menu-toggle {
        display: none;

        width: 42px;
        height: 42px;

        align-items: center;
        justify-content: center;
        flex-direction: column;

        gap: 5px;

        border: 1px solid var(--gws-border);
        border-radius: 50%;

        background: white;

        cursor: pointer;
    }


    .gws-menu-toggle span {
        display: block;

        width: 17px;
        height: 1.5px;

        background: var(--gws-text);

        transition:
            transform 0.25s ease,
            opacity 0.25s ease;
    }


    /* --------------------------------
       MOBILE / TABLET
    -------------------------------- */

    @media (max-width: 980px) {

        .gws-header-inner {
            width: min(100% - 34px, 720px);
            padding: 14px 0;
        }


        .gws-nav {
            position: absolute;

            top: 100%;
            left: 17px;
            right: 17px;

            display: flex;
            align-items: stretch;
            flex-direction: column;

            gap: 0;

            padding: 12px;

            background: white;

            border: 1px solid var(--gws-border);
            border-radius: 14px;

            box-shadow:
                0 20px 45px rgba(28, 22, 27, 0.10);

            opacity: 0;
            visibility: hidden;
            pointer-events: none;

            transform: translateY(-8px);

            transition:
                opacity 0.25s ease,
                visibility 0.25s ease,
                transform 0.25s ease;
        }


        .gws-nav.gws-nav-open {
            opacity: 1;
            visibility: visible;
            pointer-events: auto;

            transform: translateY(0);
        }


        .gws-nav-link {
            width: 100%;

            padding: 13px 12px;

            justify-content: space-between;

            border-bottom: 1px solid #f0eded;
        }


        .gws-nav-link:last-child {
            border-bottom: 0;
        }


        .gws-nav-link.gws-active::after {
            display: none;
        }


        .gws-nav-dropdown {
            width: 100%;
        }


        .gws-dropdown-btn {
            width: 100%;
        }


        .gws-dropdown-menu {
            position: static;

            width: 100%;

            padding: 4px 0 6px;

            border: 0;
            border-radius: 0;

            box-shadow: none;

            transform: none !important;

            opacity: 1;
            visibility: visible;
            pointer-events: auto;

            display: none;
        }


        .gws-nav-dropdown.gws-mobile-dropdown-open .gws-dropdown-menu {
            display: block;
        }


        .gws-dropdown-menu::before {
            display: none;
        }


        .gws-dropdown-menu a {
            padding: 10px 14px 10px 25px;
        }


        .gws-menu-toggle {
            display: flex;
        }


        .gws-header-cta {
            display: none;
        }

    }


    /* --------------------------------
       SMALL MOBILE
    -------------------------------- */

    @media (max-width: 520px) {

        .gws-header-inner {
            width: calc(100% - 28px);
            padding: 12px 0;
        }


        .gws-logo img {
            max-width: 132px;
            max-height: 46px;
        }


        .gws-menu-toggle {
            width: 39px;
            height: 39px;
        }


        .gws-nav {
            left: 14px;
            right: 14px;
        }

    }


    /* --------------------------------
       MENU OPEN ANIMATION
    -------------------------------- */

    .gws-menu-toggle.gws-menu-active span:nth-child(1) {
        transform: translateY(6.5px) rotate(45deg);
    }


    .gws-menu-toggle.gws-menu-active span:nth-child(2) {
        opacity: 0;
    }


    .gws-menu-toggle.gws-menu-active span:nth-child(3) {
        transform: translateY(-6.5px) rotate(-45deg);
    }


    /* --------------------------------
       REDUCE MOTION
    -------------------------------- */

    @media (prefers-reduced-motion: reduce) {

        .gws-header *,
        .gws-header *::before,
        .gws-header *::after {
            transition: none !important;
        }

    }


     :root {
        --gws-hero-dark: #19181d;
        --gws-hero-text: #25232a;
        --gws-hero-muted: #666269;

        --gws-hero-purple: #a85b7c;
        --gws-hero-purple-dark: #914866;

        --gws-hero-soft: #f8f1f3;
        --gws-hero-soft-2: #f3e5e9;

        --gws-hero-white: #ffffff;
    }


    /* -------------------------------------------
       MAIN HERO
    ------------------------------------------- */

    .gws-hero {
        position: relative;

        width: 100%;

        overflow: hidden;

        background:
            linear-gradient(
                110deg,
                #faf9f7 0%,
                #f9f6f4 52%,
                #f8f0f2 100%
            );

        border-bottom: 1px solid #eee9e8;
    }


    .gws-hero-container {
        width: min(1180px, calc(100% - 48px));

        margin: 0 auto;

        min-height: 520px;

        display: grid;
        grid-template-columns: 0.95fr 1.05fr;

        align-items: center;

        gap: 45px;

        padding: 65px 0 58px;
    }


    /* -------------------------------------------
       LEFT CONTENT
    ------------------------------------------- */

    .gws-hero-content {
        position: relative;

        z-index: 5;

        max-width: 570px;
    }


    /* EYEBROW */

    .gws-hero-eyebrow {
        display: flex;
        align-items: center;
        gap: 10px;

        margin-bottom: 17px;

        color: #353239;

        font-family:
            "DM Sans",
            Arial,
            sans-serif;

        font-size: 10px;
        font-weight: 600;

        letter-spacing: 3px;
    }


    .gws-hero-eyebrow span {
        width: 27px;
        height: 1px;

        background: var(--gws-hero-purple);
    }


    /* TITLE */

    .gws-hero-title {
        margin: 0;

        max-width: 590px;

        color: var(--gws-hero-dark);

        font-family:
            "Playfair Display",
            Georgia,
            serif;

        font-size: clamp(48px, 5vw, 70px);

        font-weight: 500;

        line-height: 0.99;

        letter-spacing: -2.8px;
    }


    .gws-hero-title span {
        display: block;

        color: var(--gws-hero-purple);
    }


    /* DESCRIPTION */

    .gws-hero-description {
        max-width: 500px;

        margin: 24px 0 0;

        color: var(--gws-hero-muted);

        font-family:
            "DM Sans",
            Arial,
            sans-serif;

        font-size: 15px;

        line-height: 1.75;
    }


    /* -------------------------------------------
       BUTTONS
    ------------------------------------------- */

    .gws-hero-actions {
        display: flex;
        align-items: center;

        gap: 27px;

        margin-top: 27px;
    }


    .gws-hero-primary-btn {
        display: inline-flex;
        align-items: center;
        justify-content: center;

        gap: 11px;

        padding: 13px 21px;

        border-radius: 30px;

        background:
            linear-gradient(
                135deg,
                #b56b8b,
                #9f5275
            );

        color: white;

        font-family:
            "DM Sans",
            Arial,
            sans-serif;

        font-size: 12px;
        font-weight: 600;

        text-decoration: none;

        box-shadow:
            0 10px 25px rgba(168, 91, 124, 0.18);

        transition:
            transform .25s ease,
            box-shadow .25s ease;
    }


    .gws-hero-primary-btn span {
        font-size: 16px;

        line-height: 1;

        transition: transform .25s ease;
    }


    .gws-hero-primary-btn:hover {
        transform: translateY(-2px);

        box-shadow:
            0 14px 30px rgba(168, 91, 124, 0.25);
    }


    .gws-hero-primary-btn:hover span {
        transform: translateX(4px);
    }


    /* SECONDARY */

    .gws-hero-secondary-btn {
        position: relative;

        display: inline-flex;
        align-items: center;

        padding: 10px 0 8px;

        color: #353239;

        font-family:
            "DM Sans",
            Arial,
            sans-serif;

        font-size: 12px;
        font-weight: 500;

        text-decoration: none;
    }


    .gws-hero-secondary-btn span {
        position: absolute;

        left: 0;
        right: 0;
        bottom: 2px;

        height: 1px;

        background: var(--gws-hero-purple);

        transform-origin: left;

        transition: transform .25s ease;
    }


    .gws-hero-secondary-btn:hover span {
        transform: scaleX(.65);
    }


    /* -------------------------------------------
       BENEFITS
    ------------------------------------------- */

    .gws-hero-benefits {
        display: flex;
        align-items: center;

        margin-top: 36px;
    }


    .gws-hero-benefit {
        display: flex;
        align-items: center;

        gap: 10px;

        min-width: 112px;
    }


    .gws-hero-benefit-icon {
        width: 27px;
        height: 27px;

        flex-shrink: 0;

        color: var(--gws-hero-purple);
    }


    .gws-hero-benefit-icon svg {
        width: 100%;
        height: 100%;
    }


    .gws-hero-benefit strong,
    .gws-hero-benefit small {
        display: block;
    }


    .gws-hero-benefit strong {
        color: #363239;

        font-family:
            "DM Sans",
            Arial,
            sans-serif;

        font-size: 11px;
        font-weight: 500;

        line-height: 1.35;
    }


    .gws-hero-benefit small {
        color: #777279;

        font-family:
            "DM Sans",
            Arial,
            sans-serif;

        font-size: 10px;

        line-height: 1.4;
    }


    .gws-hero-benefit-divider {
        width: 1px;
        height: 34px;

        margin: 0 20px;

        background: #ddd7d8;
    }


    /* -------------------------------------------
       RIGHT VISUAL
    ------------------------------------------- */

    .gws-hero-visual {
        position: relative;

        min-height: 455px;

        display: flex;
        align-items: center;
        justify-content: center;
    }


    /* ORGANIC SHAPE */

    .gws-hero-blob {
        position: absolute;

        width: 390px;
        height: 405px;

        right: 95px;
        top: 27px;

        background:
            linear-gradient(
                145deg,
                #ead9de,
                #f0e1e5
            );

        border-radius:
            48% 52% 42% 58% /
            37% 43% 57% 63%;

        transform: rotate(-4deg);
    }


    /* SECOND SOFT SHAPE */

    .gws-hero-circle {
        position: absolute;

        width: 125px;
        height: 125px;

        right: 15px;
        top: 5px;

        border-radius: 50%;

        background: #f4e9eb;

        opacity: .85;
    }


    /* PHOTO */

    .gws-hero-photo-wrap {
        position: relative;

        z-index: 3;

        width: min(365px, 75%);

        margin-right: 50px;

        overflow: hidden;

        border-radius:
            45% 45% 8% 8% /
            25% 25% 7% 7%;

        filter:
            drop-shadow(
                0 22px 25px rgba(41, 29, 35, .12)
            );
    }


    .gws-hero-photo {
        display: block;

        width: 100%;
        height: auto;

        object-fit: cover;

        object-position: center top;

        transition:
            transform .7s cubic-bezier(.2,.7,.2,1);
    }


    .gws-hero-photo-wrap:hover .gws-hero-photo {
        transform: scale(1.025);
    }


    /* -------------------------------------------
       HANDWRITTEN NOTE
    ------------------------------------------- */

    .gws-hero-note {
        position: absolute;

        z-index: 5;

        right: -3px;
        top: 60px;

        color: #393138;

        transform: rotate(-5deg);
    }


    .gws-hero-note-text {
        font-family:
            "Caveat",
            "Segoe Print",
            cursive;

        font-size: 20px;

        line-height: 1.05;

        text-align: center;
    }


    .gws-hero-note-arrow {
        position: absolute;

        width: 90px;
        height: 90px;

        left: -27px;
        top: 56px;

        color: #4b4146;

        transform: rotate(5deg);
    }


    /* -------------------------------------------
       DECORATIVE DOTS
    ------------------------------------------- */

    .gws-hero-dot {
        position: absolute;

        z-index: 2;

        border-radius: 50%;

        background: var(--gws-hero-purple);

        opacity: .45;
    }


    .gws-hero-dot-one {
        width: 6px;
        height: 6px;

        right: 47px;
        bottom: 90px;
    }


    .gws-hero-dot-two {
        width: 4px;
        height: 4px;

        right: 75px;
        bottom: 68px;

        opacity: .25;
    }


    /* -------------------------------------------
       ANIMATIONS
    ------------------------------------------- */

    .gws-hero-content > * {
        opacity: 0;

        transform: translateY(18px);

        animation:
            gwsHeroReveal .7s ease forwards;
    }


    .gws-hero-eyebrow {
        animation-delay: .08s;
    }


    .gws-hero-title {
        animation-delay: .16s;
    }


    .gws-hero-description {
        animation-delay: .25s;
    }


    .gws-hero-actions {
        animation-delay: .34s;
    }


    .gws-hero-benefits {
        animation-delay: .43s;
    }


    .gws-hero-visual {
        opacity: 0;

        transform: translateX(25px);

        animation:
            gwsHeroVisualReveal .9s ease .25s forwards;
    }


    @keyframes gwsHeroReveal {

        to {
            opacity: 1;
            transform: translateY(0);
        }

    }


    @keyframes gwsHeroVisualReveal {

        to {
            opacity: 1;
            transform: translateX(0);
        }

    }


    /* -------------------------------------------
       TABLET
    ------------------------------------------- */

    @media (max-width: 1000px) {

        .gws-hero-container {
            grid-template-columns: 1fr 1fr;

            gap: 20px;
        }


        .gws-hero-title {
            font-size: clamp(44px, 5.5vw, 58px);
        }


        .gws-hero-blob {
            width: 340px;
            height: 365px;

            right: 30px;
        }


        .gws-hero-photo-wrap {
            width: 315px;

            margin-right: 20px;
        }


        .gws-hero-note {
            right: -8px;
        }


        .gws-hero-benefit-divider {
            margin: 0 12px;
        }

    }


    /* -------------------------------------------
       MOBILE
    ------------------------------------------- */

    @media (max-width: 760px) {

        .gws-hero-container {
            width: min(100% - 32px, 560px);

            display: flex;
            flex-direction: column;

            gap: 30px;

            padding: 50px 0 45px;
        }


        .gws-hero-content {
            max-width: 100%;

            text-align: center;
        }


        .gws-hero-eyebrow {
            justify-content: center;

            font-size: 9px;

            letter-spacing: 2.3px;
        }


        .gws-hero-eyebrow span {
            width: 20px;
        }


        .gws-hero-title {
            font-size: clamp(42px, 12vw, 58px);

            line-height: 1;

            letter-spacing: -2px;
        }


        .gws-hero-description {
            margin-left: auto;
            margin-right: auto;

            font-size: 14px;

            line-height: 1.7;
        }


        .gws-hero-actions {
            justify-content: center;

            gap: 22px;
        }


        .gws-hero-benefits {
            justify-content: center;

            margin-top: 31px;
        }


        .gws-hero-benefit {
            min-width: auto;
        }


        .gws-hero-benefit strong {
            font-size: 10px;
        }


        .gws-hero-benefit small {
            font-size: 9px;
        }


        .gws-hero-benefit-divider {
            margin: 0 12px;

            height: 30px;
        }


        .gws-hero-visual {
            width: 100%;

            min-height: 430px;
        }


        .gws-hero-blob {
            width: 310px;
            height: 355px;

            right: 50%;

            transform:
                translateX(50%)
                rotate(-4deg);

            top: 20px;
        }


        .gws-hero-photo-wrap {
            width: min(310px, 72vw);

            margin-right: 0;
        }


        .gws-hero-note {
            right: 5%;

            top: 32px;
        }


        .gws-hero-note-text {
            font-size: 17px;
        }


        .gws-hero-note-arrow {
            width: 70px;
            height: 70px;

            left: -23px;
            top: 50px;
        }


        .gws-hero-circle {
            width: 85px;
            height: 85px;

            right: 8%;
        }

    }


    /* -------------------------------------------
       SMALL MOBILE
    ------------------------------------------- */

    @media (max-width: 480px) {

        .gws-hero-container {
            width: calc(100% - 26px);

            padding-top: 40px;
        }


        .gws-hero-title {
            font-size: 43px;
        }


        .gws-hero-description {
            font-size: 13px;

            max-width: 340px;
        }


        .gws-hero-actions {
            gap: 18px;
        }


        .gws-hero-primary-btn {
            padding: 12px 17px;

            font-size: 11px;
        }


        .gws-hero-secondary-btn {
            font-size: 11px;
        }


        .gws-hero-benefits {
            width: 100%;

            justify-content: space-between;
        }


        .gws-hero-benefit {
            gap: 6px;
        }


        .gws-hero-benefit-icon {
            width: 23px;
            height: 23px;
        }


        .gws-hero-benefit-divider {
            margin: 0 5px;
        }


        .gws-hero-visual {
            min-height: 390px;
        }


        .gws-hero-blob {
            width: 270px;
            height: 320px;
        }


        .gws-hero-photo-wrap {
            width: 270px;
        }


        .gws-hero-note {
            right: 0;
        }

    }


    /* -------------------------------------------
       REDUCED MOTION
    ------------------------------------------- */

    @media (prefers-reduced-motion: reduce) {

        .gws-hero-content > *,
        .gws-hero-visual {
            animation: none !important;

            opacity: 1;

            transform: none;
        }


        .gws-hero-photo {
            transition: none;
        }

    }

    .gws-services {

        --gws-services-bg: #ffffff;
        --gws-services-card: #fcfafb;

        --gws-services-text: #25232a;
        --gws-services-muted: #6c676d;

        --gws-services-accent: #a75a7b;
        --gws-services-accent-dark: #914b6c;

        --gws-services-border: #e9e3e5;

        position: relative;

        width: 100%;

        background: var(--gws-services-bg);

        overflow: hidden;
    }


    /* -----------------------------------------
       CONTAINER
    ----------------------------------------- */

    .gws-services-container {

        width: min(1180px, calc(100% - 48px));

        margin: 0 auto;

        padding: 76px 0 82px;

        display: grid;

        grid-template-columns: 0.78fr 1.22fr;

        gap: 55px;

        align-items: start;
    }


    /* -----------------------------------------
       LEFT INTRO
    ----------------------------------------- */

    .gws-services-intro {

        padding-top: 8px;

        position: sticky;

        top: 100px;
    }


    .gws-services-eyebrow {

        display: flex;

        align-items: center;

        gap: 9px;

        margin-bottom: 14px;

        color: #3c373c;

        font-family:
            "DM Sans",
            Arial,
            sans-serif;

        font-size: 10px;

        font-weight: 600;

        letter-spacing: 2.8px;

        text-transform: uppercase;
    }


    .gws-services-eyebrow span {

        width: 25px;

        height: 1px;

        background: var(--gws-services-accent);
    }


    .gws-services-title {

        margin: 0;

        color: var(--gws-services-text);

        font-family:
            "Playfair Display",
            Georgia,
            serif;

        font-size: clamp(48px, 5vw, 64px);

        font-weight: 500;

        line-height: 1;

        letter-spacing: -2px;
    }


    .gws-services-description {

        max-width: 410px;

        margin: 20px 0 0;

        color: var(--gws-services-muted);

        font-family:
            "DM Sans",
            Arial,
            sans-serif;

        font-size: 14px;

        line-height: 1.75;
    }


    /* -----------------------------------------
       MAIN BUTTON
    ----------------------------------------- */

    .gws-services-main-btn {

        display: inline-flex;

        align-items: center;

        gap: 12px;

        margin-top: 27px;

        padding: 13px 21px;

        border-radius: 30px;

        background:
            linear-gradient(
                135deg,
                #b56a8a,
                #9d4f72
            );

        color: #ffffff;

        font-family:
            "DM Sans",
            Arial,
            sans-serif;

        font-size: 12px;

        font-weight: 600;

        text-decoration: none;

        box-shadow:
            0 9px 24px rgba(167, 90, 123, .15);

        transition:
            transform .25s ease,
            box-shadow .25s ease;
    }


    .gws-services-main-btn span {

        font-size: 17px;

        transition: transform .25s ease;
    }


    .gws-services-main-btn:hover {

        transform: translateY(-2px);

        box-shadow:
            0 14px 28px rgba(167, 90, 123, .22);
    }


    .gws-services-main-btn:hover span {

        transform: translateX(4px);
    }


    /* -----------------------------------------
       SERVICE GRID
    ----------------------------------------- */

    .gws-services-grid {

        display: grid;

        grid-template-columns:
            repeat(3, minmax(0, 1fr));

        gap: 12px;
    }


    /* -----------------------------------------
       SERVICE CARD
    ----------------------------------------- */

    .gws-service-card {

        position: relative;

        min-height: 188px;

        padding: 20px 18px 18px;

        background:
            linear-gradient(
                145deg,
                #ffffff,
                #fcfafb
            );

        border: 1px solid var(--gws-services-border);

        border-radius: 4px;

        color: inherit;

        text-decoration: none;

        overflow: hidden;

        transition:
            transform .3s ease,
            border-color .3s ease,
            box-shadow .3s ease,
            background .3s ease;
    }


    .gws-service-card:hover {

        transform: translateY(-5px);

        border-color:
            rgba(167, 90, 123, .32);

        background: #ffffff;

        box-shadow:
            0 18px 35px rgba(47, 31, 40, .08);
    }


    /* TOP ACCENT */

    .gws-service-card::before {

        content: "";

        position: absolute;

        top: 0;
        left: 0;

        width: 0;

        height: 2px;

        background:
            linear-gradient(
                90deg,
                #a75a7b,
                #d39aaf
            );

        transition: width .35s ease;
    }


    .gws-service-card:hover::before {

        width: 100%;
    }


    /* -----------------------------------------
       ICON
    ----------------------------------------- */

    .gws-service-icon {

        width: 32px;

        height: 32px;

        margin-bottom: 12px;

        color: var(--gws-services-accent);
    }


    .gws-service-icon svg {

        width: 100%;

        height: 100%;
    }


    /* -----------------------------------------
       NUMBER
    ----------------------------------------- */

    .gws-service-number {

        position: absolute;

        top: 17px;

        right: 17px;

        color: #cfc5c9;

        font-family:
            "DM Sans",
            Arial,
            sans-serif;

        font-size: 9px;

        letter-spacing: 1px;
    }


    /* -----------------------------------------
       CARD TEXT
    ----------------------------------------- */

    .gws-service-card h3 {

        margin: 0;

        color: #2e2a2f;

        font-family:
            "DM Sans",
            Arial,
            sans-serif;

        font-size: 13px;

        font-weight: 600;

        line-height: 1.3;
    }


    .gws-service-card p {

        max-width: 190px;

        margin: 9px 0 0;

        color: #777178;

        font-family:
            "DM Sans",
            Arial,
            sans-serif;

        font-size: 10.5px;

        line-height: 1.55;
    }


    /* -----------------------------------------
       CARD ARROW
    ----------------------------------------- */

    .gws-service-arrow {

        position: absolute;

        right: 17px;

        bottom: 15px;

        color: var(--gws-services-accent);

        font-family: Arial, sans-serif;

        font-size: 15px;

        opacity: 0;

        transform:
            translate(-5px, 5px);

        transition:
            opacity .3s ease,
            transform .3s ease;
    }


    .gws-service-card:hover .gws-service-arrow {

        opacity: 1;

        transform:
            translate(0, 0);
    }


    /* -----------------------------------------
       WIDE LAST CARD
    ----------------------------------------- */

    .gws-service-card-wide {

        grid-column: span 1;
    }


    /* -----------------------------------------
       TABLET
    ----------------------------------------- */

    @media (max-width: 1050px) {

        .gws-services-container {

            grid-template-columns:
                0.7fr 1.3fr;

            gap: 35px;
        }


        .gws-services-grid {

            grid-template-columns:
                repeat(2, minmax(0, 1fr));
        }


        .gws-service-card-wide {

            grid-column: span 2;
        }

    }


    /* -----------------------------------------
       MOBILE
    ----------------------------------------- */

    @media (max-width: 760px) {

        .gws-services-container {

            width: min(100% - 32px, 560px);

            display: block;

            padding: 62px 0 65px;
        }


        .gws-services-intro {

            position: static;

            text-align: center;

            margin-bottom: 38px;
        }


        .gws-services-eyebrow {

            justify-content: center;
        }


        .gws-services-title {

            font-size: 48px;
        }


        .gws-services-description {

            margin-left: auto;

            margin-right: auto;

            font-size: 13.5px;
        }


        .gws-services-main-btn {

            margin-top: 23px;
        }


        .gws-services-grid {

            grid-template-columns:
                repeat(2, minmax(0, 1fr));

            gap: 10px;
        }


        .gws-service-card {

            min-height: 190px;

            padding: 18px 15px;
        }


        .gws-service-card-wide {

            grid-column: span 2;
        }


        .gws-service-card p {

            font-size: 10px;
        }

    }


    /* -----------------------------------------
       SMALL MOBILE
    ----------------------------------------- */

    @media (max-width: 480px) {

        .gws-services-container {

            width: calc(100% - 26px);

            padding-top: 52px;

            padding-bottom: 55px;
        }


        .gws-services-title {

            font-size: 44px;
        }


        .gws-services-grid {

            grid-template-columns: 1fr;
        }


        .gws-service-card,
        .gws-service-card-wide {

            grid-column: span 1;

            min-height: 170px;

            padding: 20px;
        }


        .gws-service-card h3 {

            font-size: 14px;
        }


        .gws-service-card p {

            max-width: 260px;

            font-size: 11px;
        }

    }


    /* -----------------------------------------
       REDUCED MOTION
    ----------------------------------------- */

    @media (prefers-reduced-motion: reduce) {

        .gws-service-card,
        .gws-services-main-btn,
        .gws-service-arrow {

            transition: none;
        }

    }

    .gws-service-card {

        opacity: 0;

        transform:
            translateY(20px);
    }


    .gws-service-card.gws-service-visible {

        opacity: 1;

        transform:
            translateY(0);
    }


    .gws-service-card.gws-service-touch {

        transform:
            translateY(-3px);

        border-color:
            rgba(167, 90, 123, .3);

        box-shadow:
            0 12px 25px rgba(47, 31, 40, .07);
    }


    @media (prefers-reduced-motion: reduce) {

        .gws-service-card {

            opacity: 1;

            transform: none;
        }

    }


    /*==========================
ABOUT SECTION
==========================*/

.about-me-section{
    padding:100px 0;
    background:#fffaf9;
    overflow:hidden;
}

.about-container{
    max-width:1200px;
    margin:auto;
    padding:0 20px;

    display:grid;
    grid-template-columns:1fr 1fr;
    gap:80px;
    align-items:center;
}

/* TAG */

.about-tag{
    display:flex;
    align-items:center;
    gap:10px;

    font-size:12px;
    letter-spacing:3px;
    color:#888;
    margin-bottom:20px;
}

.line{
    width:40px;
    height:1px;
    background:#b86c90;
}

/* HEADING */

.about-content h2{
    font-size:58px;
    line-height:1.1;
    color:#1f1f1f;
    margin-bottom:25px;
    font-family:'Playfair Display', serif;
}

.about-content h2 span{
    color:#b86c90;
}

.about-content p{
    color:#666;
    font-size:16px;
    line-height:1.9;
    max-width:520px;
}

/* FEATURES */

.about-features{
    display:grid;
    grid-template-columns:repeat(2,1fr);
    gap:25px;
    margin-top:45px;
}

.feature-box{
    display:flex;
    gap:15px;
    align-items:center;
}

.icon{
    width:55px;
    height:55px;
    background:#fff;
    border:1px solid #eee;
    border-radius:50%;

    display:flex;
    align-items:center;
    justify-content:center;

    font-size:20px;
}

.feature-box h4{
    margin:0;
    font-size:16px;
}

.feature-box span{
    color:#777;
    font-size:14px;
}

/* BUTTON */

.about-btn{
    display:inline-block;
    margin-top:45px;

    background:#b86c90;
    color:white;

    padding:15px 30px;
    border-radius:40px;

    text-decoration:none;
    transition:.4s;
}

.about-btn:hover{
    background:#9f5377;
    transform:translateY(-4px);
}

/* RIGHT */

.about-image-area{
    position:relative;
    display:flex;
    justify-content:center;
}

/* BACK SHAPE */

.shape-bg{
    position:absolute;

    width:400px;
    height:400px;

    background:#f6e8ef;

    border-radius:40% 60% 60% 40%;

    z-index:1;
}

/* POLAROID */

.polaroid{
    position:relative;
    z-index:2;

    background:white;
    padding:15px;

    width:320px;

    box-shadow:
    0 20px 60px rgba(0,0,0,0.10);

    transform:rotate(-8deg);
}

.polaroid img{
    width:100%;
    display:block;
}

/* HAND TEXT */

.hand-text{
    position:absolute;
    right:-20px;
    top:40px;

    font-family:cursive;
    color:#666;
    font-size:28px;

    z-index:3;
}

/* LEAF */

.leaf-design{
    position:absolute;
    left:50px;
    bottom:40px;

    font-size:60px;
    color:#d3a7ba;

    z-index:2;
}


.gws-work {

        --gws-work-text: #242229;
        --gws-work-muted: #6b666c;
        --gws-work-accent: #a75a7b;
        --gws-work-border: #e7e1e3;

        position: relative;

        width: 100%;

        background: #ffffff;

        overflow: hidden;
    }


    /* =========================================
       CONTAINER
    ========================================= */

    .gws-work-container {

        width: min(1180px, calc(100% - 48px));

        margin: 0 auto;

        padding: 66px 0 69px;

        display: grid;

        grid-template-columns:
            1.1fr 1.9fr;

        align-items: center;

        gap: 60px;
    }


    /* =========================================
       LEFT CONTENT
    ========================================= */

    .gws-work-content {

        position: relative;

        padding-right: 20px;
    }


    /* EYEBROW */

    .gws-work-eyebrow {

        display: flex;

        align-items: center;

        gap: 9px;

        margin-bottom: 14px;

        color: #39353a;

        font-family:
            "DM Sans",
            Arial,
            sans-serif;

        font-size: 9px;

        font-weight: 600;

        letter-spacing: 2.8px;

        text-transform: uppercase;
    }


    .gws-work-eyebrow span {

        width: 25px;

        height: 1px;

        background:
            var(--gws-work-accent);
    }


    /* TITLE */

    .gws-work-title {

        margin: 0;

        color: var(--gws-work-text);

        font-family:
            "Playfair Display",
            Georgia,
            serif;

        font-size:
            clamp(40px, 4vw, 52px);

        font-weight: 500;

        line-height: 1.04;

        letter-spacing: -1.8px;
    }


    /* DESCRIPTION */

    .gws-work-description {

        max-width: 470px;

        margin: 17px 0 0;

        color: var(--gws-work-muted);

        font-family:
            "DM Sans",
            Arial,
            sans-serif;

        font-size: 13px;

        line-height: 1.7;
    }


    /* =========================================
       BUTTON
    ========================================= */

    .gws-work-button {

        display: inline-flex;

        align-items: center;

        gap: 11px;

        margin-top: 24px;

        padding: 12px 20px;

        border-radius: 28px;

        background:
            linear-gradient(
                135deg,
                #b36a89,
                #9d5072
            );

        color: #ffffff;

        text-decoration: none;

        font-family:
            "DM Sans",
            Arial,
            sans-serif;

        font-size: 11px;

        font-weight: 600;

        box-shadow:
            0 8px 22px
            rgba(167, 90, 123, .16);

        transition:
            transform .25s ease,
            box-shadow .25s ease;
    }


    .gws-work-button span {

        font-size: 16px;

        line-height: 1;

        transition:
            transform .25s ease;
    }


    .gws-work-button:hover {

        transform: translateY(-2px);

        box-shadow:
            0 12px 27px
            rgba(167, 90, 123, .23);
    }


    .gws-work-button:hover span {

        transform: translateX(4px);
    }


    /* =========================================
       STATS AREA
    ========================================= */

    .gws-work-stats {

        display: grid;

        grid-template-columns:
            1fr 1px 1fr 1px 1fr;

        align-items: center;

        min-height: 150px;

        border-left: 1px solid transparent;
    }


    /* =========================================
       STAT
    ========================================= */

    .gws-work-stat {

        display: flex;

        align-items: center;

        flex-direction: column;

        justify-content: center;

        text-align: center;

        padding: 10px 20px;
    }


    /* ICON */

    .gws-work-stat-icon {

        width: 30px;

        height: 30px;

        margin-bottom: 13px;

        color:
            var(--gws-work-accent);
    }


    .gws-work-stat-icon svg {

        width: 100%;

        height: 100%;
    }


    /* NUMBER */

    .gws-work-stat-number {

        color: var(--gws-work-text);

        font-family:
            "Playfair Display",
            Georgia,
            serif;

        font-size: 29px;

        font-weight: 500;

        line-height: 1;

        letter-spacing: -.5px;
    }


    /* LABEL */

    .gws-work-stat-label {

        margin-top: 8px;

        color: #777177;

        font-family:
            "DM Sans",
            Arial,
            sans-serif;

        font-size: 10px;

        line-height: 1.4;

        white-space: nowrap;
    }


    /* =========================================
       DIVIDERS
    ========================================= */

    .gws-work-divider {

        width: 1px;

        height: 105px;

        background:
            var(--gws-work-border);
    }


    /* =========================================
       SUBTLE DECORATION
    ========================================= */

    .gws-work::after {

        content: "";

        position: absolute;

        width: 180px;

        height: 180px;

        right: -110px;

        bottom: -120px;

        border-radius: 50%;

        background:
            #f8eef1;

        pointer-events: none;
    }


    /* =========================================
       TABLET
    ========================================= */

    @media (max-width: 900px) {

        .gws-work-container {

            grid-template-columns:
                1fr 1.3fr;

            gap: 30px;
        }


        .gws-work-title {

            font-size: 43px;
        }


        .gws-work-stat {

            padding: 10px;
        }


        .gws-work-stat-label {

            font-size: 9px;
        }

    }


    /* =========================================
       MOBILE
    ========================================= */

    @media (max-width: 700px) {

        .gws-work-container {

            width: min(100% - 32px, 560px);

            display: block;

            padding: 58px 0 62px;
        }


        .gws-work-content {

            padding-right: 0;

            text-align: center;
        }


        .gws-work-eyebrow {

            justify-content: center;
        }


        .gws-work-title {

            font-size:
                clamp(39px, 11vw, 50px);
        }


        .gws-work-description {

            margin-left: auto;

            margin-right: auto;

            font-size: 13px;
        }


        .gws-work-button {

            margin-top: 22px;
        }


        .gws-work-stats {

            margin-top: 45px;

            min-height: auto;
        }


        .gws-work-stat {

            padding: 5px 8px;
        }


        .gws-work-stat-icon {

            width: 27px;

            height: 27px;

            margin-bottom: 10px;
        }


        .gws-work-stat-number {

            font-size: 25px;
        }


        .gws-work-stat-label {

            white-space: normal;

            font-size: 9px;

            line-height: 1.35;
        }


        .gws-work-divider {

            height: 85px;
        }

    }


    /* =========================================
       SMALL MOBILE
    ========================================= */

    @media (max-width: 430px) {

        .gws-work-container {

            width: calc(100% - 26px);

            padding-top: 50px;

            padding-bottom: 55px;
        }


        .gws-work-title {

            font-size: 38px;

            letter-spacing: -1.3px;
        }


        .gws-work-description {

            font-size: 12px;

            line-height: 1.65;
        }


        .gws-work-stat {

            padding: 4px;
        }


        .gws-work-stat-icon {

            width: 24px;

            height: 24px;
        }


        .gws-work-stat-number {

            font-size: 22px;
        }


        .gws-work-stat-label {

            font-size: 8px;
        }


        .gws-work-divider {

            height: 72px;
        }

    }


    /* =========================================
       REDUCED MOTION
    ========================================= */

    @media (prefers-reduced-motion: reduce) {

        .gws-work-button {

            transition: none;
        }

    }

     .gws-work-content,
    .gws-work-stat {

        opacity: 0;

        transform:
            translateY(18px);

        transition:
            opacity .7s ease,
            transform .7s ease;
    }


    .gws-work-content.gws-work-show,
    .gws-work-stat.gws-work-show {

        opacity: 1;

        transform:
            translateY(0);
    }


    @media (prefers-reduced-motion: reduce) {

        .gws-work-content,
        .gws-work-stat {

            opacity: 1;

            transform: none;

            transition: none;
        }

    }

    .gws-testimonials {

    --gws-t-text: #242229;
    --gws-t-muted: #706a70;
    --gws-t-accent: #a85c7d;
    --gws-t-soft: #fbf5f6;
    --gws-t-border: #e8e0e3;

    position: relative;

    width: 100%;

    background:
        #fbf7f5;

    overflow: hidden;
}


/* =========================================================
   CONTAINER
========================================================= */

.gws-testimonials-container {

    width: min(1180px, calc(100% - 48px));

    margin: auto;

    padding: 68px 0;

    display: grid;

    grid-template-columns:
        .85fr 1.55fr;

    gap: 75px;

    align-items: center;
}


/* =========================================================
   LEFT
========================================================= */

.gws-testimonials-left {

    position: relative;
}


.gws-testimonials-eyebrow {

    display: flex;

    align-items: center;

    gap: 9px;

    margin-bottom: 14px;

    font-family:
        "DM Sans",
        Arial,
        sans-serif;

    font-size: 9px;

    font-weight: 600;

    letter-spacing: 2.7px;

    color: #3b363a;
}


.gws-testimonials-eyebrow span {

    width: 25px;

    height: 1px;

    background:
        var(--gws-t-accent);
}


.gws-testimonials-title {

    margin: 0;

    font-family:
        "Playfair Display",
        Georgia,
        serif;

    font-size:
        clamp(40px, 4vw, 52px);

    line-height: 1.04;

    font-weight: 500;

    letter-spacing: -1.7px;

    color:
        var(--gws-t-text);
}


.gws-testimonials-trusted {

    margin: 22px 0 14px;

    color:
        var(--gws-t-muted);

    font-family:
        "DM Sans",
        Arial,
        sans-serif;

    font-size: 11px;
}


/* =========================================================
   AVATARS
========================================================= */

.gws-testimonials-avatars {

    display: flex;

    align-items: center;

    padding-left: 3px;
}


.gws-testimonial-avatar {

    position: relative;

    width: 35px;

    height: 35px;

    padding: 2px;

    margin-left: -5px;

    border: 2px solid #fbf7f5;

    border-radius: 50%;

    background: #ffffff;

    cursor: pointer;

    overflow: hidden;

    transition:
        transform .25s ease,
        border-color .25s ease;
}


.gws-testimonial-avatar:first-child {

    margin-left: 0;
}


.gws-testimonial-avatar img {

    display: block;

    width: 100%;

    height: 100%;

    border-radius: 50%;

    object-fit: cover;
}


.gws-testimonial-avatar.active {

    transform:
        translateY(-3px);

    border-color:
        var(--gws-t-accent);
}


.gws-testimonial-avatar:hover {

    transform:
        translateY(-3px);
}


/* =========================================================
   RIGHT
========================================================= */

.gws-testimonials-right {

    position: relative;

    min-width: 0;
}


.gws-testimonial-slider {

    position: relative;

    min-height: 215px;
}


/* =========================================================
   CARD
========================================================= */

.gws-testimonial-card {

    position: absolute;

    inset: 0;

    padding: 32px 38px;

    background: #ffffff;

    border: 1px solid
        rgba(214, 204, 208, .75);

    border-radius: 6px;

    box-shadow:
        0 12px 35px
        rgba(55, 38, 45, .045);

    opacity: 0;

    visibility: hidden;

    transform:
        translateX(22px);

    transition:
        opacity .45s ease,
        transform .45s ease,
        visibility .45s ease;

    display: flex;

    flex-direction: column;

    justify-content: center;
}


.gws-testimonial-card.active {

    position: relative;

    opacity: 1;

    visibility: visible;

    transform:
        translateX(0);
}


/* =========================================================
   QUOTE
========================================================= */

.gws-testimonial-quote {

    position: absolute;

    top: 19px;

    left: 27px;

    color:
        var(--gws-t-accent);

    font-family:
        Georgia,
        serif;

    font-size: 42px;

    line-height: 1;

    font-weight: bold;

    opacity: .9;
}


/* =========================================================
   TEXT
========================================================= */

.gws-testimonial-text {

    margin: 0;

    padding-left: 27px;

    max-width: 650px;

    color: #514b51;

    font-family:
        "DM Sans",
        Arial,
        sans-serif;

    font-size: 12px;

    line-height: 1.75;
}


/* =========================================================
   AUTHOR
========================================================= */

.gws-testimonial-author {

    display: flex;

    align-items: center;

    gap: 12px;

    margin-top: 22px;

    padding-left: 27px;
}


.gws-author-photo {

    width: 38px;

    height: 38px;

    flex-shrink: 0;

    border-radius: 50%;

    overflow: hidden;

    border: 1px solid
        #e5d8dd;
}


.gws-author-photo img {

    width: 100%;

    height: 100%;

    object-fit: cover;

    display: block;
}


.gws-testimonial-author h3 {

    margin: 0 0 3px;

    color:
        var(--gws-t-text);

    font-family:
        "DM Sans",
        Arial,
        sans-serif;

    font-size: 11px;

    font-weight: 600;
}


.gws-testimonial-author span {

    color:
        #8a8187;

    font-family:
        "DM Sans",
        Arial,
        sans-serif;

    font-size: 9px;
}


/* =========================================================
   CONTROLS
========================================================= */

.gws-testimonial-controls {

    display: flex;

    align-items: center;

    justify-content: flex-end;

    gap: 13px;

    margin-top: 17px;
}


.gws-testimonial-arrow {

    display: flex;

    align-items: center;

    justify-content: center;

    width: 31px;

    height: 31px;

    padding: 0;

    border: 1px solid
        #ddd3d7;

    border-radius: 50%;

    background: transparent;

    color:
        #5f565d;

    cursor: pointer;

    transition:
        background .2s ease,
        color .2s ease,
        border-color .2s ease;
}


.gws-testimonial-arrow:hover {

    background:
        var(--gws-t-accent);

    color: #ffffff;

    border-color:
        var(--gws-t-accent);
}


.gws-testimonial-arrow svg {

    width: 17px;

    height: 17px;
}


/* =========================================================
   DOTS
========================================================= */

.gws-testimonial-dots {

    display: flex;

    align-items: center;

    gap: 5px;
}


.gws-testimonial-dot {

    width: 5px;

    height: 5px;

    padding: 0;

    border: 0;

    border-radius: 50%;

    background:
        #d6c9ce;

    cursor: pointer;

    transition:
        width .25s ease,
        background .25s ease;
}


.gws-testimonial-dot.active {

    width: 16px;

    border-radius: 10px;

    background:
        var(--gws-t-accent);
}


/* =========================================================
   DECORATIVE BACKGROUND
========================================================= */

.gws-testimonials::before {

    content: "";

    position: absolute;

    width: 270px;

    height: 270px;

    left: -170px;

    bottom: -170px;

    border-radius: 50%;

    background:
        #f4e7eb;

    pointer-events: none;
}


/* =========================================================
   TABLET
========================================================= */

@media (max-width: 900px) {

    .gws-testimonials-container {

        grid-template-columns:
            .8fr 1.4fr;

        gap: 40px;
    }


    .gws-testimonials-title {

        font-size: 43px;
    }


    .gws-testimonial-card {

        padding: 28px 30px;
    }

}


/* =========================================================
   MOBILE
========================================================= */

@media (max-width: 700px) {

    .gws-testimonials-container {

        width:
            min(100% - 32px, 560px);

        display: block;

        padding: 58px 0 60px;
    }


    .gws-testimonials-left {

        text-align: center;
    }


    .gws-testimonials-eyebrow {

        justify-content: center;
    }


    .gws-testimonials-title {

        font-size:
            clamp(39px, 11vw, 50px);
    }


    .gws-testimonials-trusted {

        margin-top: 18px;
    }


    .gws-testimonials-avatars {

        justify-content: center;
    }


    .gws-testimonials-right {

        margin-top: 35px;
    }


    .gws-testimonial-slider {

        min-height: 290px;
    }


    .gws-testimonial-card {

        padding:
            35px 23px 25px;
    }


    .gws-testimonial-text {

        padding-left: 18px;

        font-size: 11.5px;

        line-height: 1.75;
    }


    .gws-testimonial-author {

        padding-left: 18px;

        margin-top: 19px;
    }


    .gws-testimonial-quote {

        left: 15px;

        top: 17px;

        font-size: 38px;
    }


    .gws-testimonial-controls {

        justify-content: center;

        margin-top: 15px;
    }

}


/* =========================================================
   SMALL MOBILE
========================================================= */

@media (max-width: 420px) {

    .gws-testimonial-slider {

        min-height: 320px;
    }


    .gws-testimonial-card {

        padding:
            33px 18px 22px;
    }


    .gws-testimonial-text {

        font-size: 11px;
    }


    .gws-testimonial-avatar {

        width: 32px;

        height: 32px;
    }

}

.gws-footer {

    --gws-footer-text: #252229;
    --gws-footer-muted: #746d73;
    --gws-footer-accent: #a75a7b;
    --gws-footer-accent-dark: #914b6c;
    --gws-footer-bg: #fbf7f5;
    --gws-footer-border: #e8dfe2;

    width: 100%;

    background:
        var(--gws-footer-bg);

    color:
        var(--gws-footer-text);

    font-family:
        "DM Sans",
        Arial,
        sans-serif;

    overflow: hidden;
}


/* =========================================================
   TOP CTA
========================================================= */

.gws-footer-cta {

    padding: 48px 24px 45px;

    background:
        #ffffff;

    border-top: 1px solid
        var(--gws-footer-border);

    border-bottom: 1px solid
        var(--gws-footer-border);
}


.gws-footer-cta-inner {

    width: min(1180px, 100%);

    margin: auto;

    display: flex;

    align-items: center;

    justify-content: space-between;

    gap: 30px;
}


.gws-footer-cta-small {

    display: block;

    margin-bottom: 9px;

    color:
        var(--gws-footer-accent);

    font-size: 9px;

    font-weight: 600;

    letter-spacing: 2.5px;
}


.gws-footer-cta-text h2 {

    margin: 0;

    font-family:
        "Playfair Display",
        Georgia,
        serif;

    font-size:
        clamp(34px, 4vw, 49px);

    font-weight: 500;

    line-height: 1.05;

    letter-spacing: -1.6px;
}


.gws-footer-cta-btn {

    display: inline-flex;

    align-items: center;

    gap: 12px;

    flex-shrink: 0;

    padding: 14px 23px;

    border-radius: 40px;

    background:
        linear-gradient(
            135deg,
            #b36a89,
            #994b6d
        );

    color: #ffffff;

    text-decoration: none;

    font-size: 11px;

    font-weight: 600;

    box-shadow:
        0 10px 25px
        rgba(167, 90, 123, .18);

    transition:
        transform .25s ease,
        box-shadow .25s ease;
}


.gws-footer-cta-btn span {

    font-size: 17px;

    transition:
        transform .25s ease;
}


.gws-footer-cta-btn:hover {

    transform:
        translateY(-3px);

    box-shadow:
        0 15px 30px
        rgba(167, 90, 123, .24);
}


.gws-footer-cta-btn:hover span {

    transform:
        translate(3px, -2px);
}


/* =========================================================
   MAIN FOOTER
========================================================= */

.gws-footer-main {

    background:
        var(--gws-footer-bg);
}


.gws-footer-container {

    width: min(1180px, calc(100% - 48px));

    margin: auto;

    padding: 58px 0 52px;

    display: grid;

    grid-template-columns:
        1.45fr .75fr 1fr 1.1fr;

    gap: 55px;
}


/* =========================================================
   LOGO
========================================================= */

.gws-footer-logo {

    display: inline-flex;

    align-items: baseline;

    gap: 5px;

    text-decoration: none;

    color:
        var(--gws-footer-text);
}


.gws-footer-logo-grow {

    font-family:
        "DM Sans",
        Arial,
        sans-serif;

    font-size: 18px;

    font-weight: 500;
}


.gws-footer-logo-name {

    font-family:
        "Playfair Display",
        Georgia,
        serif;

    font-size: 26px;

    font-weight: 600;

    color:
        var(--gws-footer-accent);
}


.gws-footer-tagline {

    margin: 4px 0 15px;

    color:
        var(--gws-footer-accent);

    font-family:
        "Caveat",
        cursive;

    font-size: 18px;

    font-weight: 500;
}


.gws-footer-description {

    max-width: 310px;

    margin: 0;

    color:
        var(--gws-footer-muted);

    font-size: 15px;

    line-height: 1.75;
}


/* =========================================================
   SOCIAL
========================================================= */

.gws-footer-social {

    display: flex;

    align-items: center;

    gap: 7px;

    margin-top: 21px;
}


.gws-footer-social-link {

    display: flex;

    align-items: center;

    justify-content: center;

    width: 31px;

    height: 31px;

    border: 1px solid
        #ded4d8;

    border-radius: 50%;

    color:
        #70666d;

    text-decoration: none;

    transition:
        color .25s ease,
        background .25s ease,
        border-color .25s ease,
        transform .25s ease;
}


.gws-footer-social-link svg {

    width: 15px;

    height: 15px;
}


.gws-footer-social-link:hover {

    color: #ffffff;

    background:
        var(--gws-footer-accent);

    border-color:
        var(--gws-footer-accent);

    transform:
        translateY(-3px);
}


/* =========================================================
   COLUMNS
========================================================= */

.gws-footer-column h3 {

    margin: 2px 0 17px;

    font-family:
        "DM Sans",
        Arial,
        sans-serif;

    font-size: 11px;

    font-weight: 700;

    letter-spacing: .2px;
}


.gws-footer-column ul {

    padding: 0;

    margin: 0;

    list-style: none;
}


.gws-footer-column li {

    margin-bottom: 10px;
}


.gws-footer-column li a {

    color:
        var(--gws-footer-muted);

    text-decoration: none;

    font-size: 14.5px;

    transition:
        color .2s ease,
        padding-left .2s ease;
}


.gws-footer-column li a:hover {

    color:
        var(--gws-footer-accent);

    padding-left: 3px;
}


/* =========================================================
   CONTACT
========================================================= */

.gws-footer-contact-item {

    display: flex;

    align-items: flex-start;

    gap: 9px;

    margin-bottom: 13px;

    color:
        var(--gws-footer-muted);

    text-decoration: none;

    font-size: 14.5px;

    line-height: 1.5;
}


.gws-footer-contact-icon {

    display: flex;

    align-items: center;

    justify-content: center;

    width: 18px;

    height: 18px;

    flex-shrink: 0;

    color:
        var(--gws-footer-accent);
}


.gws-footer-contact-icon svg {

    width: 17px;

    height: 17px;
}


a.gws-footer-contact-item:hover {

    color:
        var(--gws-footer-accent);
}


/* =========================================================
   WHATSAPP
========================================================= */

.gws-footer-whatsapp {

    display: inline-flex;

    align-items: center;

    gap: 8px;

    margin-top: 6px;

    padding: 9px 13px;

    border: 1px solid
        rgba(167, 90, 123, .35);

    border-radius: 25px;

    color:
        var(--gws-footer-accent);

    text-decoration: none;

    font-size: 9.5px;

    font-weight: 600;

    transition:
        background .25s ease,
        color .25s ease,
        transform .25s ease;
}


.gws-footer-whatsapp span {

    display: flex;
}


.gws-footer-whatsapp svg {

    width: 16px;

    height: 16px;
}


.gws-footer-whatsapp:hover {

    color: #ffffff;

    background:
        var(--gws-footer-accent);

    transform:
        translateY(-2px);
}


/* =========================================================
   BOTTOM BAR
========================================================= */

.gws-footer-bottom {

    border-top: 1px solid
        var(--gws-footer-border);

    background:
        #f7f1f0;
}


.gws-footer-bottom-inner {

    width: min(1180px, calc(100% - 48px));

    margin: auto;

    min-height: 58px;

    display: flex;

    align-items: center;

    justify-content: space-between;

    gap: 20px;
}


.gws-footer-bottom p {

    margin: 0;

    color:
        #837a80;

    font-size: 9px;
}


.gws-footer-legal {

    display: flex;

    align-items: center;

    gap: 10px;
}


.gws-footer-legal a {

    color:
        #837a80;

    text-decoration: none;

    font-size: 9px;

    transition:
        color .2s ease;
}


.gws-footer-legal a:hover {

    color:
        var(--gws-footer-accent);
}


.gws-footer-legal span {

    color:
        #b9afb4;

    font-size: 8px;
}


/* =========================================================
   BACK TO TOP
========================================================= */

.gws-footer-top {

    display: flex;

    align-items: center;

    justify-content: center;

    width: 31px;

    height: 31px;

    padding: 0;

    border: 1px solid
        #d9ced2;

    border-radius: 50%;

    background: transparent;

    color:
        #766b72;

    cursor: pointer;

    font-size: 15px;

    transition:
        color .2s ease,
        background .2s ease,
        transform .2s ease;
}


.gws-footer-top:hover {

    color: #ffffff;

    background:
        var(--gws-footer-accent);

    border-color:
        var(--gws-footer-accent);

    transform:
        translateY(-2px);
}


/* =========================================================
   TABLET
========================================================= */

@media (max-width: 950px) {

    .gws-footer-container {

        grid-template-columns:
            1.3fr 1fr 1fr;

        gap: 40px;
    }


    .gws-footer-brand {

        grid-column:
            span 3;
    }


    .gws-footer-description {

        max-width: 500px;
    }

}


/* =========================================================
   MOBILE
========================================================= */

@media (max-width: 650px) {

    .gws-footer-cta {

        padding:
            42px 20px;
    }


    .gws-footer-cta-inner {

        flex-direction: column;

        text-align: center;

        align-items: center;
    }


    .gws-footer-cta-text h2 {

        font-size: 36px;
    }


    .gws-footer-cta-btn {

        margin-top: 5px;
    }


    .gws-footer-container {

        width:
            min(100% - 32px, 560px);

        padding:
            48px 0 42px;

        display: grid;

        grid-template-columns:
            1fr 1fr;

        gap: 38px 28px;
    }


    .gws-footer-brand {

        grid-column:
            span 2;

        text-align: center;
    }


    .gws-footer-description {

        margin-left: auto;

        margin-right: auto;
    }


    .gws-footer-social {

        justify-content: center;
    }


    .gws-footer-column h3 {

        margin-bottom: 14px;
    }


    .gws-footer-bottom-inner {

        width:
            min(100% - 28px, 560px);

        padding:
            14px 0;

        min-height: auto;

        flex-wrap: wrap;

        justify-content: center;

        text-align: center;
    }


    .gws-footer-top {

        display: none;
    }

}


/* =========================================================
   SMALL MOBILE
========================================================= */

@media (max-width: 430px) {

    .gws-footer-container {

        grid-template-columns:
            1fr;
    }


    .gws-footer-brand {

        grid-column:
            span 1;
    }


    .gws-footer-column {

        text-align: center;
    }


    .gws-footer-contact-item {

        justify-content: center;
    }


    .gws-footer-whatsapp {

        margin-left: auto;

        margin-right: auto;
    }


    .gws-footer-bottom-inner {

        flex-direction: column;

        gap: 10px;
    }


    .gws-footer-legal {

        flex-wrap: wrap;

        justify-content: center;
    }

}

.gws-sticky-contact {
  position: fixed;
  right: 22px;
  bottom: 24px;
  z-index: 99999;
  display: flex;
  flex-direction: column;
  gap: 12px;
  font-family: inherit;
}

/* BUTTON */

.gws-sticky-btn {
  position: relative;
  min-width: 205px;
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 12px 17px;
  text-decoration: none;
  border-radius: 50px;
  color: #fff;
  box-shadow: 0 12px 30px rgba(45, 35, 45, 0.18);
  transition: all 0.3s ease;
  overflow: hidden;
}

/* CALL */

.gws-call-btn {
  background: linear-gradient(
    135deg,
    #6d5262,
    #8f6d7d
  );
}

/* WHATSAPP */

.gws-whatsapp-btn {
  background: #25D366;
}

/* ICON */

.gws-sticky-icon {
  width: 42px;
  height: 42px;
  min-width: 42px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  background: rgba(255,255,255,0.18);
}

.gws-sticky-icon svg {
  width: 21px;
  height: 21px;
}

/* TEXT */

.gws-sticky-text {
  display: flex;
  flex-direction: column;
  line-height: 1.2;
}

.gws-sticky-text small {
  font-size: 11px;
  font-weight: 500;
  opacity: 0.85;
  margin-bottom: 3px;
}

.gws-sticky-text strong {
  font-size: 14px;
  font-weight: 700;
  letter-spacing: 0.1px;
}

/* HOVER */

.gws-sticky-btn:hover {
  transform: translateX(-6px);
  box-shadow: 0 16px 35px rgba(45, 35, 45, 0.28);
}

.gws-whatsapp-btn:hover {
  background: #20bd5a;
}

/* PULSE */

.gws-call-btn::before,
.gws-whatsapp-btn::before {
  content: "";
  position: absolute;
  inset: 0;
  border-radius: 50px;
  animation: gws-sticky-pulse 2.4s infinite;
  pointer-events: none;
}

.gws-call-btn::before {
  box-shadow: 0 0 0 0 rgba(109,82,98,0.35);
}

.gws-whatsapp-btn::before {
  box-shadow: 0 0 0 0 rgba(37,211,102,0.35);
}

@keyframes gws-sticky-pulse {
  0% {
    box-shadow: 0 0 0 0 rgba(37,211,102,0.25);
  }

  70% {
    box-shadow: 0 0 0 10px rgba(37,211,102,0);
  }

  100% {
    box-shadow: 0 0 0 0 rgba(37,211,102,0);
  }
}


/* =========================
   MOBILE
========================= */

@media (max-width: 768px) {

  .gws-sticky-contact {
    left: 12px;
    right: 12px;
    bottom: 12px;
    flex-direction: row;
    gap: 8px;
  }

  .gws-sticky-btn {
    flex: 1;
    min-width: 0;
    justify-content: center;
    padding: 10px 8px;
    border-radius: 14px;
    gap: 8px;
  }

  .gws-sticky-icon {
    width: 36px;
    height: 36px;
    min-width: 36px;
  }

  .gws-sticky-icon svg {
    width: 18px;
    height: 18px;
  }

  .gws-sticky-text small {
    display: none;
  }

  .gws-sticky-text strong {
    font-size: 12px;
  }

  .gws-sticky-btn:hover {
    transform: none;
  }
}


/* SMALL MOBILE */

@media (max-width: 380px) {

  .gws-sticky-contact {
    left: 8px;
    right: 8px;
    bottom: 8px;
  }

  .gws-sticky-btn {
    padding: 8px 6px;
  }

  .gws-sticky-icon {
    width: 32px;
    height: 32px;
    min-width: 32px;
  }

  .gws-sticky-text strong {
    font-size: 11px;
  }
}

.gws-seo-portfolio {
  position: relative;
  padding: 120px 20px;
  background:
    radial-gradient(
      circle at 10% 10%,
      rgba(160, 125, 140, 0.10),
      transparent 35%
    ),
    #f8f3ef;
  overflow: hidden;
}

.gws-seo-container {
  width: min(1180px, 100%);
  margin: auto;
}


/* HEADING */

.gws-seo-heading {
  max-width: 760px;
  margin-bottom: 55px;
}

.gws-seo-eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  color: #8a6678;
  font-size: 11px;
  font-weight: 800;
  letter-spacing: 3px;
  margin-bottom: 18px;
}

.gws-seo-eyebrow::before {
  content: "";
  width: 35px;
  height: 1px;
  background: #a98595;
}

.gws-seo-heading h2 {
  margin: 0;
  color: #322832;
  font-size: clamp(38px, 5vw, 68px);
  line-height: 1.04;
  font-weight: 700;
  letter-spacing: -2.5px;
}

.gws-seo-heading h2 span {
  display: block;
  color: #9b7485;
  font-style: italic;
  font-family: Georgia, serif;
  font-weight: 500;
}

.gws-seo-heading p {
  max-width: 650px;
  margin: 25px 0 0;
  color: #716870;
  font-size: 16px;
  line-height: 1.8;
}


/* FILTER */

.gws-seo-filter {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-bottom: 35px;
}

.gws-seo-filter-btn {
  border: 1px solid #dfd2d5;
  background: rgba(255,255,255,0.65);
  color: #655961;
  padding: 11px 18px;
  border-radius: 50px;
  font-family: inherit;
  font-size: 12px;
  font-weight: 700;
  cursor: pointer;
  transition: .3s ease;
}

.gws-seo-filter-btn:hover,
.gws-seo-filter-btn.active {
  background: #735767;
  border-color: #735767;
  color: #fff;
}


/* GRID */

.gws-seo-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 30px;
}


/* CARD */

.gws-seo-card {
  background: #fff;
  border: 1px solid #eadfe0;
  border-radius: 24px;
  overflow: hidden;
  box-shadow: 0 15px 45px rgba(70, 48, 58, 0.06);
  transition: .4s ease;
}

.gws-seo-card:hover {
  transform: translateY(-7px);
  box-shadow: 0 25px 55px rgba(70, 48, 58, 0.12);
}

.gws-seo-card.gws-seo-hidden {
  display: none;
}


/* IMAGE */

.gws-seo-image {
  position: relative;
  aspect-ratio: 16 / 9;
  background: #eee6e4;
  overflow: hidden;
}

.gws-seo-image img {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;
  transition: transform .6s ease;
}

.gws-seo-card:hover .gws-seo-image img {
  transform: scale(1.04);
}


/* IMAGE OVERLAY */

.gws-seo-image-overlay {
  position: absolute;
  inset: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  background: rgba(48, 37, 43, 0.35);
  opacity: 0;
  transition: .35s ease;
}

.gws-seo-card:hover .gws-seo-image-overlay {
  opacity: 1;
}

.gws-seo-view {
  border: 0;
  background: #fff;
  color: #493a43;
  padding: 13px 20px;
  border-radius: 50px;
  font-family: inherit;
  font-size: 12px;
  font-weight: 800;
  cursor: pointer;
  box-shadow: 0 10px 25px rgba(0,0,0,.18);
  transition: .3s ease;
}

.gws-seo-view:hover {
  background: #735767;
  color: #fff;
}


/* CARD CONTENT */

.gws-seo-card-content {
  padding: 27px 28px 30px;
}

.gws-seo-card-top {
  display: flex;
  justify-content: space-between;
  align-items: center;
  color: #a07d8b;
  font-size: 10px;
  font-weight: 800;
  letter-spacing: 1.7px;
  margin-bottom: 13px;
}

.gws-seo-card-top span:last-child {
  color: #c5b5ba;
}

.gws-seo-card h3 {
  margin: 0 0 12px;
  color: #342b31;
  font-size: 23px;
  line-height: 1.25;
}

.gws-seo-card p {
  margin: 0;
  color: #756c72;
  font-size: 14px;
  line-height: 1.75;
}

.gws-seo-tags {
  display: flex;
  flex-wrap: wrap;
  gap: 7px;
  margin-top: 20px;
}

.gws-seo-tags span {
  padding: 7px 11px;
  background: #f7f0f0;
  color: #806b75;
  border-radius: 30px;
  font-size: 10px;
  font-weight: 700;
}


/* BOTTOM CTA */

.gws-seo-bottom {
  margin-top: 75px;
  padding: 34px 38px;
  border-radius: 24px;
  background: #3c3038;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 30px;
}

.gws-seo-bottom > div > span {
  color: #c9aeba;
  font-size: 10px;
  letter-spacing: 2px;
  font-weight: 800;
}

.gws-seo-bottom h3 {
  margin: 8px 0 0;
  color: #fff;
  font-size: 27px;
  font-weight: 500;
}

.gws-seo-bottom h3 strong {
  color: #d9b8c5;
}

.gws-seo-cta {
  flex-shrink: 0;
  display: inline-flex;
  align-items: center;
  gap: 14px;
  padding: 14px 20px 14px 22px;
  border-radius: 50px;
  background: #fff;
  color: #493b43;
  text-decoration: none;
  font-size: 12px;
  font-weight: 800;
  transition: .3s ease;
}

.gws-seo-cta span {
  font-size: 18px;
}

.gws-seo-cta:hover {
  transform: translateY(-3px);
  background: #d8b8c5;
}


/* =========================================
   LIGHTBOX
========================================= */

.gws-seo-lightbox {
  position: fixed;
  inset: 0;
  z-index: 100000;
  background: rgba(30, 23, 28, 0.92);
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 30px;
  opacity: 0;
  visibility: hidden;
  transition: .3s ease;
}

.gws-seo-lightbox.active {
  opacity: 1;
  visibility: visible;
}

.gws-seo-lightbox-inner {
  width: min(1100px, 100%);
  max-height: 92vh;
  overflow: auto;
  text-align: center;
}

.gws-seo-lightbox-title {
  text-align: left;
  margin-bottom: 15px;
}

.gws-seo-lightbox-title span {
  color: #d8b8c5;
  font-size: 10px;
  letter-spacing: 2px;
  font-weight: 800;
}

.gws-seo-lightbox-title h3 {
  margin: 5px 0 0;
  color: #fff;
  font-size: 23px;
}

.gws-seo-lightbox img {
  max-width: 100%;
  height: auto;
  display: block;
  margin: auto;
  border-radius: 12px;
  box-shadow: 0 20px 70px rgba(0,0,0,.35);
}

.gws-seo-close {
  position: fixed;
  top: 20px;
  right: 25px;
  width: 44px;
  height: 44px;
  border: 0;
  border-radius: 50%;
  background: rgba(255,255,255,.12);
  color: #fff;
  font-size: 30px;
  line-height: 1;
  cursor: pointer;
  z-index: 2;
  transition: .3s ease;
}

.gws-seo-close:hover {
  background: #fff;
  color: #3c3038;
}


/* =========================================
   RESPONSIVE
========================================= */

@media (max-width: 800px) {

  .gws-seo-portfolio {
    padding: 80px 18px;
  }

  .gws-seo-grid {
    grid-template-columns: 1fr;
  }

  .gws-seo-bottom {
    flex-direction: column;
    align-items: flex-start;
    padding: 30px;
  }

  .gws-seo-cta {
    width: 100%;
    justify-content: center;
  }
}


@media (max-width: 520px) {

  .gws-seo-heading h2 {
    letter-spacing: -1.5px;
  }

  .gws-seo-heading p {
    font-size: 14px;
  }

  .gws-seo-filter {
    gap: 7px;
  }

  .gws-seo-filter-btn {
    padding: 9px 13px;
    font-size: 11px;
  }

  .gws-seo-card-content {
    padding: 22px;
  }

  .gws-seo-card h3 {
    font-size: 20px;
  }

  .gws-seo-bottom h3 {
    font-size: 23px;
  }

  .gws-seo-lightbox {
    padding: 18px;
  }

  .gws-seo-close {
    top: 12px;
    right: 12px;
  }

}

.gws-packages {
  position: relative;
  padding: 115px 20px;
  background:
    radial-gradient(
      circle at 8% 20%,
      rgba(177, 139, 153, 0.10),
      transparent 32%
    ),
    radial-gradient(
      circle at 90% 70%,
      rgba(213, 190, 197, 0.15),
      transparent 35%
    ),
    #f8f4f0;
  overflow: hidden;
}

.gws-packages-container {
  width: min(1180px, 100%);
  margin: auto;
}


/* =========================================
   HEADER
========================================= */

.gws-packages-header {
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
  gap: 30px;
  margin-bottom: 45px;
}

.gws-packages-heading {
  max-width: 700px;
}

.gws-packages-eyebrow {
  display: flex;
  align-items: center;
  gap: 10px;
  margin-bottom: 14px;

  color: #967482;
  font-size: 11px;
  font-weight: 800;
  letter-spacing: 3px;
}

.gws-packages-eyebrow::before {
  content: "";
  width: 38px;
  height: 1px;
  background: #967482;
}

.gws-packages-heading h2 {
  margin: 0;
  color: #283b3a;
  font-family: Georgia, "Times New Roman", serif;
  font-size: clamp(35px, 4.2vw, 53px);
  line-height: 1.05;
  letter-spacing: -1.8px;
  font-weight: 600;
}

.gws-packages-heading h2 span {
  color: #8f6979;
}

.gws-packages-trust {
  display: flex;
  align-items: center;
  gap: 8px;
  color: #6f7370;
  font-size: 11px;
  white-space: nowrap;
}

.gws-packages-trust i {
  color: #bda9af;
  font-style: normal;
}


/* =========================================
   PACKAGE GRID
========================================= */

.gws-packages-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 15px;
}


/* =========================================
   CARD
========================================= */

.gws-package-card {
  position: relative;
  display: flex;
  flex-direction: column;

  padding: 28px 21px 20px;

  min-height: 590px;

  border: 1px solid #d7d5d0;
  border-radius: 8px;

  background: rgba(255,255,255,0.45);

  transition:
    transform .4s ease,
    box-shadow .4s ease,
    border-color .4s ease;
}

.gws-package-card:hover {
  transform: translateY(-7px);
  box-shadow: 0 22px 50px rgba(69, 53, 60, 0.11);
  border-color: #bda5ae;
}


/* DIFFERENT CARD TONES */

.gws-package-starter {
  background:
    linear-gradient(
      145deg,
      rgba(255,255,255,.75),
      rgba(245,243,239,.75)
    );
}

.gws-package-growth {
  background:
    linear-gradient(
      145deg,
      #fffaf3,
      #f8eee5
    );

  border-color: #dcc4ad;
}

.gws-package-premium {
  background:
    linear-gradient(
      145deg,
      #f1f5f1,
      #f5f4f0
    );
}


/* =========================================
   POPULAR BADGE
========================================= */

.gws-popular-badge {
  position: absolute;
  top: 11px;
  right: 12px;

  padding: 6px 11px;

  border-radius: 20px;

  background: #b9825d;
  color: #fff;

  font-size: 9px;
  font-weight: 800;
  letter-spacing: .5px;
}


/* =========================================
   ICON
========================================= */

.gws-package-icon {
  width: 43px;
  height: 43px;

  display: flex;
  align-items: center;
  justify-content: center;

  margin-bottom: 15px;

  border-radius: 50%;

  background: #e5ece7;
  color: #3c6258;
}

.gws-package-growth .gws-package-icon {
  background: #f1e4d6;
  color: #9b6c4b;
}

.gws-package-premium .gws-package-icon {
  background: #e1e9e3;
  color: #47675e;
}

.gws-package-icon svg {
  width: 21px;
  height: 21px;
}


/* =========================================
   TITLE
========================================= */

.gws-package-title h3 {
  margin: 0 0 5px;

  color: #273b39;

  font-family: Georgia, "Times New Roman", serif;
  font-size: 24px;
  font-weight: 600;
}

.gws-package-title p {
  min-height: 43px;

  margin: 0;

  color: #626966;

  font-size: 12px;
  line-height: 1.45;
}


/* =========================================
   PRICE
========================================= */

.gws-package-price {
  display: flex;
  align-items: baseline;
  gap: 5px;

  margin: 18px 0 14px;
}

.gws-package-price strong {
  color: #253a38;

  font-family: Georgia, "Times New Roman", serif;
  font-size: 30px;
  line-height: 1;
}

.gws-package-price span {
  color: #555e5b;
  font-size: 12px;
}


/* =========================================
   INCLUDE BAR
========================================= */

.gws-package-includes {
  padding: 9px 12px;

  margin-bottom: 12px;

  border-radius: 18px;

  background: rgba(226,232,228,.65);

  color: #344b47;

  font-size: 10px;
  font-weight: 700;
}

.gws-package-growth .gws-package-includes {
  background: rgba(244,225,207,.55);
}

.gws-package-premium .gws-package-includes {
  background: rgba(225,234,228,.7);
}


/* =========================================
   FEATURES
========================================= */

.gws-package-features {
  list-style: none;

  padding: 0;
  margin: 0;

  display: flex;
  flex-direction: column;
  gap: 13px;

  flex: 1;
}

.gws-package-features li {
  display: flex;
  align-items: flex-start;
  gap: 9px;
}

.gws-check {
  flex-shrink: 0;

  width: 18px;
  height: 18px;

  display: flex;
  align-items: center;
  justify-content: center;

  margin-top: 1px;

  border-radius: 50%;

  background: #dce8e1;
  color: #315c50;

  font-size: 11px;
  font-weight: 800;
}

.gws-package-features strong {
  display: block;

  margin-bottom: 2px;

  color: #34423f;

  font-size: 12px;
  font-weight: 700;
}

.gws-package-features small {
  display: block;

  color: #737977;

  font-size: 10px;
  line-height: 1.35;
}


/* =========================================
   BUTTON
========================================= */

.gws-package-btn {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 10px;

  width: 100%;

  margin-top: 20px;
  padding: 11px 18px;

  border-radius: 30px;

  background: #214d44;
  color: #fff;

  text-decoration: none;

  font-size: 12px;
  font-weight: 700;

  transition: .3s ease;
}

.gws-package-growth .gws-package-btn {
  background: #e6b993;
  color: #3c302b;
}

.gws-package-premium .gws-package-btn {
  background: #214d44;
}

.gws-package-btn span {
  font-size: 18px;
  line-height: 10px;

  transition: transform .3s ease;
}

.gws-package-btn:hover {
  transform: translateY(-2px);
  box-shadow: 0 9px 20px rgba(38, 70, 63, .16);
}

.gws-package-btn:hover span {
  transform: translateX(4px);
}


/* =========================================
   ADDONS
========================================= */

.gws-addons {
  display: grid;

  grid-template-columns:
    1.35fr
    1fr
    1fr
    1fr
    1fr;

  margin-top: 22px;

  border-radius: 9px;

  background: rgba(239,241,237,.82);

  border: 1px solid #e2e4de;

  overflow: hidden;
}


/* INTRO */

.gws-addons-intro {
  padding: 22px 20px;
  border-right: 1px solid #d9ddd7;
}

.gws-addons-intro > span {
  color: #a07987;

  font-size: 9px;
  letter-spacing: 2px;
  font-weight: 800;
}

.gws-addons-intro h3 {
  margin: 6px 0 0;

  color: #2e403e;

  font-family: Georgia, "Times New Roman", serif;
  font-size: 21px;
  line-height: 1.05;
}

.gws-addons-intro em {
  color: #8e6878;
  font-style: normal;
}


/* ADDON ITEM */

.gws-addon-item {
  display: flex;
  align-items: center;
  gap: 12px;

  padding: 18px;

  border-right: 1px solid #d9ddd7;
}

.gws-addon-item:last-child {
  border-right: 0;
}

.gws-addon-icon {
  flex-shrink: 0;

  width: 30px;
  height: 30px;

  display: flex;
  align-items: center;
  justify-content: center;

  color: #2d514a;
}

.gws-addon-icon svg {
  width: 22px;
  height: 22px;
}

.gws-addon-item strong {
  display: block;

  color: #374440;

  font-size: 11px;
  line-height: 1.25;
}

.gws-addon-item small {
  display: block;

  margin-top: 4px;

  color: #626966;

  font-size: 10px;
  line-height: 1.25;
}


/* =========================================
   NOTE
========================================= */

.gws-package-note {
  display: flex;
  justify-content: center;
  align-items: center;

  gap: 8px;

  margin-top: 17px;

  color: #77726f;

  font-size: 11px;
  text-align: center;
}

.gws-package-note span {
  color: #9b7181;
}


/* =========================================
   RESPONSIVE
========================================= */

@media (max-width: 950px) {

  .gws-packages-header {
    flex-direction: column;
    align-items: flex-start;
  }

  .gws-packages-trust {
    white-space: normal;
  }

  .gws-packages-grid {
    grid-template-columns: 1fr;
  }

  .gws-package-card {
    min-height: auto;
  }

  .gws-package-title p {
    min-height: auto;
  }

  .gws-addons {
    grid-template-columns: repeat(2, 1fr);
  }

  .gws-addons-intro {
    grid-column: span 2;
    border-right: 0;
    border-bottom: 1px solid #d9ddd7;
  }

  .gws-addon-item:nth-child(3) {
    border-right: 0;
  }

}


@media (max-width: 600px) {

  .gws-packages {
    padding: 80px 16px;
  }

  .gws-packages-heading h2 {
    font-size: 36px;
  }

  .gws-packages-trust {
    font-size: 10px;
  }

  .gws-package-card {
    padding: 25px 18px 18px;
  }

  .gws-package-price strong {
    font-size: 28px;
  }

  .gws-addons {
    display: block;
  }

  .gws-addons-intro {
    padding: 22px;
  }

  .gws-addon-item {
    border-right: 0;
    border-bottom: 1px solid #d9ddd7;
    padding: 17px 20px;
  }

  .gws-addon-item:last-child {
    border-bottom: 0;
  }

  .gws-package-note {
    font-size: 10px;
    line-height: 1.5;
  }

}