/* Profremmebel: предметный архив. Локальная версия для согласования. */
:root {
  --ink: #29251f;
  --walnut: #3c2b21;
  --walnut-soft: #674b39;
  --muted: #514c45;
  --gold: #6b4529;
  --gold-light: #b99262;
  --line: #c9c2b5;
  --paper: #f1efe9;
  --white: #faf9f5;
  --action: #5b3c2a;
  --action-hover: #754e36;
  --action-text: #fffaf1;
}

html { scroll-padding-top: 78px; }
body { background: var(--paper); color: var(--ink); }
::selection { background: #d0aa78; color: #1f1a15; }
a:focus-visible, button:focus-visible, summary:focus-visible { outline: 2px solid #7b4e26; outline-offset: 4px; }

.topline { height: 4px; background: #6d4932; }
header { background: var(--paper); border-bottom: 1px solid #aaa293; }
.header-inner { min-height: 76px; }
.brand { font-family: Georgia, 'Times New Roman', serif; font-size: 1.45rem; letter-spacing: -.025em; text-transform: none; }
.brand span { color: #805b36; }
nav { gap: clamp(17px, 2.6vw, 36px); font-size: .77rem; letter-spacing: .04em; text-transform: none; }
nav a { padding-block: 10px; }
.header-phone { border-left-color: #aaa293; }

.hero { padding: 0; background: #e5e0d6; }
.hero-shell { width: 100%; max-width: none; background: none; }
.hero-inner { display: block; min-height: 0; }
.hero-content { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, .9fr); align-items: start; gap: 0 clamp(42px, 6vw, 96px); width: 100%; max-width: 1440px; margin-inline: auto; padding: clamp(58px, 6vw, 88px) clamp(28px, 7vw, 112px) clamp(66px, 7vw, 105px); background: #e5e0d6; color: var(--ink); }
.hero-content::before { grid-column: 1 / -1; content: 'PROFREMMEBEL  /  МАСТЕРСКАЯ В БАЛАШИХЕ'; margin-bottom: clamp(39px, 4.5vw, 66px); color: #725c49; font: 700 .75rem/1.4 Arial, sans-serif; letter-spacing: .1em; }
.hero h1 { max-width: 660px; font-size: clamp(3.7rem, 5.7vw, 6.6rem); line-height: .99; letter-spacing: -.04em; }
.hero h1 em { display: block; margin-top: .07em; color: #754c31; font-style: normal; }
.hero-support { display: block; width: 100%; margin: 5px 0 0; padding-top: 0; border-top: 0; }
.hero-narrative, .hero-contact { min-width: 0; }
.hero-contact { margin-top: 22px; padding-top: 0; border-top: 0; }
.hero-copy { max-width: 570px; color: #514a40; font-size: .98rem; line-height: 1.58; }
.hero-copy-primary { margin-top: 0; color: #3f342b; font: 1.28rem/1.38 Georgia, serif; }
.hero-narrative .hero-copy + .hero-copy { margin-top: 17px; }
.hero-actions { gap: 10px; margin-top: 23px; }
.hero-actions .button { min-height: 53px; padding: 14px 20px; border-color: #5b3c2a; background: #5b3c2a; color: #fffaf1; font-size: .77rem; letter-spacing: .03em; text-transform: none; }
.hero-actions .button:hover { background: #754e36; color: #fffaf1; }
.hero-actions .button + .button { border-color: #9f9385; background: transparent; color: #3e3128; }
.hero-actions .button + .button:hover { background: #d8d0c3; }
.artifact-section { padding: clamp(50px, 6vw, 80px) 0 clamp(28px, 3.5vw, 48px); background: var(--paper); }
.artifact-grid { grid-template-columns: .9fr 1fr 1fr; gap: clamp(14px, 2vw, 30px); padding-top: 20px; border-top: 2px solid #705139; }
.artifact-intro { grid-column: auto; padding: 4px 24px 5px 0; border-top: 0; }
.artifact-intro p { max-width: 340px; margin: 0; font-size: clamp(1.9rem, 2.7vw, 3rem); line-height: 1.14; letter-spacing: -.025em; }
.artifact-intro > span { color: #6e6256; font: .8rem/1.5 Arial, sans-serif; }
.artifact { height: clamp(310px, 30vw, 420px); background: #6c503e; }
.artifact img { filter: none; }
.artifact figcaption { font-size: .875rem; letter-spacing: .025em; text-transform: none; }
.artifact figcaption { display: flex; justify-content: space-between; align-items: end; gap: 18px; }
.artifact figcaption small { max-width: 110px; color: #e5d3bb; font: .75rem/1.35 Arial, sans-serif; text-align: right; }
.artifact-table img { object-position: center 55%; }

.section { padding: clamp(80px, 9vw, 130px) 0; }
.services-section { padding-top: clamp(34px, 4vw, 50px); }
.section-head { align-items: end; padding-top: 20px; border-top: 2px solid #705139; }
.section-head .eyebrow, .reviews-intro .eyebrow, .contact-section .eyebrow { display: none; }
h2 { font-size: clamp(3.3rem, 5vw, 5.5rem); letter-spacing: -.038em; }
.section-note { max-width: 430px; font-size: .98rem; line-height: 1.58; }
.services { border-top: 1px solid #998b79; }
.service { min-height: 315px; padding-top: 32px; }
.service + .service { border-left-color: #c4baaa; }
.service-num { display: none; }
.service h3 { margin-bottom: 22px; font-size: 2.25rem; }
.service p { color: #514a41; line-height: 1.64; }
.service-link { color: #5f3b24; font-size: .83rem; text-decoration: none; }
.service-link:hover { color: #805333; }
.service-process { max-width: 900px; margin-top: 36px; padding-top: 0; border-top: 0; color: #575149; }

.work-section { background: #dcd5ca; }
.featured-case-links { grid-template-columns: repeat(4, 1fr); gap: 0 22px; margin-bottom: 52px; padding: 0; border: 0; border-top: 1px solid #a89a89; border-bottom: 1px solid #a89a89; background: none; }
.featured-case-title { grid-column: 1/-1; margin: 0; padding: 20px 0 11px; font-size: .74rem; letter-spacing: .05em; text-transform: none; }
.featured-case-title { color: #604429; }
.featured-case-links a { padding: 8px 0 17px; color: #473629; font-size: .83rem; line-height: 1.3; text-decoration: none; }
.featured-case-links a:hover { color: #754e36; }
.work-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 50px 25px; }
.work-card a:hover { transform: none; }
.work-preview { aspect-ratio: 1 / 1.05; background: #ac9b88; }
.work-preview.pair { gap: 3px; background: #dcd5ca; }
.work-photo { background: #d3c6b6; }
.work-photo img { object-fit: contain; filter: none; }
.work-card a:hover img { transform: none; }
.work-photo-label { left: 12px; bottom: 12px; padding: 6px 9px; background: #2f241bdc; font-size: .75rem; letter-spacing: .04em; text-transform: none; }
.work-info { margin-top: 12px; padding-top: 14px; border-top-color: #9b8871; font-size: 1.38rem; }
.work-info small { color: #615b53; font-size: .875rem; letter-spacing: 0; text-transform: none; }
.work-more { grid-column: 1 / -1; justify-self: center; border-color: #5b3c2a; color: #5b3c2a; letter-spacing: .03em; text-transform: none; }

.reviews-section { background: var(--paper); }
.reviews-grid { border-top: 2px solid #705139; }
.reviews-intro { border-top: 0; border-bottom: 0; }
.reviews-ornament { display: none; }
.reviews-intro > p:not(.eyebrow) { margin-top: 32px; color: #514a40; }
.reviews-widget { background: #e5e0d6; border-color: #c4b7a7; box-shadow: none; }
.reviews-list-head { color: #604429; }
.reviews-list-head { font-size: .77rem; }
.reviews-button { background: #5b3c2a; border-color: #5b3c2a; font-size: .78rem; letter-spacing: .03em; text-transform: none; }
.reviews-list-head, .reviews-widget-source, .reviews-live summary { letter-spacing: .03em; text-transform: none; }

.contact-section { background: #33291f; }
.contact-grid { border-top: 2px solid #b89164; padding-top: 26px; }
.contact-section h2 { font-size: clamp(3.2rem, 4.6vw, 5rem); }
.contact-lead { max-width: 520px; }
.contact-row { border-bottom-color: #665748; }
.contact-row:first-child { border-top-color: #665748; }
.contact-row dt { color: #d9b888; font-size: .78rem; letter-spacing: .04em; text-transform: none; }
.contact-section a:focus-visible, .contact-section button:focus-visible,
footer a:focus-visible, footer button:focus-visible { outline-color: #eacb98; }
.footer-inner { font-size: .79rem; }
.footer-rights { height: 1.7em; }

/* Страницы услуг и отдельных работ используют тот же предметный архив. */
.seo-header { min-height: 76px; }
.seo-main { padding-top: clamp(35px, 5vw, 70px); }
.seo-breadcrumb { margin-bottom: clamp(35px, 5vw, 70px); }
.seo-breadcrumb a { color: #5b3c2a; text-decoration: none; }
.seo-breadcrumb a:hover { color: #805333; }
.seo-main .eyebrow { display: none; }
.seo-main h1 { max-width: 970px; font-size: clamp(3.1rem, 5.5vw, 5.8rem); line-height: 1.04; letter-spacing: -.035em; }
.seo-lead { max-width: 770px; margin-top: 35px; color: #443b31; }
.seo-actions .button { min-height: 52px; border-color: #5b3c2a; background: #5b3c2a; color: #fffaf1; font-size: .78rem; letter-spacing: .03em; text-transform: none; }
.seo-actions .button:hover { background: #754e36; color: #fffaf1; }
.seo-actions .button-secondary { border-color: #9f9385; background: transparent; color: #3e3128; }
.seo-actions .button-secondary:hover { background: #d8d0c3; color: #3e3128; }
.seo-content { gap: 0; border-top: 2px solid #705139; }
.seo-content > section { padding: 33px 0 39px; border: 0; border-bottom: 1px solid #c2b9ac; background: transparent; }
.seo-content > section:nth-child(odd) { padding-right: clamp(20px, 3vw, 44px); }
.seo-content > section:nth-child(even) { padding-left: clamp(20px, 3vw, 44px); }
.seo-content > section.seo-exclusions, .seo-content > section.seo-cases, .seo-content > section.seo-faq { padding-inline: 0; }
.seo-content h2, .seo-related h2 { max-width: 560px; font-size: clamp(1.9rem, 2.6vw, 2.55rem); }
.seo-content p, .seo-content li, .seo-related li { color: #4f4941; }
.seo-content a:not(.button), .seo-related a { color: #5b3c2a; text-decoration: none; }
.seo-content a:not(.button):hover, .seo-related a:hover { color: #805333; }
.seo-exclusions li { border-left-width: 1px; border-left-color: #90755d; }
.seo-case-card { background: transparent; }
.seo-case-card img { object-fit: contain; background: #ded7cb; filter: none; }
.seo-case-card span { padding: 12px 0; }
.seo-related { margin-top: 56px; padding: 30px 0; border: 0; border-top: 2px solid #705139; background: transparent; }
.seo-photo-pair { gap: 22px; }
.seo-photo-pair figure { background: #ded7cb; }
.seo-photo-pair figcaption { color: #443b31; }

/* Услуги: конкретная работа рядом с описанием услуги. */
.page-service .seo-breadcrumb { margin-bottom: 31px; }
.seo-service-hero { display: grid; grid-template-columns: minmax(0, 1.05fr) minmax(0, .95fr); min-height: 620px; margin-bottom: clamp(75px, 9vw, 125px); border-top: 2px solid #705139; border-bottom: 1px solid #bcb1a3; }
.seo-service-copy { display: flex; flex-direction: column; align-items: flex-start; justify-content: center; padding: clamp(48px, 6vw, 92px) clamp(32px, 5.5vw, 82px) clamp(48px, 6vw, 92px) 0; }
.page-service .seo-main h1 { max-width: 720px; margin: 0; font-size: clamp(3.2rem, 5vw, 5.35rem); }
.page-service .seo-lead { max-width: 620px; margin: 32px 0 0; font-size: clamp(1.22rem, 1.65vw, 1.5rem); line-height: 1.5; }
.page-service .seo-price { margin: 28px 0 0; font-size: .93rem; }
.page-service .seo-area { margin: 10px 0 0; font-size: .91rem; }
.page-service .seo-actions { gap: 10px; margin: 31px 0 0; }
.seo-service-feature { position: relative; min-width: 0; min-height: 620px; margin: 0; background: #c8bcb0; }
.seo-service-feature a { position: absolute; inset: 0; display: block; width: 100%; height: 100%; }
.seo-service-feature img { width: 100%; height: 100%; max-height: none; object-fit: contain; object-position: center 48%; }
.seo-service-feature figcaption { position: absolute; right: 0; bottom: 0; left: 0; display: flex; justify-content: space-between; gap: 18px; padding: 21px 25px; background: #201710df; color: #fff7e9; font: .82rem/1.4 Arial, sans-serif; }
.seo-service-feature figcaption span + span { color: #e5c39a; text-align: right; text-decoration: none; }
.page-service .seo-content { border-top: 0; }
.page-service .seo-content > section { padding-block: 35px 44px; }
.page-service .seo-content > section:nth-child(-n+2) { border-top: 2px solid #705139; }
.page-service .seo-cases { padding-top: 55px !important; }
.page-service .seo-cases h2 { margin-bottom: 29px; }
.page-service .seo-case-card { border-top: 0; }
.page-service .seo-case-card img { height: clamp(180px, 21vw, 270px); }
.page-service .seo-faq { grid-column: 1 / -1; display: grid; grid-template-columns: minmax(0, .58fr) minmax(0, 1fr); gap: 24px 50px; }
.page-service .seo-faq h2 { grid-row: 1 / span 3; }
.page-service .seo-faq section { padding-bottom: 18px; border-bottom: 1px solid var(--line); }
.page-service .seo-faq h3 { margin-top: 0; font-size: 1.24rem; }
.page-service .seo-related ul { columns: 2; column-gap: 42px; }
.page-service .seo-related li { break-inside: avoid; margin-bottom: 12px; }

/* Истории работ: снимки до и после становятся главным материалом. */
.page-case .seo-breadcrumb { margin-bottom: 30px; }
.seo-case-opening { display: grid; grid-template-columns: minmax(0, .8fr) minmax(0, 1.2fr); gap: clamp(26px, 4vw, 60px); align-items: stretch; margin-bottom: clamp(75px, 8vw, 115px); padding-block: 30px 28px; border-top: 2px solid #705139; border-bottom: 1px solid #bcb1a3; }
.seo-case-copy { display: flex; flex-direction: column; align-items: flex-start; justify-content: center; padding: 22px 0; }
.page-case .seo-main h1 { max-width: 710px; font-size: clamp(2.75rem, 4.1vw, 4.65rem); line-height: 1.05; }
.page-case .seo-lead { max-width: 550px; margin: 29px 0 0; font-size: clamp(1.13rem, 1.6vw, 1.4rem); }
.page-case .seo-case-contact { margin: 30px 0 0; }
.page-case .seo-photo-pair { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; margin: 0; }
.page-case .seo-photo-pair figure { display: flex; flex-direction: column; min-width: 0; background: #e0d8cd; }
.page-case .seo-photo-pair img { width: 100%; height: 430px; max-height: none; object-fit: contain; object-position: center; }
.page-case .seo-photo-pair figcaption { margin-top: auto; padding: 13px 15px; font-size: .79rem; }
.page-case .seo-content { grid-template-columns: minmax(0, 1.15fr) minmax(0, .85fr); gap: 0; }
.page-case .seo-content > section:first-child, .page-case .seo-content > section:nth-child(2) { border-top: 0; }
.page-case .seo-content > section:nth-child(3) { padding-right: clamp(25px, 4vw, 55px); background: #e5e0d6; padding-left: clamp(25px, 4vw, 55px); }
.page-case .seo-content > section:nth-child(4) ul { padding-left: 20px; }
.page-case .seo-content > section:nth-child(4) li + li { margin-top: 10px; }

/* Политика: отдельная навигация и широкая колонка для чтения. */
.legal-layout { display: grid; grid-template-columns: 205px minmax(0, 1fr); gap: clamp(40px, 6vw, 105px); align-items: start; margin-top: clamp(45px, 6vw, 85px); padding-top: 20px; padding-bottom: clamp(80px, 8vw, 120px); border-top: 2px solid #705139; }
.legal-sidebar { position: sticky; top: 28px; padding-top: 0; border-top: 0; }
.legal-sidebar nav { position: static; display: flex; flex-direction: column; align-items: stretch; gap: 0; padding: 0; border: 0; background: transparent; box-shadow: none; letter-spacing: 0; text-transform: none; }
.legal-sidebar strong { display: block; margin-bottom: 20px; color: #6b4529; font: 700 .78rem/1.4 Arial, sans-serif; }
.legal-sidebar a { display: block; padding: 8px 0; border: 0; color: #514c45; font: .82rem/1.4 Arial, sans-serif; text-decoration: none; }
.legal-sidebar a:hover { color: #805333; }
.legal-page { width: 100%; max-width: 850px; margin: 0; padding: 0; border: 0; background: transparent; box-shadow: none; }
.legal-page h1 { max-width: 750px; margin-top: 23px; font-size: clamp(2.9rem, 4.5vw, 5rem); line-height: 1.07; }
.legal-page .legal-lead { max-width: 680px; margin-bottom: 62px; font-family: Georgia, serif; font-size: 1.28rem; line-height: 1.5; }
.legal-page h2 { scroll-margin-top: 26px; margin-top: 37px; padding-top: 30px; border-top-color: #bcb1a3; font-size: 1.45rem; }
.legal-page p, .legal-page li { max-width: 75ch; line-height: 1.72; }
.legal-page a { color: #5b3c2a; text-decoration: none; }
.legal-page a:hover { color: #805333; }
.legal-page .legal-updated { color: #6b4529; font-size: .79rem; text-transform: none; }
.legal-header { min-height: 76px; }
.legal-header > a:last-child { text-decoration: none; }

/* Единый цвет всех кнопок и ссылок, оформленных как кнопки. */
.button, .work-more, .reviews-button, .reviews-load, .dialog-close,
.contact-action, .analytics-settings-link, .analytics-notice-actions button,
.hero-actions .button + .button, .seo-actions .button-secondary,
#analyticsDecline, #analyticsAllow {
  border-color: var(--action);
  background: var(--action);
  color: var(--action-text);
}
.button:hover, .work-more:hover, .reviews-button:hover, .reviews-load:hover,
.dialog-close:hover, .contact-action:hover, .analytics-settings-link:hover,
.analytics-notice-actions button:hover, .hero-actions .button + .button:hover,
.seo-actions .button-secondary:hover, #analyticsDecline:hover, #analyticsAllow:hover {
  border-color: var(--action-hover);
  background: var(--action-hover);
  color: var(--action-text);
}
.analytics-settings-link, .analytics-settings-link:hover { width: 32px; height: 32px; border: 0; background: transparent; box-shadow: none; }
.analytics-settings-link .cookie-mark {
  position: relative;
  display: block;
  width: 27px;
  height: 27px;
  border-radius: 46% 54% 49% 51% / 52% 45% 55% 48%;
  transform: scale(.62) rotate(-14deg);
  background:
    radial-gradient(circle at 26% 29%, #4b2615 0 2.3px, #774222 2.4px 3px, transparent 3.1px),
    radial-gradient(circle at 69% 24%, #432011 0 2.1px, #754020 2.2px 2.8px, transparent 2.9px),
    radial-gradient(circle at 56% 58%, #4c2514 0 2.6px, #79421f 2.7px 3.3px, transparent 3.4px),
    radial-gradient(circle at 22% 72%, #5a2d18 0 1.9px, #8b4d27 2px 2.5px, transparent 2.6px),
    radial-gradient(circle at 79% 76%, #4d2817 0 1.8px, #824624 1.9px 2.5px, transparent 2.6px),
    radial-gradient(circle at 36% 24%, #ffe3a5 0, #efc47e 35%, #d9984c 72%, #a65e2c 100%);
  box-shadow: inset -2px -2px 2px #71371388;
}
.analytics-settings-link .cookie-mark::after {
  position: absolute;
  inset: 3px;
  border-radius: inherit;
  background:
    radial-gradient(circle at 43% 16%, #9d632d99 0 1px, transparent 1.2px),
    radial-gradient(circle at 84% 46%, #a76e3699 0 1px, transparent 1.2px),
    radial-gradient(circle at 33% 62%, #fff0bf80 0 1.2px, transparent 1.4px),
    radial-gradient(circle at 60% 85%, #a76e3680 0 1px, transparent 1.2px);
  content: '';
}

@media (max-width: 1100px) {
  .hero-content { padding-inline: clamp(35px, 5vw, 64px); }
  .hero h1 { font-size: clamp(3.45rem, 5.6vw, 5.7rem); }
  .seo-service-hero { grid-template-columns: minmax(0, 1fr) minmax(0, .9fr); }
  .seo-service-copy { padding-right: 34px; }
  .seo-service-feature { min-height: 580px; }
  .seo-case-opening { grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr); }
  .page-case .seo-photo-pair img { height: 390px; }
}

@media (max-width: 1000px) {
  .seo-case-opening { display: block; }
  .seo-case-copy { padding: 20px 0 38px; }
  .page-case .seo-photo-pair img { height: min(52vw, 500px); object-fit: contain; }
}

@media (max-width: 900px) {
  .hero-content { display: flex; flex-direction: column; align-items: stretch; }
  .hero h1 { max-width: 780px; font-size: clamp(3.6rem, 8vw, 5.7rem); }
  .hero-support { display: grid; grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr); gap: 34px; margin-top: 38px; padding-top: 24px; border-top-width: 1px; }
  .hero-contact { margin: 0; padding: 0 0 0 28px; border-top: 0; border-left: 1px solid #c7baa8; }
}

@media (max-width: 800px) {
  .header-inner { min-height: 70px; }
  .header-inner.menu-open nav { background: var(--paper); }
  .header-phone, .menu-toggle { border-color: var(--action); background: var(--action); color: var(--action-text); }
  .header-phone:hover, .menu-toggle:hover { border-color: var(--action-hover); background: var(--action-hover); color: var(--action-text); }
  .hero-content::before { margin-bottom: 40px; }
  .hero h1 { font-size: clamp(3.5rem, 8vw, 5.4rem); }
  .hero-copy-primary { font-size: 1.18rem; }
  .hero-copy { font-size: .94rem; }
  .artifact { height: 340px; }
  .featured-case-links { grid-template-columns: repeat(2, 1fr); }
  .services { grid-template-columns: 1fr; }
  .service, .service + .service { min-height: 0; padding: 28px 0 32px; border-left: 0; }
  .service + .service { border-top: 1px solid var(--line); }
  .contact-actions { gap: 8px; }
  .contact-action { width: 50px; height: 50px; }
  .seo-service-hero, .seo-case-opening { display: block; }
  .seo-service-copy { padding: 42px 0 48px; }
  .seo-service-feature { height: 470px; min-height: 0; }
  .seo-case-copy { padding: 20px 0 36px; }
  .page-case .seo-photo-pair img { height: 420px; }
  .legal-layout { grid-template-columns: 1fr; gap: 32px; }
  .legal-sidebar { position: static; }
  .legal-sidebar nav { display: grid; grid-template-columns: repeat(3, 1fr); gap: 0 18px; }
  .seo-header nav a { font-size: .77rem; }
}

@media (max-width: 700px) {
  html { scroll-padding-top: 68px; }
  .brand { font-size: 1.28rem; }
  .hero-content { min-height: 0; padding: 45px 28px 62px; }
  .hero-content::before { margin-bottom: 29px; font-size: .72rem; }
  .hero h1 { font-size: clamp(3.2rem, 12vw, 4.8rem); }
  .hero-support { display: block; margin-top: 29px; padding-top: 21px; }
  .hero-contact { margin-top: 23px; padding: 22px 0 0; border-top: 1px solid #c7baa8; border-left: 0; }
  .hero-copy-primary { font-size: 1.21rem; }
  .hero-copy { font-size: .95rem; }
  .hero-actions { margin-top: 27px; }
  .hero-actions .button { width: auto; }
  .artifact-section { padding: 48px 0 32px; }
  .artifact-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
  .artifact-intro { grid-column: 1/-1; min-height: 0; padding: 0 0 8px; }
  .artifact-intro p { max-width: 400px; font-size: clamp(1.85rem, 6vw, 2.5rem); }
  .artifact { height: 270px; }
  .artifact figcaption { left: 10px; right: 10px; bottom: 10px; display: block; font-size: .875rem; }
  .artifact figcaption small { display: block; max-width: none; margin-top: 3px; font-size: .75rem; text-align: left; }
  .section { padding: 75px 0 82px; }
  .services-section { padding-top: 38px; }
  .section-head { padding-top: 20px; }
  h2 { font-size: clamp(3.1rem, 11vw, 4.2rem); }
  .section-note { margin-top: 16px; }
  .service { min-height: 0; padding: 28px 0 32px; }
  .service + .service { padding-left: 0; }
  .service h3 { margin-bottom: 12px; }
  .featured-case-links { gap: 0 18px; margin-bottom: 32px; }
  .featured-case-links a { padding-bottom: 13px; }
  .work-grid { grid-template-columns: 1fr; gap: 36px; }
  .work-preview { aspect-ratio: 1.12 / 1; }
  .dialog-head h3 { font-size: clamp(1.1rem, 5vw, 1.5rem); }
  .dialog-gallery:not(.single-photo) img { height: min(60vh, 450px); aspect-ratio: auto; }
  .reviews-section { padding: 76px 0 84px; }
  .reviews-intro { padding-top: 20px; }
  .reviews-intro > p:not(.eyebrow) { margin-top: 24px; }
  .contact-section { padding: 72px 0 82px; }
  .contact-grid { padding-top: 23px; }
  .seo-main { padding-bottom: 75px; }
  .seo-main h1 { font-size: clamp(2.7rem, 10vw, 4.2rem); }
  .seo-content { display: block; }
  .seo-content > section { padding: 28px 0; }
  .seo-content > section:nth-child(odd), .seo-content > section:nth-child(even) { padding-inline: 0; }
  .seo-exclusions ul { grid-template-columns: minmax(0, 1fr); grid-auto-flow: row; grid-auto-columns: auto; gap: 15px; overflow-x: visible; padding-bottom: 0 !important; scroll-snap-type: none; }
  .page-service .seo-breadcrumb, .page-case .seo-breadcrumb { margin-bottom: 22px; }
  .page-service .seo-main h1 { font-size: clamp(2.8rem, 10vw, 4.2rem); }
  .seo-service-copy { padding: 30px 0 34px; }
  .page-service .seo-lead { margin-top: 23px; }
  .page-service .seo-actions { margin-top: 25px; }
  .seo-service-feature { height: 370px; }
  .seo-service-feature figcaption { padding: 14px 16px; font-size: .75rem; }
  .page-service .seo-content > section:nth-child(2n) { padding-left: 0; }
  .page-service .seo-content > section:nth-child(2) { border-top: 0; }
  .page-service .seo-faq { display: block; }
  .page-service .seo-faq section { padding-block: 10px; }
  .page-service .seo-related ul { columns: 1; }
  .seo-case-opening { padding-top: 24px; }
  .page-case .seo-main h1 { font-size: clamp(2.65rem, 9.6vw, 4.1rem); }
  .page-case .seo-photo-pair { grid-template-columns: minmax(0, 1fr); gap: 12px; }
  .page-case .seo-photo-pair img { height: 330px; }
  .page-case .seo-content > section:nth-child(2) { border-top: 0; }
  .page-case .seo-content > section:nth-child(3) { margin-inline: -14px; }
  .legal-layout { margin-top: 32px; padding-top: 20px; }
  .legal-sidebar nav { grid-template-columns: repeat(2, 1fr); }
  .seo-header nav a { font-size: .73rem; }
  .legal-page h1 { font-size: clamp(2.55rem, 9vw, 3.6rem); }
  .legal-page .legal-lead { margin-bottom: 44px; font-size: 1.13rem; }
}

@media (max-width: 440px) {
  .hero-content { padding-inline: 22px; }
  .hero h1 { font-size: clamp(2.68rem, 11.6vw, 3.5rem); }
  .hero-actions { width: 100%; flex-direction: column; align-items: stretch; }
  .hero-actions .button { width: 100%; }
  .artifact { height: 225px; }
  .featured-case-links { grid-template-columns: 1fr 1fr; }
  .featured-case-links a { font-size: .78rem; }
  .seo-main h1 { font-size: clamp(2.1rem, 10vw, 2.7rem); }
  .page-service .seo-main h1 { font-size: clamp(2.1rem, 10vw, 2.7rem); }
  .page-case .seo-main h1 { font-size: clamp(2.1rem, 9vw, 2.7rem); }
  .seo-service-feature figcaption { flex-direction: column; gap: 4px; }
  .seo-service-feature figcaption span + span { text-align: left; }
  .page-case .seo-photo-pair img { height: 260px; }
  .seo-header nav { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 12px; }
  .seo-header nav a { padding: 10px 2px; text-align: left; white-space: normal; }
  .legal-sidebar nav { grid-template-columns: 1fr; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  .artifact img, .work-photo img, .hero-actions .button, .work-more { transition: none; }
}
