/* Focused fixes; the original site's visual theme and section styling remain in place. */
.skip-link {position:fixed;top:-100px;left:8px;z-index:99999;padding:10px 16px;background:var(--color-primary);color:var(--color-on-primary);border-radius:0 0 6px 6px;font:600 14px/1.2 system-ui,sans-serif;}
.skip-link:focus {top:0;}
main {min-width:0;}
.navigation-mobile-overlay[hidden] {display:none !important;}
.navigation-mobile-overlay.is-open {display:flex !important;max-width:100vw;max-height:100dvh;}
.navigation-mobile-overlay.is-open .navigation-close-btn {display:flex;}
.navigation-dropdown.is-expanded .navigation-dropdown-list {display:block;}
.navigation-dropdown-trigger:focus-visible, .navigation-mobile-link:focus-visible {outline:2px solid var(--color-primary);outline-offset:4px;}
.navigation-dropdown-trigger {appearance:none;}
.navigation-mobile-meta-link, .savialisse-footer-contact-link, .contact-hero-alt-link, .studio-phone-link {cursor:default;}
body.mobile-menu-open {overflow:hidden;}
.savialisse-footer-legal {display:flex;gap:var(--spacing-sm) var(--spacing-lg);flex-wrap:wrap;align-items:center;}
.savialisse-footer-legal-link {display:inline-flex;}
.form-status {padding:var(--spacing-md);margin-top:var(--spacing-md);border:1px solid var(--color-primary);color:var(--color-on-surface);background:var(--color-surface-tint);font-size:var(--font-size-sm);border-radius:var(--border-radius-sm);}
.form-status[hidden],.enquiry-copy-btn[hidden] {display:none !important;}
.form-help {font-size:var(--font-size-xs);margin-top:var(--spacing-sm);color:var(--color-on-surface-secondary);}
.enquiry-copy-btn {margin-top:var(--spacing-sm);cursor:pointer;}
section[id], article[id] {scroll-margin-top:5rem;}
img {max-width:100%;}
/* Stable image ratio is supplied by original CSS + intrinsic HTML dimensions. */
@media(max-width:767px){
  .navigation-mobile-overlay {width:100vw;box-sizing:border-box;overflow-x:clip;}
  .navigation-overlay-body {min-width:0;max-width:100%;}
  .navigation-mobile-footer {min-width:0;}
  .navigation-mobile-meta {overflow-wrap:anywhere;}
  .navigation-bar {width:100%;}
  main section,main article {min-width:0;}
  main img {max-width:100%;}
  .enquiry-native-form input,.enquiry-native-form textarea,.enquiry-native-form select,.studio-intro-form input {max-width:100%;min-width:0;}
}
@media(max-width:479px){
  .navigation-overlay-header {padding:var(--spacing-md);}
  .navigation-overlay-body {padding:var(--spacing-xl) var(--spacing-md);}
  .savialisse-footer-legal {align-items:flex-start;gap:0.6rem 1rem;}
}
/* At 320px the contact cards must let long email addresses wrap inside the card. */
@media(max-width:479px){
  .company-contact-channels,.company-details-info-col,.contact-channel-card,.channel-text-wrap {min-width:0;max-width:100%;}
  .channel-text-wrap {flex:1 1 auto;overflow-wrap:anywhere;}
  .channel-link {overflow-wrap:anywhere;word-break:normal;}
  .contact-channel-card {width:100%;box-sizing:border-box;}
}
/* Contact data are plain text rather than deceptively clickable tel/mail links. */
.channel-link,.contact-hero-alt-link,.studio-phone-link {text-decoration:none;cursor:default;}
.navigation-dropdown-list::before {
  content: "";
  position: absolute;
  top: calc(-1 * var(--spacing-sm));
  left: 0;
  right: 0;
  height: var(--spacing-sm);
}