/**
 * Dr. Panturu Luxury 1.7 — editorial home, zero remote dependencies for featured service photography.
 * Scope carefully: the Elementor hero is native; sections do not inherit Elementor global heading colors.
 */
.drp-editorial-elementor-wrapper {
  display: block !important;
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 0 !important;
  --padding-top: 0;
  --padding-right: 0;
  --padding-bottom: 0;
  --padding-left: 0;
  --container-max-width: 100%;
}
.drp-editorial-elementor-wrapper > .elementor-widget-html,
.drp-editorial-elementor-wrapper .elementor-widget-container { width: 100%; max-width: none; }

/* Editoral introduction with oversized expressive serif heading. */
.drp-home-mosaic {
  position: relative;
  padding: clamp(88px, 8.4vw, 142px) 0 clamp(80px, 8vw, 136px);
  background: #f8f5ef;
  color: #171411;
  overflow: clip;
}
.drp-home-mosaic .drp-shell { width: min(calc(100% - 56px), 1390px); max-width: none; }
.drp-home-mosaic__intro {
  display: grid;
  grid-template-columns: 1.2fr .8fr;
  gap: clamp(36px, 8vw, 134px);
  align-items: end;
  margin-bottom: clamp(50px,5vw,78px);
}
.drp-home-mosaic__kicker,
.drp-home-story__eyebrow,
.drp-home-gallery-invite__eyebrow {
  margin: 0 0 28px;
  color: #946a37;
  letter-spacing: .23em;
  text-transform: uppercase;
  font: 700 .69rem/1.6 var(--drp-sans, Arial, sans-serif);
}
.drp-home-mosaic__kicker span,
.drp-home-story__eyebrow span,
.drp-home-gallery-invite__eyebrow span { padding-inline: 12px; opacity: .6; }
.drp-home-mosaic h2,
.drp-home-story h2,
.drp-home-gallery-invite h2 {
  margin: 0;
  font-family: var(--drp-serif, Georgia, serif);
  font-size: clamp(3.9rem,6.9vw,7.5rem);
  font-weight: 400;
  letter-spacing: -.055em;
  line-height: .86;
  text-wrap: balance;
}
.drp-home-mosaic h2 { color: #161310; }
.drp-home-mosaic h2 em { color: #a07a49; font-weight: 400; }
.drp-home-mosaic__intro-right { max-width: 440px; justify-self: end; }
.drp-home-mosaic__intro-right p {
  margin: 0 0 28px;
  color: #493f34;
  font-size: clamp(1rem,1.15vw,1.16rem);
  line-height: 1.8;
}
.drp-home-mosaic__all,
.drp-home-mosaic__foot a {
  display: inline-flex;
  align-items: center;
  gap: 28px;
  border-bottom: 1px solid #a58151;
  padding-bottom: 11px;
  text-decoration: none;
  color: #2a2018;
  font-size: .72rem;
  font-weight: 700;
  letter-spacing: .11em;
  text-transform: uppercase;
}
.drp-home-mosaic__all span,
.drp-home-mosaic__foot a span { color: #966d3b; transition: transform .42s cubic-bezier(.2,1,.3,1); }
.drp-home-mosaic__all:hover span,
.drp-home-mosaic__foot a:hover span { transform: translate(4px,-4px); }

/* Editorial collage: 3 locally bundled WebP photographs + 3 typographic stories.
   No mechanical 3x2 service grid. */
.drp-home-mosaic__grid {
  display: grid;
  grid-template-columns: repeat(12, minmax(0,1fr));
  grid-template-rows: 272px 272px 340px 180px;
  grid-template-areas:
    "face face face face face breast breast breast breast breast breast breast"
    "face face face face face shape shape shape shape shape shape shape"
    "body body body body body body body intimate intimate intimate intimate intimate"
    "men men men men men men men men men men men men";
  gap: clamp(16px,2.3vw,30px);
}
.drp-mosaic-tile {
  position: relative;
  display: block;
  isolation: isolate;
  overflow: hidden;
  min-width: 0;
  color: #fff9f0;
  background: #1a1714;
  text-decoration: none;
  box-shadow: none;
}
.drp-mosaic-tile:focus-visible { outline: 3px solid #b88a4e; outline-offset: 4px; }
.drp-mosaic-tile::after {
  content: '';
  position: absolute;
  z-index: -1;
  inset: 0;
  background: linear-gradient(180deg,rgba(10,9,8,.24) 0%,rgba(10,9,8,.02) 40%,rgba(10,9,8,.8) 100%);
}
.drp-mosaic-tile__image {
  position: absolute;
  z-index: -2;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  transform: scale(1.002);
  transition: transform 1.05s cubic-bezier(.2,1,.3,1),filter .8s ease;
}
.drp-mosaic-tile--face { grid-area: face; }
.drp-mosaic-tile--face .drp-mosaic-tile__image { object-position: 45% 40%; }
.drp-mosaic-tile--breast { grid-area: breast; }
.drp-mosaic-tile--breast .drp-mosaic-tile__image { object-position: 50% 29%; }
.drp-mosaic-tile--shape {
  grid-area: shape;
  background: linear-gradient(112deg,#13110f,#302319 95%);
}
.drp-mosaic-tile--shape::before {
  content: '03';
  position: absolute;
  font: italic 400 clamp(8rem,15vw,18rem)/1 var(--drp-serif, Georgia,serif);
  color: rgba(198,156,103,.1);
  right: 5%; bottom: -32%; pointer-events: none;
}
.drp-mosaic-tile--body { grid-area: body; }
.drp-mosaic-tile--body .drp-mosaic-tile__image { object-position: 50% 56%; }
.drp-mosaic-tile--intimate {
  grid-area: intimate;
  background: linear-gradient(142deg,#b79e82,#806e5b);
}
.drp-mosaic-tile--intimate::before {
  content: '';
  position: absolute;
  width: clamp(92px, 10vw, 165px);
  aspect-ratio: 1;
  background: url('../images/icons/luxury-line-star.svg') center / contain no-repeat;
  opacity: .22;
  top: 16%; right: 12%; pointer-events: none;
}
.drp-mosaic-tile--men {
  grid-area: men;
  background: #ebe4d9;
  color: #211912;
  border: 1px solid #d7c6b3;
}
.drp-mosaic-tile--men::after { display: none; }
.drp-mosaic-tile__top {
  position: absolute;
  left: clamp(22px,3vw,42px); right: clamp(22px,3vw,42px); top: 28px;
  display: flex; align-items: center; justify-content: space-between;
  gap: 12px;
  color: #f8ead8;
  font-size: .67rem; font-weight: 700; letter-spacing: .18em;
  text-transform: uppercase;
}
.drp-mosaic-tile--men .drp-mosaic-tile__top { color: #6e5335; }
.drp-mosaic-tile__bottom {
  position: absolute;
  left: clamp(22px,3vw,42px); right: clamp(22px,3vw,42px); bottom: clamp(25px,3vw,40px);
  display: grid;
  max-width: 100%;
  gap: 9px;
}
.drp-mosaic-tile__title {
  display: block;
  padding-right: 45px;
  color: inherit;
  font-family: var(--drp-serif, Georgia, serif);
  font-size: clamp(2.45rem,4vw,5.25rem);
  font-weight: 400;
  letter-spacing: -.045em;
  line-height: .91;
}
.drp-mosaic-tile__detail {
  display: block;
  max-width: 44ch;
  color: #f3e8dc;
  font-size: .84rem;
  line-height: 1.6;
}
.drp-mosaic-tile__arrow {
  position: absolute;
  right: 0; bottom: 2px;
  display: grid; place-items: center;
  width: 38px; height: 38px;
  border: 1px solid rgba(241,220,192,.75);
  border-radius: 50%;
  font-size: 1.2rem;
  font-family: Arial,sans-serif;
  transition: background .35s ease,color .35s ease,transform .42s cubic-bezier(.2,1,.3,1);
}
.drp-mosaic-tile--shape .drp-mosaic-tile__title { font-size: clamp(3.1rem,4.5vw,6rem); }
.drp-mosaic-tile--men .drp-mosaic-tile__bottom {
  left: clamp(25px,3.5vw,52px); right: clamp(25px,3.5vw,52px);
  bottom: 28px;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1.15fr) auto;
  gap: 20px;
  align-items: center;
}
.drp-mosaic-tile--men .drp-mosaic-tile__title { font-size: clamp(2.65rem,3.4vw,4.3rem); padding: 0; }
.drp-mosaic-tile--men .drp-mosaic-tile__detail { color: #57493b; }
.drp-mosaic-tile--men .drp-mosaic-tile__arrow { color: #8b6237; border-color: #b39976; position: static; }
.drp-mosaic-tile--men .drp-mosaic-tile__top { top: 22px; }
.drp-home-mosaic__foot {
  display:flex;justify-content:space-between;align-items:center;gap:30px;
  margin-top: 38px;
  padding-top: 24px;
  border-top: 1px solid #d7cabc;
}
.drp-home-mosaic__foot > span { font:700 .65rem/1.6 var(--drp-sans,Arial,sans-serif);letter-spacing:.18em;color:#82715f; }
.drp-home-mosaic__foot > span span { color:#ad8b60; padding:0 12px; }

/* Doctor: explicit high-contrast layout, not Elementor's global blue heading/low-contrast list. */
.drp-home-story { padding: clamp(90px,9vw,154px) 0; background:#100f0d; color:#f8f3eb; }
.drp-home-story .drp-shell { width:min(calc(100% - 56px), 1390px); max-width:none; }
.drp-home-story__grid { display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:clamp(56px,7vw,130px);align-items:center; }
.drp-home-story__portrait {
  position:relative;
  align-self:stretch;
  min-height:670px;
  overflow:hidden;
  background:linear-gradient(145deg,#29221b,#11100e);
  border:1px solid #675238;
}
.drp-home-story__portrait > img {
  position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 25%;filter:grayscale(.17);
}
.drp-home-story__fallback { position:absolute;inset:0;display:flex;flex-direction:column;gap:20px;align-items:center;justify-content:center;color:#c9a874;text-align:center; }
.drp-home-story__fallback > span:first-child {font:italic 400 2rem/1 var(--drp-serif,Georgia,serif);}
.drp-home-story__fallback strong {font:400 clamp(4rem,7vw,7rem)/.86 var(--drp-serif,Georgia,serif);letter-spacing:-.07em;}
.drp-home-story__fallback > span:last-child {font:700 .65rem/1.5 Arial,sans-serif;letter-spacing:.25em;}
.drp-home-story__portrait::after { content:'';position:absolute;inset:0;pointer-events:none;background:linear-gradient(180deg,transparent 68%,rgba(0,0,0,.55) 100%); }
.drp-home-story__portrait-tag {position:absolute;z-index:1;bottom:28px;left:30px;font:italic 400 1.9rem/1 var(--drp-serif,Georgia,serif);color:#fff7eb;}
.drp-home-story__copy {padding-block:35px;}
.drp-home-story__eyebrow {color:#d0af7b;}
.drp-home-story h2 { color:#fcf7ef !important; font-size:clamp(3.55rem,5.25vw,6.55rem); line-height:.92; }
.drp-home-story h2 em { color:#d1ad75 !important; font-weight:400; }
.drp-home-story__description {max-width:61ch;margin:35px 0 42px;color:#e1d8ca;font-size:clamp(1rem,1.2vw,1.08rem);line-height:1.83;}
.drp-home-story__values {border-top:1px solid #6b5945;margin-bottom:38px;}
.drp-home-story__values p {display:flex;align-items:baseline;gap:20px;margin:0;padding:17px 0;border-bottom:1px solid #4d4033;color:#ecdfcf;font-size:.94rem;line-height:1.55;}
.drp-home-story__values p > span { color:#d2ae77;font:italic 500 1.15rem/1 var(--drp-serif,Georgia,serif); }
.drp-home-story__values b {margin-left:auto;color:#cba672;font-weight:400;}
.drp-home-story__link { display:inline-flex;gap:30px;align-items:center;border-bottom:1px solid #ac8c60;padding-bottom:10px;color:#f3d8ac;text-decoration:none;font-size:.74rem;letter-spacing:.11em;text-transform:uppercase;font-weight:700; }
.drp-home-story__link span {transition:transform .4s cubic-bezier(.2,1,.3,1);}
.drp-home-story__link:hover span {transform:translate(4px,-4px);}

/* Dark invitation, no false before/after photo generated for the clinic. */
.drp-home-gallery-invite { background:#1c1814;color:#fff6eb;padding:clamp(78px,8vw,124px) 0; }
.drp-home-gallery-invite .drp-shell {width:min(calc(100% - 56px),1390px);max-width:none;}
.drp-home-gallery-invite__inner {display:grid;grid-template-columns:1.3fr .7fr;gap:40px;align-items:center;}
.drp-home-gallery-invite__eyebrow {color:#c8a16e;}
.drp-home-gallery-invite h2 {font-size:clamp(3.3rem,5.7vw,6.6rem);color:#fff6eb;}
.drp-home-gallery-invite h2 em {color:#c7a270;}
.drp-home-gallery-invite p:not(.drp-home-gallery-invite__eyebrow) {max-width:54ch;margin:32px 0 24px;font-size:1rem;line-height:1.8;color:#d4c9bd;}
.drp-home-gallery-invite a {color:#f2c98f;text-decoration:none;border-bottom:1px solid #8e6c47;padding-bottom:10px;font-size:.75rem;letter-spacing:.12em;text-transform:uppercase;}
.drp-home-gallery-invite a span {padding-left:20px;}
.drp-home-gallery-invite__monogram {border:1px solid #776044;aspect-ratio:1/1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;color:#cfab76;}
.drp-home-gallery-invite__monogram span {font:500 clamp(1.6rem,3vw,3.6rem)/1 var(--drp-serif,Georgia,serif);letter-spacing:.06em;}
.drp-home-gallery-invite__monogram i {font:italic 400 clamp(2.6rem,5vw,5rem)/1 var(--drp-serif,Georgia,serif);color:#f5e9d9;}

@media (hover:hover) and (prefers-reduced-motion:no-preference) {
  .drp-mosaic-tile:hover .drp-mosaic-tile__image { transform:scale(1.065);filter:saturate(.88); }
  .drp-mosaic-tile:hover .drp-mosaic-tile__arrow {transform:translate(3px,-3px);background:#c6a16d;color:#1a120c;}
}
@media (max-width:1100px) {
  .drp-home-mosaic__grid { grid-template-rows:260px 260px 315px 175px; }
  .drp-home-mosaic__intro { gap:55px; }
  .drp-home-story__grid {gap:52px;}
  .drp-home-story__portrait {min-height:590px;}
}
@media (max-width:840px) {
  .drp-home-mosaic__intro {grid-template-columns:1fr;gap:25px;}
  .drp-home-mosaic__intro-right {justify-self:start;max-width:680px;}
  .drp-home-mosaic__grid {grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:480px 320px 310px 300px 180px;grid-template-areas:"face breast" "face shape" "body body" "intimate intimate" "men men";}
  .drp-home-story__grid {grid-template-columns:1fr;}
  .drp-home-story__portrait {min-height:530px;max-height:670px;}
  .drp-home-story__copy {padding:0 0 18px;}
  .drp-home-gallery-invite__inner {grid-template-columns:1fr .5fr;}
}
@media (max-width:600px) {
  .drp-home-mosaic {padding:72px 0 82px;}
  .drp-home-mosaic .drp-shell,.drp-home-story .drp-shell,.drp-home-gallery-invite .drp-shell {width:calc(100% - 36px);}
  .drp-home-mosaic h2 {font-size:clamp(3.4rem,12vw,5rem);line-height:.92;}
  .drp-home-mosaic__intro {margin-bottom:34px;}
  .drp-home-mosaic__grid {grid-template-columns:1fr;grid-template-rows:500px 365px 320px 400px 320px 190px;grid-template-areas:"face" "breast" "shape" "body" "intimate" "men";gap:15px;}
  .drp-mosaic-tile__title {font-size:clamp(3rem,12vw,4.9rem);}
  .drp-mosaic-tile--shape .drp-mosaic-tile__title {font-size:clamp(3.1rem,12.4vw,4.9rem);}
  .drp-mosaic-tile--men .drp-mosaic-tile__bottom {display:block;bottom:24px;}
  .drp-mosaic-tile--men .drp-mosaic-tile__title {font-size:clamp(2.7rem,10vw,3.8rem);margin-bottom:8px;}
  .drp-mosaic-tile--men .drp-mosaic-tile__detail {max-width:29ch;}
  .drp-mosaic-tile--men .drp-mosaic-tile__arrow {position:absolute;right:0;bottom:6px;}
  .drp-home-mosaic__foot {align-items:flex-start;flex-direction:column;gap:18px;}
  .drp-home-story {padding:68px 0 86px;}
  .drp-home-story__portrait {min-height:440px;}
  .drp-home-story h2 {font-size:clamp(3.25rem,11vw,4.8rem);line-height:.95;}
  .drp-home-story__description {margin:28px 0;}
  .drp-home-gallery-invite__inner {grid-template-columns:1fr;}
  .drp-home-gallery-invite__monogram {aspect-ratio:unset;min-height:200px;flex-direction:row;}
}
@media (prefers-reduced-motion:reduce) {
  .drp-mosaic-tile__image,.drp-mosaic-tile__arrow,.drp-home-mosaic__all span,.drp-home-story__link span {transition:none!important;transform:none!important;}
}

/* Safety net for previously imported Elementor markup if the homepage was customized. */
body.home .drp-section--doctor .elementor-heading-title {
  color: #f5eee5 !important;
}
body.home .drp-section--doctor .elementor-widget-text-editor,
body.home .drp-section--doctor .elementor-widget-text-editor p,
body.home .drp-section--doctor .elementor-widget-text-editor li {
  color: #eee2d4 !important;
}
body.home .drp-section--doctor .elementor-widget-text-editor a { color: #f0ca93 !important; }
