/* MOREVIDEO: copy begins at the top of every paired row. */
body.page-id-55 .lo-morevideo-row {
  align-items: flex-start !important;
}
body.page-id-55 .lo-morevideo-row > .wp-block-column,
body.page-id-55 .lo-morevideo-copy {
  align-self: flex-start !important;
}
body.page-id-55 .lo-morevideo-copy > h2.wp-block-heading {
  color: #ed5a16 !important;
}

/* WooCommerce controls: clean and consistent in both colour schemes. */
.woocommerce select,
.woocommerce-page select,
.woocommerce input.input-text,
.woocommerce-page input.input-text,
.woocommerce textarea,
.woocommerce-page textarea {
  min-height: 48px;
  padding: 11px 44px 11px 14px;
  border: 1px solid #a9a7a0;
  border-radius: 0;
  background-color: #fff;
  color: #101722;
  font: inherit;
  line-height: 1.35;
  transition: border-color .2s ease, box-shadow .2s ease, background-color .2s ease;
}
.woocommerce select,
.woocommerce-page select {
  appearance: none;
  -webkit-appearance: none;
  background-image: linear-gradient(45deg, transparent 50%, #ed5a16 50%), linear-gradient(135deg, #ed5a16 50%, transparent 50%);
  background-position: calc(100% - 19px) 20px, calc(100% - 13px) 20px;
  background-size: 6px 6px, 6px 6px;
  background-repeat: no-repeat;
}
.woocommerce select:hover,
.woocommerce-page select:hover,
.woocommerce input.input-text:hover,
.woocommerce-page input.input-text:hover,
.woocommerce textarea:hover,
.woocommerce-page textarea:hover { border-color: #686b72; }
.woocommerce select:focus,
.woocommerce-page select:focus,
.woocommerce input.input-text:focus,
.woocommerce-page input.input-text:focus,
.woocommerce textarea:focus,
.woocommerce-page textarea:focus {
  outline: none;
  border-color: #ed5a16;
  box-shadow: 0 0 0 2px rgba(237,90,22,.22);
  background-color: #fff;
}
.woocommerce .quantity .qty { padding: 10px 8px; min-height: 46px; }
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button,
.woocommerce #respond input#submit {
  min-height: 46px;
  padding: 13px 20px;
  border: 1px solid #ed5a16;
  border-radius: 0;
  background: #ed5a16;
  color: #fff;
  font-weight: 700;
  letter-spacing: .055em;
  text-transform: uppercase;
  transition: background-color .2s ease, color .2s ease, transform .2s ease;
}
.woocommerce a.button:hover,
.woocommerce button.button:hover,
.woocommerce input.button:hover,
.woocommerce #respond input#submit:hover {
  background: transparent;
  color: #ed5a16;
  transform: translateY(-1px);
}
.woocommerce form .form-row label { margin: 0 0 7px; color: inherit; font-weight: 650; }
.woocommerce .woocommerce-error,
.woocommerce .woocommerce-info,
.woocommerce .woocommerce-message {
  border-top-color: #ed5a16;
  background: #fff;
  color: #101722;
}
.woocommerce .woocommerce-error::before,
.woocommerce .woocommerce-info::before,
.woocommerce .woocommerce-message::before { color: #ed5a16; }
.woocommerce table.shop_table { border-color: #b7b5ae; border-radius: 0; }
.select2-container--default .select2-selection--single {
  height: 48px; border: 1px solid #a9a7a0; border-radius: 0; background: #fff; color: #101722;
}
.select2-container--default .select2-selection--single .select2-selection__rendered { color: #101722; line-height: 46px; padding-left: 14px; }
.select2-container--default .select2-selection--single .select2-selection__arrow { height: 46px; right: 8px; }
.select2-dropdown { background: #fff; color: #101722; border-color: #ed5a16; }
.select2-container--default .select2-results__option--highlighted[aria-selected] { background: #ed5a16; }

/* Commerce pages are genuinely light by default, rather than always black. */
body.woocommerce-page:not(.lo-dark-mode),
body.post-type-archive-product:not(.lo-dark-mode),
body.single-product:not(.lo-dark-mode) {
  background: #f5f2ea !important;
  color: #101722 !important;
}
body.woocommerce-page:not(.lo-dark-mode) .site-header,
body.post-type-archive-product:not(.lo-dark-mode) .site-header,
body.single-product:not(.lo-dark-mode) .site-header { background: #f5f2ea !important; }
body.woocommerce-page:not(.lo-dark-mode) .site-header a,
body.post-type-archive-product:not(.lo-dark-mode) .site-header a,
body.single-product:not(.lo-dark-mode) .site-header a { color: #07164b !important; }
body.woocommerce-page:not(.lo-dark-mode) main,
body.woocommerce-page:not(.lo-dark-mode) .entry-content,
body.post-type-archive-product:not(.lo-dark-mode) main,
body.single-product:not(.lo-dark-mode) main { background: #f5f2ea !important; color: #101722 !important; }
body.woocommerce-page:not(.lo-dark-mode) h1,
body.woocommerce-page:not(.lo-dark-mode) h2,
body.woocommerce-page:not(.lo-dark-mode) h3,
body.post-type-archive-product:not(.lo-dark-mode) h1,
body.single-product:not(.lo-dark-mode) h1 { color: #07164b !important; }

/* Dark commerce surfaces. Product photography is deliberately untouched. */
body.woocommerce-page.lo-dark-mode,
body.post-type-archive-product.lo-dark-mode,
body.single-product.lo-dark-mode,
body.woocommerce-page.lo-dark-mode main,
body.woocommerce-page.lo-dark-mode .entry-content,
body.post-type-archive-product.lo-dark-mode main,
body.single-product.lo-dark-mode main {
  background: #090b0f !important;
  color: #f3f1eb !important;
}
body.woocommerce-page.lo-dark-mode .site-header,
body.post-type-archive-product.lo-dark-mode .site-header,
body.single-product.lo-dark-mode .site-header { background: #090b0f !important; }
body.woocommerce-page.lo-dark-mode .site-header a,
body.post-type-archive-product.lo-dark-mode .site-header a,
body.single-product.lo-dark-mode .site-header a { color: #fff !important; }
body.woocommerce-page.lo-dark-mode h1,
body.woocommerce-page.lo-dark-mode h2,
body.woocommerce-page.lo-dark-mode h3,
body.post-type-archive-product.lo-dark-mode h1,
body.single-product.lo-dark-mode h1 { color: #f3f1eb !important; }
body.lo-dark-mode .woocommerce select,
body.lo-dark-mode.woocommerce-page select,
body.lo-dark-mode .woocommerce input.input-text,
body.lo-dark-mode.woocommerce-page input.input-text,
body.lo-dark-mode .woocommerce textarea,
body.lo-dark-mode.woocommerce-page textarea {
  border-color: #4a4e58;
  background-color: #13151a;
  color: #f5f4ef;
}
body.lo-dark-mode .woocommerce .woocommerce-error,
body.lo-dark-mode .woocommerce .woocommerce-info,
body.lo-dark-mode .woocommerce .woocommerce-message { background: #15181e; color: #f5f4ef; }
body.lo-dark-mode .select2-container--default .select2-selection--single,
body.lo-dark-mode .select2-dropdown { background: #13151a; color: #f5f4ef; border-color: #4a4e58; }
body.lo-dark-mode .select2-container--default .select2-selection--single .select2-selection__rendered { color: #f5f4ef; }

/* Content-page dark variants. */
body.page-id-13.lo-dark-mode,
body.page-id-55.lo-dark-mode,
body.page-id-17.lo-dark-mode,
body.page-id-82.lo-dark-mode,
body.page-id-88.lo-dark-mode,
body.page-id-84.lo-dark-mode {
  background: #0c0e13 !important;
  color: #eceae4 !important;
}
body.page-id-13.lo-dark-mode main,
body.page-id-13.lo-dark-mode .entry-content,
body.page-id-55.lo-dark-mode main,
body.page-id-55.lo-dark-mode .entry-content,
body.page-id-17.lo-dark-mode main,
body.page-id-17.lo-dark-mode .entry-content,
body.page-id-82.lo-dark-mode main,
body.page-id-88.lo-dark-mode main,
body.page-id-84.lo-dark-mode main { background: #0c0e13 !important; color: #eceae4 !important; }
body.page-id-13.lo-dark-mode h1,
body.page-id-13.lo-dark-mode h2,
body.page-id-55.lo-dark-mode h1,
body.page-id-17.lo-dark-mode h1,
body.page-id-82.lo-dark-mode h2,
body.page-id-88.lo-dark-mode h2,
body.page-id-84.lo-dark-mode h2 { color: #f4f1e9 !important; }
body.page-id-13.lo-dark-mode a,
body.page-id-55.lo-dark-mode a,
body.page-id-17.lo-dark-mode a,
body.page-id-82.lo-dark-mode a,
body.page-id-88.lo-dark-mode a,
body.page-id-84.lo-dark-mode a { color: #ed5a16; }
body.page-id-13.lo-dark-mode .site-header,
body.page-id-55.lo-dark-mode .site-header,
body.page-id-17.lo-dark-mode .site-header { background: #0c0e13 !important; }
body.page-id-13.lo-dark-mode .site-header a,
body.page-id-55.lo-dark-mode .site-header a,
body.page-id-17.lo-dark-mode .site-header a,
body.page-id-13.lo-dark-mode .site-header li,
body.page-id-55.lo-dark-mode .site-header li,
body.page-id-17.lo-dark-mode .site-header li,
body.page-id-13.lo-dark-mode .menu-toggle,
body.page-id-55.lo-dark-mode .menu-toggle,
body.page-id-17.lo-dark-mode .menu-toggle { color: #fff !important; }
body.page-id-13.lo-dark-mode .lo-people,
body.page-id-55.lo-dark-mode .lo-morevideo-hero,
body.page-id-17.lo-dark-mode .lo-contact-form {
  background: #0c0e13 !important;
  color: #eceae4 !important;
}
body.page-id-13.lo-dark-mode .lo-people p,
body.page-id-13.lo-dark-mode .lo-people h1,
body.page-id-13.lo-dark-mode .lo-people h2,
body.page-id-17.lo-dark-mode .lo-contact-form p,
body.page-id-17.lo-dark-mode .lo-contact-form label,
body.page-id-17.lo-dark-mode .lo-contact-form h1,
body.page-id-17.lo-dark-mode .lo-contact-form h2,
body.page-id-55.lo-dark-mode .lo-morevideo-hero h1 {
  color: #eceae4 !important;
}
body.page-id-55.lo-dark-mode .lo-morevideo-row,
body.page-id-55.lo-dark-mode .lo-morevideo-copy { background: transparent !important; color: #d8d7d2 !important; }
body.page-id-55.lo-dark-mode .lo-morevideo-copy > h2.wp-block-heading { color: #ed5a16 !important; }
body.page-id-55.lo-dark-mode .lo-morevideo-copy p,
body.page-id-55.lo-dark-mode .lo-morevideo-copy strong,
body.page-id-55.lo-dark-mode .lo-morevideo-copy em { color: #d8d7d2 !important; }
body.page-id-55.lo-dark-mode .wp-block-button__link {
  background: #ed5a16 !important;
  color: #0c0e13 !important;
}
/* Contact: dark canvas, with softly muted light fields for clarity. */
body.page-id-17.lo-dark-mode .lo-contact-form input:not([type="submit"]),
body.page-id-17.lo-dark-mode textarea,
body.page-id-17.lo-dark-mode select {
  background: #dcd9d2 !important;
  border-color: #929087 !important;
  color: #101722 !important;
}
body.page-id-17.lo-dark-mode input:focus,
body.page-id-17.lo-dark-mode textarea:focus,
body.page-id-17.lo-dark-mode select:focus {
  border-color: #ed5a16;
  box-shadow: 0 0 0 2px rgba(237,90,22,.22);
  outline: none;
}
body.page-id-82.lo-dark-mode .lo-profile-intro,
body.page-id-82.lo-dark-mode .lo-clients,
body.page-id-88.lo-dark-mode .lo-profile-intro,
body.page-id-84.lo-dark-mode .lo-profile-intro,
body.page-id-84.lo-dark-mode .lo-profile-work { background: #0c0e13 !important; color: #eceae4 !important; }
body.page-id-82.lo-dark-mode .lo-profile-intro p,
body.page-id-82.lo-dark-mode .lo-profile-intro blockquote,
body.page-id-88.lo-dark-mode .lo-profile-intro p,
body.page-id-84.lo-dark-mode .lo-profile-intro p,
body.page-id-84.lo-dark-mode .lo-profile-work p { color: #d8d7d2 !important; }

/* Keep the People call-to-action visible against the dark story panel. */
body.page-id-13.lo-dark-mode .lo-people-story p:last-of-type a {
  background: transparent !important;
  border-color: #ed5a16 !important;
  color: #f3f1eb !important;
}
body.page-id-13.lo-dark-mode .lo-people-story p:last-of-type a:hover,
body.page-id-13.lo-dark-mode .lo-people-story p:last-of-type a:focus {
  background: #ed5a16 !important;
  color: #0c0e13 !important;
}

/* Studio keeps its photography; only the copy banners change. */
body.page-id-8.lo-dark-mode .lo-studio-copy {
  background: #0c0e13 !important;
  color: #f3f1eb !important;
}
body.page-id-8.lo-dark-mode .lo-studio-copy h2 { color: #ed5a16 !important; }
body.page-id-8.lo-dark-mode .lo-studio-copy a { color: #f3f1eb; border-color: #ed5a16; }
body.page-id-8.lo-dark-mode .lo-studio-copy p,
body.page-id-8.lo-dark-mode .lo-studio-copy strong,
body.page-id-8.lo-dark-mode .lo-studio-copy em { color: #d8d7d2 !important; }
/* Brighten the photographic texture inside Studio's cut-out headings only. */
body.page-id-8.lo-dark-mode .lo-studio-copy h2 {
  background-color: transparent !important;
  background-blend-mode: normal !important;
  filter: brightness(1.7) contrast(.82) saturate(.82);
}

/* Profile hero parallax: the content and overlays stay fixed and legible. */
.lo-profile-hero { overflow: hidden; }
.lo-profile-hero > .wp-block-cover__image-background {
  will-change: transform;
  transform: translate3d(0, var(--lo-parallax-y, 0px), 0) scale(1.12);
  transform-origin: center center;
}

/* Homepage dark mode: invert only the footage. Keeping the whole main element
   out of a filter-created stacking context lets the logo sit above the header. */
body.home.lo-dark-mode main { filter: none !important; }
body.home.lo-dark-mode .hero__media {
  filter: invert(1) hue-rotate(180deg);
}
body.home.lo-dark-mode .hero::after { background: none !important; }
body.home.lo-dark-mode .hero__logo,
body.home.lo-dark-mode .hero__content {
  filter: none !important;
}
/* Keep the original hero logo in place; only the artwork beneath it is inverted. */
body.home.lo-dark-mode .site-brand { display: none !important; }
body.home.lo-dark-mode main .hero__logo {
  visibility: visible !important;
  z-index: 1001;
}
body.home.lo-dark-mode .hero__content,
body.home.lo-dark-mode .hero__content h1,
body.home.lo-dark-mode .hero__content p { color: #fff !important; }
body.home.lo-dark-mode .site-header { background: #07080a !important; }
body.home.lo-dark-mode .site-header .primary-nav a,
body.home.lo-dark-mode .site-header .menu-toggle,
body.home.lo-dark-mode .site-header .primary-nav li { color: #fff !important; }
body.home.lo-dark-mode .site-header .primary-nav a:hover,
body.home.lo-dark-mode .site-header .primary-nav a:focus { color: #ed5a16 !important; }
body.home.lo-dark-mode .site-header .sub-menu { background: #07080a !important; }
@media (min-width: 761px) {
  body.home .site-header__inner {
    min-height: calc(64px + 2.2rem);
    justify-content: flex-end !important;
  }
}

/* Dark-mode navigation stays dark and readable when the sticky header returns. */
body.lo-dark-mode .site-header,
body.lo-dark-mode .site-header .site-brand__logo,
body.lo-dark-mode .site-header .menu-toggle {
  animation-name: none !important;
}
body.lo-dark-mode .site-header.is-scrolled {
  background: rgba(7,8,10,.97) !important;
  color: #fff !important;
  box-shadow: 0 1px 0 rgba(255,255,255,.12) !important;
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
}
body.lo-dark-mode .site-header a,
body.lo-dark-mode .site-header li,
body.lo-dark-mode .site-header .menu-toggle,
body.page-id-82.lo-dark-mode .site-header a,
body.page-id-88.lo-dark-mode .site-header a,
body.page-id-84.lo-dark-mode .site-header a {
  color: #fff !important;
}
body.lo-dark-mode .site-header .primary-nav a:hover,
body.lo-dark-mode .site-header .primary-nav a:focus { color: #ed5a16 !important; }
body.lo-dark-mode .site-header.is-scrolled .menu-toggle {
  border-color: rgba(255,255,255,.38) !important;
}
body.lo-dark-mode .site-header.is-scrolled .site-brand__logo { filter: none !important; }
body.lo-dark-mode .site-header .lo-dark-toggle {
  display: flex !important;
  visibility: visible !important;
  opacity: 1 !important;
}
body.lo-dark-mode .site-header .lo-dark-toggle {
  align-items: center;
  justify-content: center;
  color: #fff !important;
  flex: 0 0 34px;
}
body.page-id-8:not(.lo-dark-mode) .site-header.is-scrolled .lo-dark-toggle {
  color: #07164b !important;
  border-color: #07164b !important;
}
.site-header__controls {
  order: 3;
  display: flex;
  align-items: center;
  gap: 10px;
  flex: 0 0 auto;
}

.lo-header-book {
  display: none;
}
.primary-nav { order: 2; margin-left: auto; }
.site-brand { order: 1; }

/* When the sticky header has become a solid surface, let that surface unfold
   behind dropdown links instead of leaving them floating over the page. */
@media (min-width: 761px) {
  .site-header.is-scrolled .primary-nav .sub-menu,
  body.lo-dark-mode .site-header .primary-nav .sub-menu {
    top: 100%;
    left: -18px;
    min-width: calc(100% + 36px);
    padding: 16px 18px 19px;
    border-top: 1px solid rgba(0,0,0,.08);
    background: rgba(255,255,255,.96);
    box-shadow: 0 14px 24px rgba(0,0,0,.12);
    clip-path: inset(0 0 100% 0);
    transform: translateY(-8px);
    transform-origin: top;
    transition: opacity .2s ease, visibility .2s ease, transform .24s ease, clip-path .24s ease;
  }
  .site-header.is-scrolled .primary-nav .menu-item-has-children:hover > .sub-menu,
  .site-header.is-scrolled .primary-nav .menu-item-has-children:focus-within > .sub-menu,
  body.lo-dark-mode .site-header .primary-nav .menu-item-has-children:hover > .sub-menu,
  body.lo-dark-mode .site-header .primary-nav .menu-item-has-children:focus-within > .sub-menu {
    clip-path: inset(0 0 0 0);
    transform: translateY(0);
  }
  body.lo-dark-mode .site-header .primary-nav .sub-menu {
    border-top-color: rgba(255,255,255,.12);
    background: rgba(7,8,10,.97) !important;
    box-shadow: 0 14px 24px rgba(0,0,0,.34);
  }
}
.lo-dark-toggle {
  display: inline-grid;
  place-items: center;
  width: 34px;
  height: 34px;
  padding: 0;
  border: 1px solid currentColor;
  border-radius: 50%;
  background: transparent;
  color: #07164b;
  cursor: pointer;
  transition: color .2s ease, border-color .2s ease, background-color .2s ease;
}
.lo-dark-toggle svg { width: 17px; height: 17px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.lo-dark-toggle .lo-icon-sun { display: none; }
body.lo-dark-mode .lo-dark-toggle .lo-icon-moon { display: none; }
body.lo-dark-mode .lo-dark-toggle .lo-icon-sun { display: block; }
body.lo-dark-mode .lo-dark-toggle { color: #fff; }
body.page-id-8 .lo-dark-toggle,
body.page-id-11 .lo-dark-toggle,
body.page-id-13 .lo-dark-toggle,
body.page-id-82 .lo-dark-toggle,
body.page-id-88 .lo-dark-toggle,
body.page-id-84 .lo-dark-toggle { color: #fff; }
.site-footer { transition: background-color .2s ease, color .2s ease; }
body.lo-dark-mode .site-footer { background: #0c0e13 !important; color: #c9c9c5 !important; }
body.lo-dark-mode .site-footer p,
body.lo-dark-mode .site-footer a { color: #c9c9c5 !important; }
.lo-dark-toggle:hover,
.lo-dark-toggle:focus-visible { color: #fff; border-color: #ed5a16; background: #ed5a16; outline: none; }
@media (max-width: 760px) {
  .site-header__controls {
    margin-left: auto;
    position: relative;
    z-index: 30;
    color: inherit;
  }

  .lo-header-book {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    align-self: stretch;
    padding: .6rem .8rem;
    border: 2px solid currentColor;
    background: transparent;
    color: currentColor;
    font-family: Inter, Arial, Helvetica, sans-serif;
    font-size: .75rem;
    font-weight: 700;
    letter-spacing: .1em;
    line-height: 1;
    text-transform: uppercase;
    text-decoration: none;
    box-sizing: border-box;
    transition: color .2s, border-color .2s, background-color .2s;
  }

  .lo-header-book:hover,
  .lo-header-book:focus-visible {
    color: #fff;
    border-color: #ed5a16;
    background: #ed5a16;
    outline: none;
  }
  .site-header .site-header__controls .lo-dark-toggle {
    display: inline-grid !important;
    color: currentColor !important;
    border-color: currentColor !important;
  }
  body:not(.lo-dark-mode) .site-header.is-scrolled .site-header__controls {
    color: #07164b !important;
  }
  body.lo-dark-mode .site-header .site-header__controls {
    color: #fff !important;
  }
  body.home .site-header__inner {
    justify-content: flex-end !important;
  }
}
@media (prefers-reduced-motion: reduce) {
  .woocommerce a.button, .woocommerce button.button, .woocommerce input.button { transition: none; }
  .lo-profile-hero > .wp-block-cover__image-background { transform: none !important; }
}
