/* ALTITO: preserve the graphite/bookman system while repairing interaction. */
[hidden] { display:none !important; }
.site-head a, .site-foot a, .contact-cards a { overflow-wrap:anywhere; }
.site-head__strip a { text-decoration:underline; text-underline-offset:.2em; }
.brand__mark svg { display:block; width:100%; height:100%; }
.menu-toggle { min-width:44px; min-height:44px; }
a:focus-visible, button:focus-visible, input:focus-visible, textarea:focus-visible {
  outline:3px solid var(--accent); outline-offset:4px;
}
.site-foot a:focus-visible, .blk--dark a:focus-visible { outline-color:var(--accent-bright); }
.site-foot__bottom p { overflow-wrap:anywhere; }
.form-grid { min-width:0; }
.field { min-width:0; }
.field input, .field textarea { max-width:100%; }
.form-hp { position:absolute; left:-10000px; width:1px; height:1px; overflow:hidden; }
.form-note { line-height:1.65; }
.form-note a, .form-result a { text-decoration:underline; text-underline-offset:.2em; }
.form-fields { border:0; margin:0; padding:0; min-width:0; }
.form-fields legend { margin-bottom:1rem; font-weight:700; }
.form-result { margin-top:1.5rem; padding:1.5rem; border:2px solid var(--brand); background:var(--paper); color:var(--ink); }
.form-result h3 { margin-top:0; }
.form-result p:last-child { margin-bottom:0; }
.form-status[data-state="error"], .field .err { color:#8d271e; }
.form-status[data-state="sending"]::before { content:""; display:inline-block; width:.8em; height:.8em; margin-right:.6em; border:2px solid currentColor; border-right-color:transparent; border-radius:50%; animation:altito-spin 1s linear infinite; }
@keyframes altito-spin { to { transform:rotate(360deg); } }
.contact-map__info address { font-style:normal; }
.contact-map__frame { min-width:0; }
.map-consent { position:relative; min-height:360px; display:flex; align-items:center; justify-content:center; padding:2rem; background:var(--tone); color:var(--ink); }
.map-consent iframe { display:block; position:absolute; inset:0; width:100%; height:100%; border:0; }
.map-consent__ph { max-width:38rem; }
.map-consent__ph p { line-height:1.65; }
.map-consent__ph button { margin-top:.6rem; }
html:not(.js-ready) [data-map-allow] { display:none; }
.map-route-note { font-size:.875rem; color:var(--ink-soft); }
.cookie { max-height:calc(100dvh - 2rem); overflow:auto; overscroll-behavior:contain; }
.cookie__actions { display:flex; flex-wrap:wrap; gap:.7rem; }
.cookie__actions .btn { min-height:44px; }
.cookie__more { border:1px solid currentColor; padding:.6rem 1rem; min-height:44px; background:var(--surface); color:var(--ink); cursor:pointer; font:inherit; }
.cookie__prefs { border-top:1px solid var(--line); margin-top:1rem; padding-top:1rem; }
.cookie__pref { display:flex; justify-content:space-between; align-items:flex-start; gap:1rem; margin-bottom:1rem; }
.cookie__pref p { font-size:.875rem; margin-top:.35rem; }
.cookie__pref input { flex:0 0 24px; width:24px; height:24px; margin-top:.2rem; accent-color:var(--brand); }
.cookie__pref-state { font-size:.8rem; white-space:nowrap; }
.cookie__prefs-note { font-size:.8rem; }
.cookie__save { min-height:44px; }
.illustration-note { font-size:.75rem; color:var(--ink-soft); margin-top:.6rem; }
.quote-columns .company-scope { font:inherit; }
.company-scope h2 { margin-top:0; }
.system-page .wrap { max-width:var(--wrap); }
.system-page .lede { max-width:45rem; }
.system-page .actions { margin-top:2rem; }
.table-scroll { width:100%; max-width:100%; overflow-x:auto; }
.table-scroll table { min-width:38rem; }
@media (max-width:820px) {
  html { scroll-padding-top:150px; }
  .js-ready .site-head--inline .site-head__inner { flex-wrap:nowrap; }
  .js-ready .site-head--inline .site-head__inner > .brand { flex:1 1 auto; }
  .js-ready .site-head--inline .menu-toggle { display:grid; flex:none; }
  .js-ready .site-head--inline .site-nav {
    display:none; position:absolute; top:100%; left:var(--gutter); right:var(--gutter);
    bottom:auto; width:auto; margin:0; padding:1rem; flex-direction:column;
    align-items:stretch; gap:.35rem; background:var(--paper);
    border:1px solid var(--line); box-shadow:var(--shadow-sm);
    max-height:calc(100dvh - 150px); overflow-y:auto;
  }
  .js-ready .site-head--inline .site-nav.is-open { display:flex; }
  .js-ready .site-head--inline .site-nav a { min-height:44px; }
  html:not(.js-ready) .site-head { position:static; }
  html:not(.js-ready) .site-head__inner { flex-wrap:wrap; }
  html:not(.js-ready) .site-nav { display:flex; position:static; width:100%; flex-wrap:wrap; padding:1rem 0; }
  html:not(.js-ready) .menu-toggle { display:none; }
  .js-ready .site-nav.is-open { max-height:calc(100dvh - 140px); overflow-y:auto; }
}
@media (max-width:480px) {
  .cookie { left:1rem; right:1rem; bottom:1rem; width:auto; max-width:none; padding:1rem; }
  .cookie__actions .btn { flex:1 1 100%; }
  .cookie__pref { gap:.6rem; }
  .map-consent { padding:1.25rem; min-height:340px; }
  .brand__sub { max-width:25ch; }
}
@media (prefers-reduced-motion:reduce) {
  .form-status[data-state="sending"]::before { animation:none; }
}
