/* Keep the existing palette and content; restore footer to document flow. */
body.wp-theme-sydney #page { min-height: 100vh; display: flex; flex-direction: column; }
body.wp-theme-sydney #page > #content { flex: 1 0 auto; }
body.wp-theme-sydney .site-footer { position: static !important; width: 100%; flex-shrink: 0; }
body.wp-theme-sydney a:focus-visible,
body.wp-theme-sydney [role="button"]:focus-visible { outline: 2px solid currentColor; outline-offset: 3px; }
body.wp-theme-sydney .atelier18-phone { color: inherit; text-decoration: underline; }
body.wp-theme-sydney .atelier18-disclosure { cursor: pointer; }
@media (max-width: 1024px) {
  body.wp-theme-sydney .sydney-offcanvas-menu { max-width: 100vw; overflow-y: auto; max-height: 100vh; max-height: 100dvh; }
  body.wp-theme-sydney .sydney-offcanvas-menu .menu > li > a { padding-right: 54px; }
  body.wp-theme-sydney .sydney-offcanvas-menu .dropdown-symbol { width: 44px; height: 44px; display: inline-flex; align-items: center; justify-content: center; }
  body.wp-theme-sydney .menu-toggle,
  body.wp-theme-sydney .mobile-menu-close,
  body.wp-theme-sydney #masthead-mobile .header-search { min-width: 44px; min-height: 44px; display: inline-flex; align-items: center; justify-content: center; }
  body.wp-theme-sydney .sydney-offcanvas-menu a { min-height: 44px; }
  body.wp-theme-sydney .sydney-offcanvas-menu #mainnav ul.sub-menu.atelier18-open { display: block !important; visibility: visible !important; opacity: 1 !important; position: static !important; width: 100% !important; transform: none !important; }
  body.wp-theme-sydney .sydney-offcanvas-menu #mainnav ul.sub-menu[hidden] { display: none !important; }
}
@media (max-width: 767px) {
  body.wp-theme-sydney .wpcf7 input:not([type="checkbox"]):not([type="radio"]),
  body.wp-theme-sydney .wpcf7 select,
  body.wp-theme-sydney .wpcf7 textarea { max-width: 100%; box-sizing: border-box; font-size: 16px; }
  body.wp-theme-sydney .entry-content iframe { max-width: 100%; }
}

/* Readable keyboard focus and contact controls across device sizes. */
body.wp-theme-sydney button:focus-visible,
body.wp-theme-sydney input:focus-visible,
body.wp-theme-sydney textarea:focus-visible { outline: 2px solid currentColor; outline-offset: 3px; }
body.wp-theme-sydney .wpcf7 input[type="text"],
body.wp-theme-sydney .wpcf7 input[type="email"],
body.wp-theme-sydney .wpcf7 input[type="submit"] { min-height: 48px; }
body.wp-theme-sydney .wpcf7 textarea { min-height: 144px; resize: vertical; }
body.wp-theme-sydney .elementor-widget-text-editor { overflow-wrap: break-word; }
@media (max-width:1024px) {
 body.wp-theme-sydney.custom-background { background-attachment: scroll; }
 body.wp-theme-sydney .sydney-offcanvas-menu { overscroll-behavior-y: contain; }
}

/* Atelier 18: existing black, warm taupe and cream palette; no content changes. */
body.wp-theme-sydney .sydney-offcanvas-menu { background-color: #151515; }
body.wp-theme-sydney .sydney-offcanvas-menu a { color: #f5f1eb; }
body.wp-theme-sydney .entry-content a { color: #5f564a; text-decoration-thickness: 1px; text-underline-offset: .18em; }
body.wp-theme-sydney .entry-content a:hover { color: #0a0404; }

/* Replace the entrance animation with a stable, contained service panel. */
body.wp-theme-sydney.home .elementor-element-6d394d8b {
  animation: none !important; transform: none !important;
  width: min(100%, 430px) !important; max-width: 100%;
  margin-left: auto; margin-right: 0;
  padding: 24px 28px; background: rgba(0,0,0,.72);
  border-left: 2px solid #bfb7b0;
}
body.wp-theme-sydney.home .elementor-element-6d394d8b h3,
body.wp-theme-sydney.home .elementor-element-6d394d8b h3 a {
  color: #f5f1eb !important; font-size: clamp(20px, 2.2vw, 30px);
  line-height: 1.4; overflow-wrap: normal; word-break: normal;
}
body.wp-theme-sydney.home .elementor-element-6d394d8b h3 { margin: 0 0 12px; }
body.wp-theme-sydney.home .elementor-element-6d394d8b h3:last-child { margin-bottom: 0; }
body.wp-theme-sydney.home .elementor-element-6d394d8b h3 a { display: inline-block; padding-block: 5px; }
body.wp-theme-sydney.home .elementor-element-6d394d8b h3 a:hover { text-decoration: underline; }
body.wp-theme-sydney:not(.home) #content.page-wrap { padding-top: 64px; padding-bottom: 64px; }

@media (max-width: 767px) {
  body.wp-theme-sydney #masthead-mobile { padding-block: 12px; }
  body.wp-theme-sydney #masthead-mobile .site-logo { max-height: 72px; width: auto; }
  body.wp-theme-sydney:not(.home) #content.page-wrap { padding-top: 28px; padding-bottom: 36px; }
  body.wp-theme-sydney.home .elementor-element-6dd0d51f { min-height: calc(100svh - 164px); }
  body.wp-theme-sydney.home .elementor-element-6dd0d51f > .elementor-container { min-height: inherit; }
  body.wp-theme-sydney.home .elementor-element-6d394d8b { margin: 24px 0; padding: 20px; width: 100% !important; }
  body.wp-theme-sydney.page-id-125 .elementor-element-d226559 > .elementor-container { display: flex; flex-direction: column; }
  body.wp-theme-sydney.page-id-125 .elementor-element-4b70cf5 { order: 0; }
  body.wp-theme-sydney.page-id-125 .elementor-element-3a0045b { order: 1; margin-top: 24px; }
  body.wp-theme-sydney.page-id-125 .elementor-element-f683323 iframe { height: 250px !important; }
  body.wp-theme-sydney.page-id-125 .elementor-inner-section .elementor-widget-wrap { padding-inline: 0 !important; }
  body.wp-theme-sydney.page-id-125 .elementor-element-4b70cf5 > .elementor-widget-wrap,
  body.wp-theme-sydney.page-id-125 .elementor-element-3a0045b > .elementor-widget-wrap,
  body.wp-theme-sydney.page-id-125 .elementor-element-3907989 > .elementor-widget-wrap { padding-inline: 0 !important; }
}

body.wp-theme-sydney select:focus-visible { outline: 2px solid currentColor; outline-offset: 3px; }
@media (min-width:1025px) {
 body.wp-theme-sydney #masthead .atelier18-desktop-open > ul.sub-menu { display:block !important; visibility:visible !important; opacity:1 !important; }
 body.wp-theme-sydney #masthead a[role="button"] { cursor:pointer; }
}
@media (prefers-reduced-motion:reduce) {
 body.wp-theme-sydney .sydney-offcanvas-menu { transition:none !important; }
}

@media (max-width:1024px) {
 body.wp-theme-sydney .sydney-offcanvas-menu #mainnav .menu > li { position:relative; display:block; margin:0; padding:0; }
 body.wp-theme-sydney .sydney-offcanvas-menu #mainnav .menu > li > a { display:flex; align-items:center; min-height:50px; padding:10px 54px 10px 0; }
 body.wp-theme-sydney .sydney-offcanvas-menu #mainnav .menu > li > .dropdown-symbol { position:absolute; right:0; top:0; width:48px; height:50px; margin:0; }
 body.wp-theme-sydney .sydney-offcanvas-menu #mainnav .sub-menu a { min-height:44px; padding:10px 14px; line-height:1.5; white-space:normal; }
}
