.photo-checklist-page { background: var(--cream); }
.photo-workspace { padding-block: 68px 100px; }
.photo-intro { display: grid; grid-template-columns: 1.15fr .85fr; gap: 18px 80px; align-items: end; margin-bottom: 58px; }
.photo-intro .eyebrow { grid-column: 1 / -1; }
.photo-intro h1 { max-width: 900px; margin: 0; font-size: clamp(3.1rem, 6.2vw, 6.4rem); }
.photo-intro > p:last-child { max-width: 540px; margin: 0 0 10px; color: var(--muted); font-size: 1.04rem; }
.photo-tool-grid { display: grid; grid-template-columns: .39fr .61fr; border: 1px solid var(--line); background: white; }
.photo-chooser { padding: clamp(28px, 4vw, 50px); border-right: 1px solid var(--line); background: var(--sand); }
.photo-step { width: 44px; height: 44px; display: grid; place-items: center; margin-bottom: 24px; color: white; background: var(--terracotta); font: 800 .76rem/1 Manrope, Arial, sans-serif; }
.photo-chooser h2, .photo-handoff h2 { margin-bottom: 8px; font-size: clamp(1.85rem, 3vw, 2.8rem); }
.photo-chooser > div:first-child > p { margin: 0 0 28px; color: var(--muted); font-size: .88rem; }
.photo-services { display: grid; gap: 8px; }
.photo-service { min-height: 62px; display: grid; grid-template-columns: 34px 1fr; gap: 12px; align-items: center; padding: 13px 16px; border: 1px solid var(--line); color: var(--ink); background: white; text-align: left; cursor: pointer; }
.photo-service > span { color: var(--terracotta); font-size: .7rem; font-weight: 800; }
.photo-service > strong { font: 700 .9rem/1.3 Manrope, Arial, sans-serif; }
.photo-service:hover { border-color: var(--terracotta); }
.photo-service[aria-pressed="true"] { border-color: var(--green); color: white; background: var(--green); }
.photo-service[aria-pressed="true"] > span { color: #f2c6a8; }
.photo-result { padding: clamp(32px, 5vw, 68px); }
.photo-result-heading { display: grid; grid-template-columns: 50px minmax(0, 1fr); gap: 22px; align-items: start; }
.photo-result-heading .photo-step { margin: 0; background: var(--green); }
.photo-result-heading .eyebrow { margin-bottom: 8px; }
.photo-result-heading h2 { margin-bottom: 10px; font-size: clamp(2rem, 3.5vw, 3.6rem); }
.photo-result-heading p:last-child { max-width: 640px; margin: 0; color: var(--muted); }
.photo-order-note { margin: 32px 0 16px; color: var(--terracotta); font-size: .82rem; font-weight: 800; }
.photo-result ol { margin: 0; padding: 0; list-style: none; counter-reset: photo-shot; border-top: 1px solid var(--line); }
.photo-result li { counter-increment: photo-shot; position: relative; min-height: 64px; display: flex; align-items: center; padding: 15px 10px 15px 62px; border-bottom: 1px solid var(--line); color: #435451; font-size: .94rem; }
.photo-result li::before { content: counter(photo-shot, decimal-leading-zero); position: absolute; left: 8px; color: var(--terracotta); font: 800 .75rem/1 Manrope, Arial, sans-serif; }
.photo-safety { display: grid; grid-template-columns: .3fr .7fr; gap: 36px; padding: 30px 36px; color: white; background: var(--terracotta); }
.photo-safety strong { font: 800 1.04rem/1.35 Manrope, Arial, sans-serif; }
.photo-safety p { max-width: 780px; margin: 0; color: rgba(255,255,255,.86); }
.photo-handoff { display: grid; grid-template-columns: .75fr 1.1fr .8fr; gap: clamp(28px, 5vw, 64px); align-items: start; padding: clamp(32px, 5vw, 60px); border: 1px solid var(--line); border-top: 0; background: var(--green-deep); color: white; }
.photo-handoff > div:first-child > p { margin: 0; color: rgba(255,255,255,.65); font-size: .84rem; }
.photo-fields { display: grid; gap: 18px; }
.photo-fields label { display: grid; gap: 8px; color: #f2c6a8; font-size: .72rem; font-weight: 800; letter-spacing: .04em; text-transform: uppercase; }
.photo-fields input, .photo-fields textarea { width: 100%; border: 1px solid rgba(255,255,255,.24); border-radius: 0; color: white; background: rgba(255,255,255,.06); font: 500 .92rem/1.4 Inter, Arial, sans-serif; }
.photo-fields input { min-height: 48px; padding: 10px 13px; }
.photo-fields textarea { min-height: 88px; padding: 12px 13px; resize: vertical; }
.photo-fields input::placeholder, .photo-fields textarea::placeholder { color: rgba(255,255,255,.45); }
.photo-actions { display: grid; gap: 11px; }
.photo-actions .button { width: 100%; justify-content: space-between; }
.photo-actions .button-secondary { border-color: rgba(255,255,255,.32); color: white; background: transparent; cursor: pointer; }
.photo-estimate-link { margin-top: 6px; color: #f2c6a8; font-size: .82rem; font-weight: 800; text-decoration: underline; text-underline-offset: 4px; }
.photo-actions small { min-height: 20px; color: #f2c6a8; font-size: .76rem; }

@media (max-width: 980px) {
  .photo-intro, .photo-tool-grid, .photo-handoff { grid-template-columns: 1fr; }
  .photo-intro { gap: 22px; }
  .photo-chooser { border-right: 0; border-bottom: 1px solid var(--line); }
  .photo-services { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .photo-safety { grid-template-columns: 1fr; gap: 10px; }
}

@media (max-width: 680px) {
  .photo-workspace { padding-block: 48px 74px; }
  .photo-intro { margin-bottom: 38px; }
  .photo-intro h1 { font-size: clamp(2.45rem, 11.2vw, 3.7rem); }
  html[lang="ru"] .photo-intro h1 { font-size: clamp(2.15rem, 9.8vw, 3.2rem); }
  .photo-services { grid-template-columns: 1fr; }
  .photo-result { padding: 30px 20px; }
  .photo-result-heading { grid-template-columns: 42px minmax(0, 1fr); gap: 14px; }
  .photo-result-heading .photo-step { width: 42px; height: 42px; }
  .photo-result li { padding-left: 48px; }
  .photo-safety { padding: 26px 22px; }
  .photo-handoff { padding: 30px 22px; }
}

@media (prefers-reduced-motion: reduce) {
  .photo-service { scroll-behavior: auto; }
}
