.dr-page { padding-top: 0; padding-bottom: 48px; }
.dr-page .hero-grid { grid-template-columns: minmax(0, 1fr) minmax(0, 1.15fr); gap: 32px; align-items: center; }
.dr-page .hero-copy { max-width: none; min-width: 0; }
.dr-page .hero-media { min-height: 0; }
.dr-page .hero-media__img { position: relative; inset: auto; width: 100%; max-width: none; margin: 0; transform: none; }
.dr-page .hero-media__img :is(picture,img) { position: static; display: block; width: 100%; height: auto; max-height: none; object-fit: contain; border-radius: 0; }
@media (min-width: 768px) {
  .dr-page .hero-copy { position: relative; z-index: 2; }
  .dr-page .hero-media { position: relative; z-index: 1; overflow: visible; }
  .dr-page .hero .hero-media__img { width: 125%; margin-left: -25%; }
  .dr-page .hero-media__img picture {
    -webkit-mask-image: linear-gradient(to right, transparent 0%, rgba(0,0,0,.2) 7%, #000 27%);
    mask-image: linear-gradient(to right, transparent 0%, rgba(0,0,0,.2) 7%, #000 27%);
  }
}
.dr-page .hero .eyebrow-city { display: none; }
.dr-page .hero { padding-bottom: 16px; }
.dr-page .svc-page-section { scroll-margin-top: 110px; }
.dr-page .svc-page-section .eyebrow { margin-bottom: 8px; }
.dr-page .svc-page-section .eyebrow + .svc-memorial-design__title { margin-top: 0; }
.dr-page .pp-head > .svc-memorial-design__title { margin-top: 0; }
.dr-page .dr-list > li:last-child,
.dr-page .dr-rating-guide > p:last-child { margin-bottom: 0; }
.dr-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 20px; }
.dr-grid--two { grid-template-columns: repeat(2,minmax(0,1fr)); }
@media (min-width: 1200px) {
  .dr-page .pp-steps__grid { grid-template-columns: repeat(4, minmax(0, 1fr)); }
}
.dr-situations__list { margin: 0; padding: 0; list-style: none; }
.dr-criterion { min-width: 0; overflow: hidden; border: 1px solid var(--line,#dfe5df); border-radius: 20px; background: #fff; }
.dr-criterion__image { aspect-ratio: 16 / 10; overflow: hidden; background: #edf4ea; }
.dr-criterion__image :is(picture,img) { display: block; width: 100%; height: 100%; }
.dr-criterion__image img { object-fit: cover; }
.dr-criterion__body { padding: 22px 24px 24px; }
.dr-criterion__body p { margin: 0; font-size: 16px; line-height: 1.5; color: var(--ink-3); }
.dr-card { display: block; padding: 24px; border: 1px solid var(--line,#dfe5df); border-radius: 20px; color: var(--ink); text-decoration: none; background: #fff; min-width: 0; }
a.dr-card:hover { border-color: var(--green-600); }
.dr-card .pp-h3 { margin-top: 12px; }
.dr-card p { margin: 8px 0 16px; line-height: 1.6; }
.dr-card img { width: 100%; height: 200px; object-fit: contain; border-radius: 12px; }
.dr-card.dr-object-card { padding: 0; overflow: hidden; }
.dr-object-card__image { aspect-ratio: 3 / 1; overflow: hidden; }
.dr-object-card__image picture { display: block; width: 100%; height: 100%; }
.dr-object-card .dr-object-card__image img { display: block; width: 100%; height: 100%; object-fit: cover; object-position: var(--object-position,center); border-radius: 0; }
.dr-object-card__body { padding: 24px; }
.dr-number { color: var(--green-600); font-size: 18px; font-weight: 700; }
.dr-link { color: var(--green-700); font-weight: 600; }
.dr-author .pp-founder { background: #fff; border: 1px solid var(--line,#dfe5df); }
.dr-author .pp-trust__grid { grid-template-columns: minmax(0, 380px) minmax(0, 1fr); align-items: start; gap: 40px; }
.dr-author.pp-trust .pp-proofs { grid-template-columns: minmax(0, 1fr); }
.dr-author.pp-trust .pp-founder { display: block; }
.dr-author.pp-trust .pp-founder__photo { width: 100%; height: auto; aspect-ratio: 1; border-radius: 16px; margin: 0 0 20px; }
.dr-author .pp-proofs__item:first-child { border-top: 0; padding-top: 0; }
@media (max-width: 767px) {
  .dr-author.pp-trust .pp-trust__grid { grid-template-columns: minmax(0, 1fr); gap: 20px; }
  .dr-author.pp-trust .pp-founder__photo { max-width: 280px; margin-inline: auto; }
}
.dr-split,.dr-annotated { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 40px; align-items: start; }
.dr-split p { line-height: 1.7; }
.dr-list { padding-left: 22px; margin: 0; }
.dr-list li { margin-bottom: 14px; line-height: 1.65; }
.dr-quote { margin: 28px 0 0; padding: 20px 24px; border-left: 3px solid var(--green-600); background: #edf4ea; font-size: 20px; line-height: 1.5; }
.dr-detail { border-bottom: 1px solid #dce4dc; padding: 20px 0; }
.dr-page .dr-criteria-note { margin: 24px 0 0; line-height: 1.65; }
.dr-rating-guide ol { padding-left: 22px; line-height: 1.65; }
.dr-detail summary { cursor: pointer; font-weight: 600; font-size: 19px; }
.dr-detail summary .dr-number { display: inline-block; margin-right: 16px; }
.dr-detail p { line-height: 1.7; margin: 14px 0 0; }
.dr-empty { background: #edf4ea; padding: 32px; border-radius: 20px; }
.dr-empty p { margin: 0 0 24px; max-width: 680px; line-height: 1.6; }
.dr-actions,.dr-filters { display: flex; flex-wrap: wrap; gap: 20px; margin-top: 24px; }
.dr-filters { margin-bottom: 24px; }
.dr-filters button { padding: 10px 16px; border: 1px solid #dce4dc; border-radius: 24px; background: #fff; cursor: pointer; }
.dr-filters [aria-pressed=true] { background: var(--green-700); color: #fff; }
@media (max-width: 767px) {
  .dr-page .dr-filters { gap: 8px; margin-top: 0; margin-bottom: 20px; }
  .dr-page .dr-related-links { row-gap: 8px; }
  .dr-page .dr-related-links > .dr-card { padding: 14px 20px; }
  .dr-page .dr-filters button { padding: 9px 14px; min-height: 40px; }
  .dr-page .pp-head { margin-bottom: 24px; }
  .dr-page .dr-split { gap: 24px; }
  .dr-page .pp-steps .pp-steps__card:last-child { padding-bottom: 0; }
}
.dr-form { display: grid; gap: 24px; padding: 32px; border: 1px solid #dce4dc; border-radius: 24px; background: #fff; }
.dr-quiz-form { overflow-anchor: none; }
.dr-quiz-form .dr-format-title { margin-bottom: 22px; }
.dr-page [data-review-format] { white-space: normal; text-align: center; justify-content: center; min-height: 52px; }
#formaty-ocenki .svc-mem-price-card { display: flex; flex-direction: column; }
.service-page.service-page--rhythm.dr-page > section#formaty-ocenki { margin-top: 32px !important; }
#formaty-ocenki .svc-mem-price-card__body { display: flex; flex-direction: column; flex: 1; }
#formaty-ocenki .dr-price-action { display: flex; flex-direction: column; align-items: center; gap: 20px; margin-top: auto; padding-top: 24px; text-align: center; }
#formaty-ocenki .dr-price-action .pp-price__value { margin: 0; }
#formaty-ocenki [data-review-format] { margin: 0; width: 290px; max-width: 100%; box-sizing: border-box; }
#formaty-ocenki [data-review-format]:not([data-review-format="detailed"]) { background: #fff; color: var(--green-700); border: 1px solid var(--green-600); box-shadow: none; }
#formaty-ocenki [data-review-format]:not([data-review-format="detailed"]):hover { background: var(--green-50); }
#formaty-ocenki .dr-price-featured { background: var(--ink, #17221c); border-color: var(--ink, #17221c); }
#formaty-ocenki .dr-price-featured .pp-h3,
#formaty-ocenki .dr-price-featured .pp-price__value { color: #fff; }
#formaty-ocenki .dr-price-featured .pp-price__sub,
#formaty-ocenki .dr-price-featured .pp-price__note,
#formaty-ocenki .dr-price-featured .svc-mem-price-card__list li { color: #e1e7e2; }
#formaty-ocenki .dr-price-featured .svc-mem-price-card__list svg { color: #93d6a3; }
@media (min-width: 768px) and (max-width: 1199px) {
  #formaty-ocenki .dr-pricing-grid { grid-template-columns: 1fr; }
}
.dr-quiz-form h3[tabindex="-1"]:focus { outline: none; }
.dr-page .dr-review-active { grid-template-columns: minmax(0, 1fr); }
.dr-review-active > .quiz-side { display: none; }
.dr-quiz-form .quiz-actions[hidden] { display: none; }
.dr-quiz-form .dr-field { display: grid; gap: 8px; min-width: 0; font-weight: 600; }
.dr-quiz-form small { font-weight: 400; line-height: 1.4; }
.dr-quiz-form .dr-check { display: grid; grid-template-columns: 22px minmax(0,1fr); gap: 10px; align-items: start; }
.dr-quiz-form [data-error],.dr-quiz-form [data-submit-error] { color: #a12323; }
.dr-quiz-form [data-error]:empty { display: none; }
.dr-quiz-form progress { width: 100%; }
.dr-quiz-form .dr-quiz-upload { width: 100%; }
.dr-form label { display: grid; gap: 8px; font-weight: 600; min-width: 0; }
.dr-form :is(input:not([type=checkbox]),select,textarea) { box-sizing: border-box; width: 100%; min-width: 0; padding: 14px 16px; border: 1px solid #cdd8cd; border-radius: 10px; background: #fff; color: var(--ink); font: inherit; font-weight: 400; }
.dr-form textarea { resize: vertical; }
.dr-form small { font-weight: 400; line-height: 1.4; color: var(--ink-3); }
.dr-form .dr-check { grid-template-columns: 22px minmax(0,1fr); align-items: start; font-weight: 400; }
.dr-check input { width: 20px; height: 20px; accent-color: var(--green-700); }
.dr-check small { grid-column: 2; }
.dr-form [data-error],.dr-form [data-submit-error] { color: #a12323; }
.dr-form [aria-invalid=true] { border-color: #a12323; }
.dr-form progress { width: 100%; }
.dr-form .btn { justify-self: start; cursor: pointer; }
.dr-trap { position: absolute; left: -10000px; width: 1px; height: 1px; overflow: hidden; }
.dr-files { display: grid; gap: 12px; }
.dr-file { display: grid; grid-template-columns: 60px minmax(0,1fr) auto; align-items: center; gap: 12px; padding: 10px; border: 1px solid #dce4dc; border-radius: 12px; }
.dr-file img { width: 60px; height: 60px; object-fit: contain; }
.dr-file span { overflow-wrap: anywhere; }
.dr-file button { padding: 10px; border: 0; background: #edf4ea; border-radius: 8px; cursor: pointer; }
.dr-page [hidden] { display: none !important; }
.dr-photo { position: relative; }
.dr-photo img { display: block; width: 100%; height: auto; }
.dr-marker { position: absolute; transform: translate(-50%,-50%); width: 44px; height: 44px; border-radius: 50%; border: 2px solid white; background: var(--green-700); color: white; cursor: pointer; font-weight: 700; }
.dr-comment { display: grid; gap: 8px; width: 100%; margin-bottom: 12px; padding: 16px; text-align: left; border: 1px solid #dce4dc; border-radius: 12px; background: white; color: var(--ink); cursor: pointer; font: inherit; }
.dr-annotated [aria-pressed=true] { outline: 3px solid #e5b743; outline-offset: 2px; }
.dr-annotated { margin: 24px 0; }
.dr-article h2 { margin-top: 40px; }
.dr-page .dr-article { padding-top: 22.4px; }
.dr-article__figure { margin: 28px 0 0; }
.dr-article__cover { display: block; width: 100%; height: auto; max-height: none; border-radius: 20px; }
.dr-cover-zoom { position: relative; display: block; width: 100%; padding: 0; border: 0; border-radius: 20px; background: transparent; cursor: zoom-in; }
.dr-cover-zoom__hint { position: absolute; right: 16px; bottom: 16px; padding: 8px 14px; border-radius: 999px; background: rgba(0,0,0,.65); color: white; font: 500 14px/1.4 var(--font-body, sans-serif); }
.dr-cover-zoom:focus-visible { outline: 3px solid var(--green-700); outline-offset: 4px; }
.dr-photo-viewer .fv-close { font-size: 30px; }
.dr-article__figure figcaption { margin-top: 12px; font-size: 13px; line-height: 1.5; color: var(--ink-3); }
.dr-scores { display: grid; gap: 12px; }
@media (min-width: 768px) {
  .dr-scores { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px; }
}
.dr-score-intro { margin: 20px 0 32px; line-height: 1.6; }
.dr-score-intro > p { margin: 0 0 12px; }
.dr-score-intro > p:last-child { margin-bottom: 0; }
@media (min-width: 1200px) {
  .dr-score-intro { width: calc((100% - 40px) / 3); }
}
.dr-review-demo { font-size: 13px; color: var(--ink-3); }
.dr-page .dr-card.dr-review-card { padding: 0; overflow: hidden; }
.dr-review-card > picture { display: block; }
.dr-page .dr-review-card > picture img, .dr-page .dr-review-card > img { display: block; width: 100%; height: auto; aspect-ratio: 3 / 2; object-fit: cover; border-radius: 0; }
.dr-review-card__body { padding: 24px; }
.dr-review-card__tag { display: inline-block; max-width: 100%; padding: 7px 12px; border: 1px solid var(--line,#dfe5df); border-radius: 999px; background: var(--green-50); color: var(--green-700); font-size: 13px; line-height: 1.4; }
.dr-article > h1 { font-family: var(--font-heading, 'Lora', serif); font-weight: 600; }
@media (max-width: 767px) {
  .dr-page .dr-article { padding-top: 16px; }
  .dr-article > h1 { font-size: 30px; line-height: 1.15; margin: 12px 0 20px; }
}
.dr-article .dr-card h3 { margin-top: 0; }
.dr-review-cta { margin-top: 32px; }
.dr-reviews-more { display: flex; justify-content: center; }
.dr-review-cta .svc-memorial-compose__cta-btn { white-space: normal; text-align: center; justify-content: center; min-height: 52px; }
.dr-score { font-size: 36px; color: var(--green-700); font-weight: 700; }
.dr-admin { white-space: pre-wrap; }
