/* Shared public-page palette and controls; original hero remains unchanged. */
:root { --paper: #eeede6; --forest: #252d25; --olive: #626c5c; --sage: #d9dfcf; --paper-rule: #c4c8bd; --editorial-width: min(1440px, calc(100% - 9vw)); }
.editorial-page { background: var(--paper); color: var(--forest); }
.editorial-page .site-header { position: relative; inset: auto; display: grid; grid-template-columns: auto 1fr auto; width: var(--editorial-width); height: 96px; gap: 28px; border-bottom: 1px solid var(--paper-rule); pointer-events: auto; }
.editorial-page .site-header .brand { width: 175px; height: 48px; }
.editorial-page .site-header .brand-logo { width: 175px; margin-top: -22px; filter: brightness(0); opacity: .85; }
.editorial-page .site-nav { gap: clamp(16px, 1.8vw, 28px); color: #525d4c; font-size: 12px; justify-self: center; margin: 0; }
.editorial-page .site-nav a { padding-block: 12px; }
.editorial-page .site-nav a:hover, .editorial-page .site-nav a[aria-current=page] { color: #a64b1e; }
.editorial-page .site-nav a[aria-current=page] { text-decoration: underline; text-underline-offset: 8px; }
.editorial-page .site-header .phone-link { color: #525d4c; font-size: 10px; }
.editorial-page .site-header .contact-link { padding: 14px 22px; min-height: 44px; font-size: 11px; font-weight: 550; background: var(--forest); color: var(--ink); box-shadow: none; }
.editorial-page .site-header .contact-link:hover { background: #43553a; }
.editorial-page .site-header .menu-toggle { color: var(--forest); background: transparent; border-color: #a5ae9b; }
.editorial-page .site-header .menu-toggle svg { color: var(--forest); }
.editorial-kicker { display: flex; align-items: center; gap: 12px; margin: 0; font-size: 10px; font-weight: 600; letter-spacing: .15em; line-height: 1.7; text-transform: uppercase; }
.editorial-kicker::before { content: ''; width: 7px; height: 7px; flex: none; background: var(--accent); }
.editorial-action { display: inline-flex; align-items: center; justify-content: space-between; gap: 28px; min-height: 54px; width: fit-content; padding: 8px 9px 8px 22px; border: 1px solid #929e84; border-radius: 40px; font-size: 12px; font-weight: 550; line-height: 1.6; }
.editorial-action > span { display: grid; place-items: center; width: 42px; height: 42px; flex: none; background: var(--forest); color: var(--ink); border-radius: 50%; font-size: 25px; font-weight: 400; transition: background-color 180ms ease, transform 180ms ease; }
.editorial-action:hover > span { background: #a64b1e; transform: rotate(45deg); }
.editorial-action:active { scale: .96; }
.editorial-page :is(main,.site-header) :focus-visible { outline: 2px solid #496139; outline-offset: 5px; }
.site-footer { background: #252d25; }
.footer-tagline,.footer-address,.footer-company,.footer-bottom,.footer-requisites dt { color: #b4bdac; }
.footer-label { color: #efa36a; }
.mobile-menu, .editorial-page .mobile-menu { background: #252d25; }
.mobile-menu .menu-close { background: #35412e; border-color: #79856f; }
.mobile-menu .contact-link { box-shadow: none; }
.enquiry-dialog { background: #252d25; border-color: #75806a; }
.enquiry-dialog h2 { font-weight: 450; }
.enquiry-dialog .section-copy, .enquiry-dialog .form-hint, .enquiry-dialog .consent { color: #c1c8b9; }
.enquiry-dialog .enquiry-form :is(input:not([type=checkbox]),textarea) { border-color: #7c896e; }
.enquiry-dialog .enquiry-form :is(input,textarea)::placeholder { color: #aeb9a3; }
.enquiry-dialog .submit-enquiry { border-color: #dfa16c; background: #dfa16c; }
.enquiry-dialog .submit-enquiry:hover { background: #edb589; }
.image-dialog { background: #252d25; border-color: #75806a; }
.image-dialog button { background: #252d25ed; border-radius: 50%; }
@media (max-width: 1200px) { .editorial-page .header-actions .phone-link { display: none; } }
@media (max-width: 1080px) {
  .editorial-page .site-header { display: flex; justify-content: space-between; gap: 20px; height: 80px; }
  .editorial-page .site-header .site-nav, .editorial-page .site-header .header-actions { display: none; }
  .editorial-page .site-header .menu-toggle { display: inline-flex; }
}
@media (max-width: 700px) {
  :root { --editorial-width: calc(100% - 40px); }
  .editorial-page .site-header { height: 76px; }
  .editorial-page .site-header .brand { width: 150px; height: 40px; }
  .editorial-page .site-header .brand-logo { width: 150px; margin-top: -19px; }
  .editorial-page .site-header .menu-toggle { min-height: 44px; font-size: 12px; gap: 8px; padding-inline: 14px; }
}
@media (prefers-reduced-motion: reduce) { .editorial-action > span { transition: none; } }
