/* =========================================================
   SEBACEOUS FILAMENTS — COMPLETE CSS
   Same visual language as Acne page
   Unique sf- classes only
========================================================= */


/* =========================================================
   SECTION 1 — HERO
========================================================= */

.sf-hero{

    min-height:100vh;

    padding-top:120px;
    padding-inline:5%;
    padding-bottom: 0;

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

    background:linear-gradient(
        180deg,
        #fffdfc 0%,
        #fff8fb 100%
    );

    margin-bottom:30px;

}

.sf-hero-container{

    width:100%;
    max-width:1400px;

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

    gap:70px;

}

.sf-hero-content{

    flex:1;
    max-width:540px;

}

.sf-hero-eyebrow{

    display:inline-block;

    padding:10px 18px;

    margin-bottom:26px;

    border-radius:999px;

    background:var(--clr-hover-soft);

    color:var(--clr-primary);

    font-family:var(--ff-paragraph);

    font-size:.82rem;

    font-weight:600;

    letter-spacing:3px;

    text-transform:uppercase;

}

.sf-hero-title{

    font-size:clamp(3.5rem,4vw,4.8rem);

    line-height:1.08;

    font-weight:500;

    color:var(--clr-heading);

    margin-bottom:30px;

}

.sf-hero-text{

    font-family:var(--ff-paragraph);

    font-size:1.08rem;

    line-height:1.9;

    color:var(--clr-text);

    max-width:520px;

    margin-bottom:18px;

}

.sf-hero-text:last-of-type{

    margin-bottom:40px;

}

.sf-hero-button{

    display:inline-flex;

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

    gap:12px;

    height:58px;

    padding:0 34px;

    border-radius:999px;

    background:var(--clr-primary-light);

    color:var(--clr-white);

    font-family:var(--ff-paragraph);

    font-size:.98rem;

    font-weight:500;

    transition:.35s ease;

}

.sf-hero-button:hover{

    background:var(--clr-primary-hover-light);

    transform:translateY(-4px);

}

.sf-hero-button span{

    transition:.35s ease;

}

.sf-hero-button:hover span{

    transform:translateY(3px);

}

.sf-hero-visual{

    flex:1;

    position:relative;

    display:flex;

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

}

.sf-hero-visual::before{

    content:"";

    position:absolute;

    width:520px;
    height:520px;

    border-radius:50%;

    background:radial-gradient(
        circle,
        rgba(255,214,224,.75),
        transparent 70%
    );

    filter:blur(35px);

    animation:sf-glow-pulse 6s ease-in-out infinite;

}

.sf-hero-image{

    width:100%;

    max-width:720px;

    position:relative;

    z-index:2;

    animation:sf-float 4s ease-in-out infinite;

}


/* =========================================================
   SECTION 2 — WHAT ARE SEBACEOUS FILAMENTS?
========================================================= */

.sf-what{

    padding:80px 5%;

    background:var(--clr-white);

}

.sf-what-container{

    max-width:1300px;

    margin:auto;

    display:grid;

    grid-template-columns:1fr 1.15fr;

    gap:70px;

    align-items:center;

}

.sf-what-visual{

    display:flex;

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

}

.sf-what-visual::before{

    content:"";

    position:absolute;

    width:400px;
    height:400px;

    border-radius:50%;

    background:radial-gradient(
        circle,
        rgba(255,214,224,.5),
        transparent 70%
    );

    filter:blur(30px);

    pointer-events:none;

}

.sf-what-image{

    width:100%;

    max-width:520px;

    position:relative;

    z-index:1;

    display:block;

    transition:.4s ease;

    animation:sf-float 4s ease-in-out infinite;

}

.sf-what-image:hover{

    transform:scale(1.03);

}

.sf-what-content{

    width:100%;

}

.sf-section-label{

    display:inline-block;

    padding:10px 18px;

    margin-bottom:22px;

    border-radius:999px;

    background:var(--clr-hover-soft);

    color:var(--clr-primary);

    font-family:var(--ff-paragraph);

    font-size:.82rem;

    font-weight:600;

    letter-spacing:3px;

    text-transform:uppercase;

}

.sf-what-title{

    font-size:clamp(2.8rem,4vw,4rem);

    line-height:1.15;

    font-weight:500;

    color:var(--clr-heading);

    margin-bottom:24px;

}

.sf-what-text{

    font-family:var(--ff-paragraph);

    font-size:1.05rem;

    line-height:1.9;

    color:var(--clr-text);

    margin-bottom:20px;

}

.sf-note{

    margin-top:35px;

    padding:28px;

    display:flex;

    gap:20px;

    align-items:flex-start;

    background:#fff;

    border-radius:28px;

    box-shadow:0 15px 35px rgba(0,0,0,.05);

    transition:.35s ease;

    position:relative;

    overflow:hidden;

}

.sf-note::before{

    content:"";

    position:absolute;

    width:180px;
    height:180px;

    right:-90px;
    bottom:-90px;

    border-radius:50%;

    background:radial-gradient(
        circle,
        rgba(255,214,224,.55),
        transparent 70%
    );

    filter:blur(20px);

}

.sf-note:hover{

    transform:translateY(-6px);

}

.sf-note-icon{

    width:58px;
    height:58px;

    flex-shrink:0;

    display:flex;

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

    border-radius:50%;

    background:var(--clr-hover-soft);

    color:var(--clr-primary-light);

    font-size:1.3rem;

    position:relative;

    z-index:1;

}

.sf-note-content{

    position:relative;

    z-index:1;

}

.sf-note-content strong{

    display:block;

    font-family:var(--ff-paragraph);

    font-size:1.05rem;

    color:var(--clr-heading);

    margin-bottom:8px;

}

.sf-note-content p{

    font-family:var(--ff-paragraph);

    font-size:1rem;

    line-height:1.8;

    color:var(--clr-text);

    margin:0;

}


/* =========================================================
   SECTION 3 — WHAT DO THEY LOOK LIKE?
========================================================= */

.sf-appearance{

    padding:90px 5%;

    background:#fffafc;

}

.sf-appearance-container{

    max-width:1300px;

    margin:auto;

}

.sf-appearance-intro{

    max-width:760px;

    margin:0 auto 60px;

    text-align:center;

}

.sf-appearance-title{

    font-size:clamp(2.8rem,4vw,4rem);

    line-height:1.15;

    font-weight:500;

    color:var(--clr-heading);

    margin-bottom:22px;

}

.sf-appearance-text{

    max-width:620px;

    margin:0 auto 16px;

    font-family:var(--ff-paragraph);

    font-size:1.05rem;

    line-height:1.8;

    color:var(--clr-text);

}

.sf-appearance-grid{

    display:grid;

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

    gap:28px;

}

.sf-appearance-card{

    display:flex;

    align-items:flex-start;

    gap:22px;

    padding:30px;

    background:#fff;

    border-radius:30px;

    border:2px solid transparent;

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

    transition:.35s ease;

    position:relative;

    overflow:hidden;

}

.sf-appearance-card::after{

    content:"";

    position:absolute;

    width:160px;
    height:160px;

    right:-90px;
    bottom:-90px;

    border-radius:50%;

    background:radial-gradient(
        circle,
        rgba(255,214,224,.55),
        transparent 70%
    );

    filter:blur(22px);

    transition:.35s ease;

}

.sf-appearance-card:hover{

    transform:translateY(-8px);

    border-color:rgba(214,170,210,.4);

    box-shadow:0 25px 55px rgba(223,184,216,.18);

}

.sf-appearance-icon{

    width:70px;
    height:70px;

    flex-shrink:0;

    display:flex;

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

    border-radius:20px;

    background:var(--clr-hover-soft);

    color:var(--clr-primary);

    font-family:var(--ff-paragraph);

    font-size:1.5rem;

    transition:.35s;

    position:relative;

    z-index:1;

}

.sf-appearance-card:hover .sf-appearance-icon{

    transform:scale(1.08);

    background:#fff3fb;

}

.sf-appearance-card-content{

    position:relative;

    z-index:1;

}

.sf-appearance-card h3{

    font-size:1.35rem;

    font-weight:600;

    font-family:var(--ff-paragraph);

    color:var(--clr-heading);

    margin-bottom:10px;

    transition:.3s;

}

.sf-appearance-card:hover h3{

    color:var(--clr-primary);

}

.sf-appearance-card p{

    font-family:var(--ff-paragraph);

    font-size:1rem;

    line-height:1.8;

    color:var(--clr-text);

}


/* =========================================================
   SECTION 4 — WHY DO THEY FORM?
========================================================= */

.sf-formation{

    padding:90px 5%;

    background:#fff;

}

.sf-formation-container{

    max-width:1300px;

    margin:auto;

}

.sf-section-heading{

    max-width:760px;

    margin:0 auto 60px;

    text-align:center;

}

.sf-formation-title{

    font-size:clamp(2.8rem,4vw,4rem);

    line-height:1.15;

    font-weight:500;

    color:var(--clr-heading);

    margin-bottom:22px;

}

.sf-formation-intro{

    max-width:620px;

    margin:0 auto 12px;

    font-family:var(--ff-paragraph);

    font-size:1.05rem;

    line-height:1.8;

    color:var(--clr-text);

}

.sf-formation-grid{

    display:grid;

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

    gap:24px;

}

.sf-formation-card{

    padding:32px 28px;

    background:#fff;

    border-radius:30px;

    border:2px solid rgba(0,0,0,.04);

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

    transition:.35s ease;

    position:relative;

    overflow:hidden;

}

.sf-formation-card::before{

    content:"";

    position:absolute;

    top:0;
    left:0;

    width:100%;
    height:5px;

    background:linear-gradient(
        90deg,
        #f7d7ec,
        #e8d5ff
    );

    transform:scaleX(0);

    transform-origin:left;

    transition:.35s;

}

.sf-formation-card:hover::before{

    transform:scaleX(1);

}

.sf-formation-card:hover{

    transform:translateY(-8px);

    box-shadow:0 26px 55px rgba(223,184,216,.18);

}

.sf-formation-icon{

    width:64px;
    height:64px;

    display:flex;

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

    margin-bottom:22px;

    border-radius:20px;

    background:var(--clr-hover-soft);

    color:var(--clr-primary);

    font-size:1.35rem;

    transition:.35s;

}

.sf-formation-card:hover .sf-formation-icon{

    transform:scale(1.08);

    background:#fff3fb;

}

.sf-formation-card h3{

    font-size:1.3rem;

    font-weight:600;

    font-family:var(--ff-paragraph);

    color:var(--clr-heading);

    margin-bottom:14px;

    transition:.3s;

}

.sf-formation-card:hover h3{

    color:var(--clr-primary);

}

.sf-formation-card p{

    font-family:var(--ff-paragraph);

    font-size:1rem;

    line-height:1.8;

    color:var(--clr-text);

}


/* =========================================================
   SECTION 5 — LOCATIONS
========================================================= */

.sf-locations{

    padding:90px 5%;

    background:#fffafc;

}

.sf-locations-container{

    max-width:1300px;

    margin:auto;

}

.sf-locations-heading{

    max-width:760px;

    margin:0 auto 60px;

    text-align:center;

}

.sf-locations-title{

    font-size:clamp(2.8rem,4vw,4rem);

    line-height:1.15;

    font-weight:500;

    color:var(--clr-heading);

    margin-bottom:22px;

}

.sf-locations-intro{

    max-width:620px;

    margin:auto;

    font-family:var(--ff-paragraph);

    font-size:1.05rem;

    line-height:1.8;

    color:var(--clr-text);

}

.sf-locations-grid{

    display:grid;

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

    gap:26px;

}

.sf-location-card{

    padding:32px 28px;

    text-align:center;

    background:#fff;

    border-radius:30px;

    border:2px solid transparent;

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

    transition:.35s ease;

}

.sf-location-card:hover{

    transform:translateY(-9px);

    border-color:rgba(214,170,210,.4);

    box-shadow:0 25px 55px rgba(223,184,216,.18);

}

.sf-location-icon img{

    width:128px;
    height:128px;

    margin:0 auto 22px;

    display:flex;

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

    border-radius:22px;

    background:var(--clr-hover-soft);

    color:var(--clr-primary);

    font-size:1.35rem;

    transition:.35s;

}

.sf-location-card:hover .sf-location-icon img{

    transform:scale(1.08);

    background:#fff3fb;

}

.sf-location-card h3{

    font-size:1.45rem;

    font-weight:600;

    font-family:var(--ff-paragraph);

    color:var(--clr-heading);

    margin-bottom:12px;

    transition:.3s;

}

.sf-location-card:hover h3{

    color:var(--clr-primary);

}

.sf-location-card p{

    font-family:var(--ff-paragraph);

    font-size:1rem;

    line-height:1.8;

    color:var(--clr-text);

}


/* =========================================================
   SECTION 6 — COMPARISON
========================================================= */

.sf-comparison{

    padding:90px 5%;

    background:#fff;

}

.sf-comparison-container{

    max-width:1100px;

    margin:auto;

}

.sf-comparison-heading{

    max-width:760px;

    margin:0 auto 60px;

    text-align:center;

}

.sf-comparison-title{

    font-size:clamp(2.8rem,4vw,4rem);

    line-height:1.15;

    font-weight:500;

    color:var(--clr-heading);

    margin-bottom:22px;

}

.sf-comparison-intro{

    font-family:var(--ff-paragraph);

    font-size:1.05rem;

    line-height:1.8;

    color:var(--clr-text);

}

.sf-comparison-grid{

    display:grid;

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

    gap:30px;

}

.sf-comparison-card{

    padding:34px;

    border-radius:32px;

    background:#fff;

    border:2px solid transparent;

    box-shadow:0 18px 45px rgba(0,0,0,.05);

    transition:.35s ease;

}

.sf-comparison-card:hover{

    transform:translateY(-8px);

    box-shadow:0 25px 55px rgba(223,184,216,.18);

}

.sf-comparison-card-filaments{

    border-color:#efddec;

}

.sf-comparison-card-blackheads{

    border-color:#eadfe4;

}

.sf-comparison-card-top{

    display:flex;

    align-items:center;

    gap:20px;

    padding-bottom:24px;

    margin-bottom:22px;

    border-bottom:1px solid #f1e7ec;

}

.sf-comparison-icon{

    width:64px;
    height:64px;

    flex-shrink:0;

    display:flex;

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

    border-radius:20px;

    background:var(--clr-hover-soft);

    color:var(--clr-primary);

    font-size:1.35rem;

}

.sf-comparison-card h3{

    font-size:1.45rem;

    font-weight:600;

    font-family:var(--ff-paragraph);

    color:var(--clr-heading);

}

.sf-comparison-list{

    margin:0;

    padding:0;

    list-style:none;

}

.sf-comparison-list li{

    position:relative;

    padding-left:28px;

    margin-bottom:15px;

    font-family:var(--ff-paragraph);

    font-size:1rem;

    line-height:1.75;

    color:var(--clr-text);

}

.sf-comparison-list li::before{

    content:"✓";

    position:absolute;

    left:0;
    top:0;

    color:#cf679d;

    font-weight:700;

}

.sf-comparison-note{

    margin-top:35px;

    padding:28px;

    display:flex;

    align-items:flex-start;

    gap:20px;

    background:#fffafc;

    border-radius:28px;

    box-shadow:0 15px 35px rgba(0,0,0,.04);

    border:1px solid #f3e0e9;

}

.sf-comparison-note-icon{

    width:58px;
    height:58px;

    flex-shrink:0;

    display:flex;

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

    border-radius:50%;

    background:var(--clr-hover-soft);

    color:var(--clr-primary);

}

.sf-comparison-note strong{

    display:block;

    font-family:var(--ff-paragraph);

    color:var(--clr-heading);

    font-size:1.05rem;

    margin-bottom:8px;

}

.sf-comparison-note p{

    font-family:var(--ff-paragraph);

    font-size:1rem;

    line-height:1.8;

    color:var(--clr-text);

}


/* =========================================================
   SECTION 7 — CAN YOU GET RID OF THEM?
========================================================= */

.sf-removal{

    padding:90px 5%;

    background:#fffafc;

}

.sf-removal-container{

    max-width:1300px;

    margin:auto;

    display:grid;

    grid-template-columns:1.1fr .9fr;

    gap:70px;

    align-items:center;

}

.sf-removal-content{

    max-width:650px;

}

.sf-removal-title{

    font-size:clamp(2.8rem,4vw,4rem);

    line-height:1.15;

    font-weight:500;

    color:var(--clr-heading);

    margin-bottom:24px;

}

.sf-removal-text{

    font-family:var(--ff-paragraph);

    font-size:1.05rem;

    line-height:1.9;

    color:var(--clr-text);

    margin-bottom:20px;

}

.sf-removal-text:first-of-type{

    font-weight:600;

    color:var(--clr-heading);

}

.sf-removal-visual{

    display:flex;

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

    position:relative;

}

.sf-removal-visual::before{

    content:"";

    position:absolute;

    width:450px;
    height:450px;

    border-radius:50%;

    background:radial-gradient(
        circle,
        rgba(255,214,224,.65),
        transparent 70%
    );

    filter:blur(35px);

}

.sf-removal-image{

    width:100%;

    max-width:560px;

    position:relative;

    z-index:1;

    animation:sf-float 4s ease-in-out infinite;

    transition:.35s;

}

.sf-removal-image:hover{

    transform:scale(1.03);

}


/* =========================================================
   SECTION 8 — INGREDIENTS
========================================================= */

.sf-ingredients{

    padding:90px 5%;

    background:#fff;

}

.sf-ingredients-container{

    max-width:1300px;

    margin:auto;

}

.sf-ingredients-heading{

    max-width:800px;

    margin:0 auto 60px;

    text-align:center;

}

.sf-ingredients-title{

    font-size:clamp(2.8rem,4vw,4rem);

    line-height:1.15;

    font-weight:500;

    color:var(--clr-heading);

    margin-bottom:22px;

}

.sf-ingredients-intro{

    max-width:620px;

    margin:auto;

    font-family:var(--ff-paragraph);

    font-size:1.05rem;

    line-height:1.8;

    color:var(--clr-text);

}

.sf-ingredients-grid{

    display:grid;

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

    gap:26px;

}

.sf-ingredient-card{

    padding:32px 28px;

    background:#fff;

    border-radius:30px;

    text-align:center;

    border:2px solid transparent;

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

    transition:.35s ease;

}

.sf-ingredient-card:hover{

    transform:translateY(-9px);

    border-color:rgba(214,170,210,.4);

    box-shadow:0 25px 55px rgba(223,184,216,.18);

}

.sf-ingredient-icon img{

    width:110px;
    height:110px;

    margin:0 auto 24px;

    display:flex;

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

    border-radius:22px;

    background:var(--clr-hover-soft);

    color:var(--clr-primary);

    font-size:1.4rem;

    transition:.35s;

}

.sf-ingredient-card:hover .sf-ingredient-icon img{

    transform:scale(1.08);

    background:#fff3fb;

}

.sf-ingredient-card h3{

    font-size:1.35rem;

    font-weight:600;

    font-family:var(--ff-paragraph);

    color:var(--clr-heading);

    margin-bottom:14px;

    transition:.3s;

}

.sf-ingredient-card:hover h3{

    color:var(--clr-primary);

}

.sf-ingredient-card p{

    font-family:var(--ff-paragraph);

    font-size:1rem;

    line-height:1.8;

    color:var(--clr-text);

}

.sf-ingredients-note{

    margin-top:35px;

    padding:28px;

    display:flex;

    gap:20px;

    align-items:flex-start;

    background:#fffafc;

    border-radius:28px;

    border:1px solid #f3e0e9;

    box-shadow:0 15px 35px rgba(0,0,0,.04);

}

.sf-ingredients-note-icon{

    width:58px;
    height:58px;

    flex-shrink:0;

    display:flex;

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

    border-radius:50%;

    background:var(--clr-hover-soft);

    color:var(--clr-primary);

}

.sf-ingredients-note strong{

    display:block;

    font-family:var(--ff-paragraph);

    color:var(--clr-heading);

    font-size:1.05rem;

    margin-bottom:8px;

}

.sf-ingredients-note p{

    margin:0;

    font-family:var(--ff-paragraph);

    font-size:1rem;

    line-height:1.8;

    color:var(--clr-text);

}


/* =========================================================
   SECTION 9 — WHAT NOT TO DO
========================================================= */

.sf-caution{

    padding:90px 5%;

    background:#fffafc;

}

.sf-caution-container{

    max-width:1300px;

    margin:auto;

}

.sf-caution-heading{

    max-width:760px;

    margin:0 auto 60px;

    text-align:center;

}

.sf-caution-title{

    font-size:clamp(2.8rem,4vw,4rem);

    line-height:1.15;

    font-weight:500;

    color:var(--clr-heading);

    margin-bottom:22px;

}

.sf-caution-intro{

    max-width:620px;

    margin:auto;

    font-family:var(--ff-paragraph);

    font-size:1.05rem;

    line-height:1.8;

    color:var(--clr-text);

}

.sf-caution-grid{

    display:grid;

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

    gap:24px;

}

.sf-caution-card{

    display:flex;

    align-items:flex-start;

    gap:22px;

    padding:28px;

    background:#fff;

    border-radius:28px;

    border:2px solid transparent;

    box-shadow:0 16px 38px rgba(0,0,0,.05);

    transition:.35s ease;

}

.sf-caution-card:last-child{

    grid-column:1/-1;

    max-width:640px;

    width:100%;

    margin:auto;

}

.sf-caution-card:hover{

    transform:translateY(-7px);

    border-color:#edd6e3;

    box-shadow:0 24px 50px rgba(223,184,216,.18);

}

.sf-caution-icon img{

    width:150px;
    height:100px;

    flex-shrink:0;

    display:flex;

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

    border-radius:18px;

    background:#fff3f8;

    color:#cf679d;

    font-size:1.35rem;

    font-weight:600;

    transition:.35s;

}

.sf-caution-card:hover .sf-caution-icon{

    transform:scale(1.08);

    background:#fdeaf4;

}

.sf-caution-card h3{

    font-size:1.3rem;

    font-weight:600;

    font-family:var(--ff-paragraph);

    color:var(--clr-heading);

    margin-bottom:10px;

    transition:.3s;

}

.sf-caution-card:hover h3{

    color:var(--clr-primary);

}

.sf-caution-card p{

    font-family:var(--ff-paragraph);

    font-size:1rem;

    line-height:1.8;

    color:var(--clr-text);

}


/* =========================================================
   SECTION 10 — SIMPLE ROUTINE
========================================================= */

.sf-routine{

    padding:90px 5%;

    background:#fff;

}

.sf-routine-container{

    max-width:1300px;

    margin:auto;

}

.sf-routine-heading{

    max-width:760px;

    margin:0 auto 60px;

    text-align:center;

}

.sf-routine-title{

    font-size:clamp(2.8rem,4vw,4rem);

    line-height:1.15;

    font-weight:500;

    color:var(--clr-heading);

    margin-bottom:22px;

}

.sf-routine-intro{

    max-width:620px;

    margin:auto;

    font-family:var(--ff-paragraph);

    font-size:1.05rem;

    line-height:1.8;

    color:var(--clr-text);

}

.sf-routine-grid{

    display:grid;

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

    gap:26px;

}

.sf-routine-card{

    position:relative;

    padding:34px 28px;

    background:#fff;

    border-radius:30px;

    border:2px solid transparent;

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

    transition:.35s ease;

    overflow:hidden;

}

.sf-routine-card:hover{

    transform:translateY(-9px);

    border-color:rgba(214,170,210,.4);

    box-shadow:0 25px 55px rgba(223,184,216,.18);

}

.sf-routine-number{

    position:absolute;

    top:20px;
    right:22px;

    font-family:var(--ff-paragraph);

    font-size:.85rem;

    font-weight:700;

    color:#dca6c3;

    letter-spacing:1px;

}

.sf-routine-icon{

    width:70px;
    height:70px;

    margin-bottom:24px;

    display:flex;

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

    border-radius:22px;

    background:var(--clr-hover-soft);

    color:var(--clr-primary);

    font-size:1.35rem;

    transition:.35s;

}

.sf-routine-card:hover .sf-routine-icon{

    transform:scale(1.08);

    background:#fff3fb;

}

.sf-routine-card h3{

    font-size:1.3rem;

    font-weight:600;

    font-family:var(--ff-paragraph);

    color:var(--clr-heading);

    margin-bottom:14px;

    transition:.3s;

}

.sf-routine-card:hover h3{

    color:var(--clr-primary);

}

.sf-routine-card p{

    font-family:var(--ff-paragraph);

    font-size:1rem;

    line-height:1.8;

    color:var(--clr-text);

}

.sf-routine-note{

    margin-top:35px;

    padding:28px;

    display:flex;

    align-items:flex-start;

    gap:20px;

    background:#fffafc;

    border-radius:28px;

    border:1px solid #f3e0e9;

    box-shadow:0 15px 35px rgba(0,0,0,.04);

}

.sf-routine-note-icon{

    width:58px;
    height:58px;

    flex-shrink:0;

    display:flex;

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

    border-radius:50%;

    background:var(--clr-hover-soft);

    color:var(--clr-primary);

}

.sf-routine-note strong{

    display:block;

    font-family:var(--ff-paragraph);

    color:var(--clr-heading);

    font-size:1.05rem;

    margin-bottom:8px;

}

.sf-routine-note p{

    margin:0;

    font-family:var(--ff-paragraph);

    font-size:1rem;

    line-height:1.8;

    color:var(--clr-text);

}


/* =========================================================
   SECTION 11 — MYTHS VS FACTS
========================================================= */

.sf-myths{

    padding:90px 5%;

    background:#fffafc;

}

.sf-myths-container{

    max-width:1300px;

    margin:auto;

}

.sf-myths-heading{

    max-width:760px;

    margin:0 auto 60px;

    text-align:center;

}

.sf-myths-title{

    font-size:clamp(2.8rem,4vw,4rem);

    line-height:1.15;

    font-weight:500;

    color:var(--clr-heading);

    margin-bottom:22px;

}

.sf-myths-intro{

    max-width:620px;

    margin:auto;

    font-family:var(--ff-paragraph);

    font-size:1.05rem;

    line-height:1.8;

    color:var(--clr-text);

}

.sf-myths-list{

    display:grid;

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

    gap:30px;

}

.sf-myth-card{

    background:#fff;

    border-radius:30px;

    overflow:hidden;

    border:2px solid transparent;

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

    transition:.35s ease;

}

.sf-myth-card:last-child{

    grid-column:1/-1;

    max-width:650px;

    width:100%;

    margin:auto;

}

.sf-myth-card:hover{

    transform:translateY(-8px);

    border-color:#efd4e2;

    box-shadow:0 25px 55px rgba(223,184,216,.18);

}

.sf-myth-label{

    padding:14px 28px;

    background:#fdecef;

    color:#d15772;

    font-family:var(--ff-paragraph);

    font-size:.95rem;

    font-weight:600;

}

.sf-myth-text{

    padding:24px 28px;

    margin:0;

    font-family:var(--ff-paragraph);

    font-size:1.15rem;

    font-weight:600;

    line-height:1.5;

    color:var(--clr-heading);

}

.sf-fact-divider{

    width:100%;

    height:1px;

    background:#f1e7ec;

}

.sf-fact-label{

    padding:14px 28px;

    background:#eef8f0;

    color:#4f8d62;

    font-family:var(--ff-paragraph);

    font-size:.95rem;

    font-weight:600;

}

.sf-fact-text{

    padding:24px 28px 30px;

    margin:0;

    font-family:var(--ff-paragraph);

    font-size:1rem;

    line-height:1.9;

    color:var(--clr-text);

}


/* =========================================================
   SECTION 12 — DERMATOLOGIST
========================================================= */

.sf-dermatologist{

    padding:90px 5%;

    background:#fff;

}

.sf-dermatologist-container{

    max-width:1300px;

    margin:auto;

    display:grid;

    grid-template-columns:1.1fr .9fr;

    gap:70px;

    align-items:center;

}

.sf-dermatologist-content{

    width:100%;

}

.sf-dermatologist-title{

    font-size:clamp(2.8rem,4vw,4rem);

    line-height:1.15;

    font-weight:500;

    color:var(--clr-heading);

    margin-bottom:24px;

}

.sf-dermatologist-intro{

    max-width:580px;

    font-family:var(--ff-paragraph);

    font-size:1.05rem;

    line-height:1.9;

    color:var(--clr-text);

    margin-bottom:14px;

}

.sf-dermatologist-list{

    display:flex;

    flex-direction:column;

    gap:22px;

    margin-top:35px;

}

.sf-dermatologist-item{

    display:flex;

    align-items:flex-start;

    gap:20px;

    padding:24px 28px;

    background:#fff;

    border-radius:28px;

    border:2px solid transparent;

    box-shadow:0 16px 38px rgba(0,0,0,.05);

    transition:.35s ease;

}

.sf-dermatologist-item:hover{

    transform:translateY(-6px);

    border-color:#edd5e2;

    box-shadow:0 24px 50px rgba(223,184,216,.18);

}

.sf-dermatologist-icon{

    width:60px;
    height:60px;

    flex-shrink:0;

    display:flex;

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

    border-radius:18px;

    background:#fff3f8;

    color:var(--clr-primary);

    font-family:var(--ff-paragraph);

    font-size:1.25rem;

    font-weight:700;

    transition:.35s;

}

.sf-dermatologist-item:hover .sf-dermatologist-icon{

    transform:scale(1.08);

    background:#fdeaf4;

}

.sf-dermatologist-item h3{

    font-size:1.3rem;

    font-weight:600;

    font-family:var(--ff-paragraph);

    color:var(--clr-heading);

    margin-bottom:10px;

    transition:.3s;

}

.sf-dermatologist-item:hover h3{

    color:var(--clr-primary);

}

.sf-dermatologist-item p{

    font-family:var(--ff-paragraph);

    font-size:1rem;

    line-height:1.8;

    color:var(--clr-text);

}

.sf-dermatologist-visual{

    display:flex;

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

    position:relative;

}

.sf-dermatologist-visual::before{

    content:"";

    position:absolute;

    width:450px;
    height:450px;

    border-radius:50%;

    background:radial-gradient(
        circle,
        rgba(255,214,224,.65),
        transparent 70%
    );

    filter:blur(35px);

}

.sf-dermatologist-image{

    width:100%;

    max-width:650px;

    position:relative;

    z-index:1;

    animation:sf-float 4s ease-in-out infinite;

    transition:.35s;

}

.sf-dermatologist-image:hover{

    transform:scale(1.03);

}


/* =========================================================
   SECTION 13 — MIMII'S TIP
========================================================= */

.sf-tip{

    padding:80px 5% 100px;

    background:#fffafc;

}

.sf-tip-container{

    max-width:1300px;

    margin:auto;

    display:flex;

    align-items:center;

    justify-content:space-between;

    gap:80px;

    background:linear-gradient(
        135deg,
        #fff8fc,
        #ffffff,
        #fff6fb
    );

    border:1px solid #f4dde7;

    border-radius:32px;

    padding:30px 50px;

    box-shadow:0 14px 40px rgba(236,177,201,.12);

    overflow:hidden;

    transition:.35s ease;

}

.sf-tip-container:hover{

    transform:translateY(-6px);

    box-shadow:0 20px 48px rgba(236,177,201,.18);

}

.sf-tip-character{

    width:100%;

    max-width:440px;

    flex-shrink:0;

    display:flex;

    justify-content:center;

    position:relative;

}

.sf-tip-character::before{

    content:"";

    position:absolute;

    width:300px;
    height:300px;

    border-radius:50%;

    background:radial-gradient(
        circle,
        rgba(255,214,224,.65),
        transparent 70%
    );

    filter:blur(30px);

    z-index:0;

}

.sf-tip-character-image{

    width:90%;

    max-width:300px;

    display:block;

    position:relative;

    z-index:1;

    animation:sf-float 4s ease-in-out infinite;

}

.sf-tip-content{

    flex:1;

}

.sf-tip-label{

    display:inline-block;

    margin-bottom:18px;

    font-family:var(--ff-heading);

    font-size:1.7rem;

    font-weight:500;

    color:#cf679d;

}

.sf-tip-title{

    font-family:var(--ff-heading);

    font-size:2.1rem;

    font-weight:400;

    line-height:1.2;

    color:#3d3238;

    margin-bottom:20px;

}

.sf-tip-text{

    max-width:560px;

    font-family:var(--ff-paragraph);

    font-size:1.02rem;

    line-height:1.9;

    color:#666;

    margin-bottom:18px;

}

.sf-tip-signature{

    display:inline-block;

    margin-top:5px;

    font-family:var(--ff-paragraph);

    font-size:.95rem;

    font-weight:600;

    color:#bf7296;

}


/* =========================================================
   ANIMATIONS
========================================================= */

@keyframes sf-float{

    0%,
    100%{

        transform:translateY(0);

    }

    50%{

        transform:translateY(-12px);

    }

}

@keyframes sf-glow-pulse{

    0%,
    100%{

        transform:scale(1);

        opacity:.7;

    }

    50%{

        transform:scale(1.08);

        opacity:1;

    }

}


/* =========================================================
   RESPONSIVE — 1200px
========================================================= */

@media(max-width:1200px){

    .sf-formation-grid,
    .sf-locations-grid,
    .sf-ingredients-grid,
    .sf-routine-grid{

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

    }

}


/* =========================================================
   RESPONSIVE — 1024px
========================================================= */

@media(max-width:1024px){

    .sf-hero{

        min-height:auto;

        padding-top:110px;

        padding-inline:40px;

    }

    .sf-hero-container{

        gap:45px;

    }

    .sf-hero-title{

        font-size:3.4rem;

    }

    .sf-hero-image{

        max-width:480px;

    }

    .sf-what-container,
    .sf-removal-container,
    .sf-dermatologist-container{

        grid-template-columns:1fr;

        gap:55px;

    }

    .sf-what-content,
    .sf-removal-content,
    .sf-dermatologist-content{

        text-align:center;

        margin-inline:auto;

    }

    .sf-what-text{

        max-width:700px;

        margin-inline:auto;

    }

    .sf-note{

        text-align:left;

    }

    .sf-removal-text{

        max-width:700px;

        margin-inline:auto;

    }

    .sf-removal-visual{

        order:-1;

    }

    .sf-removal-image{

        max-width:450px;

    }

    .sf-dermatologist-intro{

        margin-inline:auto;

    }

    .sf-dermatologist-visual{

        order:-1;

    }

    .sf-dermatologist-image{

        max-width:480px;

    }

    .sf-comparison-container{

        max-width:900px;

    }

}


/* =========================================================
   RESPONSIVE — 768px
========================================================= */

@media(max-width:768px){

    .sf-hero{

        padding-top:90px;

        padding-inline:20px;

    }

    .sf-hero-container{

        flex-direction:column-reverse;

        text-align:center;

        gap:35px;

    }

    .sf-hero-content{

        max-width:100%;

    }

    .sf-hero-title{

        font-size:2.4rem;

    }

    .sf-hero-text{

        font-size:.98rem;

    }

    .sf-hero-button{

        width:100%;

        max-width:300px;

    }

    .sf-hero-visual::before{

        width:360px;
        height:360px;

    }

    .sf-hero-image{

        max-width:340px;

    }


    .sf-what,
    .sf-appearance,
    .sf-formation,
    .sf-locations,
    .sf-comparison,
    .sf-removal,
    .sf-ingredients,
    .sf-caution,
    .sf-routine,
    .sf-myths,
    .sf-dermatologist{

        padding:70px 20px;

    }


    .sf-what-title,
    .sf-appearance-title,
    .sf-formation-title,
    .sf-locations-title,
    .sf-comparison-title,
    .sf-removal-title,
    .sf-ingredients-title,
    .sf-caution-title,
    .sf-routine-title,
    .sf-myths-title,
    .sf-dermatologist-title{

        font-size:2.2rem;

    }


    .sf-section-heading,
    .sf-appearance-intro,
    .sf-locations-heading,
    .sf-comparison-heading,
    .sf-ingredients-heading,
    .sf-caution-heading,
    .sf-routine-heading,
    .sf-myths-heading{

        margin-bottom:45px;

    }


    .sf-what-text,
    .sf-appearance-text,
    .sf-formation-intro,
    .sf-locations-intro,
    .sf-comparison-intro,
    .sf-removal-text,
    .sf-ingredients-intro,
    .sf-caution-intro,
    .sf-routine-intro,
    .sf-myths-intro,
    .sf-dermatologist-intro{

        font-size:.95rem;

    }


    .sf-appearance-grid,
    .sf-comparison-grid,
    .sf-caution-grid,
    .sf-myths-list{

        grid-template-columns:1fr;

        gap:22px;

    }


    .sf-appearance-card{

        padding:24px;

    }


    .sf-appearance-icon{

        width:60px;
        height:60px;

    }


    .sf-formation-grid,
    .sf-locations-grid,
    .sf-ingredients-grid,
    .sf-routine-grid{

        grid-template-columns:1fr;

        gap:22px;

    }


    .sf-formation-card,
    .sf-location-card,
    .sf-ingredient-card,
    .sf-routine-card{

        padding:28px 24px;

    }


    .sf-comparison-card{

        padding:28px 24px;

    }


    .sf-comparison-note,
    .sf-ingredients-note,
    .sf-routine-note{

        padding:24px;

    }


    .sf-caution-card{

        padding:24px;

    }

    .sf-caution-card:last-child{

        grid-column:auto;

        max-width:none;

    }


    .sf-myth-card:last-child{

        grid-column:auto;

        max-width:none;

    }


    .sf-dermatologist-item{

        padding:22px;

    }


    .sf-dermatologist-icon{

        width:54px;
        height:54px;

    }


    .sf-dermatologist-item h3{

        font-size:1.15rem;

    }


    .sf-dermatologist-item p{

        font-size:.95rem;

    }


    .sf-tip{

        padding:70px 20px;

    }

    .sf-tip-container{

        flex-direction:column;

        text-align:center;

        gap:35px;

        padding:35px 28px;

    }

    .sf-tip-character{

        max-width:260px;

    }

    .sf-tip-text{

        margin-inline:auto;

        font-size:.95rem;

    }

    .sf-tip-label{

        font-size:1.45rem;

    }

    .sf-tip-title{

        font-size:1.7rem;

    }

}


/* =========================================================
   RESPONSIVE — 480px
========================================================= */

@media(max-width:480px){

    .sf-hero-title{

        font-size:2.4rem;

    }

    .sf-hero-text{

        font-size:.95rem;

    }

    .sf-hero-image{

        max-width:270px;

    }


    .sf-note{

        flex-direction:column;

        align-items:center;

        text-align:center;

        padding:24px;

    }


    .sf-appearance-card{

        flex-direction:column;

        align-items:center;

        text-align:center;

    }


    .sf-appearance-card h3{

        font-size:1.2rem;

    }


    .sf-appearance-card p{

        font-size:.95rem;

    }


    .sf-formation-card h3,
    .sf-location-card h3,
    .sf-ingredient-card h3,
    .sf-routine-card h3{

        font-size:1.25rem;

    }


    .sf-formation-card p,
    .sf-location-card p,
    .sf-ingredient-card p,
    .sf-routine-card p{

        font-size:.95rem;

    }


    .sf-comparison-card-top{

        flex-direction:column;

        text-align:center;

    }


    .sf-comparison-list li{

        font-size:.95rem;

    }


    .sf-comparison-note,
    .sf-ingredients-note,
    .sf-routine-note{

        flex-direction:column;

        align-items:center;

        text-align:center;

    }


    .sf-caution-card{

        flex-direction:column;

        align-items:center;

        text-align:center;

    }


    .sf-myth-text{

        padding:20px;

        font-size:1.05rem;

    }


    .sf-fact-text{

        padding:20px 20px 26px;

        font-size:.95rem;

    }


    .sf-dermatologist-item{

        flex-direction:column;

        align-items:center;

        text-align:center;

    }


    .sf-tip-container{

        padding:28px 22px;

        border-radius:24px;

    }

    .sf-tip-character{

        max-width:210px;

    }

    .sf-tip-label{

        font-size:1.35rem;

    }

    .sf-tip-title{

        font-size:1.6rem;

    }

    .sf-tip-text{

        font-size:.95rem;

        line-height:1.8;

    }

}