/* Dark is the default, independent of the operating-system preference. */
:root {
  color-scheme: dark;
  --canvas: #151617;
  --surface: #1d1f21;
  --raised: #26292b;
  --text: #f4f3ef;
  --secondary: #bfc3c3;
  --line: #45494b;
  --accent: #dfbc79;
  --ink: var(--text);
  --ink-soft: #e1e3df;
  --cream: var(--canvas);
  --cream-strong: var(--surface);
  --studio-paper: var(--canvas);
  --gold: var(--accent);
  --gold-light: #f0d8a7;
  --gold-dark: var(--accent);
  --line-light: var(--line);
  --success: #a3d9b1;
  --danger: #ffb5ab;
}
body, .selected-projects, .specialty-page .section-light { background: var(--canvas); color: var(--text); }
.specialty-page .preview-header { background: #151617; color: var(--text); border-color: var(--line); }
.preview-header .preview-brand img { filter: none; }
.preview-nav a { color: #d1d5d2; }
.preview-nav a:hover, .preview-nav a:focus-visible { color: var(--accent); }
.specialty-page .button--gold { background: var(--accent); border-color: var(--accent); color: #191a19; }
.specialty-page .button--gold:hover { background: #f0d8a7; border-color: #f0d8a7; color: #191a19; }
.specialty-page .button--outline { background: transparent; border-color: #a5aaa5; color: var(--text); }
.specialty-page .button--outline:hover { background: var(--text); border-color: var(--text); color: #191a19; }
.specialty-page :focus-visible { outline-color: #f0d8a7; }
.specialty-page .service-hero .button--ghost { color: #fff; border-color: #d9dcd9; background: #15161730; }
@media (min-width: 761px) {
  .service-hero__actions [data-call-link] { width: 248px; flex-shrink: 0; white-space: nowrap; }
}
.section-label, .estimate-band .section-label { color: var(--accent); }
.editorial-heading h2, .section-heading h2, .story-heading h2, .lead-copy h2, .estimate-band h2,
.selected-grid h3, .story-steps h3, .deliverable h3, .specialty-page .offer-card h3 { color: var(--text); }
.editorial-heading p, .selected-grid figcaption span, .project-caption p, .story-heading p, .story-steps p,
.section-heading > p, .offer-card__audience, .offer-card__minimum, .offer-card li, .pricing-note,
.album-footer p, .deliverable p, .faq-list p, .lead-copy > p, .service-form .form-reassurance { color: var(--secondary); }
.estimate-band { background: #202825; border-color: #45524a; }
.estimate-input label, .estimate-result > span, .estimate-result small { color: #c3cec6; }
.estimate-input input { color: var(--text); border-color: #a3b5a7; }
.estimate-result output { color: var(--text); }
.estimate-layout { row-gap: 16px; }
.estimate-continue { grid-column: 3; width: 100%; max-width: 320px; min-height: 52px; white-space: normal; }
.estimate-continue:disabled { opacity: .55; cursor: not-allowed; }
.form-estimate { display: grid; gap: 4px; min-height: 88px; margin: 4px 0 8px; padding: 12px 0 12px 16px; border-left: 2px solid var(--accent); overflow-wrap: anywhere; }
.form-estimate > span { color: var(--secondary); font-size: 14px; line-height: 1.5; }
.form-estimate > strong { font-size: 18px; line-height: 1.4; font-weight: 600; }
@media (max-width: 760px) {
  .estimate-continue { grid-column: 1 / -1; max-width: none; }
}
.project-caption, .lead-section, .faq-list details { border-color: var(--line); }
.project-caption a, .story-steps a, .album-footer a, .lead-contact { color: #f0d8a7; }
.design-story { background: var(--surface); color: var(--text); }
.story-stage { background: var(--raised); }
.story-stage > span, .story-steps article > span { color: #c3cec6; }
.story-steps article { border-color: var(--line); }
.specialty-page .offer-card { background: var(--surface); border-color: var(--line); }
.specialty-page .offer-card--featured { background: #232623; border-top-color: var(--accent); }
.specialty-page .offer-card__tag { color: #e6cd99; }
.specialty-page .offer-card__price strong { color: var(--text); }
.offer-card__price { border-color: var(--line); }
.offer-card__price span { color: var(--secondary); }
.offer-card li::before { border-color: var(--accent); }
.pricing-note { font-size: 13px; }
.album-viewer { background: var(--surface); border-color: var(--line); }
.album-toolbar, .album-dialog__toolbar { background: var(--raised); color: var(--text); }
.album-select select { background: #191b1c; color: var(--text); border-color: #757d7c; min-height: 44px; }
.album-icon { background: #191b1c; color: var(--text); border-color: #757d7c; }
.album-icon:hover, .album-icon[aria-pressed=true] { background: var(--accent); color: #191a19; }
.album-icon:disabled { opacity: .45; }
.album-thumbnails { border-color: var(--line); }
.album-thumbnail { background: var(--raised); color: var(--text); }
.album-thumbnail[aria-pressed=true] { border-color: var(--accent); }
.album-status { color: #ffb5ab; }
.album-icon:focus-visible, .album-sheet:focus-visible, .album-thumbnail:focus-visible { outline-color: var(--accent); }
/* Plans remain white paper, so the actual document is readable and unaltered. */
.album-sheet, .album-dialog__sheet, .album-dialog__sheet img { background: #fff; }
.album-dialog { background: #191b1c; color: var(--text); }
.album-dialog__toolbar strong { overflow-wrap: anywhere; }
.album-dialog__toolbar .album-controls { min-width: 0; }
.specialty-page .section-dark { background: #20362e; color: var(--text); }
.specialty-page .process-list li { border-color: #637b6b; }
.process-list li p, .repair-bridge p { color: #d3ded6; }
.deliverable { background: var(--surface); border-color: var(--line); }
.deliverable span { color: var(--accent); }
.faq-list summary { color: var(--text); min-height: 52px; }
.specialty-page .faq-list details p { color: var(--secondary); }
.faq-list summary::after { color: var(--accent); }
.lead-copy > strong { color: var(--text); }
.specialty-page .service-form { background: transparent; color: var(--text); }
.specialty-page .service-form label { color: var(--text); }
.specialty-page .service-form > label:not(.consent-row):not(.honeypot) { color: var(--text); }
.specialty-page .service-form input, .specialty-page .service-form select, .specialty-page .service-form textarea { background: #222527; color: var(--text); border-color: #7a827d; }
.specialty-page .service-form textarea { width: 100%; min-width: 0; max-width: 100%; box-sizing: border-box; font: inherit; font-size: 16px; line-height: 1.5; padding: 12px; resize: vertical; }
.specialty-page .service-form [hidden] { display: none; }
.lead-section[data-lead-mode="callback"] [data-lead-price],
.lead-section[data-lead-mode="callback"] [data-lead-deadline] { display: none; }
.specialty-page .service-form textarea:focus-visible { outline: 3px solid #f0d8a7; outline-offset: 2px; }
.specialty-page .service-form textarea[aria-invalid=true] { border-color: #ffb5ab; }
.specialty-page .service-form input::placeholder { color: #b3bbb6; opacity: 1; }
.specialty-page .service-form input[type=checkbox] { accent-color: var(--accent); }
.service-form .consent-row { align-items: center; min-height: 44px; }
.service-form .consent-row span, .service-form .consent-row a { color: #d0d5d0; }
.service-form input[aria-invalid=true], .service-form select[aria-invalid=true] { border-color: #ffb5ab; }
.specialty-page .service-form input:focus-visible, .specialty-page .service-form select:focus-visible { outline-color: #f0d8a7; }
.service-form .form-status { font-size: 14px; }
.service-form__submit { min-height: 52px; white-space: normal; }
.service-form__submit:disabled { opacity: .55; cursor: not-allowed; }
.service-form .consent-row { align-items: start; gap: 10px; }
.service-form .consent-row input { flex: 0 0 20px; width: 20px; height: 20px; margin-top: 3px; }
.service-form .consent-row span { min-width: 0; overflow-wrap: anywhere; }
.service-form .form-status[data-state=error] { color: #ffb5ab; }
.service-form .form-status[data-state=success] { color: #a3d9b1; }
.brief-quiz { scroll-margin-top: 0; }
.brief-quiz fieldset { display: grid; gap: 20px; margin: 0; padding: 0; border: 0; min-width: 0; }
.brief-quiz fieldset > label, .brief-quiz__optional label { display: grid; gap: 8px; min-width: 0; }
.brief-quiz legend { margin-bottom: 24px; padding: 0; font-size: 24px; line-height: 1.25; font-weight: 600; }
.brief-quiz legend:focus-visible { outline: 2px solid var(--accent); outline-offset: 4px; }
.brief-quiz__progress { display: grid; gap: 12px; margin-bottom: 4px; font-size: 13px; color: #d0d5d0; }
.brief-quiz progress { width: 100%; height: 4px; border: 0; accent-color: #dbc79f; background: #383c3a; }
.brief-quiz progress::-webkit-progress-bar { background: #383c3a; }
.brief-quiz progress::-webkit-progress-value { background: #dbc79f; }
.brief-quiz__actions { display: flex; gap: 12px; }
.brief-quiz__actions > button { min-height: 52px; }
.brief-quiz__actions > button:not(.brief-quiz__back) { flex: 1; }
.brief-quiz__summary { color: #d0d5d0; line-height: 1.6; margin: 0; overflow-wrap: anywhere; }
.brief-quiz__optional summary { cursor: pointer; min-height: 44px; padding-block: 12px; color: #d0d5d0; }
.brief-quiz__optional[open] { display: grid; gap: 16px; }
.brief-quiz__muted { color: #aeb8b2; font-weight: 400; font-size: 13px; }
.brief-quiz__mode, .brief-quiz__retry { padding: 12px 0; background: transparent; color: #e3cfaa; border: 0; text-align: left; text-decoration: underline; text-underline-offset: 4px; font: inherit; cursor: pointer; min-height: 44px; }
.brief-quiz__mode:focus-visible, .brief-quiz__retry:focus-visible { outline: 2px solid #f0d8a7; }
.brief-quiz [data-turnstile]:empty { display: none; }
@media (max-width: 760px) {
  .brief-quiz legend { font-size: 22px; }
  .brief-quiz__actions { flex-wrap: wrap; }
}
.specialty-page .preview-footer { background: #111213; border-top: 1px solid var(--line); }
.preview-footer__brand strong, .preview-footer__facts strong { color: var(--text); }
.preview-footer__brand p, .preview-footer__facts span, .preview-footer__bottom, .template-credit { color: var(--secondary); }
.preview-footer__facts > div, .preview-footer__bottom { border-color: var(--line); }
.preview-footer__assurances li::before { background: var(--accent); }
.specialty-page .mobile-actions { background: #151617f5; border-color: var(--line); padding-bottom: max(10px, env(safe-area-inset-bottom)); }
.mobile-actions .button--compact { background: var(--raised); border-color: #757d7c; color: var(--text); }
@media (min-width: 761px) and (max-width: 1050px) {
  .specialty-page .offer-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .offer-grid > [data-krasnodar-only]:not([hidden]) { grid-column: 1/-1; }
}
@media (max-width: 760px) {
  :root { --header-height: 104px; }
  .preview-nav { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 4px; white-space: normal; overflow: visible; }
  .preview-nav a { min-width: 0; min-height: 44px; padding: 6px 2px; justify-content: center; text-align: center; font-size: 12px; line-height: 1.3; }
  .specialty-page .service-hero h1 { font-size: 42px; }
  .estimate-input label, .estimate-result span, .estimate-result small { font-size: 12px; }
  .section-label { font-size: 12px; }
  .service-form .form-reassurance { font-size: 12px; }
  .specialty-page .service-form input, .specialty-page .service-form select { font-size: 16px; }
  .album-dialog__toolbar .album-counter { min-width: 48px; }
  .album-dialog__toolbar .album-controls { gap: 4px; }
}
@media (max-width: 360px) {
  .specialty-page .service-hero h1 { font-size: 36px; }
  .preview-nav a { font-size: 11px; }
  .album-dialog__toolbar { padding: 10px; }
}
@media (max-height: 500px) and (orientation: landscape) {
  .preview-header { position: relative; }
  .album-dialog__toolbar { flex-wrap: nowrap; padding: 8px; }
  .album-dialog__toolbar strong { font-size: 12px; flex-basis: auto; }
  .album-dialog__toolbar .album-controls { width: auto; }
  .mobile-actions { position: static; }
}
:root .render-references .selected-grid img { aspect-ratio: 3 / 2; object-fit: contain; background: var(--surface); }
.render-references .selected-grid a { display: block; }
.render-reference-link { display: inline-block; min-height: 44px; padding: 10px 0; text-decoration: underline; text-underline-offset: 4px; }
