/* Página Nosotros */
.nos-page {
        --nos-cream: #efe8df;
        --nos-cream-soft: #faf6f1;
        --nos-ink: #4b4342;
        --nos-ink-soft: #6f6563;
        --nos-pink: #ff91a4;
        --nos-pink-dark: #f4718a;
        --nos-teal: #2bb3c0;
        --nos-ease: cubic-bezier(0.22, 1, 0.36, 1);
        font-family: 'ABeeZee', sans-serif;
        color: var(--nos-ink);
    }
    .nos-page .nos-eyebrow {
        display: inline-block;
        font-family: 'Leckerli One', cursive;
        color: var(--nos-pink-dark);
        font-size: 18px;
        margin-bottom: 10px;
    }
    .nos-page .nos-title {
        font-family: 'Pacifico', 'Leckerli One', cursive;
        font-size: clamp(28px, 4vw, 44px);
        line-height: 1.2;
        color: var(--nos-ink);
        margin: 0 0 14px;
    }
    .nos-page .nos-title span { color: var(--nos-pink-dark); }
    .nos-page .nos-lead {
        font-size: clamp(16px, 1.8vw, 19px);
        line-height: 1.7;
        color: var(--nos-ink-soft);
    }

    /* Hero */
    .nos-hero {
        position: relative;
        text-align: center;
        padding: 92px 0 64px;
        overflow: hidden;
        background:
            radial-gradient(62% 85% at 50% -18%, rgba(255,145,164,.28) 0, rgba(255,145,164,0) 55%),
            radial-gradient(42% 55% at 96% 112%, rgba(43,179,192,.16) 0, rgba(43,179,192,0) 60%),
            radial-gradient(38% 55% at 2% 108%, rgba(245,166,35,.12) 0, rgba(245,166,35,0) 60%),
            linear-gradient(180deg, #fff4f5 0%, #faf6f1 58%, #f6eee6 100%);
    }
    /* Textura de lunares (vibra tejido / crochet), difuminada hacia los bordes */
    .nos-hero::before {
        content: "";
        position: absolute;
        inset: 0;
        z-index: 0;
        pointer-events: none;
        background-image: radial-gradient(rgba(244,113,138,.16) 2px, transparent 2.5px);
        background-size: 24px 24px;
        -webkit-mask-image: radial-gradient(78% 78% at 50% 42%, #000 26%, transparent 80%);
        mask-image: radial-gradient(78% 78% at 50% 42%, #000 26%, transparent 80%);
        opacity: .7;
    }
    /* Festón (borde tejido) que entra en la sección blanca de abajo */
    .nos-hero::after {
        content: "";
        position: absolute;
        left: 0;
        right: 0;
        bottom: -1px;
        height: 20px;
        z-index: 1;
        pointer-events: none;
        background: #fff;
        -webkit-mask: radial-gradient(circle at 50% 100%, #000 9.5px, transparent 10.5px) repeat-x bottom / 28px 20px;
        mask: radial-gradient(circle at 50% 100%, #000 9.5px, transparent 10.5px) repeat-x bottom / 28px 20px;
    }
    .nos-hero__inner { max-width: 760px; margin: 0 auto; position: relative; z-index: 2; }
    .nos-hero .nos-title { font-size: clamp(30px, 4.6vw, 46px); }
    .nos-hero__crumb {
        margin-top: 20px;
        font-size: 14px;
        color: var(--nos-ink-soft);
    }
    .nos-hero__crumb a { color: var(--nos-pink-dark); font-weight: 600; }
    /* Ovillos flotantes con profundidad */
    .nos-hero__dot {
        position: absolute;
        border-radius: 50%;
        z-index: 1;
        background: radial-gradient(circle at 32% 28%, #ffe2e8, #ff9fb0 72%);
        box-shadow: inset -6px -8px 15px rgba(244,113,138,.25), 0 12px 26px rgba(244,113,138,.18);
        opacity: .9;
        animation: nosFloat 6.5s ease-in-out infinite;
    }
    .nos-hero__dot--a { width: 84px; height: 84px; left: 7%; top: 32%; }
    .nos-hero__dot--b {
        width: 50px; height: 50px; right: 11%; top: 30%;
        background: radial-gradient(circle at 32% 28%, #d9f4f7, #7fd6de 72%);
        box-shadow: inset -6px -8px 15px rgba(43,179,192,.25), 0 12px 26px rgba(43,179,192,.16);
        animation-duration: 8s; animation-delay: -2s;
    }
    .nos-hero__dot--c { width: 108px; height: 108px; right: 5%; bottom: -18px; opacity: .55; animation-duration: 9.5s; animation-delay: -4s; }
    @keyframes nosFloat { 0%, 100% { transform: translateY(0); } 50% { transform: translateY(-16px); } }
    @media (prefers-reduced-motion: reduce) { .nos-hero__dot { animation: none; } }

    /* Historia */
    .nos-story { padding: 90px 0; background: #fff; }
    .nos-story__grid {
        display: grid;
        grid-template-columns: 1fr 1.05fr;
        gap: 54px;
        align-items: center;
    }
    .nos-story__media { position: relative; }
    .nos-story__media img {
        width: 100%;
        border-radius: 26px;
        box-shadow: 0 24px 60px rgba(75,67,66,.18);
        position: relative;
        z-index: 2;
    }
    .nos-story__frame {
        position: absolute;
        inset: -16px -16px 24px 24px;
        border: 2px dashed var(--nos-pink);
        border-radius: 30px;
        z-index: 1;
    }
    .nos-story__badge {
        position: absolute;
        right: -14px;
        bottom: 18px;
        z-index: 3;
        background: #fff;
        border-radius: 18px;
        padding: 14px 18px;
        display: flex;
        align-items: center;
        gap: 12px;
        box-shadow: 0 16px 40px rgba(75,67,66,.18);
    }
    .nos-story__badge i {
        width: 42px; height: 42px; border-radius: 50%;
        display: grid; place-items: center;
        background: linear-gradient(135deg, var(--nos-pink), var(--nos-pink-dark));
        color: #fff; font-size: 18px;
    }
    .nos-story__badge b { display: block; font-size: 15px; color: var(--nos-ink); }
    .nos-story__badge span { font-size: 12.5px; color: var(--nos-ink-soft); }
    .nos-story__text p { margin: 0 0 16px; font-size: 16.5px; line-height: 1.75; color: var(--nos-ink-soft); }
    .nos-sign {
        margin-top: 18px;
        font-family: 'Leckerli One', cursive;
        color: var(--nos-pink-dark);
        font-size: 24px;
    }
    .nos-sign small { display: block; font-family: 'ABeeZee', sans-serif; font-size: 13px; color: var(--nos-ink-soft); }

    /* Encabezado de sección centrado */
    .nos-head { text-align: center; max-width: 620px; margin: 0 auto 48px; }

    /* Valores */
    .nos-values { padding: 90px 0; background: var(--nos-cream-soft); }
    .nos-values__grid {
        display: grid;
        grid-template-columns: repeat(4, 1fr);
        gap: 24px;
    }
    .nos-value {
        background: #fff;
        border-radius: 22px;
        padding: 32px 24px;
        text-align: center;
        box-shadow: 0 14px 36px rgba(75,67,66,.08);
        transition: transform .3s var(--nos-ease), box-shadow .3s var(--nos-ease);
    }
    .nos-value:hover { transform: translateY(-8px); box-shadow: 0 24px 50px rgba(244,113,138,.18); }
    .nos-value__icon {
        width: 66px; height: 66px; margin: 0 auto 18px;
        border-radius: 50%;
        display: grid; place-items: center;
        font-size: 26px; color: #fff;
        background: linear-gradient(135deg, var(--nos-pink), var(--nos-pink-dark));
        box-shadow: 0 10px 24px rgba(244,113,138,.35);
    }
    .nos-value:nth-child(2) .nos-value__icon { background: linear-gradient(135deg, #7fd6de, var(--nos-teal)); box-shadow: 0 10px 24px rgba(43,179,192,.3); }
    .nos-value:nth-child(3) .nos-value__icon { background: linear-gradient(135deg, #ffcf8b, #f5a623); box-shadow: 0 10px 24px rgba(245,166,35,.3); }
    .nos-value h3 { font-size: 18px; margin: 0 0 8px; color: var(--nos-ink); }
    .nos-value p { font-size: 14px; line-height: 1.6; color: var(--nos-ink-soft); margin: 0; }

    /* Proceso (timeline) */
    .nos-proc { padding: 90px 0 100px; background: #fff; position: relative; }
    .nos-proc__line { position: relative; max-width: 920px; margin: 0 auto; }
    .nos-proc__line::before {
        content: "";
        position: absolute;
        left: 50%; top: 0; bottom: 0;
        width: 3px; margin-left: -1.5px;
        background: repeating-linear-gradient(to bottom, var(--nos-pink) 0 10px, transparent 10px 20px);
        opacity: .5;
    }
    .nos-step {
        position: relative;
        width: 50%;
        padding: 14px 44px 32px;
        box-sizing: border-box;
    }
    .nos-step:nth-child(odd) { left: 0; text-align: right; }
    .nos-step:nth-child(even) { left: 50%; text-align: left; }
    .nos-step__card {
        display: inline-block;
        background: var(--nos-cream-soft);
        border: 1px solid #efe4dd;
        border-radius: 18px;
        padding: 20px 22px;
        max-width: 360px;
        transition: transform .3s var(--nos-ease), box-shadow .3s var(--nos-ease);
    }
    .nos-step__card:hover { transform: translateY(-5px); box-shadow: 0 18px 40px rgba(75,67,66,.12); }
    .nos-step__num {
        position: absolute; top: 14px;
        width: 46px; height: 46px; border-radius: 50%;
        display: grid; place-items: center;
        font-family: 'Leckerli One', cursive; font-size: 20px; color: #fff;
        background: linear-gradient(135deg, var(--nos-pink), var(--nos-pink-dark));
        box-shadow: 0 8px 20px rgba(244,113,138,.4);
        z-index: 2;
    }
    .nos-step:nth-child(odd) .nos-step__num { right: -23px; }
    .nos-step:nth-child(even) .nos-step__num { left: -23px; }
    .nos-step h3 { font-size: 17px; margin: 0 0 6px; color: var(--nos-ink); }
    .nos-step h3 i { color: var(--nos-pink-dark); margin-right: 7px; }
    .nos-step p { font-size: 14px; line-height: 1.6; color: var(--nos-ink-soft); margin: 0; }

    /* Estadísticas (contadores) */
    .nos-stats {
        padding: 70px 0;
        background: linear-gradient(120deg, #ff8fa3, #ff7d93 55%, #ffab9e);
        color: #fff;
    }
    .nos-stats__grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 20px; text-align: center; }
    .nos-stat__num { font-family: 'Pacifico','Leckerli One',cursive; font-size: clamp(34px, 5vw, 52px); line-height: 1; }
    .nos-stat__num small { font-size: .55em; }
    .nos-stat__lbl { margin-top: 8px; font-size: 14.5px; opacity: .95; }
    .nos-stat + .nos-stat { position: relative; }

    /* Galería */
    .nos-gallery { padding: 90px 0; background: var(--nos-cream-soft); }
    .nos-gallery__grid {
        display: grid;
        grid-template-columns: repeat(3, 1fr);
        gap: 18px;
    }
    .nos-gallery__item {
        border-radius: 18px;
        overflow: hidden;
        aspect-ratio: 4 / 3;
        box-shadow: 0 12px 30px rgba(75,67,66,.1);
    }
    .nos-gallery__item img {
        width: 100%; height: 100%; object-fit: cover;
        transition: transform .5s var(--nos-ease);
    }
    .nos-gallery__item:hover img { transform: scale(1.08); }

    /* Fundadora */
    .nos-founder { padding: 90px 0; background: #fff; }
    .nos-founder__card {
        max-width: 820px; margin: 0 auto;
        background:
            radial-gradient(60% 80% at 100% 0%, rgba(255,145,164,.12) 0, rgba(255,145,164,0) 60%),
            var(--nos-cream-soft);
        border-radius: 28px;
        padding: 48px 44px;
        text-align: center;
        position: relative;
    }
    .nos-founder__quote { font-size: 40px; color: rgba(244,113,138,.4); line-height: 1; }
    .nos-founder__text {
        font-size: clamp(18px, 2.3vw, 24px);
        line-height: 1.6;
        color: var(--nos-ink);
        font-family: 'ABeeZee', sans-serif;
        margin: 10px 0 26px;
    }
    .nos-founder__who { display: inline-flex; align-items: center; gap: 14px; }
    .nos-founder__avatar {
        width: 56px; height: 56px; border-radius: 50%;
        display: grid; place-items: center;
        font-family: 'Leckerli One', cursive; font-size: 24px; color: #fff;
        background: linear-gradient(135deg, var(--nos-pink), var(--nos-pink-dark));
    }
    .nos-founder__who b { display: block; color: var(--nos-ink); font-size: 16px; }
    .nos-founder__who span { font-size: 13px; color: var(--nos-ink-soft); }

    /* CTA */
    .nos-cta { padding: 86px 0; text-align: center; background: var(--nos-cream-soft); }
    .nos-cta .nos-title { margin-bottom: 10px; }
    .nos-cta__btns { margin-top: 26px; display: flex; gap: 14px; justify-content: center; flex-wrap: wrap; }
    .nos-btn {
        display: inline-flex; align-items: center; gap: 9px;
        padding: 14px 28px; border-radius: 999px;
        font-weight: 700; font-size: 15px;
        transition: transform .25s var(--nos-ease), box-shadow .25s var(--nos-ease), background .25s;
    }
    .nos-btn--wa,
    .nos-btn--wa:hover,
    .nos-btn--wa:focus,
    .nos-btn--wa:visited { background: #128c4a; color: #fff; box-shadow: 0 12px 26px rgba(18,140,74,.28); }
    .nos-btn--wa:hover { transform: translateY(-3px); color: #fff; box-shadow: 0 18px 34px rgba(18,140,74,.38); }
    .nos-btn--ghost,
    .nos-btn--ghost:hover,
    .nos-btn--ghost:focus,
    .nos-btn--ghost:visited { background: #fff; color: var(--nos-pink-dark); border: 2px solid var(--nos-pink); }
    .nos-btn--ghost:hover { background: var(--nos-pink); color: #fff; transform: translateY(-3px); }

    @media (max-width: 991px) {
        .nos-story__grid { grid-template-columns: 1fr; gap: 40px; }
        .nos-values__grid { grid-template-columns: repeat(2, 1fr); }
        .nos-stats__grid { grid-template-columns: repeat(2, 1fr); gap: 34px 20px; }
        .nos-gallery__grid { grid-template-columns: repeat(2, 1fr); }
        /* Timeline a una sola columna */
        .nos-proc__line::before { left: 23px; }
        .nos-step, .nos-step:nth-child(even), .nos-step:nth-child(odd) {
            width: 100%; left: 0; text-align: left; padding: 10px 10px 30px 60px;
        }
        .nos-step:nth-child(odd) .nos-step__num,
        .nos-step:nth-child(even) .nos-step__num { left: 0; right: auto; }
    }
    @media (max-width: 575px) {
        .nos-values__grid, .nos-gallery__grid { grid-template-columns: 1fr; }
        .nos-stats__grid { grid-template-columns: 1fr 1fr; }
    }

.nos-founder__who > div { text-align: left; }
