/* src/styles/editor-canvas-fix.css */
body[data-instatic-iframe-interaction=canvas] .loader{display:none!important}
body[data-instatic-iframe-interaction=canvas] .reveal{opacity:1!important;transform:none!important}
body[data-instatic-iframe-interaction=canvas] .form-msg{display:none!important}
body[data-instatic-iframe-interaction=canvas] main[data-ms-page=kontakt]>[data-canvas-empty-container]:first-child{display:none!important}

/* src/styles/momentsammler-custom.css */

.home-meet .media-full img{ aspect-ratio:1/1 !important; object-fit:cover; width:100%; }
@media (max-width:768px){ .home-meet .media-full{ max-width:none !important; } }

.wf-sec .wf-grid{
  max-width:1240px; margin:0 auto; padding:0 clamp(1rem,4vw,2rem);
  display:grid; grid-template-columns:repeat(2,1fr); gap:clamp(1.5rem,3vw,2.8rem);
}
.wf-sec .wf-item{ margin:0; }
.wf-sec .wf-item .film-stage{ max-width:none !important; }
.wf-sec .wf-grid [data-instatic-loop]{ display:contents !important; }
.wf-vid{ display:none !important; }
.film-stage > [data-instatic-loop]{ display:contents !important; }
.film-stage.wf-novid .film-play{ display:none !important; }
.wf-sec .wf-item.wf-novid .film-play{ display:none !important; }

.wf-sec .wf-item{
  display:grid;
  grid-template-areas:"wfmedia" "wfcap";
  grid-template-rows:auto auto;
}
.wf-sec .wf-item > .film-stage{ grid-area:wfmedia; width:100%; align-self:start; }
.wf-sec .wf-item > .wf-cap{ grid-area:wfcap; }
.wf-sec .wf-item > .ms-cc-videohint{
  grid-area:wfmedia;
  align-self:stretch;
  z-index:4;
  margin:0 !important;
  min-height:0 !important;
  border:0 !important;
  border-radius:0 !important;
  background:rgba(24,23,21,.55) !important;
  backdrop-filter:blur(2px);
}
.wf-sec .wf-item > .ms-cc-videohint .ms-cc-videohint__box{
  background:#f6f0e7;
  border:1px solid #e7ddcd;
  border-radius:12px;
  padding:18px 22px;
  box-shadow:0 6px 24px rgba(30,25,20,.22);
}
.wf-sec .wf-item .film-stage[data-cc-blocked] .film-play{ display:none !important; }
.wf-sec .wf-grid:not(.wf-js) .wf-item:nth-child(n+3){ display:none; }
.wf-cap{ display:flex; flex-direction:column; gap:.3rem; margin-top:.9rem; text-align:left; }
.wf-couple{ font-size:clamp(1.05rem,1.5vw,1.28rem); line-height:1.15; letter-spacing:.005em; }
.wf-meta{ font-size:.7rem; letter-spacing:.18em; text-transform:uppercase; color:var(--muted,#8a847c); }
.wf-more{ text-align:center; margin-top:clamp(2rem,4.5vw,3rem); }
.wf-sec .wf-grid.wf-open ~ .wf-more{ display:none !important; }
@media (max-width:768px){
  .wf-sec .wf-grid{ grid-template-columns:1fr; gap:clamp(1.6rem,6vw,2.4rem); }
}
@media (max-width:768px){
  .film .film-stage > iframe{
    position:absolute !important; top:50% !important; left:50% !important;
    right:auto !important; bottom:auto !important;
    transform:translate(-50%,-50%) !important;
    height:100% !important; width:118.6% !important; max-width:none !important; border:0 !important;
  }
}

html:root{--frame:44px}

@media (hover: hover){
  main img:not(.hero-img){filter:grayscale(1);transition:filter .5s ease}
  main img:not(.hero-img):hover{filter:grayscale(0) !important}
}

.hero-img{filter:grayscale(1) !important}

main .gallery-sec{padding-inline:clamp(0.4rem,1.5vw,1rem) !important}

.ig-cover{filter:grayscale(1) !important}
.ig-post-gallery{display:grid !important;grid-template-columns:repeat(3,1fr) !important;gap:6px;padding-inline:clamp(1.25rem,5vw,4rem);max-width:none;margin-inline:auto}
.ig-post-gallery .ig-gimg{width:100%;height:100%;aspect-ratio:1/1;object-fit:cover;display:block}
@media (max-width:640px){.ig-post-gallery{grid-template-columns:repeat(2,1fr) !important}}
@media (hover: hover){
  .ig-gimg{filter:grayscale(1);transition:filter .5s ease}
  .ig-gimg:hover{filter:grayscale(0) !important}
}

.menu[data-astro-cid-5hce7sga]{
  background-color:#ffffff !important;
}

.menu[data-astro-cid-5hce7sga]::before,
.menu[data-astro-cid-5hce7sga]::after,
.menu::before,
.menu::after{
  content:none !important;
  display:none !important;
  background:none !important;
}

.menu[data-astro-cid-5hce7sga] nav[data-astro-cid-5hce7sga]{
  align-items:flex-end !important;
  row-gap:clamp(.55rem, 1.9vh, 1.15rem) !important;
}
.menu[data-astro-cid-5hce7sga] nav[data-astro-cid-5hce7sga] a[data-astro-cid-5hce7sga]{
  font-family:var(--serif) !important;
  color:#111111 !important;
  text-align:right !important;
}
.menu[data-astro-cid-5hce7sga] nav[data-astro-cid-5hce7sga] a[data-astro-cid-5hce7sga]:hover,
.menu[data-astro-cid-5hce7sga] nav[data-astro-cid-5hce7sga] a[data-astro-cid-5hce7sga]:focus-visible{
  color:#5a5148 !important;
}

.menu-lang[data-astro-cid-5hce7sga],
.menu-lang[data-astro-cid-5hce7sga] a[data-astro-cid-5hce7sga]{
  color:#5a5148 !important;
}
.menu-lang[data-astro-cid-5hce7sga] .active[data-astro-cid-5hce7sga]{
  color:#111111 !important;
}
.menu-lang[data-astro-cid-5hce7sga] a[data-astro-cid-5hce7sga]:hover{
  color:#111111 !important;
}

html.menu-open .brand[data-astro-cid-5hce7sga]{
  color:#111111 !important;
  mix-blend-mode:normal !important;
}

html.menu-open .burger,
html.menu-open .burger[data-astro-cid-5hce7sga]{
  mix-blend-mode:normal !important;
  background-color:transparent !important;
}
html.menu-open .burger::before{
  box-shadow:0 0 0 0 transparent, 0 0 0 0 transparent !important;
  background-color:#111111 !important;
  transform:rotate(45deg) !important;
  transform-origin:center !important;
}
html.menu-open .burger::after{
  content:"" !important;
  position:absolute !important;
  top:calc(50% - 1px) !important;
  left:26% !important; right:26% !important;
  height:2px !important;
  background-color:#111111 !important;
  transform:rotate(-45deg) !important;
  transform-origin:center !important;
}
html.menu-open .burger[data-astro-cid-5hce7sga] span[data-astro-cid-5hce7sga]{
  background-color:#111111 !important;
}

@media (min-width:769px){
  .menu[data-astro-cid-5hce7sga]{
    justify-content:center !important;
    padding-inline:clamp(2rem, 6vw, 5.5rem) !important;
  }
  .menu[data-astro-cid-5hce7sga] nav[data-astro-cid-5hce7sga]{
    row-gap:clamp(.7rem, 1.6vh, 1.2rem) !important;
  }
}
@media (max-width:768px){
  .menu[data-astro-cid-5hce7sga] nav[data-astro-cid-5hce7sga]{
    row-gap:clamp(.5rem, 1.4vh, .9rem) !important;
  }
  .menu-lang[data-astro-cid-5hce7sga]{
    top:calc(var(--frame) + 2.6rem) !important;
  }
}

.frame {
  border-bottom-width: 0 !important;
  border-bottom-style: none !important;
}

.hero h1,
.hero-inner h1 {
  font-family: var(--serif) !important;
  font-weight: 400 !important;
  text-transform: uppercase !important;
  color: #fff !important;
  font-size: clamp(2.4rem, 8vw, 5.4rem) !important;
  line-height: 1.02 !important;
  letter-spacing: -0.005em !important;
  text-shadow: 0 2px 30px rgba(0, 0, 0, 0.35);
}
.hero h1 .line,
.hero-inner h1 .line {
  display: block !important;
}

.hero .btn,
.hero-inner .btn {
  display: inline-flex !important;
  align-items: center !important;
  column-gap: 0.7rem !important;
  color: hsla(60, 7.69%, 5.1%, 1) !important;
  background: hsla(37.5, 22.22%, 92.94%, 1) !important;
  border: 1px solid rgba(0, 0, 0, 0.06) !important;
  border-radius: 999px !important;
  padding: 0.95rem 1.4rem 0.95rem 1.6rem !important;
  font-family: var(--btn-font) !important;
  font-weight: 600 !important;
  font-size: 0.74rem !important;
  letter-spacing: 0.2em !important;
  text-transform: uppercase !important;
  opacity: 1 !important;
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.28) !important;
  margin-top: clamp(1.9rem, 4.5vh, 2.8rem) !important;
  transition: background .35s ease, color .35s ease,
              box-shadow .35s ease, transform .35s ease !important;
}
.hero .btn:hover,
.hero-inner .btn:hover {
  opacity: 1 !important;
  background: hsla(60, 7.69%, 5.1%, 1) !important;
  color: #fff !important;
  border-color: hsla(60, 7.69%, 5.1%, 1) !important;
  box-shadow: 0 14px 36px rgba(0, 0, 0, 0.36) !important;
  transform: translateY(-1px);
}
.hero .btn:focus-visible,
.hero-inner .btn:focus-visible {
  outline: 2px solid #fff !important;
  outline-offset: 3px;
}

.hero-inner > p:last-child {
  margin-top: clamp(1.6rem, 3.2vh, 2.2rem);
  font-family: var(--btn-font);
  font-weight: 600;
  font-size: 0.63rem;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  color: #fff;
  opacity: 0.82;
}

@media (max-width: 600px) {
  .hero-inner { margin-top: 12vh !important; }
}

.loader{
  background-color:#fff !important;
}

.loader .loader-mark{
  writing-mode:vertical-rl !important;
  transform:rotate(180deg) !important;
  font-family:var(--sans) !important;
  font-weight:700 !important;
  color:var(--ink) !important;
  letter-spacing:.16em !important;
  line-height:1 !important;
  text-align:center !important;
  gap:clamp(.5rem,1.4vh,1.1rem) !important;
  font-size:clamp(1.9rem,4.8vh,3.6rem) !important;
}

.loader .loader-mark small{
  font-weight:600 !important;
  color:var(--ink-soft) !important;
  letter-spacing:.42em !important;
  font-size:clamp(.6rem,1.4vh,.85rem) !important;
}

@media (max-width:768px){
  .loader .loader-mark{
    letter-spacing:.18em !important;
    font-size:clamp(1.9rem,4.2vh,3.2rem) !important;
  }
}

@media (min-width:1200px){
  .loader .loader-mark{
    font-size:clamp(2.6rem,5vh,4.2rem) !important;
  }
}

:root {
  --fs-h2: clamp(2rem, 5vw, 3.3rem);
  --fs-h3: clamp(1.4rem, 2.6vw, 1.85rem);
  --fs-body: clamp(1rem, 0.95rem + 0.3vw, 1.0625rem);
}

.hero h1 {
  font-size: clamp(2.5rem, 7vw, 5rem) !important;
  line-height: 1.02 !important;
}

.lead {
  max-width: min(62ch, 100%) !important;
  margin-inline: auto !important;
}

@media (max-width: 380px) {
  .hero h1 { font-size: clamp(2.1rem, 9vw, 2.6rem) !important; }
}

.proc{
  background:#ffffff !important;
  color:var(--ink) !important;
}

.proc .eyebrow{
  color:#5a5148 !important;
}
.proc .head{
  color:var(--ink) !important;
}

.proc .step-no{
  color:var(--ink) !important;
}

.proc .step-title{
  color:var(--ink) !important;
}
.proc .step-body{
  color:#5a5148 !important;
}

main:has(#main-content.gallery-sec) .gallery-sec{
  padding-inline: clamp(0.4rem, 1.5vw, 1rem) !important;
}
#main-content.gallery-sec{
  padding-inline: clamp(0.4rem, 1.5vw, 1rem) !important;
}

.gallery-sec .mosaic{ column-gap: 6px !important; }
.gallery-sec .mosaic .cell{ margin-bottom: 6px !important; }
.gallery-sec .mosaic{ column-count: 2 !important; }
@media (min-width: 760px){
  .gallery-sec .mosaic{ column-count: 3 !important; }
}
@media (min-width: 1440px){
  .gallery-sec .mosaic{ column-count: 4 !important; }
}

.form-sec{
  padding-inline:clamp(1.5rem,6vw,5rem) !important;
}
.form-sec .form-wrap{
  max-width:640px !important;
  margin-inline:auto !important;
  padding-inline:clamp(0rem,3vw,1.25rem) !important;
}

.lead-form{
  margin-top:clamp(2.4rem,5vw,3rem) !important;
  text-align:center !important;
}

.lead-form .grid{
  display:grid !important;
  grid-template-columns:1fr 1fr;
  row-gap:clamp(1.9rem,3.5vw,2.4rem) !important;
  column-gap:clamp(1.25rem,3vw,2rem) !important;
  text-align:left !important;
}
.lead-form .grid .full{grid-column:1 / -1 !important;}
@media (max-width:600px){
  .lead-form .grid{grid-template-columns:1fr !important;}
  .lead-form .grid .half{grid-column:1 / -1 !important;}
}

.lead-form .grid label{
  display:flex !important;
  flex-direction:column !important;
  gap:.7rem !important;
  align-items:stretch !important;
}
.lead-form .grid label span{
  font-family:var(--sans) !important;
  font-weight:600 !important;
  font-size:.68rem !important;
  letter-spacing:.18em !important;
  text-transform:uppercase !important;
  color:var(--ink-soft) !important;
}

.lead-form .grid input,
.lead-form .grid select,
.lead-form .grid textarea{
  font-family:var(--sans) !important;
  font-size:1rem !important;
  font-weight:400 !important;
  color:var(--ink) !important;
  width:100% !important;
  background:transparent !important;
  border:0 !important;
  border-radius:0 !important;
  border-bottom:1px solid rgba(90,81,72,.28) !important;
  padding:.55rem .1rem .7rem !important;
  outline:none !important;
  box-shadow:none !important;
  transition:border-color .25s ease !important;
}
.lead-form .grid input:focus,
.lead-form .grid select:focus,
.lead-form .grid textarea:focus{
  border-bottom-color:var(--ink) !important;
}
.lead-form .grid textarea{
  min-height:6.5rem !important;
  line-height:1.6 !important;
  resize:vertical !important;
}
.lead-form .grid select{
  -webkit-appearance:none !important;
  appearance:none !important;
  cursor:pointer !important;
  padding-right:1.7rem !important;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath fill='none' stroke='%235a5148' stroke-width='1.4' d='M1 1.5 6 6.5 11 1.5'/%3E%3C/svg%3E") !important;
  background-repeat:no-repeat !important;
  background-position:right .1rem center !important;
  background-size:12px 8px !important;
}

.lead-form .form-reassure{
  margin:clamp(2rem,4vw,2.6rem) auto .25rem !important;
  max-width:520px !important;
}

.lead-form .ms-consent{
  display:flex !important;
  gap:.65em !important;
  align-items:flex-start !important;
  text-align:left !important;
  max-width:520px !important;
  margin:1.75rem auto 0 !important;
  font-size:.82rem !important;
  line-height:1.55 !important;
  color:var(--ink-soft) !important;
}
.lead-form .ms-consent input[type="checkbox"]{
  margin-top:.2em !important;
  flex:0 0 auto !important;
  width:auto !important;
  accent-color:var(--ink);
}

.lead-form button.btn[type="submit"]{
  margin-top:clamp(2rem,4vw,2.5rem) !important;
  justify-content:center !important;
  min-width:min(260px,100%) !important;
  padding:1.05rem 2.75rem !important;
  border:1px solid var(--ink) !important;
  color:var(--ink) !important;
  background:transparent !important;
  letter-spacing:.2em !important;
  transition:background .25s ease,color .25s ease,opacity .25s ease !important;
}
.lead-form button.btn[type="submit"]::after{
  content:none !important;
  display:none !important;
}
.lead-form button.btn[type="submit"]:hover{
  background:var(--ink) !important;
  color:var(--cream) !important;
  opacity:1 !important;
}
@media (max-width:600px){
  .lead-form button.btn[type="submit"]{width:100% !important;}
}

.lead-form .form-msg{
  margin-top:1.4rem !important;
  font-size:.9rem !important;
  text-align:center !important;
}

.ms-cc-banner{
  font-family:var(--sans,"Montserrat",system-ui,sans-serif) !important;
}
.ms-cc-pos-bottom{ bottom:20px !important; padding:0 20px !important; }
.ms-cc-pos-bottom .ms-cc-banner__inner{ max-width:1060px !important; }

.ms-cc-banner__inner{
  background:#f6f0e7 !important;
  color:#4a4238 !important;
  border:1px solid #e4d9c6 !important;
  border-radius:12px !important;
  box-shadow:0 10px 40px rgba(60,50,40,.18) !important;
  padding:20px 24px !important;
  gap:18px 28px !important;
  align-items:center !important;
}

.ms-cc-banner__text{
  flex:1 1 340px !important;
  margin:0 !important;
  font-size:13.5px !important;
  line-height:1.6 !important;
  color:#6b6258 !important;
}
.ms-cc-banner__text::before{
  content:"Cookie & Datenschutz";
  display:block;
  margin:0 0 6px;
  font-size:12px;
  font-weight:700;
  letter-spacing:.14em;
  text-transform:uppercase;
  color:#2f2a24;
}
.ms-cc-banner__link{
  color:#8a6d3b !important;
  text-decoration:underline !important;
  text-underline-offset:2px !important;
}

.ms-cc-banner__actions{ gap:12px !important; flex:0 0 auto !important; }
.ms-cc-btn{
  font-family:var(--btn-font,"Poppins","Montserrat",system-ui,sans-serif) !important;
  text-transform:uppercase !important;
  letter-spacing:.1em !important;
  font-size:11px !important;
  font-weight:600 !important;
  padding:12px 22px !important;
  border-radius:4px !important;
  border:1px solid transparent !important;
  cursor:pointer !important;
  transition:background .18s ease,color .18s ease,opacity .18s ease !important;
}
.ms-cc-btn--accept{ background:#2f2a24 !important; color:#f6f0e7 !important; }
.ms-cc-btn--accept:hover{ background:#000 !important; opacity:1 !important; }
.ms-cc-btn--decline{
  background:transparent !important;
  color:#5a5148 !important;
  border-color:#c8bba3 !important;
}
.ms-cc-btn--decline:hover{ background:#ece2d1 !important; }

.ms-cc-trigger{
  left:20px !important; bottom:20px !important;
  display:flex !important; align-items:center !important; justify-content:center !important;
  width:44px !important; height:44px !important;
  padding:0 !important;
  border-radius:50% !important;
  background:#f6f0e7 !important;
  border:1px solid #e0d5c2 !important;
  box-shadow:0 3px 14px rgba(60,50,40,.16) !important;
  font-size:0 !important;
  line-height:0 !important;
  color:transparent !important;
  letter-spacing:0 !important;
  opacity:.82 !important;
  transition:opacity .18s ease,transform .18s ease,box-shadow .18s ease !important;
}
.ms-cc-trigger::before{
  content:"";
  width:20px; height:20px;
  background:url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><circle cx='12' cy='12' r='9' fill='none' stroke='%235a5148' stroke-width='1.6'/><circle cx='9' cy='9' r='1.1' fill='%235a5148'/><circle cx='14.5' cy='10' r='1.1' fill='%235a5148'/><circle cx='10.5' cy='14.5' r='1.1' fill='%235a5148'/><circle cx='15' cy='15' r='1.1' fill='%235a5148'/></svg>") center/contain no-repeat;
}
.ms-cc-trigger:hover{
  opacity:1 !important;
  transform:translateY(-1px) !important;
  box-shadow:0 5px 18px rgba(60,50,40,.22) !important;
}

@media (max-width:820px){
  .ms-cc-pos-bottom .ms-cc-banner__inner{ max-width:640px !important; }
  .ms-cc-banner__text{ flex:1 1 100% !important; }
}
@media (max-width:560px){
  .ms-cc-pos-bottom{ bottom:12px !important; padding:0 12px !important; }
  .ms-cc-banner__inner{
    flex-direction:column !important;
    align-items:stretch !important;
    padding:18px 18px 16px !important;
    gap:14px !important;
  }
  .ms-cc-banner__actions{ display:flex !important; }
  .ms-cc-btn{ flex:1 1 0 !important; padding:13px 14px !important; min-height:46px !important; }
  .ms-cc-trigger{ left:14px !important; bottom:14px !important; width:42px !important; height:42px !important; }
}

.faq-item summary{
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 1rem !important;
}

.faq-item summary .plus{
  position: relative !important;
  display: inline-block !important;
  flex: 0 0 auto !important;
  box-sizing: border-box !important;
  width: 1.75rem !important;
  height: 1.75rem !important;
  border: 1px solid var(--ink) !important;
  border-radius: 50% !important;
  color: var(--ink) !important;
  font-size: 0 !important;
  line-height: 0 !important;
  font-style: normal !important;
  transition: transform .3s ease, color .3s ease, border-color .3s ease !important;
}

.faq-item summary .plus::before,
.faq-item summary .plus::after{
  content: "" !important;
  position: absolute !important;
  top: 50% !important;
  left: 50% !important;
  transform: translate(-50%, -50%) !important;
  background-color: currentColor !important;
}
.faq-item summary .plus::before{ width: .62rem !important; height: 1px !important; }
.faq-item summary .plus::after { width: 1px !important; height: .62rem !important; }

.faq-item[open] summary .plus{
  transform: rotate(45deg) !important;
  color: var(--accent) !important;
  border-color: var(--accent) !important;
}

@media (max-width: 600px){
  .faq-item summary .plus{ width: 1.55rem !important; height: 1.55rem !important; }
  .faq-item summary .plus::before{ width: .55rem !important; }
  .faq-item summary .plus::after { height: .55rem !important; }
  .faq-item summary{ gap: .75rem !important; }
}

.ft{
  text-align:center !important;
  padding-top:clamp(3rem,6vw,4.5rem) !important;
  padding-inline:clamp(1.25rem,5vw,2rem) !important;
  padding-bottom:calc(2rem + var(--frame)) !important;
}
.ft .container{
  max-width:860px !important;
  margin-inline:auto !important;
  text-align:center !important;
}

.ft .ft-brand,
.ft .ft-nav,
.ft .ft-social,
.ft .muted,
.ft .tiny,
.ft .ft-legal{ margin-left:0 !important; margin-right:0 !important; }

.ft .ft-brand{ margin:0 0 clamp(1.4rem,3vw,1.9rem) !important; }
.ft .ft-sub{ display:inline-block; }

.ft .ft-nav{
  margin:0 0 clamp(1.1rem,2.5vw,1.5rem) !important;
  row-gap:.9rem !important;
  column-gap:1.4rem !important;
}

.ft .ft-social{
  margin:0 0 clamp(1.5rem,3.5vw,2rem) !important;
  align-items:center;
  column-gap:.85rem !important;
}

.ft .muted{ margin:0 0 clamp(1.6rem,3.5vw,2.2rem) !important; }

.ft .tiny{
  max-width:min(100%,22rem);
  margin:0 auto !important;
  padding-top:clamp(1.4rem,3vw,1.8rem);
  border-top:1px solid rgba(0,0,0,.10);
}
.ft .ft-legal{
  margin-top:.75rem !important;
  row-gap:.55rem !important;
}
.ft .ft-legal-nav{
  column-gap:1.2rem !important;
  row-gap:.4rem !important;
}

@media (max-width:520px){
  .ft .ft-brand{ letter-spacing:.16em !important; font-size:1rem !important; }
  .ft .ft-nav{ column-gap:1.1rem !important; }
}

:root{
  --ms-btn-ink:#2f2a24;
  --ms-btn-ink-hover:#000;
  --ms-btn-cream:#f6f0e7;
  --ms-btn-line:#5a5148;
  --ms-btn-tap:48px;
  --ms-btn-pad-y:clamp(.8rem,1.1vw,1rem);
  --ms-btn-pad-x:clamp(1.6rem,3vw,2.3rem);
}

.btn.btn--solid,
a.btn.btn--solid,
.btn--solid{
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  min-height:var(--ms-btn-tap) !important;
  padding:var(--ms-btn-pad-y) var(--ms-btn-pad-x) !important;
  background:var(--ms-btn-ink) !important;
  color:var(--ms-btn-cream) !important;
  border:1px solid var(--ms-btn-ink) !important;
  border-radius:2px;
  font-family:var(--btn-font,"Poppins","Montserrat",system-ui,sans-serif) !important;
  font-weight:600 !important;
  font-size:.72rem !important;
  letter-spacing:.2em !important;
  text-transform:uppercase !important;
  text-decoration:none !important;
  line-height:1 !important;
  white-space:nowrap !important;
  cursor:pointer !important;
  transition:background-color .25s ease,color .25s ease,transform .2s ease !important;
}
.btn.btn--solid::after,
.btn--solid::after{ content:none !important; display:none !important; }

@media (hover:hover){
  .btn.btn--solid:hover,
  a.btn.btn--solid:hover,
  .btn--solid:hover{
    background:var(--ms-btn-ink-hover) !important;
    color:var(--ms-btn-cream) !important;
    opacity:1 !important;
  }
}
.btn--solid:active{ transform:translateY(1px) !important; }

.btn.btn--square,
a.btn.btn--square,
.btn--square{ border-radius:0 !important; }

.btn.btn--square:not(.btn--solid){
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  min-height:var(--ms-btn-tap) !important;
  padding:var(--ms-btn-pad-y) var(--ms-btn-pad-x) !important;
  background:transparent !important;
  color:var(--ms-btn-ink) !important;
  border:1px solid var(--ms-btn-line) !important;
  letter-spacing:.2em !important;
  text-decoration:none !important;
  transition:background-color .25s ease,color .25s ease,border-color .25s ease !important;
}
.btn.btn--square:not(.btn--solid)::after{ content:none !important; display:none !important; }
@media (hover:hover){
  .btn.btn--square:not(.btn--solid):hover{
    background:var(--ms-btn-ink) !important;
    border-color:var(--ms-btn-ink) !important;
    color:var(--ms-btn-cream) !important;
    opacity:1 !important;
  }
}

.linkcaps.load-more,
button.load-more,
.load-more{
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  gap:.5rem !important;
  width:-moz-fit-content !important;
  width:fit-content !important;
  max-width:100% !important;
  margin-inline:auto !important;
  min-height:var(--ms-btn-tap) !important;
  padding:.85rem clamp(1.5rem,3vw,2.1rem) !important;
  background:transparent !important;
  color:var(--ms-btn-ink) !important;
  border:1px solid var(--ms-btn-line) !important;
  border-radius:2px !important;
  font-family:var(--btn-font,"Poppins","Montserrat",system-ui,sans-serif) !important;
  font-weight:600 !important;
  font-size:.72rem !important;
  letter-spacing:.2em !important;
  text-transform:uppercase !important;
  line-height:1 !important;
  cursor:pointer !important;
  transition:background-color .25s ease,color .25s ease,border-color .25s ease !important;
}
@media (hover:hover){
  .linkcaps.load-more:hover,
  button.load-more:hover,
  .load-more:hover{
    background:var(--ms-btn-ink) !important;
    border-color:var(--ms-btn-ink) !important;
    color:var(--ms-btn-cream) !important;
    opacity:1 !important;
  }
}
.load-more:active{ transform:translateY(1px) !important; }

.btn,
.linkcaps{ min-height:var(--ms-btn-tap); }

.btn:focus-visible,
.linkcaps:focus-visible,
.load-more:focus-visible,
.btn--solid:focus-visible,
button.load-more:focus-visible{
  outline:2px solid var(--ms-btn-ink) !important;
  outline-offset:3px !important;
  border-radius:2px;
}

@media (max-width:640px){
  .btn.btn--solid,
  a.btn.btn--solid,
  .btn--solid,
  .btn.btn--square:not(.btn--solid),
  .linkcaps.load-more,
  button.load-more,
  .load-more{
    display:flex !important;
    width:100% !important;
    max-width:24rem !important;
    margin-inline:auto !important;
    white-space:normal !important;
  }
}

@media (prefers-reduced-motion:reduce){
  .btn--solid,
  .btn.btn--square:not(.btn--solid),
  .linkcaps.load-more,
  button.load-more,
  .load-more{ transition:none !important; }
  .btn--solid:active,
  .load-more:active{ transform:none !important; }
}
.hero h1, .hero-inner h1{
  font-size:clamp(2.2rem, 6.5vw, 5rem) !important;
  overflow-wrap:break-word !important;
  hyphens:none !important;
}
@media (max-width:640px){
  .hero h1, .hero-inner h1{
    font-size:clamp(1.8rem, 8vw, 2.5rem) !important;
    line-height:1.06 !important;
  }
}

.frame{
  border-top-width: clamp(2.4rem, 7vw, 3.5rem) !important;
  border-left-width: clamp(.7rem, 3vw, 1rem) !important;
  border-right-width: clamp(.7rem, 3vw, 1rem) !important;
  border-bottom-width: 0 !important;
}

@media (min-width: 768px) {
  .frame {
    border-top-width: 16px !important;
    border-left-width: 16px !important;
    border-right-width: 16px !important;
    border-bottom-width: 0 !important;
  }
}

@media (max-width: 767.98px) {
  .frame {
    border-top-width: 11px !important;
    border-left-width: 11px !important;
    border-right-width: 11px !important;
    border-bottom-width: 0 !important;
  }
}

.ms-cc-banner__inner{
  background:#ffffff !important;
  color:#5a5148 !important;
  border:1px solid #ececec !important;
  border-radius:10px !important;
  box-shadow:0 14px 44px rgba(17,17,17,.12) !important;
}

.ms-cc-banner__text::before{
  content:"Cookie & Datenschutz" !important;
  display:block !important;
  margin:0 0 6px !important;
  font-family:var(--font-sans) !important;
  font-size:12px !important;
  font-weight:700 !important;
  letter-spacing:.16em !important;
  text-transform:uppercase !important;
  color:#111111 !important;
}

.ms-cc-banner__text{
  font-family:var(--font-sans) !important;
  color:#6f675d !important;
  font-size:13.5px !important;
  line-height:1.6 !important;
}

.ms-cc-banner__link{
  color:#5a5148 !important;
  text-decoration:underline !important;
  text-underline-offset:2px !important;
}

.ms-cc-btn{
  font-family:var(--font-sans) !important;
  text-transform:uppercase !important;
  letter-spacing:.1em !important;
  font-size:11px !important;
  font-weight:600 !important;
  padding:12px 22px !important;
  border-radius:4px !important;
  border:1px solid transparent !important;
}
.ms-cc-btn--accept{
  background:#111111 !important;
  color:#ffffff !important;
  border-color:#111111 !important;
}
.ms-cc-btn--accept:hover{ background:#000000 !important; opacity:1 !important; }
.ms-cc-btn--decline{
  background:transparent !important;
  color:#5a5148 !important;
  border-color:#dcdcdc !important;
}
.ms-cc-btn--decline:hover{ background:#f4f4f4 !important; }

.ms-cc-trigger{
  background:#ffffff !important;
  border:1px solid #e6e6e6 !important;
  box-shadow:0 3px 14px rgba(17,17,17,.14) !important;
}
.ms-cc-trigger::before{
  background:url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><circle cx='12' cy='12' r='9' fill='none' stroke='%23111111' stroke-width='1.6'/><circle cx='9' cy='9' r='1.1' fill='%235a5148'/><circle cx='14.5' cy='10' r='1.1' fill='%235a5148'/><circle cx='10.5' cy='14.5' r='1.1' fill='%235a5148'/><circle cx='15' cy='15' r='1.1' fill='%235a5148'/></svg>") center/contain no-repeat !important;
}

@media (min-width:1024px){
  .ms-cc-pos-bottom .ms-cc-banner__inner{
    max-width:1000px !important;
    align-items:center !important;
    flex-wrap:nowrap !important;
  }
  .ms-cc-banner__text{ flex:1 1 auto !important; max-width:640px !important; }
  .ms-cc-banner__actions{ flex:0 0 auto !important; gap:12px !important; }
}

@media (max-width:560px){
  .ms-cc-banner__inner{ flex-direction:column !important; align-items:stretch !important; }
  .ms-cc-banner__actions{ display:flex !important; gap:10px !important; }
  .ms-cc-btn{ flex:1 1 0 !important; padding:13px 14px !important; min-height:46px !important; }
}

@media (min-width: 769px) {
  #loader .loader-mark,
  .loader .loader-mark {
    font-family: var(--sans, "Montserrat", system-ui, sans-serif) !important;
    font-weight: 700 !important;
    letter-spacing: 0.03em !important;
  }
  #loader .loader-mark small,
  .loader .loader-mark small {
    font-family: var(--sans, "Montserrat", system-ui, sans-serif) !important;
    font-weight: 600 !important;
    letter-spacing: 0.42em !important;
  }
}

.hero .btn,
.hero-inner .btn{
  display:inline-flex !important;
  align-items:center !important;
  column-gap:.75rem !important;
  color:#fff !important;
  background:none !important;
  border:0 !important;
  border-radius:0 !important;
  box-shadow:none !important;
  padding:0 !important;
  min-height:48px !important;
  opacity:1 !important;
  font-family:var(--btn-font) !important;
  font-weight:600 !important;
  font-size:.74rem !important;
  letter-spacing:.2em !important;
  text-transform:uppercase !important;
  text-shadow:0 1px 14px rgba(0,0,0,.6), 0 0 2px rgba(0,0,0,.45) !important;
  margin-top:clamp(1.9rem,4.5vh,2.8rem) !important;
  transition:opacity .3s ease, transform .3s ease !important;
}

.hero .btn::after,
.hero-inner .btn::after{
  color:#fff !important;
  border-color:rgba(255,255,255,.92) !important;
  filter:drop-shadow(0 1px 6px rgba(0,0,0,.55)) !important;
}

.hero .btn:hover,
.hero-inner .btn:hover{
  background:none !important;
  border-color:transparent !important;
  color:#fff !important;
  box-shadow:none !important;
  opacity:.82 !important;
  transform:none !important;
}
.hero .btn:hover::after,
.hero-inner .btn:hover::after{ transform:scale(1.12) !important; }

@media (min-width:1024px){
  .hero .btn,
  .hero-inner .btn{
    font-size:.8rem !important;
    letter-spacing:.24em !important;
    column-gap:.9rem !important;
  }
  .hero .btn::after,
  .hero-inner .btn::after{
    width:1.85rem !important;
    height:1.85rem !important;
    font-size:1rem !important;
  }
}

@media (max-width:640px){
  .hero .btn,
  .hero-inner .btn{
    font-size:.72rem !important;
    letter-spacing:.2em !important;
    column-gap:.65rem !important;
    width:auto !important;
    max-width:none !important;
  }
  .hero .btn::after,
  .hero-inner .btn::after{ width:1.55rem !important; height:1.55rem !important; }
}

.hero h1,
.hero-inner h1{
  font-size:clamp(2.2rem,6.5vw,5rem) !important;
  line-height:1.02 !important;
  max-width:100% !important;
  overflow-wrap:break-word !important;
  hyphens:none !important;
}
@media (max-width:640px){
  .hero h1,
  .hero-inner h1{ font-size:clamp(1.8rem,8vw,2.5rem) !important; line-height:1.06 !important; }
}
@media (min-width:1024px){
  .menu[data-astro-cid-5hce7sga] nav[data-astro-cid-5hce7sga] a[data-astro-cid-5hce7sga]{
    font-size:clamp(2.6rem, 3.2vw, 3.4rem) !important;
    line-height:1.06 !important;
    letter-spacing:-0.015em !important;
  }
  .menu[data-astro-cid-5hce7sga] nav[data-astro-cid-5hce7sga]{
    row-gap:clamp(.15rem, .6vh, .5rem) !important;
  }
  .menu[data-astro-cid-5hce7sga]{
    justify-content:flex-end !important;
    padding-inline:clamp(1.5rem, 2.6vw, 2.75rem) !important;
    padding-bottom:clamp(3rem, 9vh, 6.5rem) !important;
  }
}

@media (min-width: 1024px){

  .gallery-sec{
    padding-inline: clamp(0.75rem, 1.5vw, 1.5rem) !important;
  }

  .gallery-sec .mosaic{
    display: block !important;
    column-count: 3 !important;
    column-gap: 6px !important;
  }
  .gallery-sec .mosaic .cell{
    margin: 0 0 6px !important;
    break-inside: avoid !important;
    display: block !important;
  }
  .gallery-sec .mosaic .cell img{
    display: block !important;
    width: 100% !important;
    height: auto !important;
    aspect-ratio: auto !important;
    object-fit: cover !important;
  }
}
@media (min-width: 1440px){
  .gallery-sec .mosaic{ column-count: 4 !important; }
}

@media (min-width: 1024px) {

  .form-sec .form-wrap {
    max-width: 640px !important;
    margin-inline: auto !important;
    padding-inline: 1.25rem !important;
  }

  .lead-form .grid {
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    row-gap: 2.4rem !important;
    column-gap: 2rem !important;
    text-align: left !important;
  }
  .lead-form .grid .full { grid-column: 1 / -1 !important; }

  .lead-form .form-reassure,
  .lead-form .ms-consent {
    max-width: 520px !important;
    margin-inline: auto !important;
    text-align: left !important;
  }
  .lead-form .form-reassure { text-align: center !important; }

  .lead-form button.btn[type="submit"] {
    width: auto !important;
    min-width: 260px !important;
    margin-top: 2.5rem !important;
  }
}
@media (min-width:1024px){

  .ft .container{
    max-width:min(860px, calc(100% - 11rem)) !important;
    margin-inline:auto !important;
  }

  .ft .tiny{
    max-width:min(100%, 30rem) !important;
    padding-top:clamp(1.6rem, 2.2vw, 2.1rem) !important;
  }
  .ft .ft-legal{ margin-top:1rem !important; row-gap:.7rem !important; }
  .ft .ft-legal-nav{ column-gap:1.5rem !important; }

  .ft .ft-brand{ font-size:clamp(1.05rem, 1.2vw, 1.25rem) !important; }

  .ft{ padding-top:clamp(4rem, 6vw, 5rem) !important; }
  .ft .ft-social{ margin-bottom:clamp(1.8rem, 3.5vw, 2.4rem) !important; }
  .ft .muted{ margin-bottom:clamp(1.8rem, 3.5vw, 2.4rem) !important; }
}

:root {
  --fs-h2:   clamp(2rem, 5.5vw, 4.25rem) !important;
  --fs-h3:   clamp(1.4rem, 2.6vw, 2rem) !important;
  --fs-body: clamp(1rem, 0.9rem + 0.42vw, 1.15rem) !important;
  --fs-lead: clamp(1.05rem, 2.2vw, 1.35rem) !important;
}

@media (min-width: 1240px) {
  :root {
    --fs-h2:   4.25rem !important;
    --fs-h3:   2rem    !important;
    --fs-body: 1.15rem !important;
    --fs-lead: 1.35rem !important;
  }
}

@media (max-width: 600px) {
  :root {
    --fs-h2:   2rem    !important;
    --fs-h3:   1.4rem  !important;
    --fs-body: 1rem    !important;
    --fs-lead: 1.05rem !important;
  }
}

.proc{ background:#ffffff !important; color:var(--ink) !important; }
.proc .step-no{ color:var(--ink) !important; }

@media (min-width:1024px){
  .faq-wrap{ max-width:720px !important; }
  .faq-item summary{ padding:1.75rem 0 !important; }
  .faq-item summary span{
    font-size:1.9rem !important;
    line-height:1.15 !important;
    letter-spacing:-.01em !important;
  }
  .faq-item summary .plus{ width:2.1rem !important; height:2.1rem !important; }
  .faq-item summary .plus::before{ width:.8rem !important; }
  .faq-item summary .plus::after { height:.8rem !important; }
}

@media (min-width:1024px){
  .vl-cards{ gap:1.8rem !important; }
  .vc{ padding:2.2rem 2rem !important; }
  .vc h3{ margin-bottom:.65rem !important; }
  .vl-check{ row-gap:1.5rem !important; }
  .vl-check li{ padding-bottom:1.5rem !important; }
  .vl-num li{ padding-bottom:2.4rem !important; }
}

@media (min-width: 769px){
  .loader .loader-mark, #loader .loader-mark{
    writing-mode: horizontal-tb !important;
    transform: none !important;
    font-size: clamp(2.8rem, 6.5vw, 6rem) !important;
    letter-spacing: .06em !important;
    line-height: 1.04 !important;
    gap: .35rem !important;
    flex-direction: column !important;
    text-align: center !important;
  }
  .loader .loader-mark small, #loader .loader-mark small{
    writing-mode: horizontal-tb !important;
    transform: none !important;
    letter-spacing: .4em !important;
    font-size: .3em !important;
  }
}

@media (min-width: 1024px){
  :root{
    --fs-h1: clamp(3.6rem, 7.5vw, 6.5rem) !important;
    --fs-h2: clamp(2.6rem, 4.6vw, 4.2rem) !important;
    --fs-h3: clamp(1.6rem, 2.4vw, 2.2rem) !important;
  }
  .hero h1, .hero-inner h1{ font-size: clamp(3.6rem, 7.5vw, 6.5rem) !important; }
}

@media (max-width: 768px){
  .brand, .brand[data-astro-cid-5hce7sga]{
    font-size: 1.4rem !important;
    letter-spacing: .16em !important;
  }
}

@media (max-width: 768px){
  .menu-lang, .menu-lang[data-astro-cid-5hce7sga]{
    top: calc(var(--frame) + 6rem) !important;
  }
}

.hero .hero-bg .film-stage{
  position:absolute !important; inset:0 !important;
  width:100% !important; height:100% !important; max-width:none !important; margin:0 !important;
}
.hero .hero-bg .film-poster{
  width:100% !important; height:100% !important;
  object-fit:cover !important; display:block !important;
  filter:grayscale(1) !important;
}
.hero .hero-bg .film-scrim{ position:absolute !important; inset:0 !important; }
.hero .hero-bg .film-play{
  z-index:4 !important;
  width:clamp(64px, 9vw, 92px) !important; height:clamp(64px, 9vw, 92px) !important;
}
.film-play::after{
  content:""; position:absolute; top:50%; left:50%;
  transform:translate(-38%,-50%);
  border-style:solid; border-width:9px 0 9px 15px;
  border-color:transparent transparent transparent #fff;
  pointer-events:none;
}
.hero .hero-inner{ z-index:3 !important; }
.hero .hero-bg .ms-cc-videohint{
  position:absolute !important; left:50% !important; transform:translateX(-50%) !important;
  bottom:5.5rem !important; top:auto !important; margin:0 !important;
  width:max-content !important; max-width:86% !important;
  min-height:0 !important; height:auto !important;
  border:0 !important; border-radius:999px !important;
  background:rgba(15,15,13,.55) !important; color:#fff !important;
  padding:.55rem 1.1rem !important; z-index:5 !important;
  font-size:.72rem !important; letter-spacing:.06em !important;
  display:flex !important; gap:.6rem !important; align-items:center !important;
}

#burger.burger::before,
#burger.burger::after{
  transition:
    transform .42s cubic-bezier(.4,0,.2,1),
    box-shadow .38s cubic-bezier(.4,0,.2,1),
    background-color .3s ease,
    width .34s ease, opacity .3s ease,
    top .34s ease, left .34s ease, right .34s ease !important;
}
@media (hover:hover){
  html:not(.menu-open) #burger.burger:hover::before{
    box-shadow:0 -9px 0 0 #fff, 0 9px 0 0 #fff !important;
  }
}
@media (min-width:769px){
  #burger.burger,
  .burger[data-astro-cid-5hce7sga]{
    width:42px !important; height:30px !important;
  }
  html:not(.menu-open) #burger.burger::before{
    width:26px !important;
    box-shadow:0 -7px 0 0 #fff, 0 7px 0 0 #fff !important;
  }
  html:not(.menu-open) #burger.burger:hover::before{
    box-shadow:0 -10px 0 0 #fff, 0 10px 0 0 #fff !important;
  }
}

.brand[data-astro-cid-5hce7sga],
#burger.burger[data-astro-cid-5hce7sga]{
  top: calc(var(--frame) + 2rem) !important;
  transform: translateY(-50%) !important;
}
@media (max-width:768px){
  .brand[data-astro-cid-5hce7sga]{
    left:50% !important; right:auto !important;
    transform:translate(-50%,-50%) !important;
    font-size:1.18rem !important; letter-spacing:.12em !important;
    text-align:center !important; white-space:nowrap !important;
    transition:left .45s cubic-bezier(.4,0,.2,1), transform .45s cubic-bezier(.4,0,.2,1), font-size .45s cubic-bezier(.4,0,.2,1) !important;
  }
  html.menu-open .brand[data-astro-cid-5hce7sga]{
    left:16px !important; transform:translate(0,-50%) !important; font-size:1.5rem !important;
  }
  .lead, .lead[data-astro-cid-5hce7sga]{ font-size:12px !important; line-height:20px !important; }
}

@media (min-width:769px){
  .menu[data-astro-cid-5hce7sga] nav[data-astro-cid-5hce7sga] a[data-astro-cid-5hce7sga],
  .menu[data-astro-cid-5hce7sga] nav[data-astro-cid-5hce7sga] .nav-parent{
    font-size: clamp(3rem, 4.4vw, 4.5rem) !important;
    line-height: 1.04 !important;
  }
  .menu[data-astro-cid-5hce7sga] nav[data-astro-cid-5hce7sga] .nav-sub a.nav-subitem[data-astro-cid-5hce7sga]{
    font-size: clamp(.8rem, 1.1vw, .95rem) !important;
    letter-spacing:.2em !important;
    line-height: 1.4 !important;
  }
}

.menu[data-astro-cid-5hce7sga] nav[data-astro-cid-5hce7sga] .nav-group{
  display:flex !important; flex-direction:column !important;
  align-items:flex-end !important; gap:0 !important;
}
.menu[data-astro-cid-5hce7sga] nav[data-astro-cid-5hce7sga] .nav-parent{
  font-family:var(--serif) !important; font-weight:400 !important;
  text-transform:uppercase !important; color:#111111 !important;
  background:none !important; border:0 !important; padding:0 !important; margin:0 !important;
  cursor:pointer !important; text-align:right !important;
  display:inline-flex !important; align-items:center !important; flex-direction:row !important;
  gap:.36em !important;
  font-size:clamp(2.6rem,11vw,4rem); line-height:1.04 !important;
}
.menu[data-astro-cid-5hce7sga] nav[data-astro-cid-5hce7sga] .nav-parent:hover{ color:#5a5148 !important; }
.menu[data-astro-cid-5hce7sga] nav[data-astro-cid-5hce7sga] .nav-parent::before{
  content:"" !important; flex:none !important; display:block !important;
  width:.26em !important; height:.26em !important;
  border-right:.05em solid currentColor !important;
  border-bottom:.05em solid currentColor !important;
  transform:translateY(-.08em) rotate(45deg) !important;
  opacity:.4 !important;
  transition:transform .32s cubic-bezier(.4,0,.2,1), opacity .3s ease !important;
}
.menu[data-astro-cid-5hce7sga] nav[data-astro-cid-5hce7sga] .nav-parent[aria-expanded="true"]::before{
  transform:translateY(.06em) rotate(-135deg) !important; opacity:.7 !important;
}
.menu[data-astro-cid-5hce7sga] nav[data-astro-cid-5hce7sga] .nav-sub{
  display:flex !important; flex-direction:column !important; align-items:flex-end !important;
  gap:clamp(.1rem,.5vh,.35rem) !important;
  max-height:0 !important; overflow:hidden !important; opacity:0 !important;
  transition:max-height .42s cubic-bezier(.4,0,.2,1), opacity .3s ease, margin-top .42s ease !important;
}
.menu[data-astro-cid-5hce7sga] nav[data-astro-cid-5hce7sga] .nav-group.is-open .nav-sub{
  max-height:12rem !important; opacity:1 !important;
  margin-top:clamp(.12rem,.6vh,.45rem) !important;
}
.menu[data-astro-cid-5hce7sga] nav[data-astro-cid-5hce7sga] .nav-sub a.nav-subitem[data-astro-cid-5hce7sga]{
  text-transform:uppercase !important; color:#5a5148 !important;
  letter-spacing:.18em !important;
  font-family:var(--sans, "Montserrat", system-ui, sans-serif) !important; font-weight:500 !important;
  font-size:clamp(.78rem,1.3vw,.92rem) !important;
}
@media (max-width:768px){
  .menu[data-astro-cid-5hce7sga] nav[data-astro-cid-5hce7sga]{ row-gap:8px !important; }
  .menu[data-astro-cid-5hce7sga] nav[data-astro-cid-5hce7sga] .nav-sub{ gap:12px !important; }
  .menu[data-astro-cid-5hce7sga] nav[data-astro-cid-5hce7sga] .nav-group.is-open .nav-sub{ margin-top:14px !important; margin-bottom:8px !important; }
}
.menu[data-astro-cid-5hce7sga] nav[data-astro-cid-5hce7sga] .nav-sub a.nav-subitem[data-astro-cid-5hce7sga]:hover{
  color:#111111 !important;
}

@media (max-width:768px){
  .menu[data-astro-cid-5hce7sga] nav[data-astro-cid-5hce7sga] a[data-astro-cid-5hce7sga],
  .menu[data-astro-cid-5hce7sga] nav[data-astro-cid-5hce7sga] .nav-parent{
    font-size: clamp(2.95rem, 12.4vw, 4.3rem) !important;
  }
}

@media (min-width:769px){
  main .media-full{ max-width:1000px !important; margin-inline:auto !important; }
}
@media (max-width:768px){
  .reel-media{ aspect-ratio:4 / 5 !important; }
}

.menu[data-astro-cid-5hce7sga] nav[data-astro-cid-5hce7sga] .nav-group{ --i:1; }
.menu[data-astro-cid-5hce7sga] nav[data-astro-cid-5hce7sga] .nav-parent{
  opacity:0 !important; transform:translateY(10px) !important;
  transition: opacity .5s ease, transform .5s ease, color .3s ease !important;
}
html.menu-open .menu[data-astro-cid-5hce7sga] nav[data-astro-cid-5hce7sga] .nav-parent{
  opacity:1 !important; transform:none !important;
  transition-delay: calc(var(--i, 1) * 45ms) !important;
}

@media (max-width:768px){
  .film .film-stage{ aspect-ratio:3 / 2 !important; }
}

.t-sec{ display:none !important; }
.t-sec .grid > [data-instatic-loop]{ display:contents !important; }

.film:not(.film--bare){ padding-top: var(--space-section) !important; }

.cta-sec .prose, .cta-sec .container{ max-width:none !important; }
.cta-sec h2{ font-size:clamp(2.4rem, 7vw, 5.5rem) !important; line-height:1.02 !important; letter-spacing:-.02em !important; }
.cta-sec .lead{ max-width:640px !important; margin-inline:auto !important; }
.cta-sec .btn, .cta-sec a.btn{
  border:0 !important; border-radius:0 !important; background:none !important; padding:0 !important; box-shadow:none !important;
  display:inline-flex !important; align-items:center !important; gap:.95em !important;
  font-family:var(--sans) !important; font-weight:600 !important; text-transform:uppercase !important; letter-spacing:.24em !important;
  color:#fff !important; font-size:clamp(.8rem,1vw,.95rem) !important; line-height:1 !important;
}
.cta-sec .btn::after{
  content:"+" !important; display:grid !important; place-items:center !important;
  width:2.35em !important; height:2.35em !important; flex:none !important;
  border:1px solid currentColor !important; border-radius:50% !important; background:none !important;
  font-size:.95em !important; font-weight:400 !important; line-height:1 !important; letter-spacing:0 !important;
  transition:background-color .25s ease, color .25s ease !important;
}
.cta-sec .btn:hover{ color:#fff !important; }
.cta-sec .btn:hover::after{ background-color:#fff !important; color:#000 !important; }

.cta-sec{ background:#000 !important; }

.cta-sec{ position:relative !important; z-index:95 !important; }
.reveal:has(> .cta-sec), .reveal:has(.cta-sec){ will-change:auto !important; position:relative !important; z-index:95 !important; }
.cta-sec .btn, .cta-sec a.btn{ min-height:0 !important; }
@media (hover:hover){
  .cta-sec .btn:hover, .cta-sec a.btn:hover{ background:none !important; background-color:transparent !important; opacity:1 !important; }
}
.cta-sec .eyebrow{ display:none !important; }
.cta-sec h2{ color:#fff !important; text-transform:uppercase !important; }
.cta-sec .lead{ color:rgba(255,255,255,.82) !important; }
.cta-sec .btn, .cta-sec a.btn{
  background:transparent !important; background-color:transparent !important;
  border:0 !important; box-shadow:none !important; padding:0 !important; color:#fff !important;
  display:inline-flex !important; align-items:center !important; gap:.85em !important;
}
.cta-sec .btn::after{
  content:"+" !important; display:grid !important; place-items:center !important;
  border-radius:50% !important; border:1px solid #fff !important; color:#fff !important;
  width:2.3rem !important; height:2.3rem !important; font-size:1rem !important; font-weight:400 !important; line-height:1 !important;
}
.cta-sec .btn:hover{ color:#fff !important; }
.cta-sec .btn:hover::after{ background:#fff !important; color:#000 !important; }

.places .container{ max-width:none !important; margin-inline:0 !important; }
.places-head{
  text-align:left !important;
  font-size:clamp(3.3rem, 13vw, 7rem) !important;
  line-height:1.03 !important; letter-spacing:-.01em !important;
  color:var(--ink-soft) !important; max-width:none !important;
}
.places-head .rot{ color:#111 !important; display:inline-block !important; overflow:hidden !important; vertical-align:bottom !important; min-width:0 !important; }
.places-head .rot-track{ display:block !important; will-change:transform; }
.places-head .rot-item{ display:block !important; white-space:nowrap !important; }
.places .rot, .places .rot-track, .places .rot-item{ text-align:left !important; justify-content:flex-start !important; }
@media (max-width:768px){
  .places-head .rot{ display:block !important; }
}

.load-more.cta-plusified{
  border:0 !important; border-radius:0 !important; background:none !important;
  padding:0 !important; box-shadow:none !important;
  display:inline-flex !important; align-items:center !important; gap:.95em !important;
  cursor:pointer !important;
  font-family:var(--sans) !important; font-weight:600 !important;
  text-transform:uppercase !important; letter-spacing:.24em !important;
  color:#111111 !important;
  font-size:clamp(.8rem,1vw,.95rem) !important; line-height:1 !important;
}
.load-more.cta-plusified::after{
  content:"+" !important;
  display:grid !important; place-items:center !important;
  width:2.35em !important; height:2.35em !important; flex:none !important;
  border:1px solid currentColor !important; border-radius:50% !important;
  font-size:.95em !important; font-weight:400 !important; line-height:1 !important;
  letter-spacing:0 !important;
  transition:background-color .25s ease, color .25s ease !important;
}
.load-more.cta-plusified:hover{ background:none !important; border-color:transparent !important; color:#111111 !important; opacity:1 !important; }
.load-more.cta-plusified:hover::after{ background-color:#111111 !important; color:#ffffff !important; }

.reveal { opacity:1 !important; transform:none !important; }

.mosaic [data-instatic-loop],
.covers [data-instatic-loop]{ display:contents !important; }

.mosaic .cell{ break-inside:avoid; overflow:hidden; margin-bottom:.5rem; }

.hero:has(.hero-meta){ justify-content:center !important; align-items:center !important; }
.hero:has(.hero-meta) .hero-inner{ margin:0 auto !important; text-align:center !important; }
.hero:has(.hero-meta) .hero-inner h1{ font-size:clamp(3rem, 9vw, 6.5rem) !important; line-height:1.02 !important; }
.hero:has(.hero-meta) .hero-sub{ display:none !important; }
.hero .hero-meta{
  position:absolute !important; z-index:3 !important;
  left:clamp(1.1rem, 4vw, 3rem) !important; bottom:clamp(1.6rem, 5vh, 3rem) !important;
  text-align:left !important; color:rgba(255,255,255,.82) !important;
  font-family:var(--sans, "Montserrat", system-ui, sans-serif) !important;
  font-size:clamp(.72rem, 1vw, .86rem) !important; line-height:1.55 !important;
  letter-spacing:.02em !important; max-width:min(46ch, 82vw) !important;
}
.hero .hero-meta p{ margin:0 !important; }

.hero .hero-meta{
  text-transform:uppercase !important; letter-spacing:.14em !important;
  font-size:clamp(.6rem,.9vw,.72rem) !important; line-height:1.75 !important;
  color:rgba(255,255,255,.72) !important;
  left:clamp(2rem, 5vw, 3.5rem) !important; bottom:clamp(2rem, 6vh, 3.4rem) !important;
}
.hero:has(.hero-bg .film-stage):has(.hero-meta) .hero-inner{
  position:relative !important; top:auto !important; bottom:auto !important; left:auto !important; right:auto !important;
}
@media (max-width:768px){
  .hero .scroll span{ display:none !important; }
  .hero .scroll .rule{ display:block !important; margin-inline:auto !important; }
}

@media (max-width:768px){
  .hero:has(.hero-meta){ justify-content:center !important; }
  .hero:has(.hero-bg .film-stage):has(.hero-meta) .hero-inner{
    position:absolute !important; left:0 !important; right:0 !important; top:auto !important; bottom:clamp(6.5rem, 20vh, 11rem) !important;
  }
}

.hero:has(.hero-meta) .hero-inner,
.hero:has(.hero-bg .film-stage):has(.hero-meta) .hero-inner{
  position:absolute !important; top:50% !important; left:0 !important; right:0 !important; bottom:auto !important;
  transform:translateY(-50%) !important; margin-inline:auto !important; text-align:center !important;
}
.hero:has(.hero-meta) .scroll{ display:none !important; }

.hero:has(.hero-bg .film-stage):has(.hero-meta) .hero-inner{
  position:absolute !important; top:auto !important; bottom:clamp(6rem, 15vh, 9rem) !important;
  left:clamp(2rem, 5vw, 3.5rem) !important; right:auto !important; transform:none !important;
  margin:0 !important; padding:0 !important; width:auto !important; max-width:min(88vw, 900px) !important;
  text-align:left !important; align-items:flex-start !important;
}
.hero:has(.hero-bg .film-stage):has(.hero-meta) .hero-inner h1{ text-align:left !important; margin:0 !important; }
.hero:has(.hero-bg .film-stage):has(.hero-meta) .hero-meta{ padding:0 !important; }

@media (max-width:768px){
  html body .hero:has(.hero-meta) .scroll[data-astro-cid-4z5ypzu4]{ display:none !important; }
}
.mosaic .cell img{ width:100%; height:auto; display:block; filter:grayscale(1); transition:transform .6s ease; }
@media (hover:hover){ .mosaic .cell:hover img{ transform:scale(1.04); } }

#main-content.gallery-sec .mosaic:not(.ms-show-all) .cell:nth-child(n+10){ display:none !important; }
.load-more.ms-done{ display:none !important; }

.proc .head,
.proc .head[data-astro-cid-szkfyxln]{ text-transform:none !important; }

:root{ --rule:#e7e7e7; }
.vl-check{
  max-width:38rem !important; margin-inline:auto !important; text-align:left !important;
}
.vl-check li{
  display:flex !important; align-items:baseline !important; gap:.85em !important;
  border-bottom:1px solid var(--rule) !important;
  padding:clamp(.75rem,1.7vw,1.1rem) 0 !important; margin:0 !important;
}
.vl-check li:last-child{ border-bottom:0 !important; }
.vl-check li .ck{ flex:none !important; }

@media (hover:none){
  main img:not(.hero-img),
  .ig-gimg,
  .ig-cover,
  .mosaic .cell img{ filter:grayscale(0) !important; }
}

.lead-form .grid input:focus,
.lead-form .grid select:focus,
.lead-form .grid textarea:focus{
  border-bottom:2px solid var(--ink) !important;
  box-shadow:0 1px 0 0 var(--ink) !important;
  background:rgba(246,240,231,.5) !important;
}

@media (prefers-reduced-motion:reduce){
  .hero-img,
  main img:not(.hero-img),
  .ig-gimg,
  .mosaic .cell img,
  .reveal{ transition:none !important; animation:none !important; }
}

.ms-skip{
  position:fixed; top:.6rem; left:.6rem; z-index:100000;
  transform:translateY(-160%);
  background:var(--ink,#2f2a24); color:var(--cream,#f6f0e7);
  padding:.7rem 1.15rem; border-radius:2px;
  font-family:var(--sans,"Montserrat",system-ui,sans-serif);
  font-size:.72rem; font-weight:600; letter-spacing:.14em; text-transform:uppercase;
  text-decoration:none; transition:transform .2s ease;
}
.ms-skip:focus{ transform:translateY(0); outline:2px solid var(--cream,#f6f0e7); outline-offset:2px; }
.hero .hero-bg .film-stage .ms-film-bg{
  position:absolute !important; top:50% !important; left:50% !important;
  transform:translate(-50%,-50%) !important;
  width:100vw !important; height:56.25vw !important;
  min-height:100% !important; min-width:177.78vh !important;
  border:0 !important; pointer-events:none !important; z-index:1 !important;
}
.hero .hero-bg .film-stage.ms-film-bg-on .film-poster{ transition:opacity .35s ease !important; }
.hero .hero-bg .film-stage.ms-film-playing .film-poster{ opacity:0 !important; }
.hero .hero-bg .film-scrim{ z-index:2 !important; background:rgba(15,15,13,.30) !important; }
.hero .hero-bg .film-play{ z-index:4 !important; }

.hero:has(.hero-bg .film-stage) .hero-inner{
  position:absolute !important; left:0 !important; right:0 !important;
  bottom:clamp(3rem,8vh,5rem) !important; top:auto !important;
  margin:0 !important; z-index:3 !important;
}
.hero:has(.hero-bg .film-stage) .scroll{ display:none !important; }

.ms-vlightbox{
  position:fixed !important; inset:0 !important; z-index:100000 !important;
  background:rgba(12,11,9,.9);
  display:flex; align-items:center; justify-content:center;
  padding:clamp(1rem,4vw,3rem);
  animation:ms-vfade .25s ease;
}
@keyframes ms-vfade{ from{opacity:0} to{opacity:1} }
.ms-vlightbox-frame{
  position:relative; width:min(100%,1200px); aspect-ratio:16/9;
  box-shadow:0 20px 60px rgba(0,0,0,.5);
}
.ms-vlightbox-frame iframe{ position:absolute; inset:0; width:100%; height:100%; border:0; }
.ms-vlightbox-close{
  position:absolute; top:clamp(.6rem,3vw,1.4rem); right:clamp(.6rem,3vw,1.4rem);
  width:44px; height:44px; border:0; border-radius:50%;
  background:rgba(255,255,255,.14); color:#fff; font-size:1.7rem; line-height:1;
  cursor:pointer; display:grid; place-items:center; transition:background .2s ease;
}
.ms-vlightbox-close:hover{ background:rgba(255,255,255,.28); }
@media (prefers-reduced-motion:reduce){ .ms-vlightbox{ animation:none; } }

.faq-item summary span{
  font-family:var(--serif) !important;
  font-size:clamp(1.05rem,2.4vw,1.35rem) !important;
  text-align:left !important;
}
.faq-list{ border-top:1px solid var(--rule,#e7e7e7) !important; }
.faq-item{ border-bottom:1px solid var(--rule,#e7e7e7) !important; }

@media (max-width:767.98px){
  body{ position:relative !important; }
  .frame{
    position:absolute !important;
    border-top-width:110px !important;
    border-left-width:1rem !important;
    border-right-width:1rem !important;
    border-bottom-width:0 !important;
  }
}

@media (max-width:768px){
  #loader .loader-mark, .loader .loader-mark{
    letter-spacing:.02em !important;
    font-weight:700 !important;
    font-size:clamp(1.7rem,10vw,3rem) !important;
    -webkit-text-stroke:.35px currentColor !important;
    transform:none !important;
    flex-direction:column-reverse !important;
  }
  #loader .loader-mark small, .loader .loader-mark small{
    letter-spacing:.28em !important;
    order:-1 !important;
    font-weight:700 !important;
    -webkit-text-stroke:.4px currentColor !important;
  }
}

@media (max-width:600px){
  :root{ --fs-h2:clamp(2.4rem,8vw,3rem); }
  h2{ line-height:.95 !important; letter-spacing:-.02em !important; }
  .lead{ font-size:12px !important; line-height:1.62 !important; }
  .prose--center .btn, .prose--center .linkcaps,
  .prose--center .load-more, .prose .btn{ margin-top:2.5rem !important; }
}

.proc .steps{ display:block !important; max-width:64rem !important; margin-inline:auto !important; }
.proc .step, .proc .step-text,
.proc .step-no, .proc .step-title, .proc .step-body{ text-align:left !important; }
.proc .step{
  display:flex !important; flex-direction:column !important; align-items:flex-start !important;
  max-width:none !important;
  padding-block:clamp(3.5rem,9vw,7rem) !important;
  border-top:1px solid var(--rule,#e7e7e7) !important;
  gap:0 !important;
}
.proc .step:first-of-type{ border-top:0 !important; }

@media (min-width:769px){
  .places-head .lastunit{ display:block !important; }
}

.contact-gif-sec{ padding-block:clamp(.4rem,3vw,1.4rem) !important; }
.contact-gif-sec .container{ max-width:none !important; }
.contact-gif-media{
  position:relative; overflow:hidden;
  width:100%; max-width:1000px; margin-inline:auto; aspect-ratio:16/10;
  border-radius:3px;
}
.contact-gif-media > .contact-gif-img{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover; object-position:center; }
.reel-media{ position:relative; overflow:hidden; background-image:none !important; }
.reel-media > .reel-img{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover; object-position:center; filter:none !important; }
@media (max-width:768px){ .contact-gif-media{ aspect-ratio:4/5; } }

.miniabout{ display:block !important; max-width:none !important; }
.miniabout-media{ position:relative; overflow:hidden; width:100%; max-width:1000px; margin:0 auto clamp(1.6rem,4vw,2.6rem); aspect-ratio:16/10; border-radius:3px; } .miniabout-media > .miniabout-img{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover; object-position:center 22%; }
.miniabout-text{ text-align:center !important; max-width:640px; margin-inline:auto; }
.miniabout-text .eyebrow{ margin-bottom:.6rem; }
.miniabout-text .lead{ max-width:52ch; margin-inline:auto; }
@media (max-width:768px){
  .miniabout-media{ aspect-ratio:4/5; } .miniabout-media > .miniabout-img{ object-position:center 18%; }
}

.vl-sec .container{ max-width:62rem !important; }
.vl-sec .vl-head{ margin-bottom:clamp(2rem,5vw,3.2rem) !important; }
.vl-check{ display:grid !important; grid-template-columns:1fr 1fr !important; column-gap:clamp(2.4rem,5vw,4.5rem) !important; row-gap:0 !important; max-width:none !important; width:100% !important; margin:0 auto !important; padding:0 !important; list-style:none !important; text-align:left !important; }
.vl-check li{ display:flex !important; align-items:flex-start !important; gap:.9rem !important; margin:0 !important; padding:1.15rem .1rem !important; border-top:1px solid rgba(20,20,18,.14) !important; }
.vl-check li .ck{ flex:0 0 auto !important; display:inline-flex !important; align-items:center !important; justify-content:center !important; width:1.5rem !important; height:1.5rem !important; margin-top:.12rem !important; border:1px solid currentColor !important; border-radius:50% !important; font-size:.68rem !important; opacity:.8 !important; background:none !important; color:inherit !important; }
.vl-check li div{ margin:0 !important; }
.vl-check li div strong{ font-weight:500 !important; font-size:clamp(1rem,1.25vw,1.14rem) !important; line-height:1.42 !important; letter-spacing:.004em !important; }
@media (max-width:768px){ .vl-check{ grid-template-columns:1fr !important; column-gap:0 !important; } }
.pricing-sec .pricing{ max-width:46rem !important; }
.pricing-sec .p-price{ display:inline-block !important; font-size:clamp(3rem,8vw,5.4rem) !important; line-height:1.02 !important; margin:clamp(1.6rem,4vw,2.4rem) auto .8rem !important; padding:clamp(1rem,2.6vw,1.5rem) clamp(2rem,6vw,3.6rem) 0 !important; border-top:1px solid rgba(20,20,18,.22) !important; }
.pricing-sec .p-note{ font-size:.88rem !important; letter-spacing:.015em !important; opacity:.68 !important; max-width:34rem !important; margin-inline:auto !important; }
@media (max-width:600px){
  html body .pricing-sec .pricing p.p-price{ font-size:clamp(2.4rem,10vw,3.2rem) !important; }
}
@media (max-width:768px){
  .proc .step{ border-top:0 !important; padding-block:clamp(3rem,8vw,4.6rem) !important; }
}
.proc .step-text{ order:1 !important; width:100% !important; }
.proc .step-media{ order:2 !important; width:100% !important; margin-top:clamp(1.6rem,4vw,2.6rem) !important; }
.proc .step-media img{
  width:100% !important; height:auto !important;
  aspect-ratio:16/10 !important; object-fit:cover !important;
  filter:grayscale(1) !important;
}
.proc .step-no{
  display:block !important;
  font-family:var(--serif) !important; font-weight:400 !important;
  font-size:clamp(7rem,20vw,15rem) !important;
  line-height:.78 !important; letter-spacing:-.06em !important;
  color:color-mix(in srgb, var(--ink) 15%, transparent) !important;
  margin:0 0 .06em -.04em !important;
}
.proc .step-title{
  font-family:var(--serif) !important; font-weight:400 !important;
  text-transform:uppercase !important;
  font-size:clamp(1.7rem,5vw,2.9rem) !important;
  line-height:.98 !important; letter-spacing:-.01em !important;
  color:var(--ink) !important; margin:0 0 .55em !important;
}
.proc .step-body{
  font-family:var(--sans) !important;
  font-size:clamp(1rem,3.5vw,1.08rem) !important;
  line-height:1.65 !important; max-width:46ch !important;
  color:var(--ink-soft) !important; margin:0 !important;
}

.menu[data-astro-cid-5hce7sga] .menu-lang[data-astro-cid-5hce7sga] a[data-astro-cid-5hce7sga],
.menu[data-astro-cid-5hce7sga] .menu-lang[data-astro-cid-5hce7sga] span[data-astro-cid-5hce7sga],
.menu .menu-lang a, .menu .menu-lang span{
  font-size:1.2rem !important;
  letter-spacing:.14em !important;
}
@media (max-width:767.98px){
  .brand[data-astro-cid-5hce7sga], #burger.burger[data-astro-cid-5hce7sga]{
    top:55px !important;
  }
}
@media (max-width:600px){
  h2{ font-size:clamp(2.75rem,10.5vw,3.4rem) !important; }
}

@media (min-width:768px){
  .proc.is-enhanced .steps{
    position:relative !important;
    height:calc(var(--n,4) * 100vh) !important;
    max-width:none !important; margin:0 !important; display:block !important;
  }
  .proc.is-enhanced .proc-pin{
    position:sticky; top:0; height:100vh; overflow:hidden;
    display:flex; align-items:center;
  }
  .proc.is-enhanced .step{
    position:absolute !important; inset:0 !important;
    margin-inline:auto !important; margin-block:0 !important;
    padding:0 clamp(3rem,7vw,7rem) !important; border:0 !important;
    max-width:1320px !important;
    display:grid !important; grid-template-columns:1.05fr .95fr !important;
    align-items:center !important; align-content:center !important;
    gap:clamp(2.5rem,5vw,6rem) !important;
    opacity:0 !important; transform:translateY(28px) !important;
    transition:opacity .7s cubic-bezier(.4,0,.2,1), transform .7s cubic-bezier(.4,0,.2,1) !important;
    pointer-events:none;
  }
  .proc.is-enhanced .step.is-active{ opacity:1 !important; transform:none !important; pointer-events:auto; }
  .proc.is-enhanced .step-text{ order:0 !important; width:auto !important; }
  .proc.is-enhanced .step-no{ font-size:clamp(6rem,10vw,11rem) !important; margin-bottom:.05em !important; }
  .proc.is-enhanced .step-media{ order:1 !important; margin:0 !important; width:auto !important; }
  .proc.is-enhanced .step-media img{
    aspect-ratio:4/5 !important; width:100% !important; height:auto !important;
    max-height:80vh !important; object-fit:cover !important;
  }
}

.covers{
  display:grid !important;
  grid-template-columns:repeat(3,1fr) !important;
  gap:0 !important;
  width:auto !important; max-width:none !important;
  margin-inline:calc(-1 * clamp(0.4rem,1.5vw,1rem)) !important; padding-inline:0 !important;
  position:relative !important; z-index:91 !important;
}
.covers .cover:nth-child(n+7){ display:none !important; }
.covers.covers-all .cover:nth-child(n+7){ display:block !important; }
.covers + .load-more{ display:block !important; margin:clamp(1.8rem,4vw,3rem) auto 0 !important; }

.reveal:has(.covers){ position:relative !important; z-index:91 !important; }

html .brand[data-astro-cid-5hce7sga][data-astro-cid-5hce7sga],
html.menu-open .brand[data-astro-cid-5hce7sga][data-astro-cid-5hce7sga]{
  font-family:var(--font-sans) !important;
  font-weight:700 !important;
  letter-spacing:normal !important;
}

.covers + .load-more{
  display:flex !important;
  margin:clamp(1.8rem,4vw,3rem) auto 0 !important;
}
.covers + .load-more[style*="display: none"]{ display:none !important; }
@media (max-width:680px){ .covers{ grid-template-columns:1fr !important; gap:0 !important; } }
.covers .cover{
  position:relative !important; display:block !important; overflow:hidden !important;
  aspect-ratio:5/7 !important; margin:0 !important;
}
.covers .cover img{
  width:100% !important; height:100% !important; object-fit:cover !important;
  filter:grayscale(1) !important; display:block !important;
  transition:transform .8s cubic-bezier(.2,.6,.2,1), filter .6s ease !important;
}
@media (hover:hover){ .covers .cover:hover img{ transform:scale(1.05) !important; filter:grayscale(0) !important; } }
@media (hover:none){ .covers .cover img{ filter:grayscale(0) !important; } }
.covers .cover::after{
  content:"" !important; position:absolute !important; inset:0 !important;
  background:linear-gradient(to top, rgba(15,15,13,.6) 0%, rgba(15,15,13,.12) 36%, transparent 62%) !important;
  pointer-events:none !important;
}
.covers .cover span{
  position:absolute !important; left:clamp(1rem,3vw,1.4rem) !important;
  right:auto !important; bottom:clamp(1rem,3vw,1.4rem) !important; max-width:66% !important;
  z-index:2 !important;
  font-family:var(--sans, "Montserrat", system-ui, sans-serif) !important; font-weight:600 !important;
  text-transform:uppercase !important; color:#fff !important;
  font-size:clamp(.72rem,1.5vw,.88rem) !important; line-height:1.25 !important; letter-spacing:.14em !important;
  text-shadow:0 1px 12px rgba(0,0,0,.4) !important;
  display:block !important;
}
.covers .cover span::after{ content:none !important; display:none !important; }
.covers .cover::before{
  content:"" !important; position:absolute !important; z-index:3 !important;
  right:clamp(1rem,3vw,1.5rem) !important; bottom:clamp(1rem,2.6vw,1.35rem) !important;
  width:clamp(30px,8vw,46px) !important; height:clamp(30px,8vw,46px) !important;
  background:
    linear-gradient(#fff,#fff) center / 1.4px 100% no-repeat,
    linear-gradient(#fff,#fff) center / 100% 1.4px no-repeat !important;
  pointer-events:none !important;
}
.media-full{ width:auto !important; max-width:none !important; box-sizing:border-box !important;
  margin-inline:calc(16px - clamp(1.25rem,5vw,4rem)) !important; padding-inline:0 !important; }
.media-full img{ width:100% !important; max-width:none !important; display:block !important; }
@media (max-width:767.98px){ main .reveal > .media-full{ margin-inline:0 !important; } }
@media (hover:hover){ .covers .cover:hover span::after{ transform:rotate(-45deg) translate(3px,3px) !important; } }

@media (max-width:768px){
  .proc .step-no{
    font-size:clamp(11rem,48vw,18rem) !important;
    line-height:.72 !important; letter-spacing:-.04em !important;
    color:var(--ink) !important;
    margin:0 0 .02em -.03em !important;
  }
  .proc .step-title{ font-size:clamp(1.9rem,8vw,2.6rem) !important; }
}

@media (max-width:600px){
  .prose p:not(.eyebrow):not(.hero-sub),
  main p:not(.eyebrow):not(.hero-sub):not(.muted),
  main li:not([class*="nav"]),
  .lead, .proc .step-body, .legal p, .faq-item p, .vl p, .vl-check li{
    font-size:12px !important; line-height:1.62 !important;
  }
}

.vl-num{
  list-style:none !important; margin:clamp(2.5rem,5vw,3.5rem) auto 0 !important;
  padding:0 !important; max-width:58rem !important; text-align:left !important;
}
.vl-num li{
  display:grid !important;
  grid-template-columns:minmax(2.4em,auto) 1fr !important;
  column-gap:clamp(1.25rem,4vw,3rem) !important;
  align-items:baseline !important;
  padding-block:clamp(1.5rem,3.8vw,2.3rem) !important;
  border-top:1px solid var(--rule,#e7e7e7) !important;
  margin:0 !important; text-align:left !important;
}
.vl-num li:first-child{ border-top:0 !important; }
.vl-num li .no{
  font-family:var(--serif) !important; font-weight:400 !important;
  font-size:clamp(1.9rem,3.4vw,2.8rem) !important; line-height:1 !important;
  letter-spacing:-.02em !important;
  color:var(--ink-soft,#5a5148) !important;
  text-align:left !important;
}
.vl-num li > div{ text-align:left !important; }
.vl-num li h3{
  font-family:var(--serif) !important; font-weight:400 !important;
  text-transform:none !important;
  font-size:clamp(1.35rem,2.3vw,1.9rem) !important; line-height:1.12 !important;
  letter-spacing:-.01em !important;
  color:var(--ink) !important; margin:0 0 .4em !important; text-align:left !important;
}
.vl-num li p{
  font-family:var(--sans) !important;
  font-size:clamp(.95rem,1.05vw,1.05rem) !important; line-height:1.6 !important;
  color:var(--ink-soft) !important; margin:0 !important; max-width:44ch !important;
  text-align:left !important;
}
@media (max-width:600px){
  .vl-num li{ column-gap:1rem !important; }
  .vl-num li .no{ font-size:2rem !important; }
  .vl-num li h3{ font-size:1.3rem !important; }
  .vl-num li p{ font-size:.9rem !important; }
}

.faq-item summary{ padding:1.3rem 0 !important; }
.faq-item summary p, .faq-item > p{ padding:0 0 1.4rem !important; }
.faq-item p{ color:var(--ink-soft) !important; }

.lead-form [data-instatic-form-message]{
  margin:1.6rem 0 .2rem; padding:1rem 1.25rem; border-radius:2px;
  font-family:var(--sans, "Montserrat", system-ui, sans-serif);
  font-size:.95rem; line-height:1.55; text-align:center; letter-spacing:.01em;
}
.lead-form:not([data-instatic-form-state]) [data-instatic-form-message],
.lead-form [data-instatic-form-message]:empty{ display:none; }
.lead-form[data-instatic-form-state="pending"] [data-instatic-form-message]{
  background:var(--sand,#efe9df); color:var(--ink-soft,#6a6c70);
}
.lead-form[data-instatic-form-state="success"] [data-instatic-form-message]{
  background:#eef3ec; color:#31543a; border:1px solid #cddfc6;
}
.lead-form[data-instatic-form-state="error"] [data-instatic-form-message]{
  background:#f6ecec; color:#7a2e2e; border:1px solid #e3c7c7;
}

.lead-form[data-instatic-form-state="success"] [data-instatic-form-message]{
  font-size:1.05rem; padding:1.25rem 1.4rem;
}

@media (max-width:768px){
  .hero[data-astro-cid-4z5ypzu4]{ flex-direction:column !important; justify-content:flex-end !important; align-items:center !important; }
  .hero-inner[data-astro-cid-4z5ypzu4]{ margin-top:0 !important; margin-bottom:0 !important; }
  .hero[data-astro-cid-4z5ypzu4] .scroll{
    display:block !important;
    position:static !important; left:auto !important; right:auto !important; transform:none !important;
    margin:1rem auto clamp(2rem,6vh,3.2rem) !important;
    font-size:.66rem !important; letter-spacing:.26em !important; text-transform:uppercase !important;
    color:#fff !important; opacity:.92 !important; line-height:1 !important;
  }
  .hero[data-astro-cid-4z5ypzu4] .scroll::before,
  .hero[data-astro-cid-4z5ypzu4] .scroll::after{ display:none !important; content:none !important; }

  .burger[data-astro-cid-5hce7sga]{ width:34px !important; }
  html:not(.menu-open) #burger.burger[data-astro-cid-5hce7sga]::before{
    left:0 !important; right:0 !important; width:auto !important; height:1.5px !important; margin-top:0 !important;
    box-shadow:rgb(255,255,255) 0 -6px 0 0, rgb(255,255,255) 0 6px 0 0 !important;
  }
  html.menu-open .brand[data-astro-cid-5hce7sga]{
    font-size:1.45rem !important; left:50% !important; transform:translate(-50%,-50%) !important; transition:none !important;
  }
  .brand[data-astro-cid-5hce7sga]{ font-size:1.45rem !important; }
}

.ft{
  background:#000 !important; color:#fff !important; border:0 !important;
  position:relative !important; z-index:95 !important;
  width:100vw !important; margin-left:calc(50% - 50vw) !important; margin-right:calc(50% - 50vw) !important;
  margin-top:0 !important;
  padding:clamp(3rem,11vw,7.5rem) clamp(1.6rem,6vw,6rem) clamp(1.6rem,4vw,3rem) !important;
  overflow:hidden !important;
}
.ft .container{ max-width:none !important; width:auto !important; margin:0 !important; padding:0 !important;
  display:flex !important; flex-direction:column !important; align-items:flex-start !important; gap:0 !important; text-align:left !important; }
.ft .ft-brand{ order:1 !important; font-family:var(--sans) !important; font-weight:800 !important; text-transform:uppercase !important;
  letter-spacing:.02em !important; font-size:clamp(1.5rem,7vw,2.6rem) !important; line-height:1 !important; color:#fff !important; margin:0 0 .25em !important; }
.ft .ft-brand .ft-sub{ display:none !important; }
.ft .muted, .ft .tiny, .ft .ft-legal-contact{ display:none !important; }

.ft .ft-home{ order:1 !important; display:block !important; font-family:var(--sans) !important; font-weight:800 !important; text-transform:uppercase !important;
  color:#fff !important; text-decoration:none !important; letter-spacing:-.015em !important; line-height:1.0 !important;
  font-size:clamp(2.2rem,11vw,3.4rem) !important; margin:0 0 .3em !important; }
.ft .ft-home:hover{ opacity:.55 !important; }
.ft .ft-nav{ order:3 !important; display:flex !important; flex-direction:column !important; align-items:flex-start !important; gap:.02em !important; margin:0 0 clamp(2rem,7vw,3.5rem) !important; }
.ft .ft-nav > a, .ft .ft-portfolio{ font-family:var(--sans) !important; font-weight:800 !important; text-transform:uppercase !important;
  color:#fff !important; text-decoration:none !important; letter-spacing:-.015em !important; line-height:1.0 !important;
  font-size:clamp(2.2rem,11vw,3.4rem) !important; }
.ft .ft-portfolio{ background:none !important; border:0 !important; padding:0 !important; margin:0 !important; cursor:pointer !important; text-align:left !important;
  display:inline-flex !important; align-items:center !important; gap:.3em !important; transition:opacity .25s ease !important; }
.ft .ft-portfolio::after{ content:"" !important; width:.24em !important; height:.24em !important; flex:none !important;
  border-right:.05em solid currentColor !important; border-bottom:.05em solid currentColor !important;
  transform:translateY(-.14em) rotate(45deg) !important; opacity:.5 !important; transition:transform .32s ease !important; }
.ft .ft-nav-group.is-open .ft-portfolio::after{ transform:translateY(.05em) rotate(-135deg) !important; opacity:.75 !important; }
.ft .ft-nav > a:hover, .ft .ft-portfolio:hover{ opacity:.55 !important; }
.ft .ft-portfolio-sub{ display:flex !important; flex-direction:column !important; align-items:flex-start !important; gap:.25em !important;
  max-height:0 !important; overflow:hidden !important; opacity:0 !important; margin:0 0 0 .5em !important;
  transition:max-height .42s cubic-bezier(.4,0,.2,1), opacity .3s ease, margin .3s ease !important; }
.ft .ft-nav-group.is-open .ft-portfolio-sub{ max-height:7rem !important; opacity:1 !important; margin:.35em 0 .45em .5em !important; }
.ft .ft-portfolio-sub a{ font-family:var(--sans) !important; font-weight:700 !important; text-transform:uppercase !important; letter-spacing:.13em !important;
  font-size:clamp(.85rem,3.6vw,1.05rem) !important; color:rgba(255,255,255,.82) !important; text-decoration:none !important; line-height:1.3 !important; }
.ft .ft-portfolio-sub a:hover{ color:#fff !important; }
.ft .ft-nav-group{ margin-left:.5em !important; }
.ft .ft-nav > a:nth-of-type(1){ margin-left:1em !important; }
.ft .ft-nav > a:nth-of-type(2){ margin-left:1.5em !important; }
.ft .ft-nav > a:nth-of-type(3){ margin-left:.4em !important; }
footer.ft .ft-legal-nav{ display:flex !important; flex-direction:row !important; flex-wrap:wrap !important; justify-content:space-between !important; align-items:center !important; gap:.5em 1em !important; width:100% !important; }
@media (max-width:768px){
  footer.ft .ft-social{ margin:0 0 clamp(2.6rem,9vw,4rem) !important; }
  footer.ft .ft-nav{ align-self:stretch !important; width:100% !important; align-items:flex-end !important; gap:.12em !important; margin:0 0 clamp(2.6rem,9vw,4rem) !important; }
  footer.ft .ft-nav > a, footer.ft .ft-nav-group{ margin-left:0 !important; align-self:flex-end !important; text-align:right !important; }
  footer.ft .ft-nav-group{ align-items:flex-end !important; }
  footer.ft .ft-portfolio{ flex-direction:row-reverse !important; }
  footer.ft .ft-portfolio-sub{ align-items:flex-end !important; }
  footer.ft .ft-legal-nav{ flex-direction:column !important; flex-wrap:nowrap !important; align-items:flex-start !important; justify-content:flex-start !important; gap:.55em !important; }
  footer.ft .ft-legal{ align-self:flex-start !important; }
}
.ft .ft-legal{ width:100% !important; }
.ft .ft-legal-nav{ display:flex !important; flex-direction:row !important; flex-wrap:wrap !important; justify-content:space-between !important; align-items:center !important; gap:.5em 1em !important; width:100% !important; margin:clamp(1.6rem,6vw,2.8rem) 0 0 !important; }
.ft .ft-legal-nav a{ font-family:var(--sans) !important; font-weight:600 !important; text-transform:uppercase !important; letter-spacing:.1em !important; font-size:clamp(.66rem,3vw,.82rem) !important; color:rgba(255,255,255,.55) !important; }
.ft .ft-legal-nav a:hover{ color:#fff !important; }
@media (min-width:769px){
  footer.ft .container{ grid-template-areas:"home social" "nav nav" "legal legal" !important; }
  .ft .ft-legal-nav{ margin-top:clamp(2.2rem,4vw,3.8rem) !important; }
  .ft .ft-legal-nav a{ font-size:clamp(.75rem,1vw,.9rem) !important; }
}
@media (max-width:768px){ .ft .ft-home, .ft .ft-nav > a, .ft .ft-portfolio{ font-size:clamp(2rem,10vw,3.1rem) !important; } }
@media (min-width:769px){
  .ft .ft-nav-group{ margin-left:0 !important; }
  .ft .ft-nav > a:nth-of-type(1){ margin-left:1.8em !important; }
  .ft .ft-nav > a:nth-of-type(2){ margin-left:3.4em !important; }
  .ft .ft-nav > a:nth-of-type(3){ margin-left:1.4em !important; }
}
.ft .ft-nav-group{ margin-left:.6em !important; }
.ft .ft-nav > a:nth-of-type(1){ margin-left:1.2em !important; }
.ft .ft-nav > a:nth-of-type(2){ margin-left:.6em !important; }
.ft .ft-nav a:nth-child(2), .ft .ft-nav a:nth-child(3), .ft .ft-nav a:nth-child(4), .ft .ft-nav a:nth-child(5), .ft .ft-nav a:nth-child(6){ margin-left:0 !important; }
.ft .tiny{ display:none !important; }
@media (min-width:769px){
  .ft .container{ grid-template-areas:"home social" "nav nav" "legal tiny" !important; }
  .ft .ft-home{ grid-area:home !important; margin:0 !important; font-size:clamp(3rem,4vw,4.5rem) !important; }
  .ft .ft-social{ grid-area:social !important; }
  .ft .ft-nav{ grid-area:nav !important; margin:clamp(1rem,3vw,2.5rem) 0 !important; }
  .ft .ft-nav > a, .ft .ft-portfolio{ font-size:clamp(4rem,8vw,7.5rem) !important; }
  .ft .ft-nav-group{ margin-left:1.6em !important; }
  .ft .ft-nav > a:nth-of-type(1){ margin-left:3.2em !important; }
  .ft .ft-nav > a:nth-of-type(2){ margin-left:1.6em !important; }
  .ft .ft-portfolio-sub a{ font-size:clamp(1rem,1.4vw,1.3rem) !important; }
  .ft .ft-legal-nav{ grid-area:legal !important; }
  .ft .tiny{ grid-area:tiny !important; text-align:right !important; align-self:end !important; }
}

.ft .ft-social{ order:2 !important; display:flex !important; gap:1.7em !important; margin:0 0 clamp(2.2rem,8vw,3.5rem) !important; }
.ft .ft-social a{ font-family:var(--sans) !important; font-weight:700 !important; text-transform:uppercase !important;
  letter-spacing:.14em !important; font-size:clamp(.82rem,3.6vw,1.05rem) !important; color:#fff !important; text-decoration:none !important; transition:opacity .25s ease !important; }
.ft .ft-social a:hover{ opacity:.6 !important; }
.ft .ft-social span{ display:none !important; }
.ft .ft-nav{ order:3 !important; display:flex !important; flex-direction:column !important; align-items:flex-start !important; gap:.02em !important;
  margin:0 0 clamp(2.2rem,8vw,4rem) !important; }
.ft .ft-nav a{ font-family:var(--sans) !important; font-weight:800 !important; text-transform:uppercase !important;
  font-size:clamp(2.3rem,12.5vw,3.7rem) !important; line-height:1.0 !important; letter-spacing:-.015em !important;
  color:#fff !important; text-decoration:none !important; transition:opacity .25s ease !important; }
.ft .ft-nav a:hover{ opacity:.55 !important; }
.ft .ft-nav a:nth-child(2){ margin-left:.5em !important; }
.ft .ft-nav a:nth-child(3){ margin-left:1em !important; }
.ft .ft-nav a:nth-child(4){ margin-left:1.5em !important; }
.ft .ft-nav a:nth-child(5){ margin-left:1em !important; }
.ft .ft-nav a:nth-child(6){ margin-left:.5em !important; }
.ft .ft-legal{ order:4 !important; width:100% !important; }
.ft .ft-legal-nav{ display:flex !important; flex-direction:column !important; align-items:flex-start !important; gap:.4em !important; margin:0 0 clamp(1.6rem,6vw,2.5rem) !important; }
.ft .ft-legal-nav a{ font-family:var(--sans) !important; font-weight:700 !important; text-transform:uppercase !important;
  letter-spacing:.1em !important; font-size:clamp(.82rem,3.6vw,1.02rem) !important; color:#fff !important; text-decoration:none !important; transition:opacity .25s ease !important; }
.ft .ft-legal-nav a:hover{ opacity:.6 !important; }
.ft .ft-legal-contact{ color:rgba(255,255,255,.42) !important; font-family:var(--sans) !important; font-size:.72rem !important; letter-spacing:.05em !important; line-height:1.6 !important; margin:0 !important; }
.ft .ft-legal-contact a{ color:rgba(255,255,255,.6) !important; text-decoration:none !important; }
.ft .muted{ order:5 !important; color:rgba(255,255,255,.42) !important; font-family:var(--sans) !important; font-size:.72rem !important; letter-spacing:.05em !important; margin:.6em 0 0 !important; }
.ft .tiny{ order:6 !important; color:rgba(255,255,255,.42) !important; font-family:var(--sans) !important; font-size:.72rem !important; letter-spacing:.05em !important; margin:.15em 0 0 !important; }

@media (min-width:769px){
  .ft{ padding:clamp(5rem,9vw,9rem) clamp(3rem,6vw,7rem) clamp(2rem,3vw,3.5rem) !important; min-height:88vh !important; display:flex !important; align-items:center !important; }
  .ft .container{ width:100% !important; display:grid !important;
    grid-template-columns:1fr auto !important;
    grid-template-areas:"home social" "nav nav" "legal tiny" !important;
    align-items:start !important; column-gap:2rem !important; row-gap:clamp(1.5rem,3vw,2.5rem) !important; }
  .ft .ft-brand{ grid-area:brand !important; margin:0 !important; font-size:clamp(2rem,2.6vw,3rem) !important; }
  .ft .ft-social{ grid-area:social !important; justify-content:flex-end !important; margin:0 !important; align-self:center !important; }
  .ft .ft-nav{ grid-area:nav !important; margin:clamp(1rem,3vw,2.5rem) 0 !important; }
  .ft .ft-nav a{ font-size:clamp(4rem,8.5vw,8rem) !important; }
  .ft .ft-nav a:nth-child(2){ margin-left:1.2em !important; }
  .ft .ft-nav a:nth-child(3){ margin-left:2.4em !important; }
  .ft .ft-nav a:nth-child(4){ margin-left:3.6em !important; }
  .ft .ft-nav a:nth-child(5){ margin-left:2.4em !important; }
  .ft .ft-nav a:nth-child(6){ margin-left:1.2em !important; }
  .ft .ft-nav a:nth-child(7){ margin-left:0 !important; }
  .ft .ft-legal{ grid-area:legal !important; width:auto !important; }
  .ft .ft-legal-nav{ flex-direction:row !important; flex-wrap:wrap !important; gap:1.6em !important; margin:0 !important; }
  .ft .ft-legal-contact{ grid-area:contact !important; text-align:right !important; align-self:end !important; }
  .ft .muted{ grid-area:muted !important; margin:0 !important; }
  .ft .tiny{ grid-area:tiny !important; text-align:right !important; margin:0 !important; }
}

.ft .ft-brand{ display:none !important; }
@media (max-width:768px){
  .ft .ft-nav a{ font-size:clamp(2rem,10vw,3.15rem) !important; }
  .ft .ft-nav a:nth-child(4){ margin-left:.9em !important; }
  .ft .ft-nav a:nth-child(5){ margin-left:.3em !important; }
  .ft .ft-nav a:nth-child(6){ margin-left:0 !important; }
}

.ft .ft-brand{ display:none !important; }
@media (max-width:768px){
  .ft .ft-nav a{ font-size:clamp(2rem,10vw,3.15rem) !important; }
  .ft .ft-nav a:nth-child(4){ margin-left:.9em !important; }
  .ft .ft-nav a:nth-child(5){ margin-left:.3em !important; }
  .ft .ft-nav a:nth-child(6){ margin-left:0 !important; }
}

@media (max-width:767.98px){
  .frame{ border-top-width:100px !important; }
  .brand[data-astro-cid-5hce7sga],
  #burger.burger[data-astro-cid-5hce7sga]{ top:50px !important; }
}
@media (max-width:768px){
  html:not(.menu-open) #burger.burger[data-astro-cid-5hce7sga]::before{
    height:1px !important;
    box-shadow:rgb(255,255,255) 0 -7px 0 0, rgb(255,255,255) 0 7px 0 0 !important;
  }
}

.linkcaps, .btn:has(.plus){ column-gap:.728rem !important; }
.linkcaps .plus, .btn .plus{
  width:1.215rem !important; height:1.215rem !important;
}
.linkcaps .plus::before, .btn .plus::before{
  width:.3825rem !important; height:1px !important;
}
.linkcaps .plus::after, .btn .plus::after{
  width:1px !important; height:.3825rem !important;
}

.load-more.cta-plusified{ gap:.924em !important; }
.load-more.cta-plusified::after,
.cta-sec .btn::after,
.cta-sec .btn--solid::after,
.cta-sec .btn.btn--solid::after,
.btn::after{
  content:"" !important;
  box-sizing:border-box !important;
  width:1.804em !important; height:1.804em !important;
  background-image:linear-gradient(currentColor,currentColor),
                   linear-gradient(currentColor,currentColor) !important;
  background-size:.580em 1px, 1px .580em !important;
  background-position:center center, center center !important;
  background-repeat:no-repeat !important;
  background-color:transparent !important;
}
.load-more.cta-plusified:hover::after,
.cta-sec .btn:hover::after,
.cta-sec .btn--solid:hover::after,
.cta-sec .btn.btn--solid:hover::after,
.btn:hover::after{
  background-image:linear-gradient(currentColor,currentColor),
                   linear-gradient(currentColor,currentColor) !important;
  background-size:.580em 1px, 1px .580em !important;
  background-position:center center, center center !important;
  background-repeat:no-repeat !important;
}
.cta-sec .btn:hover::after,
.cta-sec .btn--solid:hover::after,
.cta-sec .btn.btn--solid:hover::after{
  background-color:#ffffff !important;
  border-color:#ffffff !important;
}
.btn,
.cta-sec a.btn, .cta-sec button.btn,
.hero a.btn, .hero button.btn,
.hero-inner a.btn, .hero-inner button.btn{ gap:.924em !important; }

@media (max-width:768px){
  .burger[data-astro-cid-5hce7sga], #burger.burger{ width:28px !important; }
  html:not(.menu-open) #burger.burger[data-astro-cid-5hce7sga]::before{
    height:1px !important;
    box-shadow:rgb(255,255,255) 0 -8.7px 0 0, rgb(255,255,255) 0 8.7px 0 0 !important;
  }
}

@media (max-width:768px){
  .prose--center .btn,
  .prose--center .linkcaps,
  .prose--center .load-more,
  .prose .btn,
  .prose .linkcaps{ margin-top:-5px !important; }
}

mark.ms-hl{
  background-color:transparent !important;
  background-image:linear-gradient(var(--ms-accent,#F37021),var(--ms-accent,#F37021)) !important;
  background-repeat:no-repeat !important;
  background-size:100% .96em !important;
  background-position:0 .168em !important;
  color:var(--ms-ink,#141412) !important;
  padding:0 .1em !important;
  border-radius:0 !important;
  box-decoration-break:clone;
  -webkit-box-decoration-break:clone;
  text-decoration:none !important;
}

@media (max-width:768px){
  .cta-sec h2, .cta h2{
    font-size:clamp(2.9rem, 13.9vw, 3.6rem) !important;
    hyphens:auto; -webkit-hyphens:auto;
    overflow-wrap:break-word;
  }
}

@media (max-width:768px){
  .cta-sec .btn,
  .cta-sec .linkcaps,
  .cta-sec .load-more,
  section.cta .btn,
  section.cta .linkcaps{ margin-top:2.5rem !important; }
}

.ft{
  background:#ffffff !important;
  color:#141412 !important;
}
.ft .ft-brand,
.ft .ft-home,
.ft .ft-nav a,
.ft .ft-nav > a,
.ft .ft-portfolio,
.ft .ft-social a{ color:#141412 !important; }
.ft .ft-portfolio-sub a{ color:rgba(20,20,18,.82) !important; }
.ft .ft-portfolio-sub a:hover{ color:#141412 !important; }
.ft .ft-legal-nav a{ color:rgba(20,20,18,.62) !important; }
.ft .ft-legal-nav a:hover{ color:#141412 !important; }
.ft .ft-legal-contact{ color:rgba(20,20,18,.5) !important; }
.ft .ft-legal-contact a{ color:rgba(20,20,18,.68) !important; }
.ft .muted,
.ft .tiny{ color:rgba(20,20,18,.5) !important; }
.ft .tiny{ border-top-color:rgba(20,20,18,.12) !important; }

@media (max-width:768px){
  .cta-sec, section.cta{ padding-block:clamp(6rem, 35vw, 9rem) !important; }
}

@media (max-width:767.98px){
  .hero:not(.hero--home) .hero-inner{ padding-top:100px !important; }
}
@media (min-width:768px){
  .hero:not(.hero--home) .hero-inner{ padding-top:16px !important; }
}

.pricing-sec{
  background:#000000 !important;
  color:#ffffff !important;
}
.pricing-sec .eyebrow{ color:rgba(255,255,255,.62) !important; }
.pricing-sec .p-head,
.pricing-sec h2{ color:#ffffff !important; }
.pricing-sec .lead,
.pricing-sec p{ color:rgba(255,255,255,.82) !important; }

.ts-sec{
  position:relative;
  isolation:isolate;
  display:grid;
  place-items:center;
  aspect-ratio:9/16;
  padding-inline:clamp(1.5rem,7vw,4rem);
  color:#ffffff;
  overflow:hidden;
}
@media (min-width:769px){
  .ts-sec{ aspect-ratio:16/9; min-height:min(78vh,760px); }
}
.ts-sec .ts-bg{
  position:absolute; inset:0; z-index:0;
  width:100%; height:100%;
  object-fit:cover;
  filter:grayscale(1);
}
.ts-sec > [data-instatic-loop]{ display:contents !important; }
.ts-sec .ts-bg-item{ opacity:0; transition:opacity .9s ease; }
.ts-sec .ts-bg-item.is-on{ opacity:1; }
.ts-sec:not([data-ts-init]) .ts-bg-item:first-child{ opacity:1; }
.ts-sec .ts-scrim{
  position:absolute; inset:0; z-index:1;
  background:linear-gradient(180deg, rgba(0,0,0,.30) 0%, rgba(0,0,0,.52) 100%);
}
.ts-sec .ts-inner{
  position:relative; z-index:2;
  max-width:46rem;
  text-align:center;
}
.ts-sec .eyebrow{
  color:rgba(255,255,255,.74) !important;
  margin-bottom:clamp(1.6rem,5vw,2.4rem) !important;
}
.ts-sec .ts-inner > [data-instatic-loop]{ display:grid; }
.ts-sec .ts-item{
  grid-area:1 / 1;
  align-self:center;
  margin:0 !important;
  visibility:hidden;
  opacity:0;
}
.ts-sec .ts-item.is-on{ visibility:visible; opacity:1; animation:tsFade .7s ease both; }
.ts-sec:not([data-ts-init]) .ts-item:first-child{ visibility:visible; opacity:1; }
@keyframes tsFade{ from{ opacity:0; transform:translateY(6px); } to{ opacity:1; transform:none; } }
.ts-sec .ts-item blockquote::before{ content:"\201E"; }
.ts-sec .ts-item blockquote::after{ content:"\201C"; }
.ts-sec .ts-item blockquote{
  margin:0 0 clamp(1.4rem,4.5vw,2rem) !important;
  font-family:var(--serif,"GFS Didot",Georgia,serif) !important;
  font-weight:400 !important;
  font-size:clamp(1.45rem,6.2vw,2.4rem) !important;
  line-height:1.24 !important;
  letter-spacing:-.005em !important;
  color:#ffffff !important;
  text-wrap:balance;
}
.ts-sec .ts-item figcaption{
  font-family:var(--sans) !important;
  font-weight:600 !important;
  text-transform:uppercase !important;
  letter-spacing:.2em !important;
  font-size:clamp(.68rem,2.6vw,.78rem) !important;
  color:rgba(255,255,255,.86) !important;
  display:flex; flex-direction:column; gap:.45em; align-items:center;
}
.ts-sec .ts-item figcaption span{
  letter-spacing:.16em !important;
  color:rgba(255,255,255,.6) !important;
}

@media (max-width:767.98px){
  .section[data-nohero],
  .danke-sec{ padding-top:calc(100px + 2.5rem) !important; }
}

.danke-sec,
.danke-foot{ background:#ffffff !important; }
.danke-sec .danke-h{
  font-family:var(--serif,"GFS Didot",Georgia,serif) !important;
  text-transform:uppercase !important;
  font-size:clamp(3.4rem,17vw,8rem) !important;
  line-height:.98 !important;
  letter-spacing:-.02em !important;
  margin:0 0 clamp(1.6rem,5vw,2.4rem) !important;
  color:#141412 !important;
}
.danke-sec .lead{ max-width:34rem !important; margin-inline:auto !important; }
.danke-sec .danke-ask{ margin-top:clamp(1rem,3vw,1.4rem) !important; }
.danke-foot{ padding-top:clamp(1.5rem,5vw,2.5rem) !important; }
.danke-film{ margin-top:0 !important; }

.pricing-sec,
.ts-sec{
  position:relative !important;
  z-index:92 !important;
}
.reveal[data-fullbleed]{
  position:relative !important;
  z-index:92 !important;
}

.ms-hgif{
  display:inline-block;
  vertical-align:middle;
  width:clamp(56px, 15vw, 104px);
  aspect-ratio:1/1;
  margin:0 .14em;
  border-radius:50%;
  background-size:cover;
  background-position:center center;
  background-repeat:no-repeat;
  box-shadow:0 0 0 3px #ffffff;
  pointer-events:none;
  user-select:none;
}

.has-cam-ui{ position:relative; }
.cam-ui{
  position:absolute; inset:0;
  pointer-events:none;
  color:#ffffff;
  z-index:1;
}
.cam-ui .cam-head{
  position:absolute; left:0; right:0;
  top:calc(var(--cams, 400px) * .0443);
  display:flex; flex-direction:column; align-items:center;
  gap:calc(var(--cams, 400px) * .0027);
  text-align:center;
  text-shadow:0 1px 5px rgba(0,0,0,.22);
}
.cam-ui .cam-title,
.cam-ui .cam-sub{
  font-family:var(--serif,"GFS Didot",Georgia,serif);
  font-weight:400;
  line-height:1;
  letter-spacing:0;
}
.cam-ui .cam-title{ font-size:calc(var(--cams, 400px) * .0659); }
.cam-ui .cam-sub{ font-size:calc(var(--cams, 400px) * .0439); }
.cam-ui .cam-chevron{
  position:absolute;
  top:calc(var(--cams, 400px) * .0909);
  right:calc(var(--camw, 400px) * .0576);
  width:calc(var(--cams, 400px) * .0424);
  height:auto;
  filter:drop-shadow(0 1px 3px rgba(0,0,0,.22));
}
.cam-ui .cam-shutter{
  position:absolute; left:50%;
  bottom:calc(var(--cams, 400px) * .3076);
  transform:translate(-50%, 50%);
  width:calc(var(--cams, 400px) * .2015);
  aspect-ratio:1/1;
  border-radius:50%;
  background:#ffffff;
}
.cam-ui .cam-bar{
  position:absolute; left:0; right:0;
  bottom:calc(var(--cams, 400px) * .0841);
  transform:translateY(50%);
  display:grid; grid-template-columns:repeat(3, 1fr);
  align-items:center; justify-items:center;
}
.cam-ui .cam-bar .cam-ico{
  height:auto;
  filter:drop-shadow(0 1px 3px rgba(0,0,0,.22));
}
.cam-ui .cam-contrast{ width:calc(var(--cams, 400px) * .0758); }
.cam-ui .cam-plus{ width:calc(var(--cams, 400px) * .0515); }
.cam-ui .cam-person{ width:calc(var(--cams, 400px) * .0667); }

.ft .ft-home,
.ft .ft-nav > a.ft-home{
  font-size:clamp(3.4rem, 15vw, 9rem) !important;
  line-height:.92 !important;
  letter-spacing:-.01em !important;
}

@media (max-width:600px){
  main .section .container.legal{
    padding-top:3.5rem !important;
    padding-right:2.75rem !important;
  }
  main .section .container.legal h1{
    font-size:2rem !important; line-height:1.12 !important;
    margin-bottom:.6rem !important;
  }
  main .section .container.legal h2{
    font-size:1.125rem !important;
    line-height:1.35 !important;
    letter-spacing:0 !important;
    margin-top:2.25rem !important; margin-bottom:.5rem !important;
    hyphens:auto;
  }
  main .section .container.legal p:not(.eyebrow),
  main .section .container.legal li:not([class*="nav"]){
    font-size:15px !important; line-height:1.68 !important;
  }
  main .section .container.legal ul{ padding-left:1.25rem !important; }
}

.proc .steps > [data-instatic-loop]{ display:contents !important; }
.proc .steps{ counter-reset:procstep; }
.proc .step{ counter-increment:procstep; }
.proc .step-no::before{ content:counter(procstep, decimal-leading-zero); }
@media (max-width:767px){
  .proc .step-media{
    width:100vw !important;
    margin-left:calc(50% - 50vw) !important;
    margin-right:calc(50% - 50vw) !important;
    position:relative !important;
    z-index:92 !important;
  }
  .proc .step{ will-change:auto !important; }
  .reveal[data-nostack]{ will-change:auto !important; }
}

.proc .sx-de{ display:none; }
.proc .sx-en:empty + .sx-de{ display:inline; }

.vl-imglinks .il-det > summary{
  display:block !important;
  cursor:pointer !important;
  list-style:none !important;
}
.vl-imglinks .il-det > summary::-webkit-details-marker{ display:none !important; }
.vl-imglinks .il-det > summary::marker{ content:"" !important; }

.vl-imglinks .il-det[open] > summary .plus{ transform:rotate(45deg) !important; }

.vl-imglinks .il-more{ padding:0 0 .35rem !important; }
.vl-imglinks .il-more p{
  margin:0 auto !important;
  max-width:34ch !important;
  text-align:center !important;
  color:var(--ink-soft,#5a5148) !important;
}

.contact-rail{
  box-sizing:border-box !important;
  width:48px !important;
  padding-inline:4px !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  touch-action:manipulation !important;
}
.contact-rail span{ -webkit-user-select:none; user-select:none; }

@media (min-width:768px){
html{ background:#ffffff; --ms-gutter:clamp(4rem, calc(34.1vw - 197px), 239px); --ms-inset:0px;
       --ms-kopf:80px; }

html body{
    background:#ffffff !important;
    margin-inline:var(--ms-gutter) !important;
    padding-top:var(--ms-kopf, 80px) !important;
  }

  html .frame{ display:none !important; }

  html main section:not(.hero):not(.cta):not(.t-sec):not(.pricing-sec):not(.ts-sec){
    padding-inline:var(--ms-inset) !important;
  }

  html .brand[data-astro-cid-5hce7sga]{
    left:50% !important; right:auto !important;
    transform:translate(-50%,-50%) !important;
    top:calc(var(--ms-kopf, 80px) / 2) !important;
    font-size:2rem !important;
  }
html #burger.burger[data-astro-cid-5hce7sga]{
    width:40px !important; height:34px !important;
    top:calc(var(--ms-kopf, 80px) / 2) !important;
  }
  html:not(.menu-open).ms-sheet #burger.burger[data-astro-cid-5hce7sga]::before{
    left:0 !important; right:0 !important; width:auto !important;
    height:1px !important; margin-top:0 !important;
    box-shadow:rgb(255,255,255) 0 -12.4px 0 0, rgb(255,255,255) 0 12.4px 0 0 !important;
  }
}

@media (min-width:768px){
  .places-head{ font-size:clamp(3.3rem, 6.4vw, 7rem) !important; }
}

@media (min-width:769px) and (max-width:999px){
  .places-head .rot{ display:block !important; }
}

@media (min-width:768px){
  html main .t-sec{
    margin-inline:calc(-1 * var(--ms-gutter)) !important;
  }

  html main .pricing-sec,
  html main .ts-sec{
    margin-inline:0 !important;
    max-width:100% !important;
  }

  html main .hero{
    margin-inline:var(--ms-inset) !important;
  }

  html #burger.burger[data-astro-cid-5hce7sga]{
    right:calc(var(--ms-gutter) + var(--ms-inset)) !important;
    left:auto !important;
  }
}

@media (min-width:768px){

  html main .lead{
    font-size:clamp(12px, 0.9vw, 14px) !important;
    line-height:1.7 !important;
  }

html .ft .container{
    grid-template-areas:"home nav" "legal legal" !important;
    grid-template-columns:1fr auto !important;
  }
html .ft .container{ align-items:start !important; }
  html .ft .ft-left{
    grid-area:home !important;
    display:flex !important; flex-direction:column !important;
    align-items:flex-start !important;
  }
  html .ft .ft-nav{
    display:flex !important; flex-direction:column !important;
    align-items:flex-end !important; text-align:right !important;
    align-self:start !important;
  }
  html .ft .ft-nav a,
  html .ft .ft-nav .ft-portfolio{
    font-size:clamp(1.5rem, 2.6vw, 2.6rem) !important;
    line-height:1.12 !important;
  }
  html .ft .ft-nav-group{
    display:flex !important; flex-direction:column !important;
    align-items:flex-end !important; text-align:right !important;
  }
html .ft .ft-portfolio{ justify-content:flex-end !important; width:auto !important; }
html .ft .ft-portfolio-sub{
    align-items:flex-end !important; text-align:right !important; width:auto !important;
  }
html .ft .ft-portfolio-sub a{ font-size:clamp(1rem, 1.5vw, 1.4rem) !important; }
html .ft .ft-home{
    font-size:clamp(4rem, 10vw, 9rem) !important;
  }
html .ft .ft-social{ justify-content:flex-start !important; margin-top:1.75rem !important; }
}

@media (min-width:768px){
html .hero h1{ font-size:clamp(2.4rem, 5.4vw, 6rem) !important; }

html .mosaic{ column-count:3 !important; }

  html .contact-rail{
    right:var(--ms-gutter) !important;
    width:clamp(2.5rem, 4.2vw, 3.75rem) !important;
  }

html .ft{
    margin-inline:0 !important;
    width:auto !important;
    display:flex !important; flex-direction:column !important;
    --ms-home-fs:clamp(4rem, 10vw, 9rem);
  }
html .ft .ft-home{
    font-size:var(--ms-home-fs) !important;
    justify-self:start !important; width:max-content !important;
  }
  html .ft .ft-social{
    margin-left:calc(var(--ms-home-fs) * 0.0833) !important;
    width:calc(var(--ms-home-fs) * 3.149) !important;
    justify-self:start !important;
    align-self:flex-start !important;
    display:flex !important; justify-content:space-between !important;
    font-size:1rem !important;
    margin-top:0 !important;
  }
  html .ft{
    min-height:0 !important;
    padding-top:5rem !important; padding-bottom:2.5rem !important;
  }
html .ft .container{
    flex:1 1 auto !important;
    grid-template-rows:auto 1fr !important;
    row-gap:0 !important;
  }
html .ft .ft-legal{ align-self:end !important; }
}

@media (min-width:768px){
html main h1{
    font-size:clamp(4.5rem, 8.33vw, 7.5rem) !important;
    line-height:.94 !important;
  }
html .hero h1{
    font-size:clamp(2.4rem, 5.4vw, 6rem) !important;
    line-height:1.02 !important;
  }
html main h3{
    font-size:clamp(1.6rem, 2.8vw, 2.6rem) !important;
    line-height:1.1 !important;
  }
  html main .ms-h-xxl{ font-size:clamp(5rem, 10vw, 9rem) !important; line-height:.9 !important; }
html main .ms-h-xl{ font-size:clamp(4.5rem, 8.33vw, 7.5rem) !important; line-height:.94 !important; }
html main .ms-h-l{  font-size:clamp(3.4rem, 6.4vw, 5.75rem) !important; line-height:.98 !important; }
html main .ms-h-m{  font-size:clamp(2.4rem, 4.6vw, 4.14rem) !important; line-height:1.02 !important; }
html main .ms-h-s{  font-size:clamp(1.6rem, 2.8vw, 2.6rem) !important;  line-height:1.1 !important; }
}

@media (min-width:601px){
  html .gallery-sec .mosaic,
  html .mosaic{ column-count:3 !important; }
}

@media (min-width:768px){
  html main h1,
  html main .ms-h-xxl,
  html main .ms-h-xl,
  html main .ms-h-l{ text-transform:uppercase !important; }

  html:not(.menu-open) #burger.burger[data-astro-cid-5hce7sga]::before,
  html:not(.menu-open) #burger.burger::before{
    left:0 !important; right:0 !important; width:auto !important;
    height:1px !important; margin-top:0 !important;
    box-shadow:rgb(255,255,255) 0 -12.4px 0 0, rgb(255,255,255) 0 12.4px 0 0 !important;
  }
  html:not(.menu-open) #burger.burger[data-astro-cid-5hce7sga]:hover::before{
    box-shadow:rgb(255,255,255) 0 -14px 0 0, rgb(255,255,255) 0 14px 0 0 !important;
  }

  html .cta-sec, html section.cta{
    padding-block:clamp(8rem, 18vw, 15rem) !important;
  }
}

@media (min-width:768px){
  html #menu.menu,
  html .menu{
    left:var(--ms-gutter) !important;
    right:var(--ms-gutter) !important;
    padding-right:0 !important;
  }
  html #menu.menu nav,
  html .menu nav{
    padding-right:0 !important;
    margin-right:var(--ms-inset) !important;
  }
  html #menu.menu .menu-lang,
  html .menu .menu-lang{
    top:min(calc(var(--ms-kopf, 80px) + 1.75rem), calc(100vh - 32rem)) !important;
    right:calc(var(--ms-inset) + 37px) !important;
  }
}

@media (min-width:768px){
  html main[data-ms-flow]{
    display:flex !important;
    flex-direction:column !important;
  }
  html main[data-ms-flow] > [data-ms-ord="1"]{ order:1 !important; }
  html main[data-ms-flow] > [data-ms-ord="2"]{ order:2 !important; }
  html main[data-ms-flow] > [data-ms-ord="3"]{ order:3 !important; }
  html main[data-ms-flow] > [data-ms-ord="4"]{ order:4 !important; }
  html main[data-ms-flow] > [data-ms-ord="5"]{ order:5 !important; }
  html main[data-ms-flow] > [data-ms-ord="6"]{ order:6 !important; }
}

@media (min-width:768px){
  html main[data-ms-page="experience"] .vl-sec .container{
    max-width:none !important;
  }
  html .vl-imglinks{
    gap:clamp(1.6rem, 2.4vw, 2.4rem) !important;
  }
  html .vl-imglinks .il-img{
    aspect-ratio:3 / 4 !important;
  }
  html .faq-item summary span{
    font-size:clamp(.9rem, 1.15vw, 1rem) !important;
  }
  html .faq-item summary .plus{
    width:1.5rem !important;
    height:1.5rem !important;
  }
  html .faq-item summary .plus::before{ width:.55rem !important; }
  html .faq-item summary .plus::after{ height:.55rem !important; }
  html .faq-item p{
    font-size:.95rem !important;
    line-height:1.6 !important;
    max-width:40rem !important;
    text-align:left !important;
    margin-left:0 !important;
    margin-right:auto !important;
  }
  html .vl-imglinks .il-more p{
    font-size:.95rem !important;
    text-align:left !important;
    margin-left:0 !important;
    margin-right:auto !important;
  }
  html .proc.is-enhanced .step{
    align-items:start !important;
    max-width:none !important;
    padding-inline:clamp(3rem, 5vw, 6rem) !important;
  }
  html .proc.is-enhanced .step-no{
    margin-top:-0.024em !important;
  }
  html .proc.is-enhanced .step-title{
    font-size:clamp(1.9rem, 3.6vw, 3.4rem) !important;
  }
  html .proc.is-enhanced .step-no{
    font-size:clamp(6rem, 13.5vw, 15rem) !important;
  }
  html .proc .step-body{
    font-size:clamp(.8rem, 1vw, .9rem) !important;
  }
  html .proc.is-enhanced .step-media img{
    max-height:min(80vh, calc(100vh - 320px)) !important;
  }
  html .vl-imglinks .il-det h3{
    font-size:clamp(1.6rem, 3.2vw, 2.95rem) !important;
    line-height:1.06 !important;
  }
}

html .hero-img.is-active,
html .hero-img[data-astro-cid-4z5ypzu4].is-active{ opacity:1 !important; }
html [data-hero]:not([data-hero-init]) .hero-img:first-child{ opacity:1 !important; }

html main img:not(.hero-img),
html main img:not(.hero-img):hover,
html .ig-gimg, html .ig-gimg:hover,
html .ig-cover,
html .mosaic .cell img, html .mosaic .cell img:hover,
html .covers .cover img, html .covers .cover:hover img,
html .ms-duo .ms-duo-img, html .ms-duo .ms-duo-img:hover,
html .proc .step-media img,
html .ts-sec .ts-bg,
html .hero .hero-bg .film-poster,
html .wf-item img{ filter:none !important; }

html .proc .step[data-astro-cid-szkfyxln]:hover .step-media[data-astro-cid-szkfyxln] img[data-astro-cid-szkfyxln]{
  filter:none !important;
}

.ms-duo{ display:block; }
.ms-duo .ms-duo-rule{
  height:1px; background:rgba(20,20,18,.35);
  width:50%; margin-inline:auto;
}
.ms-duo .ms-duo-grid{ display:grid; gap:3.9%; }
.ms-duo .ms-duo-grid [data-instatic-loop]{ display:contents !important; }
.ms-duo .ms-duo-item{ position:relative; overflow:hidden; margin:0; min-height:0; }
.ms-duo .ms-duo-img{
  position:absolute; inset:0;
  display:block; width:100%; height:100%;
  object-fit:cover; object-position:50% 50%;
  filter:grayscale(1);
}
.ms-duo .ms-duo-item::after{
  content:""; position:absolute; inset:auto 0 0 0; height:45%;
  background:linear-gradient(to bottom, rgba(0,0,0,0) 0%, rgba(0,0,0,.34) 100%);
  pointer-events:none;
}
.ms-duo .ms-duo-cap{
  position:absolute; left:0; right:0; bottom:clamp(1.2rem, 2.2vw, 2.4rem);
  z-index:2; display:grid; gap:.4em; text-align:center; color:#fff;
}
.ms-duo .ms-duo-name{
  font-family:var(--serif); text-transform:uppercase;
  font-size:clamp(.72rem, .95vw, .95rem); letter-spacing:.14em; line-height:1.2;
}
.ms-duo .ms-duo-role{
  font-family:var(--font-accent);
  font-style:italic; font-weight:500;
  font-size:clamp(.75rem, .95vw, .95rem); letter-spacing:.02em; line-height:1.2;
}
@media (max-width:767.98px){
  .ms-duo{ display:none !important; }
}
@media (min-width:768px){
  html main[data-ms-home]{ --ms-screen:calc(100vh - var(--ms-kopf, 80px)); }
  html main[data-ms-home] .hero{
    height:calc(var(--ms-screen) * .538) !important;
    min-height:0 !important;
  }
  html main[data-ms-home] .hero .hero-sub,
  html main[data-ms-home] .hero .scroll{ display:none !important; }
  html main[data-ms-home] .hero .hero-inner{
    transform:translateY(calc(var(--ms-screen) * .05)) !important;
  }
  html main[data-ms-home] .hero h1{
    text-transform:none !important;
    font-size:clamp(1.9rem, 3.4vw, 4.6rem) !important;
    line-height:1.38 !important;
  }
  html main[data-ms-home] .hero h1 .ms-hero-em{
    font-family:var(--font-accent) !important;
    font-style:italic !important; font-weight:500 !important;
    text-transform:none !important; letter-spacing:0 !important;
  }
  html main[data-ms-home] .ms-duo{
    margin-top:calc(var(--ms-screen) * .034) !important;
  }
  html main[data-ms-home] .ms-duo .ms-duo-rule{
    margin-bottom:calc(var(--ms-screen) * .030) !important;
  }
  html main[data-ms-home] .ms-duo .ms-duo-grid{
    grid-template-columns:1fr 1fr !important;
    grid-template-rows:100% !important;
    height:calc(var(--ms-screen) * .397) !important;
    overflow:hidden !important;
  }
}

@media (min-width:768px){
  html .proc.is-enhanced .step{
    align-items:stretch !important;
  }
  html .proc.is-enhanced .step-text{
    display:flex !important;
    flex-direction:column !important;
  }
  html .proc.is-enhanced .step-title{
    margin-top:auto !important;
    font-size:clamp(2.1rem, 4.2vw, 4rem) !important;
  }
}

@media (min-width:768px){
  html.ms-p-kontakt main > *:nth-child(2) > section{
    padding-top:2rem !important;
    padding-bottom:2rem !important;
  }
  html.ms-p-kontakt main .form-sec{
    padding-top:2rem !important;
  }
  html.ms-p-kontakt main .lead-form{
    margin-top:1rem !important;
  }
}

@media (min-width:768px){
  html.ms-p-foto main .hero,
  html.ms-p-film main .hero{
    margin-inline:calc(-1 * var(--ms-gutter)) !important;
    margin-top:calc(-1 * var(--ms-kopf, 80px)) !important;
    height:100vh !important;
    min-height:100vh !important;
    max-height:100vh !important;
  }
  html.ms-p-foto main .gallery-sec,
  html.ms-p-foto main:has(#main-content.gallery-sec) .gallery-sec,
  html.ms-p-foto main #main-content.gallery-sec{
    margin-inline:calc(-1 * var(--ms-gutter)) !important;
    padding-inline:0 !important;
    max-width:none !important;
  }
  html.ms-p-foto main .gallery-sec .covers{
    margin-inline:0 !important;
  }

  html.ms-p-film main .film.wf-sec{
    margin-inline:0 !important;
    padding-inline:0 !important;
    max-width:none !important;
  }
  html.ms-p-film main .film.wf-sec .wf-grid{
    max-width:none !important;
    padding-inline:0 !important;
  }

  html main .vl-imglinks{
    max-width:none !important;
  }
}

@media (min-width:768px){
  html.ms-p-about main,
  html.ms-p-investment main{ --ms-screen:calc(100vh - var(--ms-kopf, 80px)); }

  html.ms-p-about main .hero,
  html.ms-p-investment main .hero{
    height:calc(var(--ms-screen) * .538) !important;
    min-height:0 !important;
    max-height:none !important;
  }
  html.ms-p-about main .hero .hero-sub,
  html.ms-p-about main .hero .scroll,
  html.ms-p-about main .hero .hero-meta,
  html.ms-p-investment main .hero .hero-sub,
  html.ms-p-investment main .hero .scroll,
  html.ms-p-investment main .hero .hero-meta{ display:none !important; }

  html.ms-p-about main .ms-duo,
  html.ms-p-investment main .ms-duo{
    margin-top:calc(var(--ms-screen) * .034) !important;
  }
  html.ms-p-about main .ms-duo .ms-duo-rule,
  html.ms-p-investment main .ms-duo .ms-duo-rule{
    margin-bottom:calc(var(--ms-screen) * .030) !important;
  }
  html.ms-p-about main .ms-duo .ms-duo-grid,
  html.ms-p-investment main .ms-duo .ms-duo-grid{
    grid-template-columns:1fr 1fr !important;
    grid-template-rows:100% !important;
    height:calc(var(--ms-screen) * .397) !important;
    overflow:hidden !important;
  }

  html.ms-p-investment .ms-duo .ms-duo-text{
    display:grid !important;
    align-content:center !important;
    overflow:visible !important;
    container-type:inline-size !important;
  }

  html.ms-p-investment main .ms-duo .ms-duo-text section.section:not(.hero):not(.cta),
  html.ms-p-investment main .ms-duo .ms-duo-text section:not(.hero):not(.cta){
    padding-block:0 !important;
    padding-inline:0 !important;
  }
  html.ms-p-investment .ms-duo .ms-duo-text .container{
    max-width:none !important;
    margin-inline:auto !important;
    gap:0 !important;
    row-gap:0 !important;
  }
  html.ms-p-investment .ms-duo .ms-duo-text h1,
  html.ms-p-investment .ms-duo .ms-duo-text h2,
  html.ms-p-investment .ms-duo .ms-duo-text h3{

    font-size:9.75cqw !important;
    line-height:.814 !important;
    margin-block:0 !important;
    letter-spacing:0 !important;
  }
  html.ms-p-investment .ms-duo .ms-duo-text .eyebrow{
    font-size:max(8px, 1.436cqw) !important;
    line-height:1 !important;
    margin-block:0 max(1rem, 7.85cqw) !important;
  }
  html.ms-p-investment .ms-duo .ms-duo-text .lead,
  html.ms-p-investment .ms-duo .ms-duo-text p:not(.eyebrow){
    font-size:max(10px, 1.807cqw) !important;
    line-height:1.668 !important;
    margin-block:max(0.4rem, 2.89cqw) 0 !important;
  }
}

@media (max-width:767.98px){
  html.ms-p-investment .ms-duo{ display:block !important; }
  html.ms-p-investment .ms-duo .ms-duo-rule,
  html.ms-p-investment .ms-duo .ms-duo-item{ display:none !important; }
  html.ms-p-investment .ms-duo .ms-duo-grid{
    display:block !important; height:auto !important; overflow:visible !important;
  }
}

html .cta-sec .btn,
html .cta-sec a.btn,
html section.cta .btn,
html section.cta a.btn,
html .load-more.cta-plusified,
html a.load-more.cta-plusified,
html button.load-more.cta-plusified,
html .hero .btn,
html .hero-inner .btn{
  font-family:var(--btn-font) !important;
  font-size:.72rem !important;
  font-weight:600 !important;
  letter-spacing:.2em !important;
  text-transform:uppercase !important;
  column-gap:.728rem !important;
  min-height:0 !important;
}

html .cta-sec .btn::after,
html .cta-sec a.btn::after,
html .cta-sec .btn.btn--solid::after,
html .cta-sec a.btn.btn--solid::after,
html .cta-sec .btn.btn--square::after,
html .cta-sec a.btn.btn--square.btn--solid::after,
html section.cta .btn::after,
html section.cta a.btn::after,
html section.cta .btn.btn--solid::after,
html section.cta a.btn.btn--square.btn--solid::after,
html .load-more.cta-plusified::after,
html a.load-more.cta-plusified::after,
html button.load-more.cta-plusified::after,
html .hero .btn::after,
html .hero-inner .btn::after,
html .hero a.btn::after{
  content:"" !important;
  box-sizing:border-box !important;
  width:19px !important; height:19px !important;
  flex:none !important;
  border:1px solid currentColor !important;
  border-radius:50% !important;
  background-color:transparent !important;
  background-image:linear-gradient(currentColor,currentColor),
                   linear-gradient(currentColor,currentColor) !important;
  background-size:7px 1px, 1px 7px !important;
  background-position:center center, center center !important;
  background-repeat:no-repeat !important;
  position:relative !important;
  top:-.5px !important;
  transition:transform .2s ease, opacity .2s ease !important;
}

html .cta-sec .btn:hover,
html .cta-sec a.btn:hover,
html .cta-sec .btn.btn--solid:hover,
html .cta-sec a.btn.btn--square.btn--solid:hover,
html section.cta .btn:hover,
html section.cta a.btn.btn--square.btn--solid:hover,
html .load-more.cta-plusified:hover,
html a.load-more.cta-plusified:hover,
html button.load-more.cta-plusified:hover,
html .hero .btn:hover,
html .hero-inner .btn:hover{
  opacity:.62 !important;
}
html .cta-sec .btn:hover::after,
html .cta-sec a.btn:hover::after,
html .cta-sec .btn.btn--solid:hover::after,
html .cta-sec a.btn.btn--solid:hover::after,
html .cta-sec .btn.btn--square:hover::after,
html .cta-sec a.btn.btn--square.btn--solid:hover::after,
html section.cta .btn:hover::after,
html section.cta a.btn:hover::after,
html section.cta .btn.btn--solid:hover::after,
html section.cta a.btn.btn--square.btn--solid:hover::after,
html .load-more.cta-plusified:hover::after,
html a.load-more.cta-plusified:hover::after,
html button.load-more.cta-plusified:hover::after,
html .hero .btn:hover::after,
html .hero-inner .btn:hover::after{
  background-color:transparent !important;
  border-color:currentColor !important;
  color:inherit !important;
  background-image:linear-gradient(currentColor,currentColor),
                   linear-gradient(currentColor,currentColor) !important;
  background-size:7px 1px, 1px 7px !important;
  background-position:center center, center center !important;
  background-repeat:no-repeat !important;
  transform:scale(1.12) !important;
}

html .linkcaps .plus,
html .btn .plus,
html summary .plus,
html .faq-item summary .plus{
  box-sizing:border-box !important;
  background-image:linear-gradient(currentColor,currentColor),
                   linear-gradient(currentColor,currentColor) !important;
  background-position:center center, center center !important;
  background-repeat:no-repeat !important;
  background-color:transparent !important;
}
html .linkcaps .plus,
html .btn .plus{
  width:19px !important; height:19px !important;
  background-size:7px 1px, 1px 7px !important;
}
html summary .plus,
html .faq-item summary .plus{
  width:25px !important; height:25px !important;
  background-size:9px 1px, 1px 9px !important;
}
html .linkcaps .plus::before, html .linkcaps .plus::after,
html .btn .plus::before, html .btn .plus::after,
html summary .plus::before, html summary .plus::after,
html .faq-item summary .plus::before, html .faq-item summary .plus::after{
  display:none !important;
}

@media (min-width:768px){
  html #menu.menu,
  html .menu{
    left:0 !important; right:0 !important;
    padding-right:var(--ms-gutter) !important;
  }
  html #menu.menu .menu-lang,
  html .menu .menu-lang{
    right:calc(var(--ms-gutter) + var(--ms-inset) - 2.7px) !important;
  }
}
html.ms-duo-sicht .contact-rail{
  opacity:0 !important; visibility:hidden !important; pointer-events:none !important;
}

html.menu-open .ms-cc-trigger,
html.menu-open .ms-cc-banner{
  opacity:0 !important; visibility:hidden !important; pointer-events:none !important;
}

@media (min-width:768px){
  html main .cta-sec,
  html main section.cta,
  html .ft{
    margin-inline:calc(-1 * var(--ms-gutter)) !important;
    max-width:none !important;
  }
  html main .cta-sec,
  html main section.cta{
    min-height:80vh !important;
    display:grid !important;
    align-content:center !important;
    padding-block:clamp(3rem, 7vh, 7rem) !important;
  }
}

.contact-rail{ transition:opacity .28s ease, visibility .28s ease; }
html.ms-footer-sicht .contact-rail{
  opacity:0 !important; visibility:hidden !important; pointer-events:none !important;
}

@media (min-width:768px){
  html .places-head{ text-align:center !important; }
  html .places .rot,
  html .places .rot-track,
  html .places .rot-item{
    text-align:center !important; justify-content:center !important;
  }
  html .places-head .rot{
    margin-inline:auto !important;
    transition:width .45s cubic-bezier(.16,1,.3,1) !important;
  }
  html .places-head .rot-item{
    width:max-content !important; margin-inline:auto !important;
  }
}

@media (min-width:768px){
  html .miniabout-sec{ padding-bottom:0 !important; }
}

html #burger.burger,
html #burger.burger[data-astro-cid-5hce7sga]{
  width:28px !important;
  height:24px !important;
}
html:not(.menu-open) #burger.burger::before,
html:not(.menu-open) #burger.burger[data-astro-cid-5hce7sga]::before,
html:not(.menu-open) #burger.burger::after,
html:not(.menu-open) #burger.burger[data-astro-cid-5hce7sga]::after{
  content:"" !important; position:absolute !important;
  left:0 !important; right:0 !important; width:auto !important;
  height:1px !important; margin-top:0 !important;
  background-color:rgb(226,226,226) !important;
  box-shadow:none !important; transform:none !important;
}
html:not(.menu-open) #burger.burger::before,
html:not(.menu-open) #burger.burger[data-astro-cid-5hce7sga]::before{
  top:0 !important;
  box-shadow:rgb(226,226,226) 0 11px 0 0 !important;
}
html:not(.menu-open) #burger.burger::after,
html:not(.menu-open) #burger.burger[data-astro-cid-5hce7sga]::after{ top:22px !important; }

@media (hover:hover){
  html:not(.menu-open) #burger.burger:hover,
  html:not(.menu-open) #burger.burger[data-astro-cid-5hce7sga]:hover{ opacity:.6 !important; }
  html:not(.menu-open) #burger.burger:hover::before,
  html:not(.menu-open) #burger.burger[data-astro-cid-5hce7sga]:hover::before{
    box-shadow:rgb(226,226,226) 0 11px 0 0 !important;
  }
  html:not(.menu-open) #burger.burger:hover::after,
  html:not(.menu-open) #burger.burger[data-astro-cid-5hce7sga]:hover::after{
    box-shadow:none !important;
  }
}

@media (min-width:768px){
  html #menu.menu .menu-lang,
  html .menu .menu-lang{
    right:calc(var(--ms-gutter) + var(--ms-inset) - 2.7px) !important;
  }
}

@media (min-width:768px) and (max-width:1023.98px){
  :root{
    --fs-h2: calc(1.91vw + 1.719rem) !important;
    --fs-h3: calc(1.25vw + 0.8rem) !important;
  }
}

@media (min-width:760px) and (max-width:1023.98px){
  html .vl-cards{
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}

body[data-instatic-iframe-interaction="canvas"]{
  overflow: visible !important;
}

html #menu.menu > nav > a,
html #menu.menu > nav > .nav-group > .nav-parent,
html .menu > nav > a,
html .menu > nav > .nav-group > .nav-parent{
  font-family:var(--font-menu) !important;
}

@media (min-width:768px){
  html .places-head{
    max-width:11.2em !important;
    margin-inline:auto !important;
  }
  html .places-head .lastunit{ white-space:nowrap !important; }
  html .places-head .rot{ display:inline-block !important; }
}

@media (max-width:767.98px){
  html main h1{ font-size:2.27em !important; }
  html main h2{ font-size:clamp(3.12rem, 11.93vw, 3.86rem) !important; }
  html .hero h1, html .hero-inner h1{ font-size:clamp(2.04rem, 9.09vw, 2.84rem) !important; }
  html .places-head{ font-size:clamp(3.75rem, 14.77vw, 7.95rem) !important; }
}

@media (min-width:768px){
  html .contact-rail{
    width:44px !important;
    right:calc(var(--ms-gutter) - 44px - 4px) !important;
  }
}

@media (max-width:767.98px){
  html[lang="en"].ms-p-foto main .hero h1{ font-size:min(3rem, 11.8vw) !important; }
}

html[lang="en"] .ms-cc-banner__text::before{ content:"Cookie & Privacy" !important; }

html.ms-p-foto main .hero .hero-inner{
  position:absolute !important; top:auto !important; bottom:clamp(6rem, 15vh, 9rem) !important;
  left:clamp(2rem, 5vw, 3.5rem) !important; right:auto !important; transform:none !important;
  margin:0 !important; padding:0 !important; width:auto !important; max-width:min(88vw, 900px) !important;
  text-align:left !important; align-items:flex-start !important;
}
html.ms-p-foto main .hero .hero-inner h1{ text-align:left !important; margin:0 !important; }
@media (max-width:767.98px){
  html.ms-p-foto main .hero .hero-inner h1{ font-size:min(3rem, calc((100vw - 88px) / 5.9)) !important; }
  html[lang="en"].ms-p-foto main .hero .hero-inner h1{ font-size:min(3rem, calc((100vw - 88px) / 7.1)) !important; }
}

@media (min-width:768px){
  html.ms-p-about main .hero .hero-inner{
    top:calc(50% + 7vh + var(--ms-screen) * .05 + 8px - clamp(1.9rem, 3.4vw, 4.6rem) * 1.6) !important;
    bottom:auto !important; transform:none !important; padding-top:0 !important; margin-top:0 !important;
  }
}
@media (max-width:767.98px){
  html.ms-p-about main .hero .hero-inner{
    top:calc(100% - 6vh - 109px - clamp(2.04rem, 9.09vw, 2.84rem) * 3.18) !important;
    bottom:auto !important; transform:none !important; padding-top:0 !important; margin-top:0 !important;
  }
}

html body .vl-imglinks .il-more p{
  text-align:center !important;
  margin-left:auto !important;
  margin-right:auto !important;
}

@media (min-width:768px){
  html.ms-p-experience main .hero{
    min-height:0 !important;
    max-height:none !important;
    height:calc(100vh - var(--ms-kopf, 80px)) !important;
    height:calc(100svh - var(--ms-kopf, 80px)) !important;
  }
}

@media (min-width:768px) and (max-width:768.98px){
  html main[data-ms-home] .hero{
    flex-direction:row !important;
    justify-content:center !important;
  }
  html main[data-ms-home] .hero .hero-inner{
    margin-top:14vh !important;
  }
}

@media (min-width:768px){html main h2[data-ms-h1][data-astro-cid-iitqgh2a]{font-size:clamp(4.5rem,8.33vw,7.5rem)!important;line-height:.94!important;text-transform:uppercase!important;}}
@media (max-width:767.98px){html main h2[data-ms-h1][data-astro-cid-iitqgh2a]{font-size:2.27em!important;text-transform:none!important;}}

/**
 * @license
 * MyFonts Webfont Build ID 3867246, 2020-12-16T11:57:38-0500
 *
 * The fonts listed in this notice are subject to the End User License
 * Agreement(s) entered into by the website owner. All other parties are
 * explicitly restricted from using the Licensed Webfonts(s).
 *
 * You may obtain a valid license at the URLs below.
 *
 * Webfont: Didot LP Display by LetterPerfect
 * URL: https://www.myfonts.com/collections/letterperfect-foundry
 *
 * © 2026 MyFonts Inc. */
@font-face{font-family:"DidotLPDisplay";font-style:normal;font-weight:400;font-display:swap;src:url(/uploads/didot-lp-display.woff2) format("woff2");}
html:root{--font-serif:"DidotLPDisplay", "Didot", GFS Didot, Bodoni Moda, Playfair Display, Times New Roman, serif;}
@media (min-width:769px){ ul.vl-check li:last-child{ border-bottom:1px solid var(--rule) !important; } }
.ms-duo figure.ms-duo-item figcaption.ms-duo-cap{ display:none !important; }
main section.vl-sec > div.container > p.ms-manifest.ms-manifest{ font-family:var(--font-serif) !important; font-size:clamp(1.35rem,2.4vw,2rem) !important; line-height:1.32 !important; font-weight:400 !important; text-align:center !important; text-transform:none !important; letter-spacing:0 !important; max-width:44rem !important; margin:0 auto clamp(3.5rem,8vw,6rem) !important; padding:0 !important; text-wrap:balance; }
main section.gallery-sec:has(> div.covers){ display:none !important; }
html body section.t-sec.t-sec{ display:block !important; }
html.ms-p-investment body section.t-sec.t-sec{ display:none !important; }
html body section.t-sec[data-tq] .grid.grid{ display:grid !important; grid-template-columns:1fr !important; max-width:46rem !important; margin-inline:auto !important; text-align:center !important; }
html body section.t-sec[data-tq] .grid figure.quote{ grid-area:1 / 1 !important; margin:0 !important; opacity:0; visibility:hidden; transition:opacity .8s ease, visibility 0s linear .8s; }
html body section.t-sec[data-tq] .grid figure.quote.is-on{ opacity:1; visibility:visible; transition:opacity .8s ease; }
html body section.t-sec .container > h2.head{ text-transform:uppercase !important; }
html.ms-p-kontakt body section.t-sec .container > h2.head{ text-transform:none !important; }
