:root {
  --core-ink: #264b56;
  --core-deep: #183c46;
  --core-rust: #aa735f;
  --core-rose: #efe0dc;
  --core-blue: #dfecef;
  --core-mint: #dde8e0;
  --core-paper: #f8f7f3;
  --core-line: rgba(38, 75, 86, .25);
}

.core-page *, .core-header *, .core-footer * {
  box-sizing: border-box;
  min-width: 0;
  hyphens: none;
  overflow-wrap: normal;
  word-break: normal;
}

.core-page { color: var(--core-ink); background: var(--core-paper); }
.core-page h1, .core-page h2, .core-page h3, .core-page strong,
.core-header summary, .core-footer { font-family: Georgia, "Times New Roman", serif; }
.core-page p, .core-page li, .core-page a, .core-page button,
.core-header a, .core-header span { font-family: Arial, Helvetica, sans-serif; }
.core-page img { width: 100%; height: 100%; object-fit: cover; display: block; }

.core-header {
  position: sticky; top: 0; z-index: 80; display: grid;
  grid-template-columns: 180px minmax(0, 1fr) auto; align-items: center;
  min-height: 88px; padding: 14px clamp(24px, 4vw, 72px);
  background: rgba(248,247,243,.96); border-bottom: 1px solid var(--core-line);
  backdrop-filter: blur(16px);
}
.core-brand { width: 126px; display: block; }
.core-brand img { width: 100%; height: auto; display: block; }
.core-main-nav { display: flex; justify-content: center; flex-wrap: wrap; gap: 10px 28px; }
.core-main-nav a, .core-header-cta {
  color: var(--core-ink); text-decoration: none; text-transform: uppercase;
  letter-spacing: .12em; font-size: 11px; font-weight: 700;
}
.core-header-cta { padding: 14px 18px; border: 1px solid var(--core-ink); }
.core-page-menu { grid-column: 1 / -1; border-top: 1px solid var(--core-line); margin-top: 12px; }
.core-page-menu summary {
  padding: 12px 0 4px; display: flex; justify-content: space-between; gap: 24px;
  cursor: pointer; list-style: none; font-size: 17px;
}
.core-page-menu summary::-webkit-details-marker { display: none; }
.core-page-menu summary span { font-size: 10px; letter-spacing: .12em; text-transform: uppercase; }
.core-page-menu nav { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1px; background: var(--core-line); margin-top: 10px; }
.core-page-menu nav a {
  min-height: 64px; display: flex; align-items: center; gap: 12px; padding: 14px 16px;
  background: var(--core-paper); color: var(--core-ink); text-decoration: none; font-size: 13px;
}
.core-page-menu nav a span { color: var(--core-rust); font-size: 10px; font-weight: 700; }
.core-page-menu nav a.is-active { background: var(--core-deep); color: white; }

.core-hero {
  position: relative; min-height: min(830px, calc(100vh - 88px)); overflow: hidden;
  display: grid; grid-template-columns: minmax(0, 56fr) minmax(340px, 44fr);
  background: var(--core-deep); color: white;
}
.core-hero-copy { padding: clamp(80px, 9vw, 150px) clamp(28px, 7vw, 120px); align-self: center; }
.core-eyebrow {
  display: block; margin-bottom: 28px; font: 700 11px/1.4 Arial, sans-serif;
  letter-spacing: .16em; text-transform: uppercase; color: #d7aaa0;
}
.core-hero h1 {
  margin: 0 0 38px; max-width: 800px; font-size: clamp(58px, 7.2vw, 122px);
  line-height: .92; font-weight: 400; letter-spacing: -.045em;
}
.core-hero-text { max-width: 680px; }
.core-hero-text p { margin: 0 0 18px; max-width: 62ch; font-size: clamp(17px, 1.35vw, 22px); line-height: 1.6; }
.core-hero-text p:first-child { font-family: Georgia, serif; font-size: clamp(24px, 2.4vw, 40px); line-height: 1.24; }
.core-hero-image { position: relative; margin: 0; min-height: 650px; }
.core-hero-image::after { content: ""; position: absolute; inset: 0; background: linear-gradient(90deg, rgba(24,60,70,.42), transparent 40%); }
.core-hero-image figcaption {
  position: absolute; z-index: 2; right: 24px; bottom: 22px; padding: 9px 12px;
  background: rgba(24,60,70,.86); font: 700 9px/1.2 Arial, sans-serif; letter-spacing: .13em; text-transform: uppercase;
}
.core-hero-actions { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 34px; }
.core-action {
  display: inline-flex; align-items: center; justify-content: space-between; gap: 28px;
  padding: 16px 20px; border: 1px solid var(--core-ink); color: var(--core-ink);
  text-decoration: none; text-transform: uppercase; letter-spacing: .11em; font: 700 10px/1.2 Arial, sans-serif;
}
.core-action-light { color: white; border-color: rgba(255,255,255,.75); }
.core-action-disabled { opacity: .64; cursor: not-allowed; }
.core-text-link, .core-card-link { display: inline-flex; margin-top: 16px; color: var(--core-ink); text-decoration: none; border-bottom: 1px solid var(--core-rust); font-size: 13px; }

.core-contents { position: relative; z-index: 5; background: white; border-bottom: 1px solid var(--core-line); }
.core-contents summary {
  min-height: 80px; padding: 0 clamp(28px, 5vw, 86px); display: flex; align-items: center;
  justify-content: space-between; gap: 24px; cursor: pointer; list-style: none;
}
.core-contents summary::-webkit-details-marker { display: none; }
.core-contents summary span { font: 400 clamp(24px, 2vw, 34px)/1.2 Georgia, serif; }
.core-contents summary b { font: 700 10px/1 Arial, sans-serif; letter-spacing: .14em; text-transform: uppercase; }
.core-contents nav { padding: 0 clamp(28px, 5vw, 86px) 28px; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1px; background: var(--core-line); }
.core-contents button {
  min-height: 68px; padding: 14px 18px; border: 0; background: white; color: var(--core-ink);
  text-align: left; font-size: 13px; line-height: 1.3;
}
.core-contents button span { display: block; margin-bottom: 7px; color: var(--core-rust); font-size: 9px; font-weight: 700; }

.core-section { position: relative; padding: clamp(90px, 10vw, 170px) 0; border-bottom: 1px solid var(--core-line); overflow: hidden; }
.core-shell { width: min(100% - 56px, 1780px); margin: 0 auto; }
.core-head { display: grid; grid-template-columns: 80px minmax(0, 1fr); gap: 22px; margin-bottom: clamp(54px, 6vw, 98px); }
.core-head span { padding-top: 12px; color: var(--core-rust); font: 700 11px/1 Arial, sans-serif; }
.core-head h2 { margin: 0; max-width: 1280px; font-size: clamp(42px, 5.2vw, 92px); line-height: 1; font-weight: 400; letter-spacing: -.035em; }
.core-prose { max-width: 820px; }
.core-prose p { margin: 0 0 22px; max-width: 68ch; font-size: clamp(17px, 1.25vw, 21px); line-height: 1.68; }
.core-prose h3 { margin: 42px 0 18px; font-size: clamp(26px, 2.2vw, 38px); font-weight: 400; line-height: 1.16; }
.core-prose ul { margin: 24px 0; padding: 0; list-style: none; }
.core-prose li { position: relative; padding: 14px 0 14px 28px; border-top: 1px solid var(--core-line); font-size: clamp(16px, 1.15vw, 20px); line-height: 1.48; }
.core-prose li::before { content: "·"; position: absolute; left: 5px; color: var(--core-rust); }
.core-lead { font-family: Georgia, serif !important; font-size: clamp(24px, 2.4vw, 42px) !important; line-height: 1.24 !important; }
.core-card-copy p { margin: 0 0 13px; font: 16px/1.55 Arial, sans-serif; }
.core-close { background: var(--core-deep); color: white; }
.core-close .core-action, .core-close .core-text-link { color: white; border-color: white; }
.core-footer {
  min-height: 280px; padding: 60px clamp(28px, 6vw, 100px); display: grid;
  grid-template-columns: 180px 1fr; gap: 38px 80px; align-items: start; background: #12343d; color: white;
}
.core-footer img { width: 150px; filter: brightness(0) invert(1); }
.core-footer p { margin: 0; font: 22px/1.4 Georgia, serif; }
.core-footer nav { grid-column: 2; display: flex; flex-wrap: wrap; gap: 16px 28px; }
.core-footer a { color: white; text-decoration: none; font: 12px/1.3 Arial, sans-serif; text-transform: uppercase; letter-spacing: .09em; }

/* Qué quieres mejorar */
.core-hero-goals { background: #b6745e; }
.core-hero-goals .core-hero-image::after { background: linear-gradient(90deg, rgba(182,116,94,.4), transparent); }
.goal-constellation {
  position: absolute; z-index: 3; right: clamp(24px, 4vw, 70px); bottom: 38px;
  width: min(35vw, 520px); aspect-ratio: 1; border: 1px solid rgba(255,255,255,.45); border-radius: 50%;
}
.goal-constellation span, .goal-constellation strong { position: absolute; padding: 8px 12px; background: rgba(24,60,70,.88); color: white; font: 12px/1.2 Arial, sans-serif; }
.goal-constellation span:nth-child(1) { left: 6%; top: 24%; }.goal-constellation span:nth-child(2) { right: 1%; top: 18%; }
.goal-constellation span:nth-child(3) { right: -2%; bottom: 24%; }.goal-constellation span:nth-child(4) { left: 9%; bottom: 12%; }
.goal-constellation span:nth-child(5) { left: 42%; top: -3%; }.goal-constellation strong { left: 34%; top: 45%; font-family: Georgia, serif; font-size: 22px; }
.goal-face { background: var(--core-rose); }
.goal-face-grid { display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); align-items: stretch; }
.goal-face-grid article { padding: 34px; min-height: 360px; border: 1px solid rgba(38,75,86,.24); background: rgba(255,255,255,.3); }
.goal-face-grid article:first-child { grid-column: span 2; }.goal-face-grid article:nth-child(2) { grid-column: span 2; }.goal-face-grid article:nth-child(3) { grid-column: span 2; }
.goal-face-grid article:nth-child(4) { grid-column: 2 / span 2; }.goal-face-grid article:nth-child(5) { grid-column: span 2; }
.goal-face-grid article > span, .goal-body-grid article > span { color: var(--core-rust); font: 700 10px/1 Arial, sans-serif; }
.goal-face-grid h3, .goal-body-grid h3 { margin: 64px 0 22px; font-size: clamp(26px, 2.2vw, 39px); line-height: 1.1; font-weight: 400; }
.goal-body { background: var(--core-blue); }
.goal-body-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 20px; }
.goal-body-grid article { min-height: 440px; padding: 36px; background: white; display: flex; flex-direction: column; align-items: flex-start; }
.goal-body-grid .core-card-link { margin-top: auto; }
.goal-weight .core-shell, .goal-hair .core-shell, .goal-vascular .core-shell { display: grid; grid-template-columns: 1fr 1fr; gap: 7vw; align-items: center; }
.goal-weight .core-head, .goal-hair .core-head, .goal-vascular .core-head { grid-column: 1 / -1; }
.goal-single-path { min-height: 340px; padding: 40px; display: flex; flex-direction: column; justify-content: space-between; background: var(--core-deep); color: white; }
.goal-single-path span { font: 700 10px/1 Arial, sans-serif; letter-spacing: .14em; }.goal-single-path i { width: 1px; flex: 1; margin: 24px 0; background: var(--core-rust); }
.goal-single-path strong { font-size: clamp(36px, 4vw, 68px); font-weight: 400; line-height: 1; }
.goal-single-card article { padding: 38px 0; }.goal-single-card article > span { color: var(--core-rust); font: 700 10px/1 Arial, sans-serif; }
.goal-single-card h3 { margin: 30px 0; font-size: clamp(34px, 3.5vw, 58px); line-height: 1.05; font-weight: 400; }
.goal-hair { background: var(--core-mint); }
.goal-hair-signal { height: 350px; position: relative; display: grid; grid-template-columns: repeat(3, 1fr); align-items: end; gap: 12px; }
.goal-hair-signal i { height: 40%; border-radius: 50% 50% 0 0; background: var(--core-rust); }.goal-hair-signal i:nth-child(2) { height: 70%; }.goal-hair-signal i:nth-child(3) { height: 95%; }
.goal-hair-signal strong { position: absolute; left: 30px; top: 30px; color: white; font-size: clamp(28px, 3vw, 52px); font-weight: 400; }
.goal-vascular-signal { position: relative; min-height: 340px; border: 1px solid var(--core-line); display: grid; place-items: center; }
.goal-vascular-signal span { position: absolute; left: 30px; top: 30px; font: 700 10px/1 Arial, sans-serif; letter-spacing: .13em; }
.goal-vascular-signal i { width: 70%; height: 1px; background: var(--core-rust); transform: rotate(-14deg); }
.goal-vascular-signal strong { position: absolute; right: 28px; bottom: 28px; max-width: 340px; font-size: clamp(28px, 3vw, 50px); font-weight: 400; }
.goal-mixed-path { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1px; background: rgba(255,255,255,.3); margin-bottom: 60px; }
.goal-mixed-path span, .goal-mixed-path strong { min-height: 180px; padding: 26px; display: flex; align-items: flex-end; background: var(--core-deep); border: 1px solid rgba(255,255,255,.25); font-size: clamp(18px, 2vw, 32px); font-weight: 400; }
.goal-mixed-path strong { grid-column: 1 / -1; min-height: 110px; color: #e9b5a6; }

/* Tratamientos */
.core-hero-treatments { background: #385c62; }
.treatment-route-index { position: relative; z-index: 3; grid-column: 1 / -1; display: grid; grid-template-columns: minmax(150px,.28fr) 1fr; gap: clamp(28px,5vw,76px); align-items: center; padding: 34px max(32px,calc((100vw - 1280px)/2)); background: #edf1ed; color: var(--core-ink); }
.treatment-route-index > strong { font-size: clamp(38px,4vw,62px); font-weight: 400; }
.treatment-route-index > div { display: flex; flex-wrap: wrap; gap: 15px clamp(24px,3vw,46px); }
.treatment-route-index span { display: inline-flex; gap: 10px; align-items: baseline; font: clamp(16px,1.4vw,21px)/1.2 Georgia, serif; }
.treatment-route-index b { color: var(--core-rust); font: 700 9px/1 Arial,sans-serif; letter-spacing: .08em; }
.treatment-area-index { background: white; }
.treatment-territories { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); gap: 18px; }
.treatment-territories article { min-height: 420px; padding: 32px; border: 1px solid var(--core-line); display: flex; flex-direction: column; }
.treatment-territories article > span { color: var(--core-rust); font: 700 10px/1 Arial, sans-serif; }
.treatment-territories h2 { margin: 54px 0 28px; font-size: clamp(28px, 2.7vw, 48px); line-height: 1.02; font-weight: 400; }
.treatment-territories .core-area-copy { margin-top: auto; }
.treatment-territories .core-area-copy p, .treatment-territories .core-area-copy li { font-size: 15px; line-height: 1.5; }
.area-1 { grid-column: span 7; background: var(--core-rose); }.area-2 { grid-column: span 5; background: var(--core-blue); }
.area-3 { grid-column: span 4; }.area-4 { grid-column: span 4; background: var(--core-mint); }.area-5 { grid-column: span 4; }
.area-6 { grid-column: span 5; background: var(--core-blue); }.area-7 { grid-column: span 7; background: var(--core-rose); }
.treatment-function-map { display: flex; align-items: center; gap: 20px; margin-bottom: 64px; }
.treatment-function-map span, .treatment-function-map strong { flex: 1; min-height: 120px; padding: 22px; display: flex; align-items: center; border: 1px solid rgba(255,255,255,.4); font-size: clamp(18px, 2vw, 34px); font-weight: 400; }
.treatment-function-map i { width: 60px; height: 1px; background: var(--core-rust); }

/* Guías */
.core-hero-guides { background: #8c5f52; }
.guide-intent-line { position: relative; z-index: 3; grid-column: 1 / -1; display: grid; grid-template-columns: minmax(190px,.36fr) 1fr; gap: clamp(28px,5vw,76px); align-items: center; padding: 34px max(32px,calc((100vw - 1280px)/2)); background: #f0e0dc; color: var(--core-ink); }
.guide-intent-line > strong { font-size: clamp(36px,4vw,60px); font-weight: 400; }
.guide-intent-line > div { display: grid; grid-template-columns: auto 1fr auto 1fr auto 1fr auto; gap: clamp(10px,2vw,28px); align-items: center; }
.guide-intent-line span { display: inline-grid; gap: 8px; font: clamp(16px,1.4vw,21px)/1.2 Georgia,serif; }
.guide-intent-line b { color: var(--core-rust); font: 700 9px/1 Arial,sans-serif; letter-spacing: .08em; }
.guide-intent-line i { height: 1px; background: var(--core-rust); }
.guide-find { background: var(--core-rose); }
.guide-lenses { display: grid; grid-template-columns: repeat(10, minmax(0, 1fr)); gap: 16px; }
.guide-lenses article { grid-column: span 4; min-height: 330px; padding: 30px; border: 1px solid var(--core-line); background: rgba(255,255,255,.45); }
.guide-lenses article:nth-child(2), .guide-lenses article:nth-child(4) { grid-column: span 3; }
.guide-lenses article > span { color: var(--core-rust); font: 700 10px/1 Arial, sans-serif; }
.guide-lenses h3 { margin: 60px 0 22px; font-size: clamp(26px, 2.4vw, 42px); line-height: 1.06; font-weight: 400; }
.guide-question { display: flex; align-items: center; gap: 18px; margin-bottom: 70px; }
.guide-question span, .guide-question strong { flex: 1; min-height: 130px; display: grid; place-items: center; padding: 20px; border: 1px solid var(--core-line); text-align: center; font: 700 11px/1.4 Arial, sans-serif; letter-spacing: .1em; }
.guide-question i { width: 38px; height: 1px; background: var(--core-rust); }
.guide-launch { background: var(--core-blue); }
.guide-launch-board { display: grid; grid-template-columns: repeat(3, 1fr); gap: 18px; }
.guide-launch-board span, .guide-launch-board strong { grid-column: 1 / -1; }.guide-launch-board span { font: 700 10px/1 Arial, sans-serif; letter-spacing: .14em; }
.guide-launch-board strong { max-width: 900px; font-size: clamp(32px, 4vw, 66px); line-height: 1.05; font-weight: 400; }
.guide-launch-board i { height: 190px; border: 1px dashed var(--core-line); background: rgba(255,255,255,.32); }
.guide-decision-path { display: grid; grid-template-columns: repeat(3, 1fr); gap: 12px; margin-bottom: 64px; }
.guide-decision-path span, .guide-decision-path strong { min-height: 120px; display: flex; align-items: flex-end; padding: 22px; border: 1px solid rgba(255,255,255,.35); font-size: clamp(18px, 2vw, 30px); font-weight: 400; }
.guide-decision-path strong { grid-column: 1 / -1; color: #e6ad9d; }

/* Reserva interna */
.core-internal-banner { padding: 14px 4vw; display: flex; justify-content: space-between; gap: 20px; background: #7a3f34; color: white; font: 10px/1.4 Arial, sans-serif; letter-spacing: .11em; }
.core-hero-reserve { background: #6d6057; }
.reserve-blueprint { position: absolute; z-index: 3; right: 3vw; bottom: 40px; width: min(38vw, 600px); display: flex; align-items: center; }
.reserve-blueprint span, .reserve-blueprint strong { flex: 1; padding: 16px; border: 1px solid rgba(255,255,255,.4); background: rgba(24,60,70,.8); font: 12px/1.2 Arial, sans-serif; }.reserve-blueprint i { width: 24px; height: 1px; background: white; }
.reserve-service-card { max-width: 900px; padding: 48px; border: 1px solid var(--core-line); background: var(--core-rose); }.reserve-service-card > span { font: 700 10px/1 Arial, sans-serif; letter-spacing: .14em; }
.reserve-internal-state { padding: 60px; display: grid; gap: 24px; background: var(--core-blue); border: 1px dashed var(--core-ink); }
.reserve-internal-state span { font: 700 10px/1 Arial, sans-serif; letter-spacing: .14em; }.reserve-internal-state strong { max-width: 900px; font-size: clamp(38px, 5vw, 80px); font-weight: 400; line-height: 1; }.reserve-internal-state p { font: 18px/1.55 Arial, sans-serif; }
.reserve-two-moments { display: grid; grid-template-columns: 1fr 100px 1fr; align-items: center; margin-bottom: 60px; }
.reserve-two-moments article { min-height: 270px; padding: 32px; display: flex; flex-direction: column; justify-content: space-between; border: 1px solid var(--core-line); }
.reserve-two-moments article span { font: 700 10px/1 Arial, sans-serif; letter-spacing: .13em; }.reserve-two-moments article strong { font-size: clamp(30px, 3.5vw, 58px); font-weight: 400; }.reserve-two-moments > i { height: 1px; background: var(--core-rust); }
.reserve-care { background: var(--core-mint); }
.reserve-care-ring { width: min(70vw, 720px); aspect-ratio: 1; border: 1px solid var(--core-line); border-radius: 50%; margin: 0 auto 70px; position: relative; }
.reserve-care-ring span, .reserve-care-ring strong { position: absolute; padding: 10px 14px; background: var(--core-deep); color: white; font: 12px/1.2 Arial, sans-serif; }.reserve-care-ring span:nth-child(1) { left: 3%; top: 22%; }.reserve-care-ring span:nth-child(2) { right: 2%; top: 25%; }.reserve-care-ring span:nth-child(3) { left: 7%; bottom: 21%; }.reserve-care-ring span:nth-child(4) { right: 3%; bottom: 20%; }.reserve-care-ring strong { left: 40%; top: 46%; font-family: Georgia, serif; font-size: 28px; }
.reserve-future-flow { display: flex; align-items: center; margin-bottom: 60px; }.reserve-future-flow span, .reserve-future-flow strong { flex: 1; min-height: 130px; padding: 20px; display: flex; align-items: center; border: 1px solid var(--core-line); font-size: clamp(17px, 1.7vw, 28px); font-weight: 400; }.reserve-future-flow i { width: 30px; height: 1px; background: var(--core-rust); }

/* Valoración */
.core-hero-valuation { background: #456c70; }
.valuation-bridge { position: absolute; z-index: 3; right: 3vw; bottom: 40px; width: min(39vw, 620px); display: grid; grid-template-columns: 1fr 80px 1fr; align-items: center; }
.valuation-bridge span, .valuation-bridge strong { min-height: 140px; padding: 24px; display: flex; align-items: center; background: rgba(24,60,70,.86); border: 1px solid rgba(255,255,255,.45); font-size: clamp(18px, 2vw, 34px); font-weight: 400; }.valuation-bridge i { height: 1px; background: white; }
.valuation-statement { margin-bottom: 64px; padding: 40px; border-left: 8px solid var(--core-rust); background: var(--core-rose); }.valuation-statement span { display: block; margin-bottom: 24px; font: 700 10px/1 Arial, sans-serif; letter-spacing: .14em; }.valuation-statement strong { font-size: clamp(38px, 5vw, 82px); font-weight: 400; line-height: 1.02; }
.valuation-before { background: var(--core-blue); }
.valuation-inputs { display: grid; grid-template-columns: repeat(4, 1fr); gap: 12px; margin-bottom: 68px; }.valuation-inputs span, .valuation-inputs strong { min-height: 150px; padding: 24px; display: flex; align-items: flex-end; background: white; border: 1px solid var(--core-line); font: 22px/1.2 Georgia, serif; }.valuation-inputs strong { grid-column: 1 / -1; min-height: 90px; background: var(--core-deep); color: white; }
.valuation-session { display: flex; align-items: center; margin-bottom: 64px; }.valuation-session span, .valuation-session strong { flex: 1; min-height: 130px; padding: 18px; display: grid; place-items: center; text-align: center; border: 1px solid var(--core-line); font: 22px/1.2 Georgia, serif; }.valuation-session i { width: 35px; height: 1px; background: var(--core-rust); }
.valuation-output { display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; margin-bottom: 60px; }.valuation-output article { min-height: 250px; padding: 28px; display: flex; flex-direction: column; justify-content: space-between; background: var(--core-mint); }.valuation-output span { color: var(--core-rust); font: 700 10px/1 Arial, sans-serif; }.valuation-output strong { font-size: clamp(26px, 2.7vw, 44px); line-height: 1.06; font-weight: 400; }
.valuation-dls { display: grid; grid-template-columns: minmax(300px, .8fr) 1.2fr; gap: 7vw; align-items: center; }.valuation-dls figure { margin: 0; height: 620px; }
.valuation-call { padding: 50px; border: 1px solid rgba(255,255,255,.4); }

/* Doctora */
.core-hero-doctor { grid-template-columns: 48fr 52fr; background: #9a6756; }.core-hero-doctor .core-hero-image { grid-column: 1; grid-row: 1; }.core-hero-doctor .core-hero-copy { grid-column: 2; grid-row: 1; }
.doctor-experience-line { position: relative; z-index: 3; grid-column: 1 / -1; display: flex; align-items: baseline; gap: 22px; padding: 30px max(32px,calc((100vw - 1280px)/2)); background: var(--core-paper); color: var(--core-ink); }
.doctor-experience-line strong { font-size: clamp(48px,6vw,84px); font-weight: 400; }
.doctor-experience-line span { max-width: 190px; font: 700 10px/1.4 Arial,sans-serif; letter-spacing: .12em; }
.doctor-experience-line i { flex: 1; height: 1px; margin-left: 18px; background: var(--core-rust); }
.doctor-time-line { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1px; margin-bottom: 65px; background: var(--core-line); }.doctor-time-line span, .doctor-time-line strong { min-height: 160px; padding: 24px; display: flex; align-items: flex-end; background: white; font-size: clamp(20px, 2.2vw, 36px); font-weight: 400; }.doctor-time-line strong { grid-column: 1 / -1; background: var(--core-rose); }
.doctor-training { background: var(--core-blue); }
.doctor-credentials { display: grid; grid-template-columns: repeat(2, 1fr); gap: 1px; background: var(--core-line); }.doctor-credentials article { min-height: 160px; padding: 26px; display: grid; grid-template-columns: 40px 1fr; gap: 20px; background: white; }.doctor-credentials span { color: var(--core-rust); font: 700 10px/1 Arial, sans-serif; }.doctor-credentials p { margin: 0; font: clamp(18px, 1.55vw, 25px)/1.4 Georgia, serif; }
.doctor-criteria { display: flex; align-items: center; margin-bottom: 64px; }.doctor-criteria span, .doctor-criteria strong { flex: 1; min-height: 150px; padding: 22px; display: grid; place-items: center; text-align: center; border: 1px solid var(--core-line); font-size: clamp(18px, 2vw, 32px); font-weight: 400; }.doctor-criteria i { width: 30px; height: 1px; background: var(--core-rust); }
.core-pending { position: relative; min-height: 420px; padding: 46px; display: flex; flex-direction: column; justify-content: space-between; border: 1px dashed var(--core-ink); background: repeating-linear-gradient(135deg, transparent, transparent 32px, rgba(38,75,86,.04) 32px, rgba(38,75,86,.04) 64px); }.core-pending span { font: 700 10px/1 Arial, sans-serif; letter-spacing: .14em; }.core-pending strong { max-width: 900px; font-size: clamp(40px, 5vw, 78px); line-height: 1; font-weight: 400; }.core-pending p { max-width: 560px; font: 17px/1.5 Arial, sans-serif; }.core-pending i { position: absolute; width: 110px; height: 110px; border: 1px solid var(--core-rust); border-radius: 50%; right: 40px; top: 40px; }

/* Clínica */
.core-hero-clinic { background: #4d6864; }
.clinic-principles { position: relative; z-index: 3; grid-column: 1 / -1; display: grid; grid-template-columns: minmax(260px,.52fr) 1fr; gap: clamp(28px,5vw,76px); align-items: center; padding: 36px max(32px,calc((100vw - 1280px)/2)); background: #e5ece6; color: var(--core-ink); }
.clinic-principles > strong { font-size: clamp(34px,4vw,58px); font-weight: 400; }
.clinic-principles > div { display: grid; grid-template-columns: repeat(4,1fr); gap: 28px; }
.clinic-principles span { padding-bottom: 10px; border-bottom: 1px solid var(--core-rust); font: clamp(15px,1.35vw,20px)/1.2 Georgia,serif; }
.clinic-areas { background: var(--core-mint); }.clinic-area-field { display: grid; grid-template-columns: repeat(4, 1fr); gap: 12px; margin-bottom: 62px; }.clinic-area-field span { min-height: 120px; padding: 20px; display: flex; align-items: flex-end; background: white; border: 1px solid var(--core-line); font: clamp(17px, 1.5vw, 24px)/1.25 Georgia, serif; }
.clinic-space-grid { display: grid; grid-template-columns: 1.25fr .75fr; gap: 18px; margin-bottom: 64px; }.clinic-space-grid figure { position: relative; margin: 0; height: 520px; }.clinic-space-grid figcaption { position: absolute; left: 20px; bottom: 20px; padding: 9px 14px; background: var(--core-deep); color: white; font: 11px/1 Arial, sans-serif; }
.clinic-location-section { background: var(--core-blue); }.clinic-location { position: relative; min-height: 380px; padding: 44px; margin-bottom: 65px; display: flex; flex-direction: column; justify-content: space-between; border: 1px solid var(--core-line); background: white; }.clinic-location span { font: 700 10px/1 Arial, sans-serif; letter-spacing: .14em; }.clinic-location strong { max-width: 980px; font-size: clamp(38px, 5vw, 82px); line-height: 1; font-weight: 400; }.clinic-location i { position: absolute; right: 7%; top: 22%; width: 150px; height: 150px; border: 1px solid var(--core-rust); border-radius: 50%; }.clinic-location i::after { content: ""; position: absolute; left: 50%; top: 50%; width: 1px; height: 220px; background: var(--core-rust); transform: translate(-50%,-50%) rotate(35deg); }
.clinic-people-links { display: grid; grid-template-columns: minmax(280px, .7fr) 1.3fr; gap: 7vw; align-items: center; }.clinic-people-links figure { height: 580px; margin: 0; }

/* Método */
.core-hero-method { background: #315861; }
.method-hero-sequence { position: relative; z-index: 3; grid-column: 1 / -1; display: grid; grid-template-columns: auto 1fr auto 1fr auto 1fr auto; gap: clamp(12px,2vw,28px); align-items: center; padding: 34px max(32px,calc((100vw - 1280px)/2)); background: var(--core-paper); color: var(--core-ink); }
.method-hero-sequence span, .method-hero-sequence strong { display: grid; gap: 8px; font: clamp(17px,1.55vw,24px)/1.2 Georgia,serif; font-weight: 400; }
.method-hero-sequence b { color: var(--core-rust); font: 700 9px/1 Arial,sans-serif; letter-spacing: .08em; }
.method-hero-sequence i { height: 1px; background: var(--core-rust); }
.method-five { background: var(--core-rose); }.method-steps { display: grid; grid-template-columns: repeat(12, 1fr); gap: 16px; }.method-steps article { min-height: 390px; padding: 28px; background: white; display: flex; flex-direction: column; }.method-steps article:nth-child(1), .method-steps article:nth-child(2) { grid-column: span 6; }.method-steps article:nth-child(n+3) { grid-column: span 4; }.method-steps article > span { color: var(--core-rust); font: 700 10px/1 Arial, sans-serif; }.method-steps h3 { margin: 52px 0 26px; font-size: clamp(27px, 2.7vw, 46px); line-height: 1.04; font-weight: 400; }
.method-capability { display: grid; grid-template-columns: repeat(3, 1fr); gap: 12px; margin-bottom: 64px; }.method-capability span, .method-capability strong { min-height: 140px; padding: 22px; display: flex; align-items: flex-end; border: 1px solid var(--core-line); font-size: clamp(20px, 2.2vw, 34px); font-weight: 400; }.method-capability strong { grid-column: 1 / -1; min-height: 100px; background: var(--core-mint); }
.method-one-start { display: grid; grid-template-columns: 1fr 100px 1fr; align-items: center; margin-bottom: 60px; }.method-one-start span, .method-one-start strong { min-height: 150px; padding: 24px; display: grid; place-items: center; border: 1px solid rgba(255,255,255,.4); font: 700 11px/1.3 Arial, sans-serif; letter-spacing: .12em; }.method-one-start strong { font-family: Georgia, serif; font-size: clamp(30px, 3vw, 50px); font-weight: 400; }.method-one-start i { height: 1px; background: var(--core-rust); }

/* Contacto */
.core-hero-contact { grid-template-columns: 50fr 50fr; background: #9c6b5b; }
.contact-hero-details { position: relative; z-index: 3; grid-column: 1 / -1; display: grid; grid-template-columns: repeat(10,minmax(0,1fr)); padding: 0 max(32px,calc((100vw - 1280px)/2)); background: #f0e0dc; color: var(--core-ink); }
.contact-hero-details article { min-height: 130px; padding: 26px 28px; display: flex; flex-direction: column; justify-content: space-between; border-left: 1px solid rgba(38,75,86,.24); }
.contact-hero-details article:last-child { border-right: 1px solid rgba(38,75,86,.24); }
.contact-hero-details span { font: 700 9px/1 Arial,sans-serif; letter-spacing: .13em; color: var(--core-rust); }
.contact-hero-details strong, .contact-hero-details a { color: inherit; font: clamp(17px,1.55vw,24px)/1.25 Georgia,serif; font-weight: 400; text-decoration: none; }
.contact-fact-phone { grid-column: span 3; background: var(--core-deep); color: white; }
.contact-fact-phone span { color: var(--core-coral); }
.contact-fact-phone a { font-size: clamp(25px,2.4vw,38px); }
.contact-fact-whatsapp { grid-column: span 2; }
.contact-fact-location { grid-column: span 2; }
.contact-fact-location strong { font-size: clamp(13px,1.15vw,17px); }
.contact-fact-hours { grid-column: span 3; }
.contact-fact-hours strong { font-size: clamp(14px,1.3vw,19px); }
.contact-choice-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 18px; }.contact-choice-grid article { min-height: 380px; padding: 36px; display: flex; flex-direction: column; align-items: flex-start; background: var(--core-rose); }.contact-choice-grid article:nth-child(2) { background: var(--core-blue); }.contact-choice-grid article > span { color: var(--core-rust); font: 700 10px/1 Arial, sans-serif; }.contact-choice-grid h3 { margin: 70px 0 25px; font-size: clamp(30px, 3.4vw, 58px); line-height: 1.02; font-weight: 400; }.contact-choice-grid .core-action { margin-top: auto; }
.contact-location { background: var(--core-mint); }.contact-map { position: relative; min-height: 470px; padding: 44px; display: flex; flex-direction: column; justify-content: space-between; background: white; border: 1px dashed var(--core-ink); }.contact-map span { font: 700 10px/1 Arial, sans-serif; letter-spacing: .14em; }.contact-map strong { max-width: 900px; font-size: clamp(38px, 5vw, 80px); line-height: 1; font-weight: 400; }.contact-map p { font: 18px/1.4 Arial, sans-serif; }.contact-map i { position: absolute; right: 8%; top: 16%; width: 170px; height: 170px; border: 1px solid var(--core-rust); border-radius: 50%; }.contact-map i::before, .contact-map i::after { content: ""; position: absolute; left: 50%; top: 50%; background: var(--core-rust); transform: translate(-50%,-50%); }.contact-map i::before { width: 1px; height: 240px; }.contact-map i::after { height: 1px; width: 240px; }
.contact-direct { margin-top: 24px; display: grid; grid-template-columns: 1.2fr .8fr .9fr; gap: 12px; }.contact-direct a { min-height: 104px; padding: 24px; display: flex; flex-direction: column; justify-content: space-between; color: white; text-decoration: none; }.contact-direct span { font: 700 9px/1 Arial,sans-serif; letter-spacing: .13em; text-transform: uppercase; }.contact-direct strong { font: 400 clamp(20px,2.2vw,32px)/1.15 Georgia,serif; }.contact-direct-phone { background: var(--core-deep); }.contact-direct-whatsapp, .contact-direct-email { border: 1px solid var(--core-deep); background: white; color: var(--core-deep) !important; }.contact-direct-whatsapp strong { font-size: clamp(17px,1.8vw,26px); }.contact-direct-email strong { font-size: clamp(14px,1.45vw,20px); }

.core-faq { background: white; }.core-faq-grid { max-width: 1150px; margin-left: auto; }.core-faq-grid details { border-top: 1px solid var(--core-line); }.core-faq-grid summary { padding: 26px 0; display: grid; grid-template-columns: 54px 1fr; gap: 20px; cursor: pointer; list-style: none; font: clamp(22px, 2.4vw, 38px)/1.2 Georgia, serif; }.core-faq-grid summary::-webkit-details-marker { display: none; }.core-faq-grid summary span { padding-top: 8px; color: var(--core-rust); font: 700 10px/1 Arial, sans-serif; }.core-faq-answer { padding: 0 0 30px 74px; max-width: 820px; }.core-faq-answer p { margin: 0 0 13px; font: 17px/1.6 Arial, sans-serif; }

@media (max-width: 1100px) {
  .core-header { grid-template-columns: 150px 1fr auto; }.core-main-nav { display: none; }
  .core-hero { grid-template-columns: 1fr 42%; }.core-hero-copy { padding: 80px 46px; }.core-hero h1 { font-size: clamp(54px, 7.5vw, 86px); }
  .core-page-menu nav, .core-contents nav { grid-template-columns: repeat(2, 1fr); }
  .goal-face-grid { grid-template-columns: repeat(2, 1fr); }.goal-face-grid article, .goal-face-grid article:first-child, .goal-face-grid article:nth-child(2), .goal-face-grid article:nth-child(3), .goal-face-grid article:nth-child(4), .goal-face-grid article:nth-child(5) { grid-column: auto; }
  .treatment-territories article { grid-column: span 6; }
  .guide-lenses { grid-template-columns: repeat(2, 1fr); }.guide-lenses article, .guide-lenses article:nth-child(2), .guide-lenses article:nth-child(4) { grid-column: auto; }
  .clinic-area-field { grid-template-columns: repeat(2, 1fr); }
  .method-steps { grid-template-columns: repeat(2, 1fr); }.method-steps article, .method-steps article:nth-child(1), .method-steps article:nth-child(2), .method-steps article:nth-child(n+3) { grid-column: auto; }
}

@media (max-width: 700px) {
  .core-header { position: relative; min-height: 74px; grid-template-columns: 120px 1fr; padding: 12px 20px; }.core-brand { width: 105px; }.core-header-cta { justify-self: end; padding: 10px 12px; font-size: 8px; }.core-page-menu { grid-column: 1 / -1; }.core-page-menu nav, .core-contents nav { grid-template-columns: 1fr; }
  .core-page-menu summary { font-size: 15px; }.core-page-menu nav a { min-height: 54px; }
  .core-hero { min-height: auto; display: flex; flex-direction: column; overflow: hidden; }.core-hero-copy { order: 2; padding: 58px 24px 66px; }.core-hero h1 { margin-bottom: 28px; font-size: clamp(50px, 15vw, 74px); line-height: .96; }.core-hero-text p { font-size: 16px; line-height: 1.55; }.core-hero-text p:first-child { font-size: 25px; }.core-hero-image { order: 1; min-height: 420px; height: 54vh; }.core-hero-image::after { background: linear-gradient(0deg, rgba(24,60,70,.35), transparent); }.core-hero-image figcaption { right: 16px; bottom: 14px; }
  .goal-constellation, .reserve-blueprint, .valuation-bridge { position: relative; order: 3; right: auto; left: auto; bottom: auto; width: calc(100% - 48px); margin: -34px auto 34px; }
  .goal-constellation { aspect-ratio: 1; }.reserve-blueprint { display: grid; grid-template-columns: 1fr; }.reserve-blueprint i { width: 1px; height: 20px; justify-self: center; }.reserve-blueprint span, .reserve-blueprint strong { min-height: 70px; }.valuation-bridge { grid-template-columns: 1fr; }.valuation-bridge i { width: 1px; height: 28px; justify-self: center; }.valuation-bridge span, .valuation-bridge strong { min-height: 90px; }
  .treatment-route-index, .guide-intent-line, .doctor-experience-line, .clinic-principles, .method-hero-sequence, .contact-hero-details { order: 3; width: 100%; }
  .treatment-route-index, .guide-intent-line, .clinic-principles { grid-template-columns: 1fr; padding: 32px 24px; }
  .treatment-route-index > div { display: grid; grid-template-columns: repeat(2,1fr); gap: 15px 20px; }
  .guide-intent-line > div, .method-hero-sequence { grid-template-columns: 1fr; }
  .guide-intent-line i, .method-hero-sequence i { width: 28px; height: 1px; }
  .doctor-experience-line { padding: 28px 24px; }
  .clinic-principles > div { grid-template-columns: repeat(2,1fr); }
  .method-hero-sequence { gap: 18px; padding: 32px 24px; }
  .contact-hero-details { grid-template-columns: 1fr; padding: 0 24px; }
  .contact-hero-details article, .contact-fact-phone, .contact-fact-whatsapp, .contact-fact-location, .contact-fact-hours { grid-column: 1; min-height: 112px; padding: 24px 0; border-left: 0; border-bottom: 1px solid rgba(38,75,86,.24); }
  .contact-fact-phone { margin-inline: -24px; padding-inline: 24px !important; }
  .contact-hero-details article:last-child { border-right: 0; }
  .core-contents summary { min-height: 68px; padding: 0 24px; }.core-contents summary span { font-size: 20px; }.core-contents nav { padding: 0 24px 22px; }
  .core-section { padding: 82px 0; }.core-shell { width: calc(100% - 40px); }.core-head { grid-template-columns: 38px 1fr; gap: 10px; margin-bottom: 50px; }.core-head h2 { font-size: clamp(32px, 9vw, 46px); line-height: 1.05; }.core-head span { font-size: 9px; }
  .core-prose p { font-size: 16px; line-height: 1.6; }.core-lead { font-size: 25px !important; }
  .core-footer { grid-template-columns: 1fr; gap: 28px; padding: 50px 24px; }.core-footer nav { grid-column: 1; flex-direction: column; }
  .goal-face-grid, .goal-body-grid, .goal-weight .core-shell, .goal-hair .core-shell, .goal-vascular .core-shell, .goal-mixed-path { grid-template-columns: 1fr; }.goal-weight .core-head, .goal-hair .core-head, .goal-vascular .core-head { grid-column: 1; }.goal-face-grid article, .goal-body-grid article { min-height: 300px; padding: 28px; }.goal-face-grid h3, .goal-body-grid h3 { margin-top: 42px; }.goal-mixed-path strong { grid-column: 1; }
  .treatment-territories { display: block; }.treatment-territories article { min-height: 340px; margin-bottom: 14px; }.treatment-function-map, .guide-question, .valuation-session, .doctor-criteria, .reserve-future-flow { flex-direction: column; align-items: stretch; }.treatment-function-map i, .guide-question i, .valuation-session i, .doctor-criteria i, .reserve-future-flow i { width: 1px; height: 26px; align-self: center; }.treatment-function-map span, .treatment-function-map strong, .guide-question span, .guide-question strong, .valuation-session span, .valuation-session strong, .doctor-criteria span, .doctor-criteria strong, .reserve-future-flow span, .reserve-future-flow strong { min-height: 90px; }
  .guide-lenses, .guide-launch-board, .guide-decision-path, .valuation-inputs, .valuation-output, .doctor-credentials, .clinic-area-field, .method-steps, .method-capability, .contact-choice-grid, .contact-direct { grid-template-columns: 1fr; }.guide-launch-board span, .guide-launch-board strong, .guide-decision-path strong, .valuation-inputs strong, .method-capability strong { grid-column: 1; }.guide-lenses article { min-height: 290px; }.guide-launch-board i { height: 120px; }
  .core-internal-banner { flex-direction: column; }.reserve-two-moments, .method-one-start { grid-template-columns: 1fr; }.reserve-two-moments > i, .method-one-start i { width: 1px; height: 30px; justify-self: center; }.reserve-service-card, .reserve-internal-state { padding: 30px; }.reserve-care-ring { width: 92vw; margin-left: -10px; }.reserve-care-ring strong { left: 34%; }
  .valuation-dls, .clinic-space-grid, .clinic-people-links { grid-template-columns: 1fr; }.valuation-dls figure, .clinic-space-grid figure, .clinic-people-links figure { height: 440px; }.valuation-statement { padding: 28px 22px; }.valuation-output article { min-height: 190px; }
  .doctor-time-line { grid-template-columns: 1fr; }.doctor-time-line strong { grid-column: 1; }.doctor-credentials article { grid-template-columns: 30px 1fr; }.core-pending { min-height: 360px; padding: 30px 24px; }.core-pending i { width: 70px; height: 70px; right: 22px; top: 22px; }
  .clinic-location, .contact-map { min-height: 380px; padding: 28px 22px; }.clinic-location i, .contact-map i { width: 90px; height: 90px; right: 10%; top: 12%; }.clinic-location i::after { height: 140px; }.contact-map i::before { height: 150px; }.contact-map i::after { width: 150px; }
  .method-steps article { min-height: 320px; }.contact-choice-grid article { min-height: 320px; padding: 28px; }.contact-choice-grid h3 { margin-top: 50px; }
  .core-faq-grid summary { grid-template-columns: 34px 1fr; font-size: 23px; }.core-faq-answer { padding-left: 44px; }
}
