:root {
  --background: #fbf6f5; --foreground: #281722; --card: #fff; --card-foreground: #281722;
  --primary: #8d3564; --primary-foreground: #fff; --secondary: #f4d9e9; --secondary-foreground: #55213d;
  --muted: #f2e8eb; --muted-foreground: #775b68; --accent: #e9d8ff; --accent-foreground: #41205a;
  --border: #e7d7de; --input: #e7d7de; --ring: #b4529a; --radius: 1rem;
  --plum: #2a1724; --wine: #67304f; --pink: #ee90bd; --violet: #a66de5; --orange: #ff9168; --cream: #fbf6f5;
}

.dark {
  --background: #1b1018; --foreground: #fff8fb; --card: #281722; --card-foreground: #fff8fb;
  --primary: #ef96b9; --primary-foreground: #23101d; --secondary: #4c263b; --secondary-foreground: #fff4f8;
  --muted: #34202b; --muted-foreground: #d4bbc7; --accent: #a985ec; --accent-foreground: #fff;
  --border: #513546; --input: #513546; --ring: #ef96b9;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; font-family: Arial,Helvetica,sans-serif; }
body { margin: 0; background: var(--cream); color: var(--foreground); }
a { color: inherit; text-decoration: none; outline-offset: 4px; }
img { display: block; max-width: 100%; }
p,h1,h2,h3,figure { margin-block-start: 0; margin-block-end: 0; }

.site-header { position: absolute; inset: 0 0 auto; z-index: 30; }
.header-inner { display: flex; max-width: 1380px; margin: auto; align-items: center; justify-content: space-between; padding: 1.25rem 2.5rem; }
.brand-lockup { display: flex; align-items: center; gap: .8rem; border: 1px solid rgba(255,255,255,.2); border-radius: 999px; background: rgba(32,20,29,.84); padding: .42rem 1rem .42rem .42rem; color: #fff; box-shadow: 0 12px 38px rgba(19,8,14,.25); backdrop-filter: blur(14px); }
.brand-lockup img { width: 3.2rem; height: 3.2rem; border: 2px solid rgba(255,255,255,.8); border-radius: 50%; object-fit: cover; object-position: center 46%; }
.brand-lockup span { font-family: Georgia,serif; font-size: 1.25rem; font-weight: 700; letter-spacing: .19em; }
.site-header nav { display: flex; gap: 2.1rem; color: rgba(255,255,255,.72); font-size: .78rem; }
.site-header nav a:hover { color: #fff; }
.header-contact { display: flex; align-items: center; gap: .5rem; border: 1px solid rgba(255,255,255,.25); border-radius: 999px; background: rgba(35,19,29,.3); padding: .75rem 1rem; color: #fff; font-size: .78rem; backdrop-filter: blur(10px); }
.header-contact svg { width: 1rem; }

.hero { position: relative; display: flex; min-height: 760px; margin: .55rem; align-items: center; overflow: hidden; border-radius: 1.75rem; background: radial-gradient(circle at 12% 88%,rgba(238,144,189,.32),transparent 30%),linear-gradient(125deg,#1e121b 0%,#341b2d 47%,#8d3564 100%); color: #fff; }
.hero-photo { position: absolute; inset: 0 0 0 auto; width: 55%; overflow: hidden; }
.hero-photo img { width: 100%; height: 100%; object-fit: cover; object-position: center 24%; filter: saturate(.84) contrast(1.02); }
.hero-wash { position: absolute; inset: 0; background: linear-gradient(90deg,rgba(25,14,22,.98) 0%,rgba(30,17,26,.93) 36%,rgba(56,27,45,.45) 58%,rgba(111,47,79,.05) 100%); }
.hero-wash::after { content: ''; position: absolute; inset: 0; background: linear-gradient(180deg,rgba(237,144,189,.08),transparent 45%,rgba(74,25,53,.28)); mix-blend-mode: screen; }
.hero-orbit { position: absolute; border: 1px solid rgba(238,144,189,.18); border-radius: 50%; pointer-events: none; }
.hero-orbit-one { width: 34rem; height: 34rem; left: -17rem; bottom: -18rem; box-shadow: 0 0 0 4rem rgba(166,109,229,.035),0 0 0 8rem rgba(255,145,104,.025); }
.hero-orbit-two { width: 20rem; height: 20rem; right: 43%; top: -13rem; }
.hero-content { position: relative; z-index: 2; width: min(1380px,100%); margin: auto; padding: 9.5rem 3.6rem 4.5rem; }
.eyebrow { font-size: .64rem; font-weight: 750; letter-spacing: .27em; text-transform: uppercase; color: rgba(255,255,255,.58); }
.eyebrow.dark { color: var(--primary); }
.hero h1 { max-width: 650px; margin: 1.4rem 0 0; font-family: Georgia,'Times New Roman',serif; font-size: clamp(4rem,7.2vw,7.5rem); font-weight: 500; letter-spacing: -.065em; line-height: .79; }
.hero h1 span,.routine-heading h2 span,.cta-copy h2 span { background: linear-gradient(105deg,var(--pink),var(--violet) 52%,var(--orange)); background-clip: text; color: transparent; }
.hero-copy { max-width: 540px; margin-top: 2rem; color: rgba(255,255,255,.72); font-size: 1.08rem; line-height: 1.75; }
.hero-actions { display: flex; flex-wrap: wrap; gap: .75rem; margin-top: 2rem; }
.button { display: inline-flex; min-height: 3.2rem; align-items: center; justify-content: center; gap: .55rem; border-radius: 999px; padding: .8rem 1.4rem; font-size: .83rem; font-weight: 750; }
.button svg { width: 1rem; }
.button-brand { background: linear-gradient(105deg,var(--pink),#c78af0 52%,var(--orange)); color: #291721; box-shadow: 0 15px 38px rgba(218,107,172,.26); }
.button-ghost { border: 1px solid rgba(255,255,255,.2); background: rgba(255,255,255,.04); color: #fff; }
.hero-proof { display: flex; max-width: 600px; gap: 1.4rem; margin-top: 3rem; border-top: 1px solid rgba(255,255,255,.13); padding-top: 1.2rem; color: rgba(255,255,255,.58); font-size: .66rem; }
.hero-proof span { display: flex; align-items: center; gap: .4rem; }
.hero-proof svg { width: .9rem; color: var(--pink); }
.hero-index { position: absolute; z-index: 3; right: 2rem; bottom: 2rem; display: flex; align-items: center; gap: .7rem; color: rgba(255,255,255,.7); }
.hero-index span { font-family: Georgia,serif; font-size: 1.5rem; }
.hero-index i { width: 3rem; height: 1px; background: rgba(255,255,255,.35); }
.hero-index small { font-size: .48rem; letter-spacing: .15em; line-height: 1.5; }

.editorial-section,.routine-section { max-width: 1380px; margin: auto; padding: 7rem 3rem; }
.section-intro { display: grid; grid-template-columns: 1.1fr .7fr; gap: 3rem; align-items: end; border-top: 1px solid rgba(103,48,79,.18); padding-top: 2rem; }
.section-intro h2,.routine-heading h2,.lookbook-copy h2,.cta-copy h2 { margin: .9rem 0 0; font-family: Georgia,serif; font-size: clamp(3.1rem,5.4vw,5.8rem); font-weight: 500; letter-spacing: -.06em; line-height: .88; }
.section-intro h2 em { color: var(--primary); font-weight: inherit; }
.section-intro > p { max-width: 540px; color: #715a66; line-height: 1.85; }
.editorial-grid { display: grid; grid-template-columns: 1.2fr .72fr .8fr; grid-template-rows: 390px 390px; gap: .85rem; margin-top: 3rem; }
.photo-card { position: relative; overflow: hidden; border-radius: 1.4rem; background: #ddc5ce; }
.photo-card img { width: 100%; height: 100%; object-fit: cover; transition: transform .7s ease; }
.photo-card:hover img { transform: scale(1.025); }
.photo-card-main { grid-row: span 2; }
.photo-card-main img { object-position: center 10%; }
.photo-card-detail img { object-position: center center; }
.photo-card-back { grid-column: 3; grid-row: 1 / span 2; }
.photo-card-back img { object-position: center center; }
.photo-caption { position: absolute; inset: auto 1rem 1rem; display: flex; align-items: center; gap: .75rem; border: 1px solid rgba(255,255,255,.45); border-radius: 1rem; background: rgba(251,246,245,.84); padding: .85rem 1rem; backdrop-filter: blur(12px); }
.photo-caption > span { display: grid; width: 2.2rem; height: 2.2rem; place-items: center; border-radius: 50%; background: var(--plum); color: #fff; font-size: .6rem; }
.photo-caption small { display: block; color: #886b78; font-size: .5rem; letter-spacing: .18em; }
.photo-caption strong { display: block; margin-top: .15rem; font-size: .82rem; }
.photo-caption.light { background: rgba(42,23,36,.78); color: #fff; }
.photo-caption.light > span { background: linear-gradient(135deg,var(--pink),var(--violet)); color: var(--plum); }
.corner-label { position: absolute; right: .8rem; top: .8rem; border-radius: .8rem; background: rgba(42,23,36,.8); padding: .7rem .8rem; color: #fff; font-size: .54rem; font-weight: 700; letter-spacing: .15em; line-height: 1.45; }
.copy-card { display: flex; flex-direction: column; justify-content: center; border-radius: 1.4rem; background: linear-gradient(145deg,#f1bed5,#cba2ec 56%,#ffb293); padding: 2rem; color: var(--plum); }
.copy-card > span { font-size: .54rem; font-weight: 750; letter-spacing: .18em; }
.copy-card h3 { margin: 1.2rem 0 .8rem; font-family: Georgia,serif; font-size: 2rem; font-weight: 500; letter-spacing: -.045em; line-height: .96; }
.copy-card p { font-size: .76rem; line-height: 1.7; }
.copy-card a { display: flex; width: fit-content; align-items: center; gap: .4rem; margin-top: 1.4rem; border-bottom: 1px solid rgba(42,23,36,.4); padding-bottom: .25rem; font-size: .66rem; font-weight: 750; }
.copy-card a svg { width: .85rem; }

.moving-ribbon { overflow: hidden; background: var(--plum); padding: 1rem 0; color: #f8e6ee; }
.moving-ribbon > div { display: flex; width: max-content; align-items: center; gap: 1.7rem; animation: ribbon-slide 24s linear infinite; font-size: .7rem; font-weight: 750; letter-spacing: .22em; }
.moving-ribbon i { color: var(--pink); font-style: normal; }
@keyframes ribbon-slide { to { transform: translateX(-50%); } }

.routine-heading { display: flex; align-items: end; justify-content: space-between; }
.routine-heading h2 { max-width: 850px; }
.routine-layout { display: grid; grid-template-columns: 1.35fr .65fr; gap: .9rem; margin-top: 3rem; }
.routine-feature { position: relative; min-height: 720px; overflow: hidden; border-radius: 1.5rem; background: var(--plum); }
.routine-feature > img { width: 100%; height: 100%; object-fit: cover; object-position: center 38%; filter: saturate(.78); }
.routine-feature::after { content: ''; position: absolute; inset: 0; background: linear-gradient(0deg,rgba(31,15,25,.9),transparent 58%); }
.routine-overlay { position: absolute; z-index: 2; inset: auto 2rem 2rem; color: #fff; }
.routine-overlay small { color: var(--pink); font-size: .58rem; font-weight: 750; letter-spacing: .2em; }
.routine-overlay h3 { max-width: 760px; margin: .8rem 0; font-family: Georgia,serif; font-size: clamp(2.5rem,4vw,4.5rem); font-weight: 500; letter-spacing: -.05em; line-height: .92; }
.routine-overlay p { max-width: 540px; color: rgba(255,255,255,.66); line-height: 1.7; }
.routine-side { display: grid; gap: .9rem; }
.routine-mini { position: relative; min-height: 455px; overflow: hidden; border-radius: 1.5rem; }
.routine-mini img { width: 100%; height: 100%; object-fit: cover; object-position: center 20%; }
.routine-mini::after { content: ''; position: absolute; inset: 0; background: linear-gradient(0deg,rgba(42,23,36,.72),transparent 45%); }
.routine-mini span { position: absolute; z-index: 2; left: 1.3rem; bottom: 1.2rem; color: #fff; font-family: Georgia,serif; font-size: 1.55rem; }
.routine-quote { display: flex; min-height: 255px; flex-direction: column; justify-content: space-between; border-radius: 1.5rem; background: linear-gradient(145deg,#76365b,#8e4372 58%,#4a2440); padding: 1.6rem; color: #fff; }
.routine-quote svg { color: var(--pink); }
.routine-quote p { font-family: Georgia,serif; font-size: 1.5rem; line-height: 1.18; }
.routine-quote span { color: rgba(255,255,255,.52); font-size: .5rem; letter-spacing: .2em; }

.lookbook-section { display: grid; grid-template-columns: .75fr 1.25fr; gap: 3rem; max-width: 1380px; margin: auto; padding: 1rem 3rem 7rem; align-items: center; }
.lookbook-copy > p:last-child { max-width: 480px; margin-top: 1.5rem; color: #755d69; line-height: 1.8; }
.lookbook-photos { position: relative; display: grid; min-height: 680px; grid-template-columns: 1fr 1fr; align-items: center; }
.lookbook-photos figure { position: relative; overflow: hidden; border-radius: 1.4rem; box-shadow: 0 30px 70px rgba(70,31,54,.18); }
.lookbook-photos img { width: 100%; height: 100%; object-fit: cover; }
.lookbook-pink { z-index: 2; height: 620px; transform: translateX(8%); background: #d99bb6; }
.lookbook-pink img { object-position: center 12%; }
.lookbook-violet { height: 560px; transform: translateX(-4%); background: #9d6bd8; }
.lookbook-violet img { object-position: center 18%; }
.lookbook-photos figcaption { position: absolute; left: 1rem; bottom: 1rem; border-radius: 999px; background: rgba(42,23,36,.8); padding: .55rem .8rem; color: #fff; font-size: .62rem; letter-spacing: .08em; backdrop-filter: blur(8px); }

.advantages-section { display: grid; grid-template-columns: 1.05fr repeat(4,1fr); max-width: 1320px; margin: 0 auto 7rem; overflow: hidden; border: 1px solid rgba(141,53,100,.12); border-radius: 1.4rem; background: linear-gradient(105deg,#f7e4ec,#f1e1fa 55%,#fae6df); }
.advantages-title { display: flex; flex-direction: column; justify-content: center; padding: 1.8rem; font-size: .82rem; letter-spacing: .08em; }
.advantages-title strong { font-size: 1.55rem; letter-spacing: -.03em; }
.advantages-section article { display: flex; gap: .8rem; border-left: 1px solid rgba(141,53,100,.11); padding: 1.8rem 1.3rem; }
.advantages-section article > svg { flex: none; width: 1.2rem; color: var(--primary); }
.advantages-section h3 { font-size: .78rem; }
.advantages-section p { margin-top: .35rem; color: #76606b; font-size: .65rem; line-height: 1.55; }

.cta-section { display: grid; grid-template-columns: 1.05fr .95fr; gap: 3rem; margin: .55rem; overflow: hidden; border-radius: 1.75rem; background: radial-gradient(circle at 8% 90%,rgba(166,109,229,.22),transparent 32%),linear-gradient(125deg,#24131f,#5c2848 65%,#8d3564); padding: 5rem; color: #fff; }
.cta-copy > p:last-child { max-width: 580px; margin-top: 1.5rem; color: rgba(255,255,255,.64); line-height: 1.8; }
.cta-actions { display: grid; gap: .8rem; align-content: center; }
.cta-actions > a { display: flex; min-height: 125px; align-items: center; justify-content: space-between; border: 1px solid rgba(255,255,255,.17); border-radius: 1.2rem; background: rgba(255,255,255,.06); padding: 1.5rem; transition: transform .3s ease,background .3s ease; backdrop-filter: blur(10px); }
.cta-actions > a:hover { transform: translateY(-3px); background: rgba(255,255,255,.11); }
.cta-actions small { display: block; color: var(--pink); font-size: .52rem; font-weight: 750; letter-spacing: .18em; }
.cta-actions strong { display: block; margin-top: .45rem; font-family: Georgia,serif; font-size: 1.6rem; }

footer { display: flex; max-width: 1320px; margin: auto; align-items: center; justify-content: space-between; gap: 2rem; padding: 2rem 1rem 3rem; color: #6e5662; font-size: .78rem; }
.footer-brand { display: flex; align-items: center; gap: .8rem; }
.footer-brand img { width: 3rem; height: 3rem; border-radius: 50%; object-fit: cover; }
.footer-brand strong,.footer-brand span { display: block; }
.footer-brand strong { color: var(--plum); letter-spacing: .15em; }
.footer-brand span { margin-top: .2rem; font-size: .65rem; }
footer > a { color: var(--primary); font-weight: 750; }
.whatsapp-float { position: fixed; z-index: 50; right: 1.25rem; bottom: 1.25rem; display: grid; width: 3.6rem; height: 3.6rem; place-items: center; border-radius: 50%; background: #1faf60; color: #fff; box-shadow: 0 14px 34px rgba(31,175,96,.34); transition: transform .3s ease; }
.whatsapp-float:hover { transform: translateY(-4px); }
.whatsapp-float svg { width: 1.45rem; }

@supports (animation-timeline: view()) {
  .editorial-grid,.routine-layout,.lookbook-photos,.advantages-section { animation: reveal-up linear both; animation-timeline: view(); animation-range: entry 3% cover 24%; }
}
@keyframes reveal-up { from { opacity: .2; transform: translateY(30px); } to { opacity: 1; transform: translateY(0); } }

@media (max-width: 980px) {
  .site-header nav { display: none; }
  .hero { min-height: 790px; align-items: end; }
  .hero-photo { width: 100%; opacity: .78; }
  .hero-photo img { object-position: center 18%; }
  .hero-wash { background: linear-gradient(0deg,rgba(24,13,21,.98) 0%,rgba(33,17,28,.78) 52%,rgba(78,37,60,.16) 100%); }
  .hero-content { padding: 9rem 2rem 3rem; }
  .hero h1 { font-size: clamp(3.7rem,11vw,6rem); }
  .hero-index { display: none; }
  .section-intro,.routine-layout,.lookbook-section,.cta-section { grid-template-columns: 1fr; }
  .editorial-grid { grid-template-columns: 1.05fr .95fr; grid-template-rows: 500px 330px 520px; }
  .photo-card-main { grid-row: 1 / span 2; }
  .photo-card-back { grid-column: 1 / span 2; grid-row: 3; }
  .advantages-section { grid-template-columns: 1fr 1fr; margin-inline: 1rem; }
  .advantages-title { grid-column: span 2; }
  .advantages-section article { border-top: 1px solid rgba(141,53,100,.11); }
  .cta-section { padding: 3.5rem 2rem; }
}

@media (max-width: 650px) {
  .header-inner { padding: 1rem; }
  .brand-lockup { gap: .5rem; padding-right: .7rem; }
  .brand-lockup img { width: 2.7rem; height: 2.7rem; }
  .brand-lockup span { font-size: .9rem; }
  .header-contact span { display: none; }
  .hero { min-height: 760px; }
  .hero-content { padding: 8.5rem 1.5rem 2.2rem; }
  .hero h1 { font-size: 3.65rem; }
  .hero-copy { font-size: .92rem; }
  .hero-actions { flex-direction: column; }
  .button { width: 100%; }
  .hero-proof { display: grid; grid-template-columns: 1fr 1fr; gap: .7rem; }
  .editorial-section,.routine-section { padding: 5rem 1rem; }
  .section-intro { grid-template-columns: 1fr; }
  .section-intro h2,.routine-heading h2,.lookbook-copy h2,.cta-copy h2 { font-size: 3.25rem; }
  .editorial-grid { grid-template-columns: 1fr; grid-template-rows: 620px 320px auto 580px; }
  .photo-card-main,.photo-card-back { grid-column: 1; grid-row: auto; }
  .copy-card { min-height: 330px; }
  .routine-feature { min-height: 650px; }
  .routine-overlay { inset: auto 1.2rem 1.2rem; }
  .routine-overlay h3 { font-size: 2.5rem; }
  .lookbook-section { padding: 0 1rem 5rem; }
  .lookbook-photos { min-height: 540px; }
  .lookbook-pink { height: 500px; transform: translateX(6%); }
  .lookbook-violet { height: 440px; }
  .advantages-section { grid-template-columns: 1fr; }
  .advantages-title { grid-column: 1; }
  .advantages-section article { border-left: 0; }
  .cta-section { padding: 3.5rem 1.25rem; }
  footer { flex-direction: column; text-align: center; }
}

@media (prefers-reduced-motion: reduce) {
  *,*::before,*::after { scroll-behavior: auto !important; transition-duration: .01ms !important; animation-duration: .01ms !important; animation-iteration-count: 1 !important; }
}
