/* =========================================================
   SAMMARIE TRAMEDIFA
========================================================= */

.smt-page {

    --smt-primary: #8f168b;
    --smt-primary-dark: #71006f;
    --smt-secondary: #c22d9e;
    --smt-pink: #f3c9e5;
    --smt-pink-light: #fff3fa;

    --smt-text: #292229;
    --smt-muted: #756c75;

    --smt-border: rgba(143, 22, 139, 0.14);

    color: var(--smt-text);
    background: #ffffff;
}


.smt-container {

    width: min(1180px, calc(100% - 40px));
    margin: 0 auto;
}


/* =========================================================
   GENERAL
========================================================= */

.smt-section {

    padding: 90px 0;
}


.smt-eyebrow {

    display: block;

    margin-bottom: 10px;

    color: var(--smt-primary);

    font-size: 12px;
    font-weight: 700;

    letter-spacing: 0.12em;
    text-transform: uppercase;
}


.smt-section-heading {

    display: flex;
    align-items: flex-start;

    gap: 18px;

    margin-bottom: 45px;
}


.smt-section-heading h2 {

    margin: 0;

    color: var(--smt-primary);

    font-size: clamp(38px, 5vw, 64px);
    line-height: 0.95;

    font-weight: 800;

    letter-spacing: -0.03em;
}


.smt-section-number {

    display: inline-flex;

    align-items: center;
    justify-content: center;

    min-width: 48px;
    height: 48px;

    padding: 0 10px;

    border-radius: 12px;

    background: var(--smt-primary);

    color: #ffffff;

    font-size: 15px;
    font-weight: 800;
}


.smt-heading-center {

    justify-content: center;
    text-align: center;
}


.smt-heading-center .smt-section-number {

    display: none;
}


/* =========================================================
   BUTTON
========================================================= */

.smt-button {

    display: inline-flex;

    align-items: center;
    justify-content: center;

    gap: 10px;

    min-height: 48px;

    padding: 13px 22px;

    border-radius: 12px;

    font-size: 14px;
    font-weight: 700;

    text-decoration: none;

    transition:
        transform .25s ease,
        box-shadow .25s ease,
        background .25s ease;
}


.smt-button:hover {

    transform: translateY(-2px);
}


.smt-button-primary {

    background: var(--smt-primary);

    color: #ffffff;

    box-shadow:
        0 10px 25px rgba(143, 22, 139, .20);
}


.smt-button-primary:hover {

    color: #ffffff;

    background: var(--smt-primary-dark);
}


.smt-button-outline {

    border: 1px solid var(--smt-border);

    color: var(--smt-primary);

    background: #ffffff;
}


.smt-button-outline:hover {

    color: var(--smt-primary);

    border-color: var(--smt-primary);
}


/* =========================================================
   HERO
========================================================= */

.smt-hero {

    position: relative;

    padding: 80px 0;

    overflow: hidden;

    background:
        linear-gradient(
            135deg,
            #fff3fa 0%,
            #ffffff 55%,
            #f7d7ec 100%
        );
}


.smt-hero-grid {

    display: grid;

    grid-template-columns: 0.95fr 1.05fr;

    align-items: center;

    gap: 60px;
}


.smt-label {

    display: inline-flex;

    margin-bottom: 18px;

    padding: 8px 14px;

    border-radius: 999px;

    background: rgba(143, 22, 139, .09);

    color: var(--smt-primary);

    font-size: 12px;
    font-weight: 700;

    letter-spacing: .08em;
    text-transform: uppercase;
}


.smt-hero-title {

    max-width: 650px;

    margin: 0 0 24px;

    color: var(--smt-primary);

    font-size: clamp(35px, 7vw, 66px);

    line-height: .94;

    font-weight: 700;

    letter-spacing: -.05em;
}


.smt-hero-title span {

    display: block;

    color: var(--smt-secondary);
}


.smt-hero-description {

    max-width: 590px;

    margin: 0 0 30px;

    color: var(--smt-muted);

    font-size: 17px;

    line-height: 1.75;
}


.smt-hero-actions {

    display: flex;

    flex-wrap: wrap;

    gap: 12px;

    margin-bottom: 40px;
}


.smt-hero-meta {

    display: flex;

    gap: 40px;
}


.smt-hero-meta div {

    display: flex;

    flex-direction: column;

    gap: 4px;
}


.smt-hero-meta strong {

    color: var(--smt-primary);

    font-size: 25px;
}


.smt-hero-meta small {

    color: var(--smt-muted);

    font-size: 11px;
}


.smt-hero-image {

    position: relative;
}


.smt-hero-image img {

    display: block;

    width: 80%;
    height: auto;

    border-radius: 24px;

    box-shadow:
        0 25px 60px rgba(80, 20, 80, .15);
}


.smt-hero-image-badge {

    position: absolute;

    right: 22px;
    bottom: 22px;

    display: flex;

    align-items: center;

    gap: 12px;

    padding: 14px 18px;

    border-radius: 14px;

    background: rgba(255,255,255,.95);

    box-shadow:
        0 12px 30px rgba(50,20,50,.12);
}


.smt-badge-icon {

    display: flex;

    align-items: center;
    justify-content: center;

    width: 38px;
    height: 38px;

    border-radius: 10px;

    background: var(--smt-primary);

    color: #ffffff;

    font-weight: 800;
}


.smt-hero-image-badge strong,
.smt-hero-image-badge small {

    display: block;
}


.smt-hero-image-badge strong {

    font-size: 13px;
}


.smt-hero-image-badge small {

    margin-top: 3px;

    color: var(--smt-muted);

    font-size: 10px;
}


/* =========================================================
   QUICK CTA
========================================================= */

.smt-quick-cta {

    padding: 30px 0;

    background: #ffffff;
}


.smt-quick-cta-grid {

    display: grid;

    grid-template-columns: repeat(4, 1fr);

    gap: 16px;
}


.smt-quick-cta-item {

    position: relative;

    display: flex;

    align-items: center;

    gap: 14px;

    min-height: 100px;

    padding: 20px;

    border: 1px solid var(--smt-border);

    border-radius: 16px;

    background: #ffffff;

    text-decoration: none;

    box-shadow:
        0 6px 20px rgba(40,20,40,.05);

    transition:
        transform .25s ease,
        box-shadow .25s ease,
        border-color .25s ease;
}


.smt-quick-cta-item:hover {

    transform: translateY(-4px);

    border-color: rgba(143,22,139,.3);

    box-shadow:
        0 12px 30px rgba(143,22,139,.12);
}


.smt-quick-cta-icon {

    flex: 0 0 46px;

    width: 46px;
    height: 46px;

    display: flex;

    align-items: center;
    justify-content: center;

    border-radius: 12px;

    background: rgba(143,22,139,.09);

    color: var(--smt-primary);
}


.smt-quick-cta-icon .dashicons {

    width: 22px;
    height: 22px;

    font-size: 22px;
}


.smt-quick-cta-content {

    min-width: 0;

    display: flex;

    flex-direction: column;

    gap: 4px;
}


.smt-quick-cta-content strong {

    color: var(--smt-text);

    font-size: 15px;
}


.smt-quick-cta-content small {

    color: var(--smt-muted);

    font-size: 12px;

    line-height: 1.4;
}


.smt-quick-cta-arrow {

    margin-left: auto;

    color: var(--smt-primary);

    font-size: 20px;

    transition: transform .25s ease;
}


.smt-quick-cta-item:hover .smt-quick-cta-arrow {

    transform: translateX(4px);
}


/* =========================================================
   ABOUT
========================================================= */

.smt-about {

    background: var(--smt-pink-light);
}


.smt-about-grid {

    display: grid;

    grid-template-columns: 1fr 1fr;

    gap: 60px;

    align-items: center;
}


.smt-about-image {

    position: relative;
}


.smt-about-image img {

    display: block;

    width: 100%;
    height: auto;

    border-radius: 22px;
}


.smt-about-year {

    position: absolute;

    left: 20px;
    bottom: 20px;

    display: flex;

    flex-direction: column;

    padding: 18px 22px;

    border-radius: 14px;

    background: var(--smt-primary);

    color: #ffffff;
}


.smt-about-year span {

    font-size: 11px;
}


.smt-about-year strong {

    font-size: 35px;

    line-height: 1;
}


.smt-about-content p {

    margin: 0 0 18px;

    color: var(--smt-muted);

    font-size: 16px;

    line-height: 1.75;
}


.smt-about-content .smt-lead {

    color: var(--smt-text);

    font-size: 20px;

    line-height: 1.6;
}


.smt-about-focus {

    display: flex;

    flex-wrap: wrap;

    gap: 8px;

    margin-top: 28px;
}


.smt-about-focus span {

    padding: 8px 13px;

    border-radius: 999px;

    background: #ffffff;

    color: var(--smt-primary);

    font-size: 12px;
    font-weight: 700;

    box-shadow:
        0 5px 15px rgba(70,20,70,.06);
}


/* =========================================================
   CORE VALUES
========================================================= */

.smt-values {

    background: #ffffff;
}


.smt-values-grid {

    display: grid;

    grid-template-columns: repeat(4, 1fr);

    gap: 16px;
}


.smt-value-card {

    position: relative;

    min-height: 280px;

    padding: 28px;

    border: 1px solid var(--smt-border);

    border-radius: 20px;

    background: #ffffff;

    overflow: hidden;

    box-shadow:
        0 8px 25px rgba(40,20,40,.05);

    transition:
        transform .25s ease,
        box-shadow .25s ease;
}


.smt-value-card:hover {

    transform: translateY(-5px);

    box-shadow:
        0 16px 35px rgba(143,22,139,.12);
}


.smt-value-number {

    position: absolute;

    top: 18px;
    right: 20px;

    color: rgba(143,22,139,.12);

    font-size: 35px;
    font-weight: 800;
}


.smt-value-icon {

    display: flex;

    align-items: center;
    justify-content: center;

    width: 48px;
    height: 48px;

    margin-bottom: 30px;

    border-radius: 14px;

    background: rgba(143,22,139,.09);

    color: var(--smt-primary);

    font-size: 22px;
    font-weight: 800;
}


.smt-value-card h3 {

    margin: 0 0 12px;

    color: var(--smt-primary);

    font-size: 20px;
}


.smt-value-card p {

    margin: 0;

    color: var(--smt-muted);

    font-size: 13px;

    line-height: 1.7;
}


/* =========================================================
   MILESTONE
========================================================= */

.smt-milestone {

    background: var(--smt-pink-light);
}


.smt-milestone-image {

    overflow: hidden;

    border-radius: 20px;

    background: #ffffff;

    box-shadow:
        0 15px 40px rgba(60,20,60,.08);
}


.smt-milestone-image img {

    display: block;

    width: 100%;
    height: auto;
}


/* =========================================================
   VISION
========================================================= */

.smt-vision {

    background: #ffffff;
}


.smt-vision-card {

    display: grid;

    grid-template-columns: 180px 1fr;

    overflow: hidden;

    border-radius: 22px;

    background: var(--smt-primary);

    color: #ffffff;

    box-shadow:
        0 20px 45px rgba(100,20,100,.15);
}


.smt-vision-label {

    display: flex;

    align-items: center;
    justify-content: center;

    padding: 35px;

    background: var(--smt-primary-dark);

    font-size: 28px;
    font-weight: 800;
}


.smt-vision-content {

    padding: 45px;
}


.smt-vision-content h3 {

    max-width: 850px;

    margin: 0 0 15px;

    color: #ffffff;

    font-size: 30px;

    line-height: 1.3;
}


.smt-vision-content p {

    max-width: 800px;

    margin: 0;

    color: rgba(255,255,255,.82);

    font-size: 14px;

    line-height: 1.7;
}


.smt-mission-grid {

    display: grid;

    grid-template-columns: repeat(2, 1fr);

    gap: 18px;

    margin-top: 20px;
}


.smt-mission-card {

    display: flex;

    align-items: flex-start;

    gap: 18px;

    padding: 28px;

    border: 1px solid var(--smt-border);

    border-radius: 18px;

    background: var(--smt-pink-light);
}


.smt-mission-card > span {

    flex: 0 0 46px;

    display: flex;

    align-items: center;
    justify-content: center;

    width: 46px;
    height: 46px;

    border-radius: 12px;

    background: var(--smt-primary);

    color: #ffffff;

    font-weight: 800;
}


.smt-mission-card p {

    margin: 0;

    color: var(--smt-muted);

    font-size: 14px;

    line-height: 1.7;
}


/* =========================================================
   CERTIFICATION
========================================================= */

.smt-certification-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 24px;
    max-width: 900px;
    margin: 0 auto;
}

.smt-certification-card {
    display: flex;
    align-items: center;
    justify-content: center;

    padding: 24px;

    background: #fff;
    border: 1px solid var(--smt-border);
    border-radius: 18px;

    box-shadow: 0 8px 25px rgba(0, 0, 0, 0.04);
}

.smt-certification-card img {
    display: block;

    width: 70%;
    max-width: 360px;
    height: auto;

    object-fit: contain;
}


/* =========================================================
   SERVICES
========================================================= */

.smt-services {

    background: #ffffff;
}


.smt-service-intro {

    display: flex;

    align-items: flex-start;

    gap: 18px;

    margin-bottom: 30px;
}


.smt-service-icon {

    flex: 0 0 52px;

    display: flex;

    align-items: center;
    justify-content: center;

    width: 52px;
    height: 52px;

    border-radius: 50%;

    background: var(--smt-primary);

    color: #ffffff;
}


.smt-service-icon .dashicons {

    font-size: 23px;
}


.smt-service-intro h3 {

    margin: 0 0 7px;

    color: var(--smt-primary);

    font-size: 24px;
}


.smt-service-intro p {

    max-width: 750px;

    margin: 0;

    color: var(--smt-muted);

    line-height: 1.7;
}


.smt-products-showcase {

    overflow: hidden;

    border-radius: 22px;

    background: var(--smt-pink-light);
}


.smt-products-showcase img {

    display: block;

    width: 100%;
    height: auto;
}


.smt-product-tags {

    display: flex;

    flex-wrap: wrap;

    gap: 10px;

    margin-top: 18px;
}


.smt-product-tags span {

    padding: 9px 14px;

    border-radius: 999px;

    background: rgba(143,22,139,.08);

    color: var(--smt-primary);

    font-size: 12px;
    font-weight: 700;
}


/* =========================================================
   PARTNERS
========================================================= */

.smt-partners {

    background: var(--smt-pink-light);
}


.smt-partners-intro {

    max-width: 800px;

    margin-bottom: 30px;
}


.smt-partners-intro p {

    margin: 0;

    color: var(--smt-muted);

    font-size: 16px;

    line-height: 1.7;
}


.smt-partners-grid {
    display: grid;
    grid-template-columns: repeat(5, 1fr);
    gap: 16px;
}

.smt-partner-card {
    min-height: 120px;

    display: flex;
    align-items: center;
    justify-content: center;

    padding: 25px;

    background: #ffffff;
    border: 1px solid var(--smt-border);
    border-radius: 16px;

    transition:
        transform .25s ease,
        box-shadow .25s ease;
}

.smt-partner-card:hover {
    transform: translateY(-4px);

    box-shadow:
        0 12px 30px rgba(143, 22, 139, .10);
}

.smt-partner-card img {
    display: block;

    width: auto;
    max-width: 100%;
    height: 85px;

    object-fit: contain;
}


/* =========================================================
   REVIEWS
========================================================= */

.smt-reviews {

    background: #ffffff;
}


.smt-review-highlight {

    display: grid;

    grid-template-columns: .75fr 1.25fr;

    gap: 16px;

    margin-bottom: 30px;
}


.smt-review-stat {

    display: flex;

    flex-direction: column;

    justify-content: center;

    min-height: 230px;

    padding: 35px;

    border-radius: 20px;

    background: var(--smt-primary);

    color: #ffffff;
}


.smt-review-stat strong {

    font-size: 58px;

    line-height: 1;
}


.smt-review-stat span {

    margin-top: 8px;

    font-size: 17px;
    font-weight: 700;
}


.smt-review-stat small {

    max-width: 230px;

    margin-top: 10px;

    color: rgba(255,255,255,.78);

    font-size: 12px;

    line-height: 1.5;
}


.smt-review-quality {

    display: flex;

    align-items: center;

    gap: 35px;

    min-height: 230px;

    padding: 35px;

    border-radius: 20px;

    background: var(--smt-secondary);

    color: #ffffff;
}


.smt-review-quality strong {

    flex: 0 0 230px;

    font-size: 30px;

    line-height: 1.05;
}


.smt-review-quality strong span {

    display: block;
}


.smt-review-quality p {

    margin: 0;

    color: rgba(255,255,255,.86);

    font-size: 13px;

    line-height: 1.7;
}


.smt-reviews-image {

    overflow: hidden;

    border-radius: 20px;
}


.smt-reviews-image img {

    display: block;

    width: 100%;
    height: auto;
}


/* =========================================================
   FAQ
========================================================= */

.smt-faq {

    background: var(--smt-pink-light);
}


.smt-faq-list {

    max-width: 900px;

    margin: 0 auto;
}


.smt-faq-item {

    margin-bottom: 10px;

    border: 1px solid var(--smt-border);

    border-radius: 15px;

    background: #ffffff;

    overflow: hidden;
}


.smt-faq-item summary {

    display: flex;

    align-items: center;
    justify-content: space-between;

    gap: 20px;

    padding: 21px 24px;

    cursor: pointer;

    list-style: none;

    color: var(--smt-text);

    font-size: 15px;
    font-weight: 700;
}


.smt-faq-item summary::-webkit-details-marker {

    display: none;
}


.smt-faq-item summary span {

    color: var(--smt-primary);

    font-size: 22px;

    transition: transform .25s ease;
}


.smt-faq-item[open] summary span {

    transform: rotate(45deg);
}


.smt-faq-answer {

    padding: 0 24px 22px;
}


.smt-faq-answer p {

    margin: 0;

    color: var(--smt-muted);

    font-size: 14px;

    line-height: 1.7;
}


/* =========================================================
   COLLABORATION
========================================================= */

.smt-collaboration {

    padding: 80px 0;

    background: #ffffff;
}


.smt-collaboration-card {

    position: relative;

    display: grid;

    grid-template-columns: 1fr .7fr;

    min-height: 430px;

    overflow: hidden;

    border-radius: 28px;

    background:
        linear-gradient(
            135deg,
            var(--smt-primary-dark),
            var(--smt-secondary)
        );

    box-shadow:
        0 25px 60px rgba(90,20,90,.20);
}


.smt-collaboration-content {

    position: relative;

    z-index: 2;

    display: flex;

    flex-direction: column;

    justify-content: center;

    padding: 60px;
}


.smt-collaboration-content .smt-eyebrow {

    color: rgba(255,255,255,.7);
}


.smt-collaboration-content h2 {

    margin: 0 0 18px;

    color: #ffffff;

    font-size: clamp(45px, 6vw, 70px);

    line-height: .95;
}


.smt-collaboration-content p {

    max-width: 580px;

    margin: 0 0 30px;

    color: rgba(255,255,255,.82);

    font-size: 16px;

    line-height: 1.7;
}


.smt-collaboration-actions {

    display: flex;

    flex-wrap: wrap;

    gap: 10px;
}


.smt-button-white {

    background: #ffffff;

    color: var(--smt-primary);
}


.smt-button-white:hover {

    color: var(--smt-primary);

    box-shadow:
        0 10px 25px rgba(0,0,0,.12);
}


.smt-button-transparent {

    border: 1px solid rgba(255,255,255,.45);

    color: #ffffff;

    background: transparent;
}


.smt-button-transparent:hover {

    color: #ffffff;

    border-color: #ffffff;
}


.smt-collaboration-image {

    position: relative;

    min-height: 300px;
}


.smt-collaboration-image img {

    position: absolute;

    inset: 0;

    width: 100%;
    height: 100%;

    object-fit: cover;
}


/* =========================================================
   RESPONSIVE
========================================================= */

@media (max-width: 1024px) {

    .smt-hero-grid,
    .smt-about-grid,
    .smt-certification-grid {

        grid-template-columns: 1fr 1fr;

        gap: 35px;
    }


    .smt-values-grid {

        grid-template-columns: repeat(2, 1fr);
    }


    .smt-quick-cta-grid {

        grid-template-columns: repeat(2, 1fr);
    }


    .smt-review-highlight {

        grid-template-columns: 1fr;
    }

}


@media (max-width: 767px) {

    .smt-container {

        width: min(100% - 30px, 1180px);
    }


    .smt-section {

        padding: 65px 0;
    }


    .smt-section-heading {

        gap: 12px;

        margin-bottom: 30px;
    }


    .smt-section-number {

        min-width: 38px;
        height: 38px;

        font-size: 12px;
    }


    .smt-section-heading h2 {

        font-size: 42px;
    }


    /* HERO */

    .smt-hero {

        padding: 55px 0;
    }


    .smt-hero-grid {

        grid-template-columns: 1fr;

        gap: 35px;
    }


    .smt-hero-title {

        font-size: 55px;
    }


    .smt-hero-description {

        font-size: 15px;
    }


    .smt-hero-image-badge {

        right: 12px;
        bottom: 12px;

        padding: 10px 12px;
    }


    /* QUICK CTA */

    .smt-quick-cta {

        padding: 20px 0;
    }


    .smt-quick-cta-grid {

        grid-template-columns: repeat(2, 1fr);

        gap: 12px;
    }


    .smt-quick-cta-item {

        min-height: 105px;

        padding: 15px;

        flex-direction: column;

        align-items: flex-start;

        gap: 10px;
    }


    .smt-quick-cta-icon {

        width: 40px;
        height: 40px;

        flex-basis: 40px;
    }


    .smt-quick-cta-content strong {

        font-size: 14px;
    }


    .smt-quick-cta-content small {

        font-size: 11px;
    }


    .smt-quick-cta-arrow {

        position: absolute;

        right: 14px;
        bottom: 14px;
    }


    /* ABOUT */

    .smt-about-grid {

        grid-template-columns: 1fr;

        gap: 30px;
    }


    .smt-about-content .smt-lead {

        font-size: 18px;
    }


    /* VALUES */

    .smt-values-grid {

        grid-template-columns: 1fr;
    }


    .smt-value-card {

        min-height: auto;
    }


    /* VISION */

    .smt-vision-card {

        grid-template-columns: 1fr;
    }


    .smt-vision-label {

        justify-content: flex-start;

        padding: 20px 25px;
    }


    .smt-vision-content {

        padding: 28px;
    }


    .smt-vision-content h3 {

        font-size: 23px;
    }


    .smt-mission-grid {

        grid-template-columns: 1fr;
    }


    /* CERTIFICATION */

    @media (max-width: 767px) {

    .smt-certification-grid {
        grid-template-columns: 1fr;
        gap: 16px;
    }

    .smt-certification-card {
        padding: 18px;
    }

    .smt-certification-card img {
        max-width: 300px;
    }

}


    /* REVIEWS */

    .smt-review-quality {

        flex-direction: column;

        align-items: flex-start;

        gap: 15px;
    }


    .smt-review-quality strong {

        flex: auto;
    }


    /* COLLABORATION */

    .smt-collaboration {

        padding: 60px 0;
    }


    .smt-collaboration-card {

        grid-template-columns: 1fr;
    }


    .smt-collaboration-content {

        padding: 40px 28px;
    }


    .smt-collaboration-content h2 {

        font-size: 50px;
    }


    .smt-collaboration-image {

        min-height: 240px;
    }

}

@media (max-width: 767px) {

    .smt-partners-grid {
        grid-template-columns: repeat(2, 1fr);
        gap: 12px;
    }

    .smt-partner-card {
        min-height: 100px;
        padding: 18px;
    }

    .smt-partner-card img {
        height: 45px;
    }
}