@font-face{font-family:"Lazvly Noto Sans JP";src:url("fonts/noto-sans-jp-variable.woff2") format("woff2");font-style:normal;font-weight:100 900;font-display:swap}
/* Language-specific composition, loaded after the original 0.6.57 styles. */
html[lang^="de"] :is(h1,h2,h3,.lz-display,.lazvly-site-nav__link) {
  overflow-wrap: break-word;
  hyphens: auto;
}
html[lang^="de"] #lazvly-authorized-clone .crisp-header__h1 {
  max-width: 95vw;
  font-size: clamp(3.1rem, 8.6vw, 8rem);
  line-height: .94;
}
html[lang^="de"] #lazvly-authorized-clone .lz-display {
  line-height: .98;
}
:is(html[lang^="de"],html[lang^="ja"],html[lang^="fr"]) :is(.lz-signup h2,.lz-signup__question) {
  white-space: normal;
  overflow-wrap: break-word;
  text-wrap: balance;
}
:is(html[lang^="de"],html[lang^="ja"],html[lang^="fr"]) #lazvly-authorized-clone .lz-signup .lz-display {
  max-width: 100%;
  white-space: normal;
  text-wrap: balance;
}
html[lang^="ja"] .lz-signup h2 {
  font-size: clamp(2rem,3.5vw,3.4rem);
}
html[lang^="ja"] .lz-signup__question {
  font-family: var(--lz-japanese);
  font-size: clamp(1.4rem,2.2vw,2.2rem);
  line-height: 1.4;
}
html[lang^="de"] :is(.about-hero h1,.about-process h2,.company-story h2,.story-turn h2) {
  line-height: 1.02;
}
:is(html[lang^="de"],html[lang^="ja"],html[lang^="fr"]) #lazvly-authorized-clone .btn-group {
  max-width: 100%;
  flex-wrap: wrap;
}
:is(html[lang^="de"],html[lang^="ja"],html[lang^="fr"]) #lazvly-authorized-clone :is(.btn-icon-link,.btn-icon-content) {
  max-width: 100%;
}
:is(html[lang^="de"],html[lang^="ja"],html[lang^="fr"]) #lazvly-authorized-clone .kickstarter-label {
  white-space: normal;
  line-height: 1.3;
}
:is(html[lang^="de"],html[lang^="ja"],html[lang^="fr"]) #lazvly-authorized-clone :is(.lz-how__tab,.lz-install__step-title) {
  white-space: normal;
  line-height: 1.2;
}
:is(html[lang^="de"],html[lang^="ja"],html[lang^="fr"]) :is(.lz-how__copy,.lz-signup__copy,.lv-form-shell,.lv-side,.production-status>div) {
  min-width: 0;
}
:is(html[lang^="de"],html[lang^="ja"],html[lang^="fr"]) :is(input,select,textarea) {
  font-size: max(1rem, 16px);
}
html[lang^="ja"] {
  --lz-japanese: "Lazvly Noto Sans JP", "Hiragino Kaku Gothic ProN", "Yu Gothic", sans-serif;
}
html[lang^="ja"] :is(body.lazvly-template-page,#lazvly-authorized-clone,#lv-contact-page,.lazvly-site-footer,.lazvly-site-nav) {
  font-family: var(--lz-japanese);
}
html[lang^="ja"] :is(h1,h2,h3,h4,.lz-display,.lz-kicker,.lz-how__title,.lz-how__tab,.lz-install__step-title,.accordion-css__item-h3,.lazvly-site-nav__links a,.lazvly-site-nav__contact,.lazvly-site-footer__nav a,.btn-icon-content,.launch-inline__submit,.lv-preview-form button,.forminator-button) {
  font-family: var(--lz-japanese) !important;
  letter-spacing: .01em;
  text-transform: none;
  line-height: 1.3 !important;
  word-break: normal;
  line-break: strict;
  overflow-wrap: anywhere;
}
html[lang^="ja"] :is(p,blockquote,figcaption,.lz-copy,.lv-forminator-note,.lazvly-policy-document li) {
  line-height: 1.85;
  line-break: strict;
  word-break: normal;
}
html[lang^="ja"] #lazvly-authorized-clone .crisp-header__h1 {
  max-width: 95vw;
  font-size: clamp(2.2rem, 5.8vw, 5.5rem);
  line-height: 1.22 !important;
}
html[lang^="ja"] #lazvly-authorized-clone .crisp-header__h1 .split-line {
  padding-block: .05em;
  margin-block: 0;
}
html[lang^="ja"] #lazvly-authorized-clone .crisp-header__h1 .split-line span {
  white-space: normal;
}
html[lang^="ja"] #lazvly-authorized-clone .lz-display {
  max-width: 100%;
  font-size: clamp(2rem, 3.5vw, 3.4rem);
}
html[lang^="ja"] :is(.about-hero h1,.company-story h2,.story-turn h2,#lv-contact-page h1) {
  font-size: clamp(2rem, 3.8vw, 3.6rem);
  max-width: 20em;
}
html[lang^="ja"] :is(.about-process h2,#lv-contact-page h2) {
  font-size: clamp(1.65rem, 2.7vw, 2.7rem);
}
html[lang^="ja"] .lazvly-thanks h1 {
  max-width: 100%;
  font-size: clamp(2rem,5vw,4rem);
  text-wrap: balance;
}
html[lang^="ja"] .lazvly-thanks__actions .wp-block-button__link {
  font-family: var(--lz-japanese);
  line-height: 1.5;
}
html[lang^="ja"] :is(.lazvly-site-nav__links a,.lazvly-site-footer__links a) {
  line-height: 1.35;
}
@media (max-width:767px) {
  html[lang^="de"] #lazvly-authorized-clone .crisp-header__h1 {font-size:clamp(2.8rem,11vw,5rem)}
  html[lang^="de"] #lazvly-authorized-clone .crisp-header__h1 .split-line span {white-space:normal}
  html[lang^="de"] #lazvly-authorized-clone .lz-display {font-size:clamp(2.2rem,10vw,3rem)}
  html[lang^="ja"] #lazvly-authorized-clone .crisp-header__h1 {font-size:clamp(2rem,7.2vw,3.2rem)}
  html[lang^="ja"] #lazvly-authorized-clone .lz-display {font-size:clamp(1.8rem,7.4vw,2.6rem)}
  html[lang^="ja"] #lazvly-authorized-clone .accordion-css__item-h3 {font-size:1.15rem}
  html[lang^="ja"] .lazvly-site-nav__links a {font-size:clamp(2rem,10.5vw,3rem)}
  html[lang^="ja"] #lazvly-authorized-clone :is(.lz-how__head,.lz-qa__head) {position:static}
  :is(html[lang^="de"],html[lang^="ja"],html[lang^="fr"]) #lazvly-authorized-clone .crisp-header__center {padding-inline:1rem}
  :is(html[lang^="de"],html[lang^="ja"],html[lang^="fr"]) #lazvly-authorized-clone .kickstarter-button {padding-inline:1.1rem}
  :is(html[lang^="de"],html[lang^="ja"],html[lang^="fr"]) #lazvly-authorized-clone .lz-copy {font-size:1rem}
}

/* Restore the existing globe control on the current release's brand shell. */
.lazvly-site-nav__locale-toggle {
  display: flex;
  width: auto;
  min-width: 2.75rem;
  min-height: 2.75rem;
  gap: .35rem;
  padding: .35rem .25rem;
  align-items: center;
  justify-content: center;
  font: 700 .8rem/1 "Barlow", sans-serif;
}
.lazvly-site-nav__locale-toggle svg { width: 1.25rem; height: 1.25rem; }
.lazvly-site-nav__locale-menu {
  left: auto;
  right: 0;
  min-width: 10.5rem;
  align-items: stretch;
  gap: 0;
  padding: .4rem;
  border-radius: .5rem;
  background: #1b1a18;
  box-shadow: 0 12px 30px rgb(0 0 0 / .2);
  transform: translateY(-.45rem);
  transition: opacity .18s ease, transform .18s ease;
}
.lazvly-site-nav__locales:hover .lazvly-site-nav__locale-menu,
.lazvly-site-nav__locales:focus-within .lazvly-site-nav__locale-menu {
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transform: translateY(-.45rem);
}
.lazvly-site-nav__locales.is-open .lazvly-site-nav__locale-menu {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
  transform: translateY(0);
}
.lazvly-site-nav__locale-menu a {
  display: flex;
  min-height: 2.75rem;
  padding: .7rem .75rem;
  align-items: center;
  justify-content: space-between;
  color: #f3f2f2;
  font: 600 1rem/1.4 "Barlow", "Lazvly Noto Sans JP", sans-serif;
  border-radius: .25rem;
  text-decoration: none;
}
.lazvly-site-nav__locale-menu a.is-current { background: #393733; }
.lazvly-site-nav__locale-menu a.is-current::after { content: ""; width: .35rem; height: .65rem; border: solid #ff6933; border-width: 0 2px 2px 0; transform: rotate(45deg); }
.lazvly-site-nav__locale-menu a:hover { background: #504b44; }
.lazvly-site-nav :is(button,a):focus-visible { outline: 2px solid #ff9d73; outline-offset: 3px; }
.lazvly-site-nav__mobile-locales { flex-wrap: wrap; gap: .25rem .75rem; }
.lazvly-site-nav__mobile-locales a { display: flex; min-height: 2.75rem; align-items: center; color: #f3f2f2; font: 600 .95rem/1.4 "Barlow", "Lazvly Noto Sans JP", sans-serif; }
.lazvly-site-nav__mobile-locales a.is-current { color: #ff9d73; text-decoration: underline; text-underline-offset: .3em; }
.lazvly-language-fallback { position: absolute; top: 100%; right: 0; display: grid; background: #1b1a18; padding: .75rem; gap: .65rem; }
.lazvly-language-fallback a { color: #f3f2f2; }
html[lang^="fr"] :is(h1,h2,h3,.lz-display) { overflow-wrap: break-word; hyphens: auto; }
html[lang^="fr"] #lazvly-authorized-clone .crisp-header__h1 { max-width: 95vw; font-size: clamp(2.8rem,7.1vw,6.6rem); line-height: .98; }
html[lang^="fr"] #lazvly-authorized-clone .crisp-header__h1 .split-line span { white-space: normal; }
html[lang^="fr"] :is(.lz-signup h2,.lz-signup__question) { white-space: normal; text-wrap: balance; }
/* The current theme places the keyboard target on this intro. Its full-width
   WordPress reset must not override the intro's existing inset and spacing. */
body:has(#lv-contact-page) #main.lv-contact-intro {
  width: calc(100% - clamp(2.5rem,5vw,7rem)) !important;
  margin: 0 auto !important;
  padding: clamp(3.5rem,5vw,5rem) 0 clamp(3.5rem,6vw,6rem) !important;
}
@media (max-width:760px) {
  .lazvly-site-nav__bar { grid-template-columns: minmax(3rem,1fr) auto minmax(3rem,1fr); }
  .lazvly-site-nav__locale-toggle { gap: .3rem; }
  .lazvly-site-nav__locale-menu { right: -.2rem; }
  .lazvly-site-nav__panel { overflow-y: auto; overscroll-behavior: contain; }
  html[lang^="fr"] #lazvly-authorized-clone .crisp-header__h1 { font-size: clamp(2.4rem,9.7vw,4.5rem); }
  html[lang^="fr"] #lazvly-authorized-clone .lz-display { font-size: clamp(2.1rem,9vw,3rem); }
  html[lang^="fr"] .lazvly-site-nav__links a { font-size: clamp(2rem,10vw,3rem); }
  body:has(#lv-contact-page) #main.lv-contact-intro {
    width: calc(100% - 2.5rem) !important;
    padding: 3rem 0 !important;
  }
}
