/* Final real-photo selection: preserve faces; never enlarge the 600px reception. */
.boutique-edition.site-complete .continuity-art img { object-position: 50% 22%; }
@media (min-width: 601px) {
  .boutique-edition.site-complete .continuity-art { min-height: clamp(560px, 50vw, 780px); }
  .boutique-edition.site-complete .continuity-art img { position: absolute; inset: 0; object-position: 50% 18%; }
}
.boutique-edition.site-complete .gallery-dialog > img[src*="/clinica-1-"] {
  display: block;
  width: min(100%, 600px);
  height: auto;
  max-height: 400px;
  margin-inline: auto;
}
.boutique-edition.site-complete .clinic-tour .gallery-item[data-clinic-photo="1"] img {
  width: min(100%, 600px);
  max-width: 600px;
  aspect-ratio: 1.5;
  object-fit: contain;
  margin-inline: auto;
}
.boutique-edition.site-complete .clinic-tour .gallery-item:is([data-clinic-photo="2"], [data-clinic-photo="3"]) img {
  object-fit: cover;
  object-position: 50% 72%;
}
@media (max-width: 600px) {
  .boutique-edition.site-complete .continuity-art { height: auto; aspect-ratio: 1.05; }
  .boutique-edition.site-complete .continuity-art img { position: absolute; inset: 0; object-position: 50% 18%; }
}

/* REA-informed proportions, implemented locally. Deliberately no hero,
   header, mirror, biography-cover or global typography selectors. */
.boutique-edition.site-complete .sample-care .sample-heading {
  display: block;
  margin-bottom: 48px;
}
.boutique-edition.site-complete .sample-care .sample-heading h2 {
  max-width: 14ch;
  margin-bottom: 28px;
}
.boutique-edition.site-complete .sample-care .sample-heading p { max-width: 42ch; }
.boutique-edition.site-complete .boutique-steps {
  position: relative;
  display: block;
  padding-left: 28px;
}
.boutique-edition.site-complete .boutique-steps article,
.boutique-edition.site-complete .boutique-steps article + article {
  display: grid;
  grid-template-columns: 64px minmax(0, 1fr);
  gap: 24px;
  padding: 36px 0;
  margin: 0;
  border: 0;
  border-bottom: 1px solid #7b644133;
  border-radius: 0;
  background: transparent;
}
.boutique-edition.site-complete .boutique-steps article:first-child { padding-top: 8px; }
.boutique-edition.site-complete .boutique-steps article:last-of-type { border-bottom: 0; padding-bottom: 8px; }
.boutique-edition.site-complete .boutique-steps article::after { display: none; }
.boutique-edition.site-complete .boutique-steps article:hover { transform: none; }
.boutique-edition.site-complete .boutique-steps .step-top {
  display: block;
  align-self: start;
  margin: 0;
}
.boutique-edition.site-complete .boutique-steps .sample-number { font-size: 58px; }
.boutique-edition.site-complete .boutique-steps .step-rule { display: block; margin-top: 18px; width: 38px; }
.boutique-edition.site-complete .boutique-steps h3 { max-width: 21ch; margin: 0 0 18px; }
.boutique-edition.site-complete .boutique-steps p { max-width: 44ch; }
.boutique-edition.site-complete .journey-rail {
  position: absolute;
  inset: 0 auto 0 0;
  width: 2px;
  background: #7b644126;
  pointer-events: none;
}
.boutique-edition.site-complete .journey-progress {
  display: block;
  width: 100%;
  height: 100%;
  background: #7b6441;
  transform: scaleY(var(--journey-progress, .06));
  transform-origin: top;
}
.boutique-edition.site-complete .boutique-steps article[data-reading="current"] .sample-number { color: #163d2f; }

/* Two photographic chapters, not another row of matching cards. */
.boutique-edition.site-complete .sample-features {
  grid-template-columns: minmax(0, 1fr);
  gap: clamp(64px, 7vw, 112px);
}
.boutique-edition.site-complete .sample-feature,
.boutique-edition.site-complete .sample-feature:nth-child(even) {
  display: grid;
  grid-template-columns: minmax(0, 1.15fr) minmax(0, .85fr);
  gap: clamp(32px, 5vw, 80px);
  align-items: center;
  border: 0;
  border-radius: 0;
  background: transparent;
  overflow: visible;
}
.boutique-edition.site-complete .sample-feature:nth-child(even) { grid-template-columns: minmax(0, .85fr) minmax(0, 1.15fr); }
.boutique-edition.site-complete .sample-feature::after { display: none; }
.boutique-edition.site-complete .sample-feature .sample-photo,
.boutique-edition.site-complete .sample-feature.area-hormonal .sample-photo {
  aspect-ratio: 1.08;
  border-radius: 14px;
  overflow: hidden;
}
.boutique-edition.site-complete .sample-feature:nth-child(even) .sample-photo { order: 2; }
.boutique-edition.site-complete .sample-feature .sample-area-copy { padding: 16px 0; }
.boutique-edition.site-complete .sample-feature h3 {
  font-size: clamp(42px, 4.2vw, 64px);
  line-height: 1.04;
  max-width: 16ch;
  text-wrap: balance;
  margin-block: 24px;
}
.boutique-edition.site-complete .sample-feature p { max-width: 38ch; line-height: 1.75; }
.boutique-edition.site-complete .sample-feature .editorial-link { margin-top: 12px; }

/* Internal chapters share the same photographic edge and generous measure.
   The sports cover is intentionally not included in these selectors. */
.boutique-edition.site-complete .inner-main :is(.inner-heading-photo, .chapter-visual) {
  border-radius: 14px;
  overflow: hidden;
}
.boutique-edition.site-complete .inner-main .inner-heading-photo { aspect-ratio: 1; }
.boutique-edition.site-complete .inner-main .reading-chapter h2 { text-wrap: balance; }
.boutique-edition.site-complete .inner-main .clinic-arrival { border-radius: 14px; }
.boutique-edition.site-complete .inner-main .clinic-gallery-image { border-radius: 14px; overflow: hidden; }

/* A quiet bento rhythm: short entries on warm paper, full-width photographic
   entries and larger category openings. Clinical copy is rendered unchanged. */
.boutique-edition.site-complete .boutique-catalog .boutique-catalog-group-opening--illustrated {
  gap: 0;
  border-radius: 14px;
  overflow: hidden;
  align-items: stretch;
  background-color: #e9e1d4;
  margin-bottom: 24px;
}
.boutique-edition.site-complete .boutique-catalog .boutique-catalog-group-heading { align-self: center; padding: clamp(28px, 3.5vw, 56px); }
.boutique-edition.site-complete .boutique-catalog .boutique-catalog-category-photo {
  aspect-ratio: 1.1;
  min-height: 100%;
  box-shadow: none;
}
.boutique-edition.site-complete .boutique-catalog .boutique-catalog-grid { gap: 20px; }
.boutique-edition.site-complete .boutique-catalog .boutique-catalog-card {
  padding: clamp(28px, 3vw, 44px);
  background: #eee8de;
  border: 1px solid #7b644114;
  border-radius: 14px;
}
.boutique-edition.site-complete .boutique-catalog .boutique-catalog-card--illustrated {
  gap: 0;
  padding: 0;
  align-items: stretch;
}
.boutique-edition.site-complete .boutique-catalog .boutique-catalog-card--illustrated .boutique-catalog-card-photo {
  aspect-ratio: 1.2;
  min-height: 100%;
}
.boutique-edition.site-complete .boutique-catalog .boutique-catalog-card--illustrated .boutique-catalog-card-content {
  align-self: center;
  padding: clamp(28px, 3vw, 44px);
}
.boutique-edition.site-complete .boutique-catalog .boutique-catalog-card--illustrated h3 { font-size: clamp(34px, 3.4vw, 48px); }
.boutique-edition.site-complete .boutique-catalog .boutique-catalog-card--wide { background: #e4ddcf; }
.boutique-edition.site-complete .boutique-catalog .boutique-catalog-card:target {
  border-color: #765537;
  box-shadow: 0 0 0 1px #765537;
}
.boutique-edition.site-complete .boutique-catalog .boutique-catalog-cta { padding-top: 20px; }
.boutique-edition.site-complete .boutique-catalog .boutique-catalog-cta svg {
  width: 42px;
  height: 42px;
  flex-basis: 42px;
  padding: 10px;
  border: 1px solid #132a234d;
  border-radius: 50%;
}
@media (hover: hover) and (pointer: fine) {
  .boutique-edition.site-complete .boutique-catalog .boutique-catalog-cta:hover svg { background: #e0d5c3; }
}
@media (min-width: 1101px) {
  .boutique-edition.site-complete .sample-care {
    display: grid;
    grid-template-columns: minmax(0, .95fr) minmax(0, 1.05fr);
    gap: 0 8%;
    align-items: start;
  }
  .boutique-edition.site-complete .sample-care .sample-heading { position: sticky; top: 132px; margin: 0; }
  .boutique-edition.site-complete .sample-care .sample-section-end { grid-column: 2; margin-top: 40px; justify-content: start; padding-left: 28px; }
  .boutique-edition.site-complete .inner-main .article-layout { grid-template-columns: 170px minmax(0, 1fr); gap: 6%; }
  .boutique-edition.site-complete .inner-main.aesthetics-page .article-layout { grid-template-columns: minmax(0, 1fr); }
  .boutique-edition.site-complete .inner-main .illustrated-chapter { grid-template-columns: minmax(0, .95fr) minmax(0, 1.05fr); gap: 7%; }
  .boutique-edition.site-complete .inner-main .illustrated-chapter:nth-child(even) { grid-template-columns: minmax(0, 1.05fr) minmax(0, .95fr); }
}
@media (min-width: 1101px) and (max-height: 760px) {
  .boutique-edition.site-complete .sample-care .sample-heading { position: static; }
}
@media (max-width: 899px) {
  .boutique-edition.site-complete .sample-feature,
  .boutique-edition.site-complete .sample-feature:nth-child(even) { display: flex; gap: 24px; }
  .boutique-edition.site-complete .sample-feature:nth-child(even) .sample-photo { order: 0; }
  .boutique-edition.site-complete .sample-feature .sample-area-copy { padding: 0; }
  .boutique-edition.site-complete .sample-feature .sample-photo,
  .boutique-edition.site-complete .sample-feature.area-hormonal .sample-photo { aspect-ratio: 1.12; }
  .boutique-edition.site-complete .sample-feature h3 { font-size: clamp(38px, 7vw, 52px); margin-block: 18px 22px; }
}
@media (max-width: 700px) {
  .boutique-edition.site-complete .boutique-steps { padding-left: 18px; }
  .boutique-edition.site-complete .boutique-steps article,
  .boutique-edition.site-complete .boutique-steps article + article { grid-template-columns: 44px minmax(0, 1fr); gap: 18px; padding-block: 30px; }
  .boutique-edition.site-complete .boutique-steps .sample-number { font-size: 44px; }
  .boutique-edition.site-complete .boutique-steps .step-rule { width: 28px; }
  .boutique-edition.site-complete .boutique-steps h3 { font-size: 31px; }
  .boutique-edition.site-complete .inner-main .inner-heading-photo { aspect-ratio: 1.15; }
  .boutique-edition.site-complete .boutique-catalog .boutique-catalog-category-photo { aspect-ratio: 1.2; min-height: 0; }
  .boutique-edition.site-complete .boutique-catalog .boutique-catalog-group-heading { padding: 28px 24px 36px; }
  .boutique-edition.site-complete .boutique-catalog .boutique-catalog-card { padding: 28px 24px; }
  .boutique-edition.site-complete .boutique-catalog .boutique-catalog-card--illustrated { padding: 0; }
  .boutique-edition.site-complete .boutique-catalog .boutique-catalog-card--illustrated .boutique-catalog-card-content { padding: 28px 24px; }
  .boutique-edition.site-complete .boutique-catalog .boutique-catalog-card--illustrated .boutique-catalog-card-photo { min-height: 0; aspect-ratio: 1.2; }
}
@media (prefers-reduced-motion: no-preference) {
  .boutique-edition.site-complete .journey-progress { transition: transform 450ms cubic-bezier(.2, .7, .2, 1); }
  .boutique-edition.site-complete .boutique-catalog .boutique-catalog-cta svg { transition: background-color 180ms ease-out; }
}
@media (prefers-reduced-motion: reduce) {
  .boutique-edition.site-complete .journey-progress { transform: none; transition: none; }
}
@media print {
  .boutique-edition.site-complete .journey-rail { display: none; }
  .boutique-edition.site-complete .sample-care .sample-heading { position: static; }
}

/* Authorized mirror image replacement, 15 Oct: preserve the person's face and
   gesture on mobile. The disclosure stays outside the photographic crop. */
.boutique-edition .mirror-photo.mirror-persona {
  aspect-ratio: auto;
  overflow: visible;
  background: none;
  border-radius: 0;
}
.boutique-edition .mirror-photo.mirror-persona img {
  height: auto;
  aspect-ratio: 4 / 5;
  object-fit: cover;
  object-position: 50% 50%;
  border-radius: 12px;
}
.boutique-edition .mirror-persona figcaption {
  padding-top: 12px;
  font-size: 14px;
  line-height: 1.5;
  color: #555e54;
  max-width: 46ch;
}

/* Only the two authorized lifestyle scenes: preserve the complete gesture at
   every breakpoint. Disclosure remains outside the image, never over a face. */
.boutique-edition.site-complete .inner-main .reading-chapter .chapter-visual.chapter-persona {
  inline-size: min(100%, 400px);
  justify-self: end;
  aspect-ratio: auto;
  overflow: visible;
  background: none;
  border-radius: 0;
}
.boutique-edition.site-complete .inner-main .chapter-persona img {
  height: auto;
  aspect-ratio: 4 / 5;
  object-fit: cover;
  object-position: 50% 50%;
  border-radius: 14px;
}
.boutique-edition.site-complete .inner-main .chapter-persona figcaption {
  padding-top: 12px;
  font-size: 14px;
  line-height: 1.5;
  color: #555e54;
  max-width: 46ch;
}

/* Lifestyle images support the story instead of becoming another hero. These
   selectors deliberately exclude the approved homepage and real portraits. */
.boutique-edition.site-complete .inner-main .reading-chapter:has(> .chapter-persona) {
  padding-block-end: 48px;
}
.boutique-edition.site-complete .inner-main .reading-chapter:has(> .chapter-persona):not(:last-child) {
  margin-block-end: 48px;
}
@media (min-width: 1101px) {
  .boutique-edition.site-complete .inner-main .reading-chapter:has(> .chapter-persona) {
    grid-template-columns: minmax(0, 1fr) minmax(0, 400px);
    column-gap: clamp(28px, 4vw, 56px);
  }
}
@media (max-width: 1100px) {
  .boutique-edition.site-complete .inner-main .reading-chapter:has(> .chapter-persona) { gap: 24px; }
  .boutique-edition.site-complete .inner-main .reading-chapter .chapter-persona { margin-inline: auto; }
}
@media (max-width: 600px) {
  .boutique-edition.site-complete .inner-main .reading-chapter .chapter-visual.chapter-persona {
    inline-size: min(100%, 300px);
  }
  .boutique-edition.site-complete .inner-main .reading-chapter:has(> .chapter-persona) { padding-block-end: 32px; }
  .boutique-edition.site-complete .inner-main .reading-chapter:has(> .chapter-persona):not(:last-child) { margin-block-end: 32px; }
}

/* The reassurance continues the same story: same column, type and rhythm.
   No separate panel, display heading, divider or supporting photograph. */
.boutique-edition .mirror-copy .mirror-reassurance {
  color: var(--boutique-pine);
  scroll-margin-block-start: calc(var(--header-height) + 32px);
}
.boutique-edition .mirror-reassurance strong {
  font-weight: 600;
}

/* A browsable catalogue: compact entries, one clear action, details on demand. */
#catalogo.catalog-compact .boutique-catalog-group-opening--illustrated,
#catalogo.catalog-compact [data-catalog-group="corpo"] .boutique-catalog-group-opening--illustrated{grid-template-columns:200px minmax(0,1fr);gap:0;border-radius:8px;margin-bottom:24px;background:#eae3d8}
#catalogo.catalog-compact .boutique-catalog-category-photo{order:0;aspect-ratio:auto;height:220px;min-height:0}
#catalogo.catalog-compact .boutique-catalog-group-heading{padding:28px 36px}
#catalogo.catalog-compact .boutique-catalog-group-heading h2{font-size:42px;max-width:none}
#catalogo.catalog-compact .boutique-catalog-group-heading>p{font-size:16px;line-height:1.6;max-width:58ch;margin-top:14px}
#catalogo.catalog-compact .boutique-catalog-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;align-items:start}
#catalogo.catalog-compact .boutique-catalog-card{grid-column:auto;display:block;padding:26px;min-height:230px;border-radius:8px;background:#f9f6f0;border:1px solid #74634630;box-shadow:0 4px 18px -14px #47392350}
#catalogo.catalog-compact .boutique-catalog-card-content{display:flex;flex-direction:column;min-height:176px;padding:0;align-self:stretch}
#catalogo.catalog-compact .boutique-catalog-card-meta{margin-bottom:20px;gap:10px}
#catalogo.catalog-compact .boutique-catalog-category{font-size:10px;letter-spacing:.08em}
#catalogo.catalog-compact .boutique-catalog-number{font-size:12px}
#catalogo.catalog-compact .boutique-catalog-card h3{font-size:29px;line-height:1.12;letter-spacing:-.02em;max-width:none;margin:0 0 24px;min-height:66px}
#catalogo.catalog-compact .boutique-catalog-card-photo{position:relative;width:100%;height:160px;min-height:0;aspect-ratio:auto;border-radius:4px;margin-top:18px}
#catalogo.catalog-compact .catalog-card-details{margin-top:auto;border:0}
#catalogo.catalog-compact .catalog-card-details summary{display:block;padding:0;border:0;list-style:none;font:500 13px/1.4 var(--body);cursor:pointer;color:#173b2e}
#catalogo.catalog-compact .catalog-card-prompt{display:flex;justify-content:space-between;align-items:center;min-height:44px;padding-top:12px;border-top:1px solid #74634630}
#catalogo.catalog-compact .catalog-card-details summary::-webkit-details-marker{display:none}
#catalogo.catalog-compact .catalog-card-prompt>span{font-size:22px;font-weight:400;transition:transform 180ms ease-out}
#catalogo.catalog-compact .catalog-card-details[open] .catalog-card-prompt>span{transform:rotate(90deg)}
#catalogo.catalog-compact .catalog-card-details summary:focus-visible{outline:2px solid #173b2e;outline-offset:5px;border-radius:2px}
#catalogo.catalog-compact .boutique-catalog-description p{font-size:15px;line-height:1.7;margin:18px 0 0}
#catalogo.catalog-compact .boutique-catalog-cta{font-size:13px;line-height:1.45;gap:12px;padding-top:18px}
#catalogo.catalog-compact .boutique-catalog-cta svg{width:32px;height:32px;flex-basis:32px;padding:7px}
#catalogo.catalog-compact .boutique-catalog-group{margin-bottom:48px}
.site-complete .aesthetics-page .inner-heading{padding-bottom:36px}
.site-complete .aesthetics-page .inner-heading-photo{max-height:340px;aspect-ratio:1.5}
@media(max-width:1100px){#catalogo.catalog-compact .boutique-catalog-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){
 #catalogo.catalog-compact .boutique-catalog-filters{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;overflow:visible}
 #catalogo.catalog-compact .boutique-catalog-pill{min-width:0;min-height:44px;padding:10px 12px;font-size:13px;gap:8px}
 #catalogo.catalog-compact .boutique-catalog-grid{grid-template-columns:1fr;gap:12px}
 #catalogo.catalog-compact .boutique-catalog-group-opening--illustrated,#catalogo.catalog-compact [data-catalog-group="corpo"] .boutique-catalog-group-opening--illustrated{grid-template-columns:94px minmax(0,1fr)}
 #catalogo.catalog-compact .boutique-catalog-category-photo{height:100%;min-height:180px}
 #catalogo.catalog-compact .boutique-catalog-group-heading{padding:22px 18px}
 #catalogo.catalog-compact .boutique-catalog-group-heading h2{font-size:30px}
 #catalogo.catalog-compact .boutique-catalog-group-heading>p{font-size:14px;line-height:1.55;margin-top:12px}
 #catalogo.catalog-compact .boutique-catalog-card{padding:22px;min-height:0}
 #catalogo.catalog-compact .boutique-catalog-card-content{min-height:160px}
 #catalogo.catalog-compact .boutique-catalog-card h3{font-size:28px;min-height:56px}
 .site-complete .aesthetics-page .inner-heading-photo{max-height:230px}
}
@media(prefers-reduced-motion:reduce){#catalogo.catalog-compact .catalog-card-details summary span{transition:none}}
