/* vietnamese */
/* latin-ext */
/* latin */
/* cyrillic-ext */
/* cyrillic */
/* vietnamese */
/* latin-ext */
/* latin */
/* cyrillic-ext */
/* cyrillic */
/* vietnamese */
/* latin-ext */
/* latin */
/* cyrillic-ext */
/* cyrillic */
/* vietnamese */
/* latin-ext */
/* latin */
/* cyrillic-ext */
/* cyrillic */
/* vietnamese */
/* latin-ext */
/* latin */
/* cyrillic-ext */
/* cyrillic */
/* vietnamese */
/* latin-ext */
/* latin */
/* cyrillic-ext */
/* cyrillic */
/* vietnamese */
/* latin-ext */
/* latin */
/* cyrillic-ext */
/* cyrillic */
/* vietnamese */
/* latin-ext */
/* latin */
/* vietnamese */
/* latin-ext */
/* latin */
/* vietnamese */
/* latin-ext */
/* latin */
/* vietnamese */
/* latin-ext */
/* latin */
/* cyrillic-ext */
@font-face {
  font-family: 'Montserrat';
  font-style: normal;
  font-weight: 300;
  font-display: swap;
  src: url("cb483fd4-8b25-4986-87e7-83e56ad7c6e4") format('woff2');
  unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}
/* cyrillic */
@font-face {
  font-family: 'Montserrat';
  font-style: normal;
  font-weight: 300;
  font-display: swap;
  src: url("9a6c1985-1301-4cc5-810c-37f405bb0089") format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
/* vietnamese */
@font-face {
  font-family: 'Montserrat';
  font-style: normal;
  font-weight: 300;
  font-display: swap;
  src: url("1cc80b98-baa2-4dfb-ae00-e31514fedce7") format('woff2');
  unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
}
/* latin-ext */
@font-face {
  font-family: 'Montserrat';
  font-style: normal;
  font-weight: 300;
  font-display: swap;
  src: url("6857e3cc-285e-4722-9090-da7a7c057f61") format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Montserrat';
  font-style: normal;
  font-weight: 300;
  font-display: swap;
  src: url("d3069ef8-ea78-4391-8a1c-27ba71f2b41f") format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* cyrillic-ext */
@font-face {
  font-family: 'Montserrat';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("cb483fd4-8b25-4986-87e7-83e56ad7c6e4") format('woff2');
  unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}
/* cyrillic */
@font-face {
  font-family: 'Montserrat';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("9a6c1985-1301-4cc5-810c-37f405bb0089") format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
/* vietnamese */
@font-face {
  font-family: 'Montserrat';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("1cc80b98-baa2-4dfb-ae00-e31514fedce7") format('woff2');
  unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
}
/* latin-ext */
@font-face {
  font-family: 'Montserrat';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("6857e3cc-285e-4722-9090-da7a7c057f61") format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Montserrat';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("d3069ef8-ea78-4391-8a1c-27ba71f2b41f") format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* cyrillic-ext */
@font-face {
  font-family: 'Montserrat';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("cb483fd4-8b25-4986-87e7-83e56ad7c6e4") format('woff2');
  unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}
/* cyrillic */
@font-face {
  font-family: 'Montserrat';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("9a6c1985-1301-4cc5-810c-37f405bb0089") format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
/* vietnamese */
@font-face {
  font-family: 'Montserrat';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("1cc80b98-baa2-4dfb-ae00-e31514fedce7") format('woff2');
  unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
}
/* latin-ext */
@font-face {
  font-family: 'Montserrat';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("6857e3cc-285e-4722-9090-da7a7c057f61") format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Montserrat';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("d3069ef8-ea78-4391-8a1c-27ba71f2b41f") format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* cyrillic-ext */
@font-face {
  font-family: 'Montserrat';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url("cb483fd4-8b25-4986-87e7-83e56ad7c6e4") format('woff2');
  unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}
/* cyrillic */
@font-face {
  font-family: 'Montserrat';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url("9a6c1985-1301-4cc5-810c-37f405bb0089") format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
/* vietnamese */
@font-face {
  font-family: 'Montserrat';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url("1cc80b98-baa2-4dfb-ae00-e31514fedce7") format('woff2');
  unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
}
/* latin-ext */
@font-face {
  font-family: 'Montserrat';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url("6857e3cc-285e-4722-9090-da7a7c057f61") format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Montserrat';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url("d3069ef8-ea78-4391-8a1c-27ba71f2b41f") format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* latin-ext */
/* latin */
/* cyrillic */
@font-face {
  font-family: 'Playfair Display';
  font-style: italic;
  font-weight: 400;
  font-display: swap;
  src: url("f405e121-c3a4-488f-a7a8-98c9904ba415") format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
/* vietnamese */
@font-face {
  font-family: 'Playfair Display';
  font-style: italic;
  font-weight: 400;
  font-display: swap;
  src: url("404d048d-d3f3-4e99-a7bd-bdea2708314e") format('woff2');
  unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
}
/* latin-ext */
@font-face {
  font-family: 'Playfair Display';
  font-style: italic;
  font-weight: 400;
  font-display: swap;
  src: url("dec18836-4970-4bfe-8869-6928f1c4632c") format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Playfair Display';
  font-style: italic;
  font-weight: 400;
  font-display: swap;
  src: url("e1e85908-7a54-49b5-b920-4507f16502d0") format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* cyrillic */
@font-face {
  font-family: 'Playfair Display';
  font-style: italic;
  font-weight: 600;
  font-display: swap;
  src: url("f405e121-c3a4-488f-a7a8-98c9904ba415") format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
/* vietnamese */
@font-face {
  font-family: 'Playfair Display';
  font-style: italic;
  font-weight: 600;
  font-display: swap;
  src: url("404d048d-d3f3-4e99-a7bd-bdea2708314e") format('woff2');
  unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
}
/* latin-ext */
@font-face {
  font-family: 'Playfair Display';
  font-style: italic;
  font-weight: 600;
  font-display: swap;
  src: url("dec18836-4970-4bfe-8869-6928f1c4632c") format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Playfair Display';
  font-style: italic;
  font-weight: 600;
  font-display: swap;
  src: url("e1e85908-7a54-49b5-b920-4507f16502d0") format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* cyrillic */
@font-face {
  font-family: 'Playfair Display';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("77df1b46-b8ab-4f77-ab33-0726ef291357") format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
/* vietnamese */
@font-face {
  font-family: 'Playfair Display';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("3b3f77a2-a805-4934-b6b2-f2c5de7249d8") format('woff2');
  unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
}
/* latin-ext */
@font-face {
  font-family: 'Playfair Display';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("b3ec445f-1c9f-423a-a822-d8c4814d02fa") format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Playfair Display';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("df80a36c-a412-40de-a226-deaf7865753a") format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* cyrillic */
@font-face {
  font-family: 'Playfair Display';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url("77df1b46-b8ab-4f77-ab33-0726ef291357") format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
/* vietnamese */
@font-face {
  font-family: 'Playfair Display';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url("3b3f77a2-a805-4934-b6b2-f2c5de7249d8") format('woff2');
  unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
}
/* latin-ext */
@font-face {
  font-family: 'Playfair Display';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url("b3ec445f-1c9f-423a-a822-d8c4814d02fa") format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Playfair Display';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url("df80a36c-a412-40de-a226-deaf7865753a") format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* cyrillic */
@font-face {
  font-family: 'Playfair Display';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url("77df1b46-b8ab-4f77-ab33-0726ef291357") format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
/* vietnamese */
@font-face {
  font-family: 'Playfair Display';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url("3b3f77a2-a805-4934-b6b2-f2c5de7249d8") format('woff2');
  unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
}
/* latin-ext */
@font-face {
  font-family: 'Playfair Display';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url("b3ec445f-1c9f-423a-a822-d8c4814d02fa") format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Playfair Display';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url("df80a36c-a412-40de-a226-deaf7865753a") format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}



    :root {
      --sage:#7A9E7E; --sage-dark:#5a7a5e; --rose:#D8A7B1; --rose-dark:#B76E79;
      --cream:#F8F4EE; --beige:#EDE7DF; --dark:#2E2E2E; --mid:#6B6B6B; --white:#FFFFFF;
      --font-display:'Playfair Display',Georgia,serif; --font-body:'Montserrat',system-ui,sans-serif;
      --radius-sm:8px; --radius-md:16px; --radius-lg:28px;
      --transition:0.32s cubic-bezier(0.4,0,0.2,1);
      --shadow-card:0 8px 40px rgba(46,46,46,.10);
    }
    *,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
    html{scroll-behavior:smooth}
    html,body{overflow-x:hidden}
    body{font-family:var(--font-body);background:var(--cream);color:var(--dark);line-height:1.7;-webkit-font-smoothing:antialiased}
    img{display:block;max-width:100%}
    a{text-decoration:none;color:inherit}
    button{font-family:var(--font-body);cursor:pointer;border:none;background:none}
    ul{list-style:none}
    .display-xl{font-family:var(--font-display);font-size:clamp(2.6rem,6vw,5rem);font-weight:600;line-height:1.1;letter-spacing:-.02em}
    .display-lg{font-family:var(--font-display);font-size:clamp(2rem,4vw,3.2rem);font-weight:600;line-height:1.2}
    .display-md{font-family:var(--font-display);font-size:clamp(1.5rem,3vw,2.2rem);font-weight:600;line-height:1.3}
    .eyebrow{font-size:.72rem;font-weight:600;letter-spacing:.18em;text-transform:uppercase;color:var(--sage)}
    .body-lg{font-size:1.05rem;line-height:1.75;color:var(--mid)}
    .body-md{font-size:.95rem;line-height:1.7;color:var(--mid)}
    .container{width:100%;max-width:1160px;margin:0 auto;padding:0 1.5rem}
    .section{padding:6rem 0} .section-sm{padding:4rem 0} .text-center{text-align:center}
    .btn{display:inline-flex;align-items:center;gap:.5rem;padding:.875rem 2rem;border-radius:100px;font-family:var(--font-body);font-size:.875rem;font-weight:600;letter-spacing:.04em;transition:var(--transition);white-space:nowrap}
    .btn-primary{background:var(--sage);color:var(--white);box-shadow:0 4px 20px rgba(122,158,126,.35)}
    .btn-primary:hover{background:var(--sage-dark);transform:translateY(-2px);box-shadow:0 8px 28px rgba(122,158,126,.40)}
    .btn-outline{background:transparent;color:var(--dark);border:1.5px solid var(--dark)}
    .btn-outline:hover{background:var(--dark);color:var(--white);transform:translateY(-2px)}
    .btn-wapp{background:#25D366;color:var(--white);box-shadow:0 4px 20px rgba(37,211,102,.35)}
    .btn-wapp:hover{background:#1ebe57;transform:translateY(-2px)}
    /* HEADER */
    #header{position:fixed;top:0;left:0;right:0;z-index:900;background:rgba(248,244,238,.97);backdrop-filter:blur(14px);border-bottom:1px solid rgba(46,46,46,.06);transition:box-shadow var(--transition)}
    #header.scrolled{box-shadow:0 2px 24px rgba(46,46,46,.08)}
    .nav-inner{display:flex;align-items:center;justify-content:space-between;height:88px}
    .nav-logo img{height:70px;object-fit:contain;display:block}
    .nav-links{display:flex;align-items:center;gap:2.25rem}
    .nav-links a{font-size:.9rem;font-weight:500;color:var(--dark);opacity:.8;transition:opacity var(--transition),color var(--transition)}
    .nav-links a:hover{opacity:1;color:var(--sage)}
    .hamburger{display:none;flex-direction:column;gap:5px;cursor:pointer;padding:4px}
    .hamburger span{display:block;width:22px;height:2px;background:var(--dark);border-radius:2px;transition:var(--transition)}
    /* MOBILE NAV */
    .mobile-nav{display:none;position:fixed;inset:0;background:var(--cream);z-index:950;flex-direction:column;align-items:center;justify-content:center;gap:2rem}
    .mobile-nav.open{display:flex}
    .mobile-nav a{font-family:var(--font-display);font-size:1.8rem;font-weight:600;color:var(--dark);transition:color var(--transition)}
    .mobile-nav a:hover{color:var(--sage)}
    .mobile-close{position:absolute;top:1.5rem;right:1.5rem;font-size:1.8rem;cursor:pointer;color:var(--dark)}
    /* HERO */
    .hero-content{position:relative;z-index:2;max-width:620px}
    .hero-title{color:var(--white);margin-bottom:1.5rem}
    .hero-title em{color:var(--rose);font-style:italic}
    .hero-subtitle{color:rgba(255,255,255,.75);font-size:1.05rem;max-width:500px;margin-bottom:2.5rem}
    .hero-actions{display:flex;flex-wrap:wrap;gap:1rem}
    /* RIBBON */
    .ribbon{background:var(--sage);padding:1rem 0;overflow:hidden}
    .ribbon-track{display:flex;gap:3rem;animation:ribbonScroll 18s linear infinite;width:max-content}
    .ribbon-item{display:flex;align-items:center;gap:.75rem;color:var(--white);font-size:.82rem;font-weight:500;letter-spacing:.04em;white-space:nowrap}
    .ribbon-dot{width:5px;height:5px;background:var(--rose);border-radius:50%;flex-shrink:0}
    @keyframes ribbonScroll{from{transform:translateX(0)}to{transform:translateX(-50%)}}
    /* BENEFITS */
    #beneficios{background:var(--white)}
    .benefits-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:2rem;margin-top:3.5rem}
    .benefit-card{background:var(--cream);border-radius:var(--radius-md);padding:2rem 1.75rem;transition:transform var(--transition),box-shadow var(--transition);border:1px solid transparent}
    .benefit-card:hover{transform:translateY(-6px);box-shadow:var(--shadow-card);border-color:var(--beige)}
    .benefit-icon{width:48px;height:48px;background:var(--beige);border-radius:12px;display:flex;align-items:center;justify-content:center;color:var(--sage);margin-bottom:1.25rem}.benefit-icon svg{width:24px;height:24px;display:block}
    .benefit-title{font-family:var(--font-display);font-size:1.1rem;font-weight:600;margin-bottom:.5rem}
    .section-header{margin-bottom:3.5rem}
    .section-header .eyebrow{margin-bottom:.75rem;display:block}
    /* SERVICES */
    #servicios{background:var(--cream)}
    .services-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:1.5rem}
    .service-card{position:relative;border-radius:var(--radius-lg);overflow:hidden;aspect-ratio:4/5;cursor:pointer}
    .service-card img{width:100%;height:100%;object-fit:cover;transition:transform .6s ease}
    .service-card:hover img{transform:scale(1.06)}
    .service-overlay{position:absolute;inset:0;background:linear-gradient(to top,rgba(46,46,46,.85) 40%,transparent 80%);display:flex;flex-direction:column;justify-content:flex-end;padding:2rem}
    .service-tag{display:inline-block;background:var(--sage);color:var(--white);font-size:.7rem;font-weight:600;letter-spacing:.1em;text-transform:uppercase;padding:.35rem .85rem;border-radius:100px;margin-bottom:.75rem;width:fit-content}
    .service-name{font-family:var(--font-display);font-size:1.5rem;font-weight:600;color:var(--white);line-height:1.2;margin-bottom:.5rem}
    .service-desc{font-size:.85rem;color:rgba(255,255,255,.75);line-height:1.5}
    /* GALLERY */
    #galeria{background:var(--beige)}
    .gallery-grid{display:grid;grid-template-columns:repeat(3,1fr);grid-auto-rows:250px;gap:1rem;margin-top:3rem}
    .gallery-item{border-radius:var(--radius-md);overflow:hidden;cursor:pointer;position:relative}
    .gallery-item::before{content:'';position:absolute;inset:0;background:rgba(46,46,46,0);transition:background .35s ease;z-index:1;pointer-events:none}
    .gallery-item::after{content:'';position:absolute;z-index:2;pointer-events:none;background-image:url("data:image/svg+xml,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2024%2024'%20fill%3D'none'%20stroke%3D'white'%20stroke-width%3D'2'%20stroke-linecap%3D'round'%20stroke-linejoin%3D'round'%3E%3Cpolyline%20points%3D'15%203%2021%203%2021%209'%2F%3E%3Cpolyline%20points%3D'9%2021%203%2021%203%2015'%2F%3E%3Cline%20x1%3D'21'%20y1%3D'3'%20x2%3D'14'%20y2%3D'10'%2F%3E%3Cline%20x1%3D'3'%20y1%3D'21'%20x2%3D'10'%20y2%3D'14'%2F%3E%3C%2Fsvg%3E");background-repeat:no-repeat;background-position:center;opacity:0}
    @media (hover:hover){
      .gallery-item:hover::before{background:rgba(46,46,46,.22)}
      .gallery-item::after{top:50%;left:50%;width:36px;height:36px;background-size:30px 30px;transform:translate(-50%,-50%) scale(.85);transition:opacity .35s ease,transform .35s ease}
      .gallery-item:hover::after{opacity:1;transform:translate(-50%,-50%) scale(1)}
    }
    @media (hover:none){
      .gallery-item::after{right:.5rem;bottom:.5rem;width:26px;height:26px;background-size:13px 13px;background-color:rgba(46,46,46,.42);border-radius:7px;opacity:1}
    }
    .lightbox-hint{position:absolute;bottom:4.5rem;left:50%;transform:translateX(-50%);background:rgba(255,255,255,.14);color:rgba(255,255,255,.92);font-size:.8rem;letter-spacing:.02em;padding:.5rem 1rem;border-radius:999px;backdrop-filter:blur(6px);z-index:3;opacity:0;transition:opacity .4s ease;pointer-events:none;white-space:nowrap}
    .lightbox-hint.show{opacity:1}@media(max-width:700px){.gallery-grid{grid-template-columns:repeat(2,1fr);grid-auto-rows:200px;gap:.6rem}}
    .gallery-item img{width:100%;height:100%;object-fit:cover;transition:transform .5s ease}
    .gallery-item:hover img{transform:scale(1.05)}
    .gallery-item.gallery-extra{display:none}
    .gallery-item.g1 img{object-position:center 32%}
     
     
    
    /* ABOUT */
    #nosotros{background:var(--white)}
    .about-grid{display:grid;grid-template-columns:1fr 1fr;gap:5rem;align-items:center}
    .about-image-wrap{position:relative}
    .about-img-main{border-radius:var(--radius-lg);width:100%;aspect-ratio:4/5;object-fit:cover;object-position:left bottom;}
    .divider{width:48px;height:3px;background:linear-gradient(90deg,var(--sage),var(--rose));border-radius:2px;margin-bottom:1.5rem}
    .tag-chip{display:inline-flex;align-items:center;gap:.4rem;background:var(--beige);border-radius:100px;padding:.4rem .9rem;font-size:.78rem;font-weight:500;color:var(--mid)}
    
    
    
    /* HOW TO BUY */
    #como-comprar{background:var(--cream)}
    .steps-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:2rem;margin-top:3.5rem}
    .step{text-align:center;padding:2rem 1.5rem}
    .step-num{width:56px;height:56px;background:var(--sage);color:var(--white);font-family:var(--font-display);font-size:1.4rem;font-weight:700;border-radius:50%;display:flex;align-items:center;justify-content:center;margin:0 auto 1.25rem}
    .step-title{font-family:var(--font-display);font-size:1.1rem;font-weight:600;margin-bottom:.5rem}
    .steps-cta{text-align:center;margin-top:2.5rem}
    /* INSTAGRAM */
    #instagram{background:var(--cream)}
    .insta-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;margin-top:2.5rem;max-width:900px;margin-left:auto;margin-right:auto}
    .insta-item{aspect-ratio:1;border-radius:var(--radius-sm);overflow:hidden;position:relative;cursor:pointer}
    .insta-item img{width:100%;height:100%;object-fit:cover;transition:transform .4s ease}
    .insta-item:hover img{transform:scale(1.08)}
    .insta-overlay{position:absolute;inset:0;background:rgba(122,158,126,.7);display:flex;align-items:center;justify-content:center;opacity:0;transition:opacity var(--transition)}
    .insta-item:hover .insta-overlay{opacity:1}
    .insta-icon{color:var(--white);font-size:1.5rem}
    /* FAQ */
    #faq{background:var(--white)}
    .faq-list{max-width:720px;margin:3rem auto 0}
    .faq-item{border-bottom:1px solid var(--beige);overflow:hidden}
    .faq-question{display:flex;justify-content:space-between;align-items:center;padding:1.5rem 0;cursor:pointer;font-family:var(--font-display);font-size:1.05rem;font-weight:600;color:var(--dark);gap:1rem;width:100%;text-align:left;transition:color var(--transition)}
    .faq-question:hover{color:var(--sage)}
    .faq-icon{width:28px;height:28px;background:var(--beige);border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:1.1rem;flex-shrink:0;transition:transform var(--transition),background var(--transition);color:var(--sage)}
    .faq-item.open .faq-icon{transform:rotate(45deg);background:var(--sage);color:var(--white)}
    .faq-answer{max-height:0;overflow:hidden;transition:max-height .4s ease,padding .3s ease}
    .faq-item.open .faq-answer{max-height:400px;padding-bottom:1.25rem}
    .faq-answer p{font-size:.95rem;color:var(--mid);line-height:1.7}
    /* CONTACT */
    #contacto{background:var(--beige)}
    
    
    
    
    
    .map-wrap iframe{display:block;width:100%;height:260px;border:0}
    
    
    
    
    
    
    
    
    /* FOOTER */
    #footer{background:var(--dark);padding:4rem 0 0}
    
    .footer-tagline{font-size:.88rem;color:rgba(255,255,255,.5);margin-top:1.25rem;line-height:1.65;max-width:280px}
    .footer-col-title{font-size:1rem;font-weight:700;color:var(--white);margin-bottom:1.25rem}
    .footer-links li+li{margin-top:.7rem}
    .footer-links a{font-size:.9rem;color:rgba(255,255,255,.55);transition:color var(--transition)}
    .footer-links a:hover{color:var(--sage)}
    .footer-bottom{padding:1.5rem 0}
    .footer-copy{font-size:.82rem;color:rgba(255,255,255,.3)}
    /* WHATSAPP FLOAT */
    .wapp-float{position:fixed;bottom:2rem;right:2rem;z-index:800;display:flex;align-items:center;gap:.75rem}
    .wapp-btn{width:60px;height:60px;background:#25D366;border-radius:50%;display:flex;align-items:center;justify-content:center;box-shadow:0 4px 20px rgba(37,211,102,.4);cursor:pointer;transition:transform var(--transition),box-shadow var(--transition);text-decoration:none}
    .wapp-btn:hover{transform:scale(1.1);box-shadow:0 8px 30px rgba(37,211,102,.5)}
    .wapp-btn svg{width:30px;height:30px;fill:var(--white)}
    .wapp-tooltip{background:var(--white);border-radius:100px;padding:.6rem 1.1rem;font-size:.82rem;font-weight:600;color:var(--dark);box-shadow:var(--shadow-card);white-space:nowrap;opacity:0;transform:translateX(10px);transition:opacity var(--transition),transform var(--transition);pointer-events:none}
    .wapp-float:hover .wapp-tooltip{opacity:1;transform:translateX(0)}
    /* REVEAL */
    .reveal{opacity:0;transform:translateY(28px);transition:opacity .65s ease,transform .65s ease}
    .reveal.visible{opacity:1;transform:translateY(0)}
    .reveal-delay-1{transition-delay:.1s} .reveal-delay-2{transition-delay:.2s}
    .reveal-delay-3{transition-delay:.3s} .reveal-delay-4{transition-delay:.4s}
    /* RESPONSIVE */
    @media(max-width:1024px){
      .about-grid{grid-template-columns:1fr;gap:3rem}
      .about-image-wrap{max-width:480px;margin:0 auto}
      
      
      
      
    }
    @media(max-width:768px){
      .section{padding:4rem 0}
      .nav-links{display:none}
      .hamburger{display:flex}
      
      #header .nav-inner{height:70px}
      .nav-logo img{height:54px}
    }
    @media(max-width:480px){
      .hero-actions{flex-direction:column}
      .hero-actions .btn{text-align:center;justify-content:center}
      .insta-grid{grid-template-columns:repeat(3,1fr)}
    }
  
    

    /* ════════════════════════════════
       HERO — Opción A perfeccionada
    ════════════════════════════════ */
    #hero {
      background: var(--cream);
      padding-top: 88px;
      min-height: 100svh;
      display: flex;
      align-items: stretch;
      overflow: hidden;
    }
    .hero-inner {
      display: grid;
      grid-template-columns: 52% 48%;
      width: 100%;
      min-height: calc(100svh - 88px);
    }

    /* ── Columna texto ── */
    .hero-content {
      display: flex;
      flex-direction: column;
      justify-content: center;
      padding: 5rem 4rem 5rem max(2rem, calc((100vw - 1160px) / 2 + 2rem));
      gap: 0;
    }
    .hero-title {
      font-family: 'Playfair Display', Georgia, serif;
      font-size: clamp(2.4rem, 4vw, 3.6rem);
      font-weight: 600;
      line-height: 1.15;
      color: var(--dark);
      margin-bottom: 1.5rem;
      letter-spacing: -0.02em;
    }
    .hero-title em {
      color: var(--rose-dark);
      font-style: italic;
    }
    .hero-subtitle {
      font-size: 1rem;
      line-height: 1.7;
      color: var(--mid);
      max-width: 460px;
      margin-bottom: 2.75rem;
      text-wrap: pretty;
    }
    .hero-actions {
      display: flex;
      flex-wrap: wrap;
      gap: 0.875rem;
      align-items: center;
    }

    /* ── Columna foto ── */
    .hero-photo-col {
      position: relative;
      overflow: hidden;
      /* Gradiente en el borde izquierdo para fusionar con el fondo crema
         sin outpainting — usando el bokeh gris/verde de la imagen */
      background: #e8e9e3;
    }
    .hero-photo-col::before {
      content: '';
      position: absolute;
      top: 0; left: 0; bottom: 0;
      width: 80px;
      background: linear-gradient(to right, var(--cream) 0%, transparent 100%);
      z-index: 2;
      pointer-events: none;
    }
    .hero-photo-col::after {
      content: '';
      position: absolute;
      inset: 0;
      background: linear-gradient(
        to bottom,
        transparent 75%,
        rgba(248,244,238,0.2) 100%
      );
      pointer-events: none;
      z-index: 1;
    }
    .hero-photo-col img {
      width: 100%;
      height: 100%;
      object-fit: cover;
      object-position: 62% 26%;
      display: block;
    }

    /* ── Decoración ── */
    
    .hero-tagline {
      font-size: 0.7rem;
      font-weight: 600;
      letter-spacing: 0.2em;
      text-transform: uppercase;
      color: var(--sage);
      margin-bottom: 1.25rem;
      display: block;
    }

    /* ── Responsive mobile ── */
    @media (max-width: 900px) {
      .hero-inner {
        grid-template-columns: 1fr;
        min-height: auto;
      }
      .hero-photo-col {
        order: 1;
        height: 100vw;
        max-height: 500px;
        min-height: 300px;
      }
      .hero-photo-col::before { width: 0; }
      .hero-photo-col img {
        object-position: 62% 26%;
      }
      .hero-content {
        order: 2;
        padding: 3rem 1.5rem 4rem;
        align-items: flex-start;
      }
      .hero-title { font-size: clamp(2rem, 7vw, 2.8rem); }
      .hero-subtitle { max-width: 100%; }
    }
    @media (max-width: 480px) {
      .hero-photo-col { height: 100vw; }
      .hero-title { font-size: 1.9rem; }
    }


    /* ── CONTACTO SIMPLIFICADO ── */
    .contact-simple-grid {
      display: grid;
      grid-template-columns: 1fr 1.4fr;
      gap: 4rem;
      align-items: center;
    }
    .contact-left { }
    .map-wrap { border-radius: var(--radius-lg); overflow: hidden; box-shadow: var(--shadow-card); }
    .map-wrap iframe { display: block; width: 100%; height: 380px; border: 0; }

    /* ── FOOTER 4 COLUMNAS ── */
    #footer { background: var(--dark); padding: 5rem 0 0; }
    .footer-grid-4 {
      display: grid;
      grid-template-columns: 1.6fr 1fr 1.3fr;
      gap: 2.5rem;
      padding-bottom: 3.5rem;
      border-bottom: 1px solid rgba(255,255,255,.07);
      align-items: start;
    }
    .footer-col-brand { }
    .footer-tagline { font-size: .85rem; color: rgba(255,255,255,.45); line-height: 1.7; max-width: 240px; }
    .footer-social { display: flex; gap: .6rem; margin-top: 1.5rem; }
    .footer-social-link {
      width: 34px; height: 34px;
      background: rgba(255,255,255,.07);
      border-radius: 8px;
      display: flex; align-items: center; justify-content: center;
      color: rgba(255,255,255,.55);
      transition: background var(--transition), color var(--transition);
    }
    .footer-social-link:hover { background: var(--sage); color: var(--white); }
    .footer-col { }
    .footer-col-title {
      font-size: .72rem; font-weight: 700; letter-spacing: .12em;
      text-transform: uppercase; color: rgba(255,255,255,.35);
      margin-bottom: 1.25rem;
    }
    .footer-links { list-style: none; }
    .footer-links li + li { margin-top: .55rem; }
    .footer-links a { font-size: .88rem; color: rgba(255,255,255,.55); transition: color var(--transition); }
    .footer-links a:hover { color: var(--sage); }

    /* Columna contacto footer */
    .footer-contact-list { list-style: none; }
    .footer-contact-list li {
      display: flex; align-items: flex-start; gap: .65rem;
      font-size: .85rem; color: rgba(255,255,255,.55);
      line-height: 1.55; padding: .45rem 0;
      border-bottom: 1px solid rgba(255,255,255,.05);
    }
    .footer-contact-list li:last-child { border-bottom: none; }
    .footer-contact-list svg { flex-shrink: 0; margin-top: 2px; color: var(--sage); }
    .footer-contact-list a {
      color: rgba(255,255,255,.55); transition: color var(--transition);
      text-decoration: none;
    }
    .footer-contact-list a:hover { color: var(--sage); }
    .footer-hours span { line-height: 1.65; }
    .footer-bottom {
      padding: 1.5rem 0;
      display: flex; align-items: center; justify-content: center;
    }
    .footer-copy { font-size: .78rem; color: rgba(255,255,255,.25); text-align: center; }

    /* Responsive */
    @media (max-width: 1024px) {
      .footer-grid-4 { grid-template-columns: 1fr 1fr; gap: 2rem; }
      .contact-simple-grid { gap: 2.5rem; }
    }
    @media (max-width: 768px) {
      .contact-simple-grid { grid-template-columns: 1fr; }
      /* que los botones anchos no empujen el layout ni descentren la tarjeta */
      .contact-simple-grid > * { min-width: 0; }
      .contact-simple-grid .btn {
        padding-left: 1.25rem; padding-right: 1.25rem;
        white-space: normal; max-width: 100%;
      }
      .map-wrap iframe { height: 300px; }
      .footer-grid-4 { grid-template-columns: 1fr; gap: 2rem; }
      .footer-tagline { max-width: 100%; }
    }


    /* ════════════════════════════════════════
       BENEFITS — 2x2 en mobile
    ════════════════════════════════════════ */
    @media (max-width: 768px) {
      .benefits-grid {
        grid-template-columns: 1fr 1fr !important;
        gap: 1rem !important;
      }
      .benefit-card {
        padding: 1.25rem 1rem !important;
      }
      .benefit-icon { margin-bottom: .75rem; }
      #beneficios.section { padding: 3rem 0 !important; }
    }

    /* ════════════════════════════════════════
       SERVICES CARRUSEL — solo mobile
    ════════════════════════════════════════ */
    @media (max-width: 768px) {
      #servicios.section { padding: 3rem 0 !important; }

      /* Ocultar grid original, mostrar carrusel */
      .services-grid { display: none; }
      .services-carousel-wrap { display: block; }

      .services-carousel-wrap {
        position: relative;
        overflow: hidden;
        margin: 2rem 0 0;
        touch-action: pan-y;
      }
      .services-track {
        display: flex;
        transition: transform .38s cubic-bezier(.4,0,.2,1);
        will-change: transform;
      }
      .services-track .service-card {
        flex: 0 0 85%;
        margin-right: 1rem;
        border-radius: var(--radius-lg);
        overflow: hidden;
        aspect-ratio: 3/4;
        scroll-snap-align: start;
      }
      .services-track .service-card:first-child { margin-left: 1.5rem; }
      .services-track .service-card:last-child  { margin-right: 1.5rem; }
      .services-track .service-card img {
        width: 100%; height: 100%; object-fit: cover;
        transition: none;
      }

      /* Dots */
      .carousel-dots {
        display: flex;
        justify-content: center;
        gap: .5rem;
        margin-top: 1.25rem;
        padding-bottom: .5rem;
      }
      .carousel-dot {
        width: 7px; height: 7px;
        border-radius: 50%;
        background: var(--beige);
        border: none; cursor: pointer; padding: 0;
        transition: background .25s, transform .25s;
      }
      .carousel-dot.active {
        background: var(--sage);
        transform: scale(1.3);
      }
    }

    @media (min-width: 769px) {
      /* Desktop: ocultar carrusel, mostrar grid */
      .services-carousel-wrap { display: none !important; }
      .services-grid { display: grid !important; }
    }

    /* ════════════════════════════════════════
       GALERÍA — 2 col en mobile (ocultar 1 item)
    ════════════════════════════════════════ */
    @media (max-width: 768px) {
      .gallery-grid { gap: .6rem !important; }
      #galeria.section { padding: 3rem 0 !important; }
    }

    /* ════════════════════════════════════════
       INSTAGRAM — ocultar 2 extras en mobile
    ════════════════════════════════════════ */
    @media (max-width: 768px) {
      .insta-item-extra { display: none; }
      .insta-grid {
        grid-template-columns: repeat(2, 1fr) !important;
      }
      #instagram.section-sm { padding: 2.5rem 0 !important; }
    }

    /* ════════════════════════════════════════
       SECCIONES — reducir padding mobile
    ════════════════════════════════════════ */
    @media (max-width: 768px) {
      .section { padding: 3.5rem 0 !important; }
      .section-sm { padding: 2.5rem 0 !important; }
      #nosotros { padding-bottom: 4rem !important; }
      #como-comprar.section { padding: 3rem 0 !important; }
      .steps-grid { margin-top: 2rem !important; gap: 1rem !important; }
      .step { padding: 1.25rem 1rem !important; }
      .faq-list { margin-top: 2rem !important; }
      #faq.section { padding: 3rem 0 !important; }
      .contact-simple-grid { gap: 2rem !important; }
      .map-wrap iframe { height: 240px !important; }
      #contacto.section { padding: 3rem 0 !important; }
      .footer-grid-4 { gap: 1.5rem !important; }
    }


    
    /* Stage con perspectiva 3D */
    .sc-stage {
      position: relative;
      width: 100%;
      height: 500px;
      display: flex;
      align-items: center;
      justify-content: center;
      perspective: 1200px;
      perspective-origin: 50% 50%;
    }

    /* Cada slide posicionado con transform 3D */
    .sc-slide {
      position: absolute;
      width: 300px;
      height: 420px;
      border-radius: var(--radius-lg);
      overflow: hidden;
      cursor: pointer;
      transition:
        transform 0.55s cubic-bezier(0.4, 0, 0.2, 1),
        opacity   0.55s cubic-bezier(0.4, 0, 0.2, 1),
        filter    0.55s cubic-bezier(0.4, 0, 0.2, 1);
      box-shadow: 0 20px 60px rgba(46,46,46,.18);
      will-change: transform, opacity, filter;
    }
    .sc-slide img {
      width: 100%; height: 100%;
      object-fit: cover;
      display: block;
      pointer-events: none;
    }

    /* Overlay info en la card */
    .sc-card-info {
      position: absolute;
      inset: 0;
      background: linear-gradient(to top, rgba(46,46,46,.88) 42%, transparent 75%);
      display: flex;
      flex-direction: column;
      justify-content: flex-end;
      padding: 1.75rem 1.5rem;
      transition: opacity 0.4s ease;
    }
    .sc-tag {
      display: inline-block;
      background: var(--sage);
      color: var(--white);
      font-size: .65rem;
      font-weight: 700;
      letter-spacing: .12em;
      text-transform: uppercase;
      padding: .3rem .8rem;
      border-radius: 100px;
      margin-bottom: .6rem;
      width: fit-content;
    }
    .sc-name {
      font-family: var(--font-display);
      font-size: 1.35rem;
      font-weight: 600;
      color: var(--white);
      line-height: 1.2;
      margin-bottom: .4rem;
    }
    .sc-desc {
      font-size: .82rem;
      color: rgba(255,255,255,.75);
      line-height: 1.5;
      max-height: 0;
      overflow: hidden;
      transition: max-height 0.4s ease, opacity 0.4s ease;
      opacity: 0;
    }
    /* En la card central, mostrar desc */
    .sc-slide[data-state="center"] .sc-desc {
      max-height: 80px;
      opacity: 1;
    }
    /* Cards laterales: info más sutil */
    .sc-slide[data-state="side"] .sc-card-info,
    .sc-slide[data-state="far"] .sc-card-info {
      opacity: 0.7;
    }

    /* ── Flechas ── */
    .sc-arrow {
      position: absolute;
      top: 50%;
      transform: translateY(-50%);
      z-index: 20;
      width: 44px; height: 44px;
      border-radius: 50%;
      background: rgba(248,244,238,.92);
      backdrop-filter: blur(8px);
      border: 1px solid rgba(46,46,46,.1);
      color: var(--dark);
      display: flex; align-items: center; justify-content: center;
      cursor: pointer;
      transition: background var(--transition), transform var(--transition), box-shadow var(--transition);
      box-shadow: 0 4px 16px rgba(46,46,46,.12);
    }
    .sc-arrow:hover {
      background: var(--sage);
      color: var(--white);
      transform: translateY(-50%) scale(1.08);
      box-shadow: 0 6px 20px rgba(122,158,126,.35);
    }
    .sc-arrow-prev { left: max(1rem, calc(50% - 240px)); }
    .sc-arrow-next { right: max(1rem, calc(50% - 240px)); }

    /* ── Dots ── */
    .sc-dots {
      display: flex;
      justify-content: center;
      gap: .5rem;
      margin-top: 1.5rem;
      padding-bottom: .5rem;
    }
    .sc-dot {
      width: 8px; height: 8px;
      border-radius: 50%;
      background: var(--beige);
      border: none; cursor: pointer; padding: 0;
      transition: background .3s, transform .3s, width .3s;
    }
    .sc-dot.active {
      background: var(--sage);
      width: 24px;
      border-radius: 4px;
      transform: none;
    }

    /* ── Mobile ── */
    @media (max-width: 768px) {
      .sc-stage {
        height: 380px;
        perspective: 800px;
      }
      .sc-slide {
        width: 220px;
        height: 300px;
      }
      .sc-arrow-prev { left: .5rem; }
      .sc-arrow-next { right: .5rem; }
      #servicios.section { padding-bottom: 3rem; }
    }
    @media (max-width: 480px) {
      .sc-stage { height: 340px; }
      .sc-slide { width: 200px; height: 275px; }
    }


    /* ════════════════════════════════════════════════════
       SERVICES GRID: visible en desktop, oculto en mobile
    ════════════════════════════════════════════════════ */
    .services-grid-desktop { display: grid; }

    /* ════════════════════════════════════════════════════
       SERVICES CAROUSEL: oculto en desktop, visible en mobile
       FIX: translateX(%) fallaba en position:absolute.
            Solución: flex-track con scroll snap = más robusto
    ════════════════════════════════════════════════════ */
    .sc-root { display: none; } /* oculto por defecto (desktop) */

    @media (max-width: 768px) {
      /* Ocultar grid desktop */
      .services-grid-desktop { display: none !important; }

      /* Mostrar carrusel */
      .sc-root {
        display: block;
        position: relative;
        padding: 1.5rem 0 1rem;
        margin-top: 1.5rem;
      }

      /* Viewport con overflow hidden */
      .sc-viewport {
        overflow: hidden;
        width: 100%;
        position: relative;
      }

      /* Track: flex con gap, se mueve con transform */
      .sc-track {
        display: flex;
        gap: 1rem;
        transition: transform 0.42s cubic-bezier(0.4, 0, 0.2, 1);
        will-change: transform;
        /* padding lateral = (100% - 88%) / 2 para mostrar tarjetas adyacentes */
        padding: 0 6%;
      }

      /* Cada slide: 88% del viewport = tarjeta principal + asomo de adyacentes */
      .sc-slide {
        flex: 0 0 82%;
        height: 340px;
        border-radius: var(--radius-lg);
        overflow: hidden;
        position: relative;
        /* Escala: slide activo = 1, resto = 0.93 */
        transform: scale(0.93);
        transition:
          transform 0.42s cubic-bezier(0.4, 0, 0.2, 1),
          box-shadow 0.42s ease,
          filter 0.42s ease;
        box-shadow: 0 8px 24px rgba(46,46,46,.10);
        filter: brightness(0.82);
        cursor: pointer;
      }
      .sc-slide.sc-active {
        transform: scale(1);
        box-shadow: 0 20px 50px rgba(46,46,46,.22);
        filter: brightness(1);
      }
      .sc-slide img {
        width: 100%; height: 100%;
        object-fit: cover;
        display: block;
        pointer-events: none;
      }

      /* Info overlay */
      .sc-card-info {
        position: absolute;
        inset: 0;
        background: linear-gradient(to top, rgba(46,46,46,.88) 38%, transparent 72%);
        display: flex;
        flex-direction: column;
        justify-content: flex-end;
        padding: 1.5rem 1.25rem;
        transition: opacity 0.3s ease;
      }
      .sc-slide:not(.sc-active) .sc-card-info { opacity: 0.6; }

      .sc-tag {
        display: inline-block;
        background: var(--sage);
        color: var(--white);
        font-size: .62rem;
        font-weight: 700;
        letter-spacing: .12em;
        text-transform: uppercase;
        padding: .25rem .7rem;
        border-radius: 100px;
        margin-bottom: .5rem;
        width: fit-content;
      }
      .sc-name {
        font-family: var(--font-display);
        font-size: 1.2rem;
        font-weight: 600;
        color: var(--white);
        line-height: 1.2;
        margin-bottom: .3rem;
      }
      .sc-desc {
        font-size: .78rem;
        color: rgba(255,255,255,.78);
        line-height: 1.45;
        display: none;
      }
      .sc-slide.sc-active .sc-desc { display: block; }

      /* Flechas */
      .sc-arrow {
        position: absolute;
        top: 50%;
        transform: translateY(-60%);
        z-index: 20;
        width: 38px; height: 38px;
        border-radius: 50%;
        background: rgba(248,244,238,.95);
        backdrop-filter: blur(6px);
        border: 1px solid rgba(46,46,46,.1);
        color: var(--dark);
        display: flex; align-items: center; justify-content: center;
        cursor: pointer;
        box-shadow: 0 4px 12px rgba(46,46,46,.14);
        transition: background var(--transition), color var(--transition);
      }
      .sc-arrow:hover, .sc-arrow:active {
        background: var(--sage);
        color: var(--white);
      }
      .sc-arrow-prev { left: .25rem; }
      .sc-arrow-next { right: .25rem; }

      /* Dots */
      .sc-dots {
        display: flex;
        justify-content: center;
        gap: .45rem;
        margin-top: 1.25rem;
      }
      .sc-dot {
        width: 7px; height: 7px;
        border-radius: 50%;
        background: var(--beige);
        border: none; cursor: pointer; padding: 0;
        transition: background .25s, width .25s;
      }
      .sc-dot.active {
        background: var(--sage);
        width: 22px;
        border-radius: 3.5px;
      }

      /* Reducir padding section en mobile */
      #servicios.section { padding-bottom: 2.5rem; }
    }


    /* ── Service cards clickeables ── */
    .service-card[onclick] { cursor: pointer; }
    .service-card[onclick]:hover img { transform: scale(1.07); }
    .service-card[onclick]:hover .service-overlay {
      background: linear-gradient(to top, rgba(122,158,126,.85) 40%, transparent 80%);
    }
    .sc-slide[onclick] { cursor: pointer; }


    

    

    

    

    

    /* ── HERO TITLE — imagen logotipo "las flores más lindas" ── */
    .hero-title {
      display: block;
      margin-bottom: 1.75rem;
      padding-top: 0.25rem;
    }
    .hero-title-img {
      display: block;
      width: 100%;
      max-width: 480px;
      height: auto;
    }
    @media (max-width: 900px) {
      .hero-title-img { max-width: 360px; }
    }
    @media (max-width: 480px) {
      .hero-title-img { max-width: 300px; }
    }

    /* ── LIGHTBOX ── */
    .lightbox {
      position: fixed;
      inset: 0;
      z-index: 9999;
      background: rgba(20, 20, 20, 0.92);
      backdrop-filter: blur(4px);
      display: flex;
      align-items: center;
      justify-content: center;
      opacity: 0;
      visibility: hidden;
      transition: opacity 0.32s ease, visibility 0.32s ease;
      padding: 2rem;
    }
    .lightbox.open {
      opacity: 1;
      visibility: visible;
    }
    .lightbox-img {
      max-width: 90vw;
      max-height: 88vh;
      object-fit: contain;
      border-radius: 6px;
      box-shadow: 0 20px 80px rgba(0,0,0,.5);
      transform: scale(0.92);
      transition: transform 0.34s cubic-bezier(0.2, 0, 0.2, 1);
      user-select: none;
    }
    .lightbox.open .lightbox-img {
      transform: scale(1);
    }
    .lightbox-close {
      position: absolute;
      top: 1.25rem;
      right: 1.5rem;
      width: 46px;
      height: 46px;
      border-radius: 50%;
      background: rgba(255,255,255,0.12);
      color: #fff;
      display: flex;
      align-items: center;
      justify-content: center;
      cursor: pointer;
      transition: background 0.25s ease, transform 0.25s ease;
      z-index: 2;
    }
    .lightbox-close:hover {
      background: rgba(255,255,255,0.25);
      transform: rotate(90deg);
    }
    .lightbox-nav {
      position: absolute;
      top: 50%;
      transform: translateY(-50%);
      width: 50px;
      height: 50px;
      border-radius: 50%;
      background: rgba(255,255,255,0.1);
      color: #fff;
      display: flex;
      align-items: center;
      justify-content: center;
      cursor: pointer;
      transition: background 0.25s ease;
      z-index: 2;
    }
    .lightbox-nav:hover { background: rgba(255,255,255,0.22); }
    .lightbox-prev { left: 1.5rem; }
    .lightbox-next { right: 1.5rem; }
    .lightbox-counter {
      position: absolute;
      bottom: 1.5rem;
      left: 50%;
      transform: translateX(-50%);
      color: rgba(255,255,255,0.7);
      font-size: 0.85rem;
      letter-spacing: 0.05em;
      font-family: var(--font-body);
    }
    @media (max-width: 768px) {
      .lightbox { padding: 1rem; }
      .lightbox-img { max-width: 94vw; max-height: 80vh; }
      .lightbox-nav { width: 40px; height: 40px; }
      .lightbox-prev { left: 0.5rem; }
      .lightbox-next { right: 0.5rem; }
      .lightbox-close { top: 0.75rem; right: 0.75rem; }
    }

  

