/* Reputation V3: editorial feedback field, process and report. Shared hero/buttons unchanged. */
.reputation-page figure { margin:0; }
.reputation-page small { display:block; font-size:.78rem; line-height:1.5; }
.reputation-page main p { max-width:58ch; }
.rm-hero { display:grid; grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr); gap:64px; align-items:center; }
.rm-hero-photo { overflow:hidden; }
.rm-hero-photo img { display:block; width:100%; height:auto; aspect-ratio:4/5; object-fit:cover; }
.rm-signals { padding-top:64px; }
.rm-signal-grid { display:grid; grid-template-columns:1fr 1.1fr; gap:70px; margin-top:48px; }
.rm-signal-grid h3 { font-size:1.25rem; }
.rm-snippets { padding:16px 0 24px; }
.rm-snippets blockquote { font-family:'Instrument Serif',serif; font-style:italic; font-size:1.7rem; line-height:1.3; margin:20px 0; max-width:24ch; }
.rm-snippets blockquote:nth-child(2) { margin-left:28px; }
.rm-signal-grid:has(.rm-clusters.is-enhanced details:nth-child(1)[open]) .rm-snippets blockquote:nth-child(1),
.rm-signal-grid:has(.rm-clusters.is-enhanced details:nth-child(2)[open]) .rm-snippets blockquote:nth-child(2),
.rm-signal-grid:has(.rm-clusters.is-enhanced details:nth-child(3)[open]) .rm-snippets blockquote:nth-child(3) { color:var(--pink); }
.rm-analysis-view { background:var(--paper-soft); padding:32px; }
.rm-clusters { position:relative; margin-top:28px; }
.rm-clusters summary { font-size:1.25rem; font-weight:600; cursor:pointer; padding:12px 0; }
.rm-cluster-answer { padding:12px 0; }
.rm-cluster-answer p { font-family:'Instrument Serif',serif; font-style:italic; font-size:1.7rem!important; line-height:1.25; margin:16px 0 0; }
.rm-signal-label { font-size:.7rem; letter-spacing:.07em; }
.rm-clusters.is-enhanced { display:flex; flex-wrap:wrap; gap:8px 24px; padding-bottom:130px; }
.rm-clusters.is-enhanced summary { list-style:none; font-size:1rem; }
.rm-clusters.is-enhanced details[open] summary { color:var(--ink); text-decoration:underline; text-decoration-color:var(--pink); text-underline-offset:8px; }
.rm-clusters.is-enhanced .rm-cluster-answer { position:absolute; left:0; right:0; bottom:0; min-height:120px; }
.reputation-page main .rm-conclusion { font-size:1.3rem; line-height:1.5; color:var(--ink); margin:40px 0 0; max-width:48ch; }
.rm-system { background:var(--charcoal); color:var(--on-dark); padding:80px 0; }
.rm-system p { color:var(--on-dark-soft); }
.rm-heading-pair { display:grid; grid-template-columns:1fr 1fr; align-items:end; gap:60px; }
.rm-loop { margin-top:50px; }
.rm-loop summary { cursor:pointer; padding:20px 0; font-size:1.5rem; font-weight:600; }
.rm-loop summary span { display:inline-block; font-size:.75rem; margin-right:16px; color:var(--on-dark-soft); }
.rm-loop-answer { padding:15px 0 25px; }
.rm-loop.is-enhanced { position:relative; display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); padding-bottom:135px; }
.rm-loop.is-enhanced summary { list-style:none; color:var(--on-dark-soft); }
.rm-loop.is-enhanced summary span { display:block; margin-bottom:14px; }
.rm-loop.is-enhanced details[open] summary { color:var(--on-dark); }
.rm-loop.is-enhanced details[open] summary span { color:var(--pink); }
.rm-loop.is-enhanced .rm-loop-answer { position:absolute; left:0; bottom:0; width:100%; min-height:120px; }
.rm-loop-answer p { font-size:1.7rem!important; line-height:1.45; max-width:40ch!important; margin:0; color:var(--on-dark); }
.rm-system-note { margin:22px 0 0; }
.rm-restaurant { padding-bottom:80px; }
.reputation-page main .rm-restaurant h2 { max-width:32ch; }
.rm-restaurant h2 em { font-family:'Instrument Serif',serif; font-weight:400; }
.reputation-page main .rm-example-label { font-size:.8rem; margin-top:18px; }
.rm-service-photo { position:relative; margin-top:36px!important; }
.rm-service-photo img { display:block; width:100%; height:auto; aspect-ratio:16/7; object-fit:cover; object-position:center 48%; }
.rm-photo-tag { position:absolute; background:var(--paper); color:var(--ink); padding:12px 18px; font-size:.8rem; font-weight:600; letter-spacing:.06em; }
.rm-photo-tag::before { content:''; position:absolute; left:-40px; top:50%; width:32px; height:1px; background:white; }
.rm-photo-tag small { letter-spacing:0; font-weight:400; }
.rm-tag-service { left:62%; top:65%; }
.rm-tag-environment { left:14%; top:16%; }
.rm-restaurant-bottom { padding-top:44px; display:grid; grid-template-columns:1.5fr 1fr; gap:60px; }
.rm-experience { margin:0; display:grid; grid-template-columns:1fr 1fr; gap:24px 32px; }
.rm-experience dt { font-size:.75rem; font-weight:700; margin-bottom:8px; letter-spacing:.05em; }
.rm-experience dd { margin:0; color:var(--ink-soft); line-height:1.5; }
.rm-boundary { align-self:center; }
.rm-response { background:var(--paper-soft); padding:80px 0; }
.rm-response-grid { display:grid; grid-template-columns:1.1fr 1fr; gap:90px; }
.rm-response blockquote { font-family:'Instrument Serif',serif; font-style:italic; font-size:2rem; line-height:1.3; margin:30px 0 12px; }
.rm-response small + p { margin-top:28px; }
.rm-steps { align-self:center; }
.rm-steps details { position:relative; padding:0 0 20px 54px; min-height:80px; }
.rm-steps details:not(:last-child)::before { content:''; position:absolute; left:16px; top:35px; bottom:0; width:1px; background:#c8c5bc; }
.rm-steps summary { padding:4px 0 12px; font-size:1.3rem; font-weight:600; cursor:pointer; }
.rm-steps summary span { position:absolute; left:0; top:0; width:34px; height:34px; display:grid; place-items:center; font-size:.8rem; background:#e9e7e1; border-radius:50%; }
.rm-steps.is-enhanced summary { list-style:none; }
.rm-steps details[open] summary span { background:var(--ink); color:white; }
.rm-steps p { margin:0; }
.rm-report { margin-top:40px!important; background:var(--paper-soft); padding:40px; }
.rm-report figcaption { display:flex; justify-content:space-between; gap:24px; margin-bottom:38px; }
.rm-report figcaption span { font-weight:700; font-size:.75rem; letter-spacing:.12em; }
.rm-report figcaption strong { display:block; font-size:1.55rem; margin-top:8px; line-height:1.2; }
.rm-report time { display:block; font-size:.8rem; margin-bottom:8px; }
.rm-report figcaption > div:last-child { text-align:right; }
.rm-report-body { display:grid; grid-template-columns:180px minmax(0,1fr); gap:38px; }
.rm-report-index { font-size:.7rem; line-height:2.8; letter-spacing:.06em; color:var(--ink-soft); }
.rm-report h3 { font-size:1rem; margin:0 0 8px; }
.reputation-page main .rm-report p { font-size:.94rem; margin-bottom:12px; }
.rm-snapshot { margin-bottom:32px; }
.rm-placeholder { font-size:.78rem; color:var(--ink-soft); }
.rm-report-themes { display:grid; grid-template-columns:1fr 1fr; gap:32px; margin-bottom:32px; }
.rm-theme-word { display:block; font-family:'Instrument Serif',serif; font-style:italic; font-size:2rem; line-height:1.3; }
.rm-report-annotation { display:block; width:fit-content; font-size:.72rem; color:var(--ink); margin-top:12px; padding:3px 8px; background:#f4dfe4; }
.rm-location-patterns { margin-bottom:32px; }
.rm-location-example { display:flex; gap:40px; margin-top:18px; }
.rm-location-example span { font-size:.78rem; color:var(--ink-soft); }
.rm-location-example b { display:block; margin-top:5px; font-weight:500; font-size:1rem; color:var(--ink); }
.rm-watch { display:grid; grid-template-columns:1fr 1fr; gap:30px; }
.rm-context { display:grid; grid-template-columns:1.25fr 1fr; gap:70px; margin-top:64px; }
.rm-context h3 { font-size:1.2rem; }
.rm-flow { display:flex; flex-wrap:wrap; gap:12px; list-style:none; margin:24px 0; padding:0; }
.rm-flow li { font-size:.72rem; font-weight:600; }
.rm-flow li:not(:last-child)::after { content:""; display:inline-block; width:var(--icon-sm); height:var(--icon-sm); background:currentColor; -webkit-mask:var(--icon-arrow-right) center/contain no-repeat; mask:var(--icon-arrow-right) center/contain no-repeat; margin-left:12px; color:var(--ink-soft); }
.rm-momentum { display:grid; grid-template-columns:1fr 1fr; gap:8px 24px; padding-left:20px; margin:24px 0; font-size:.94rem; }
.rm-context-links { display:flex; flex-wrap:wrap; gap:4px 20px; }
.rm-context-links .ls-link { font-size:.9rem; }
.rm-faq details { margin-bottom:24px; }
.rm-faq summary { cursor:pointer; font-size:1.08rem; font-weight:600; padding:10px 0; }
.rm-faq p { margin-top:8px; }
.rm-final { background:var(--paper-soft); padding:72px 0; }
.reputation-page summary:focus-visible { outline:2px solid var(--orange); outline-offset:5px; }
.reputation-page .is-enhanced summary::-webkit-details-marker { display:none; }
@media(min-width:901px) and (prefers-reduced-motion:no-preference) {
  .rm-hero-photo { animation:rm-mask .65s ease-out both; }
  @keyframes rm-mask { from { clip-path:inset(0 0 14% 0); opacity:.65; } to { clip-path:inset(0); opacity:1; } }
}
@media(prefers-reduced-motion:no-preference) {
  .rm-loop summary { transition:color .2s,transform .2s; transform-origin:left center; }
  .rm-loop details[open] summary { transform:translateY(-3px); }
  .rm-loop details[open] .rm-loop-answer, .rm-clusters details[open] .rm-cluster-answer, .rm-steps details[open] > div { animation:rm-focus .24s ease-out; }
  .rm-service-photo.rm-revealed .rm-photo-tag, .rm-report.rm-revealed .rm-report-annotation { animation:rm-focus .4s ease-out both; }
  .rm-service-photo.rm-revealed .rm-tag-service { animation-delay:.12s; }
  @keyframes rm-focus { from { opacity:.35; transform:translateY(5px); } to { opacity:1; transform:none; } }
}
@media(max-width:1000px) {
  .rm-hero { gap:36px; }
  .rm-signal-grid { gap:32px; }
  .rm-report-body { grid-template-columns:130px minmax(0,1fr); gap:24px; }
  .rm-loop summary { font-size:1.2rem; }
}
@media(max-width:900px) {
  .rm-hero { grid-template-columns:1fr; }
  .rm-hero-photo { max-width:650px; }
  .rm-hero-photo img { aspect-ratio:4/3; object-position:center 70%; }
  .rm-heading-pair, .rm-restaurant-bottom, .rm-response-grid, .rm-context { grid-template-columns:1fr; gap:32px; }
  .rm-report-body { grid-template-columns:1fr; }
  .rm-report-index { display:none; }
  .rm-context { gap:40px; }
}
@media(max-width:720px) {
  .rm-signals { padding-top:24px; }
  .rm-signal-grid { grid-template-columns:1fr; gap:36px; margin-top:30px; }
  .rm-analysis-view { padding:24px; }
  .rm-system, .rm-response { padding:60px 0; }
  .rm-loop.is-enhanced { display:block; padding-bottom:0; margin-top:28px; }
  .rm-loop.is-enhanced summary { padding:16px 0; font-size:1.3rem; }
  .rm-loop.is-enhanced summary span { display:inline-block; margin-bottom:0; }
  .rm-loop.is-enhanced .rm-loop-answer { position:static; min-height:0; padding:0 0 20px 34px; }
  .rm-loop-answer p { font-size:1.25rem!important; }
  .rm-service-photo img { aspect-ratio:4/3; object-position:center; }
  .rm-tag-service { left:55%; top:70%; }
  .rm-tag-environment { left:8%; top:10%; }
  .rm-photo-tag { padding:8px 12px; font-size:.68rem; }
  .rm-photo-tag::before { width:14px; left:-20px; }
  .rm-restaurant-bottom { padding-top:32px; }
  .rm-experience { gap:22px; }
  .rm-experience dd { font-size:.94rem; }
  .rm-report { padding:24px; }
  .rm-report figcaption { display:block; margin-bottom:30px; }
  .rm-report figcaption > div:last-child { text-align:left; margin-top:16px; }
  .rm-report-themes, .rm-watch { grid-template-columns:1fr; gap:28px; }
  .rm-context { margin-top:40px; }
  .rm-final { padding:60px 0; }
}
.reputation-page .rm-clusters.is-enhanced summary{border:1px solid #c8c5bc;border-radius:30px;padding:10px 16px;min-height:44px}
.reputation-page .rm-clusters.is-enhanced details[open] summary{background:#202022;color:white;border-color:#202022;text-decoration:none}
.reputation-page .rm-loop.is-enhanced{gap:12px}
.reputation-page .rm-loop.is-enhanced summary{border:1px solid #555;border-radius:12px;padding:18px;transform:none}
.reputation-page .rm-loop.is-enhanced details[open] summary{border-color:#E84274;background:#202022}
.reputation-page summary:focus-visible{outline:2px solid #E84274;outline-offset:4px}
.reputation-page .rm-analysis-view,.reputation-page .rm-report{border:1px solid #dedbd5;border-radius:12px}
.reputation-page .rm-hero-photo,.reputation-page .rm-service-photo img{border-radius:12px}
.reputation-page .rm-faq details{border-top:1px solid #dedbd5}
.reputation-page .rm-faq summary{padding:18px 0;min-height:48px}
body.pp-patterns main .rm-system .pp-section-eyebrow{color:#E84274}
