:root{--cream:#f2eee5;--sage:#c9d0c1;--sage-dark:#728571;--button-green:#728571;--forest:#1f2d29;--lavender:#d9d0dc;--clay:#e5d1c8;--ink:#26352f;--white:#f8f5ef;--gap:0px}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--cream);color:var(--ink);font-family:Arial,Helvetica,sans-serif;font-size:16px;line-height:1.55}.site-header{height:68px;display:flex;align-items:center;justify-content:flex-end;padding:0 clamp(22px,5vw,76px);position:absolute;top:0;left:0;right:0;z-index:20;color:white;background:linear-gradient(rgba(22,35,29,.28),transparent)}.brand{font-family:Georgia,serif;letter-spacing:.15em;text-decoration:none;color:inherit;font-size:18px}.main-nav{display:flex;align-items:center;gap:22px;font-size:13px}.main-nav a,.language a{color:inherit;text-decoration:none}.main-nav a:hover{text-decoration:underline}.language{margin-left:8px}.menu-button{display:none;background:none;border:0;font:inherit;color:inherit;margin-left:auto}.hero{height:100vh;height:100svh;min-height:600px;width:100%;position:relative;overflow:hidden;background:#56635a}.hero-video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 29%;display:block}.hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(20,34,28,.57) 0%,rgba(20,34,28,.21) 48%,rgba(20,34,28,.07) 78%)}.hero-grid{position:absolute;inset:0;pointer-events:none;background-image:radial-gradient(circle,rgba(20,34,28,.18) 1.05px,transparent 1.25px);background-size:14px 14px;background-position:0 0;mix-blend-mode:multiply;opacity:.36}.hero-copy{position:absolute;left:clamp(28px,7vw,110px);top:50%;transform:translateY(-46%);color:white}.eyebrow{text-transform:uppercase;letter-spacing:.16em;font-size:12px}.hero h1{font:clamp(44px,7vw,100px)/.92 Georgia,serif;letter-spacing:.035em;margin:.22em 0 0}.script{font:italic clamp(28px,3.4vw,48px)/1.1 Georgia,serif;margin:.12em 0 .7em}.hero-line{font-size:clamp(16px,1.4vw,21px)}.down{position:absolute;left:clamp(28px,7vw,110px);bottom:4vh;color:white;text-decoration:none;font-size:38px;line-height:1}.content-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--gap);background:var(--cream);padding:var(--gap)}.card{min-width:0;display:flex;flex-direction:column}.sage{background:var(--sage)}.lavender{background:var(--lavender)}.clay{background:var(--clay)}.forest{background:var(--forest);color:var(--white)}.visual{width:100%;aspect-ratio:16/9;height:auto;overflow:hidden}.photo img{width:100%;height:100%;object-fit:cover;display:block;filter:saturate(.78)}.portrait-detail img{object-position:center 32%;filter:saturate(.82) contrast(.96)}.portrait-wide img{object-position:center 58%;filter:saturate(.72) contrast(.94)}.about-photo img{object-position:center 34%;filter:none}.breath-air img{object-position:center center;filter:none}.movement-photo img{object-position:center center;filter:none}.herbs-photo img{object-position:center center;filter:none}.tempelhof-photo img{object-position:center center;filter:none}.card-copy{padding:clamp(34px,5vw,78px);flex:1}.number{display:none}.card h2{font:clamp(34px,4vw,58px)/1.02 Georgia,serif;margin:.18em 0 .55em;min-height:2.04em}.heading-line{display:block;white-space:nowrap}.heading-spacer{visibility:hidden}.card h3{font:700 15px/1.4 Arial,sans-serif;margin:1.3em 0 .2em}.card p{max-width:650px}.swoosh{position:relative;background:rgba(255,255,255,.08);min-height:clamp(210px,18vw,340px)}
.swoosh span{position:absolute;display:block;border:0;background:transparent;transform:none}
.swoosh span:nth-child(1){width:118%;height:72%;left:-25%;top:-8%;border:clamp(18px,2.2vw,38px) solid rgba(36,63,55,.24);border-left-color:transparent;border-bottom-color:transparent;border-radius:50%;transform:rotate(18deg)}
.swoosh span:nth-child(2){width:105%;height:58%;left:18%;top:28%;border:clamp(13px,1.7vw,30px) solid rgba(36,63,55,.20);border-right-color:transparent;border-top-color:transparent;border-radius:50%;transform:rotate(-20deg)}
.swoosh span:nth-child(3){width:80%;height:44%;left:-8%;bottom:-15%;border:clamp(10px,1.2vw,22px) solid rgba(36,63,55,.16);border-left-color:transparent;border-top-color:transparent;border-radius:50%;transform:rotate(8deg)}
.swoosh.light span:nth-child(1),.swoosh.light span:nth-child(2),.swoosh.light span:nth-child(3){border-color:rgba(248,245,239,.28);border-left-color:transparent}
.pill{border:0;border-radius:999px;background:var(--sage-dark);color:white;padding:10px 17px;cursor:pointer;font-size:12px;margin-top:8px}.expand{display:none}.expand.open{display:block}.session-times{margin:22px 0;padding:17px 0;border-top:1px solid rgba(38,53,47,.22);border-bottom:1px solid rgba(38,53,47,.22)}.session-times p{margin:0 0 6px}.note{font-size:13px;opacity:.76}.forest a{color:inherit}.contact-lines{line-height:2}.contact-card{grid-column:1/-1;display:grid;grid-template-columns:1fr 1fr;background:var(--button-green)}.contact-card .visual{height:auto;min-height:0;aspect-ratio:16/9}.contact-card .card-copy{display:flex;flex-direction:column;justify-content:center;padding-top:clamp(26px,3vw,44px);padding-bottom:clamp(26px,3vw,44px)}footer{background:#263530;color:#eee;padding:20px 7%;display:flex;gap:28px;justify-content:center;font-size:12px}footer a{color:inherit;text-decoration:none}
@media(max-width:1200px){.main-nav{gap:14px}.content-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.contact-card{grid-column:1/-1;display:grid;grid-template-columns:1fr 1fr}.card-copy{padding:clamp(34px,5vw,64px)}}
@media(max-width:760px){.site-header{height:58px;padding:0 18px}.brand{font-size:15px}.menu-button{display:block}.main-nav{display:none;position:absolute;top:58px;left:12px;right:12px;background:rgba(242,238,229,.97);color:var(--ink);padding:20px;flex-direction:column;align-items:flex-start;gap:14px;box-shadow:0 8px 18px rgba(0,0,0,.12)}.main-nav.open{display:flex}.hero{min-height:560px}.hero-video{object-position:center 37%}.hero-shade{background:linear-gradient(0deg,rgba(20,34,28,.54),rgba(20,34,28,.03) 72%)}.hero-copy{left:8%;right:8%;top:auto;bottom:11%;transform:none}.hero h1{font-size:clamp(40px,13vw,62px)}.script{font-size:clamp(26px,8vw,38px)}.down{left:8%;bottom:3.5%}.content-grid{display:block;padding:0}.card,.contact-card{display:flex;flex-direction:column}.card .visual,.contact-card .visual{order:1;width:100%;height:auto;min-height:0;max-height:none;aspect-ratio:16/9}.card .card-copy,.contact-card .card-copy{order:2;padding:44px 8%}.card h2{font-size:36px}footer{flex-wrap:wrap;padding:18px 8%;gap:16px}}
@media(max-width:480px){.hero-video{object-fit:cover;object-position:center 37%}.hero-line{font-size:16px}.card .visual,.contact-card .visual{height:auto;aspect-ratio:16/9}.card .card-copy,.contact-card .card-copy{padding:38px 8%}}

/* Contraindications list */
#contra .card-copy ul {
  margin: 0.7rem 0 1.35rem;
  padding-left: 1.2rem;
}
#contra .card-copy li {
  margin: 0.28rem 0;
  line-height: 1.5;
}

/* v25 mobile refinement */
@media(max-width:760px){
  .menu-button{width:42px;height:42px;padding:9px;position:relative;font-size:0;cursor:pointer}
  .menu-button::before,.menu-button::after,.menu-button span{content:"";position:absolute;left:9px;right:9px;height:2px;background:currentColor;border-radius:2px}
  .menu-button::before{top:12px}.menu-button span{top:20px}.menu-button::after{top:28px}
  .hero-copy{left:6%;right:6%;bottom:15%}
  .hero h1{font-size:clamp(36px,11.3vw,54px);letter-spacing:.015em;white-space:nowrap}
  .script{margin-top:.08em}
  .card{min-height:100svh}
  .card .visual,.contact-card .visual{flex:0 0 auto}
  .card .card-copy,.contact-card .card-copy{padding:30px 7% 34px;flex:1;display:flex;flex-direction:column;justify-content:center}
  .card h2{font-size:clamp(28px,8.3vw,34px);line-height:1.02;min-height:0;margin:.05em 0 .48em;white-space:nowrap}
  .card h2 .heading-line{display:inline;white-space:normal}
  .card h2 .heading-line + .heading-line::before{content:" "}
  .card h2 .heading-spacer{display:none}
  .card p{margin:.55em 0}
  .card h3{margin:.75em 0 .15em}
  #breathwork .visual{aspect-ratio:2.35/1}
  #about .visual{aspect-ratio:1.75/1}
  #sessions .visual{aspect-ratio:2.15/1}
  #contra .visual{aspect-ratio:1.65/1}
  #contact .visual{aspect-ratio:1.35/1}
  #contact .card-copy{justify-content:center}
}
@media(max-width:480px){
  .card .card-copy,.contact-card .card-copy{padding:26px 7% 30px}
  .card h2{font-size:clamp(27px,8.1vw,33px)}
}

/* v26 mobile: consistent image/text rhythm + persistent menu */
@media(max-width:760px){
  .site-header{
    position:fixed;
    height:58px;
    padding:0 14px;
    background:transparent;
    pointer-events:none;
  }
  .menu-button{
    pointer-events:auto;
    color:#fff;
    background:rgba(36,63,55,.48);
    border-radius:50%;
    backdrop-filter:blur(3px);
    -webkit-backdrop-filter:blur(3px);
    box-shadow:0 1px 7px rgba(0,0,0,.12);
  }
  .main-nav{pointer-events:auto;position:fixed;top:58px;left:12px;right:12px}

  /* Let content determine section height instead of stretching each card to a screen. */
  .card{min-height:0}

  /* All content-section header images use the same mobile height. */
  .card .visual,.contact-card .visual,
  #breathwork .visual,#about .visual,#sessions .visual,#contra .visual,#contact .visual{
    height:230px;
    aspect-ratio:auto;
  }

  /* Every text block starts the same distance below its image. */
  .card .card-copy,.contact-card .card-copy{
    padding:44px 7% 48px;
    flex:0 0 auto;
    display:block;
  }
  .card h2{margin:0 0 .55em}
  #contact .card-copy{display:block}
}
@media(max-width:480px){
  .card .visual,.contact-card .visual,
  #breathwork .visual,#about .visual,#sessions .visual,#contra .visual,#contact .visual{
    height:220px;
  }
  .card .card-copy,.contact-card .card-copy{padding:40px 7% 44px}
}

/* v26 utility links in navigation */
.nav-utility{display:flex;align-items:center;gap:7px}
@media(max-width:760px){.nav-utility{display:flex;flex-wrap:wrap;gap:7px}.language{margin-left:0}}


/* v27 mobile calm-scroll refinements */
@media(max-width:760px){
  /* Persistent, quieter navigation control over every section. */
  .site-header{z-index:1000}
  .menu-button{
    color:#fff;
    background:rgba(70,70,70,.22);
    border:1px solid rgba(255,255,255,.12);
    box-shadow:0 1px 5px rgba(0,0,0,.08);
    backdrop-filter:blur(2px);
    -webkit-backdrop-filter:blur(2px);
  }
  .menu-button::before,.menu-button::after,.menu-button span{background:#fff}

  /* Simpler alternating mobile palette. */
  #about{background:var(--sage);color:var(--ink)}
  #contra{background:var(--lavender);color:var(--ink)}
}


/* v28 mobile corrections */
@media(max-width:760px){
  /* Nadja and contraindications use the quiet lilac background. */
  #about,
  #contra{
    background:var(--lavender);
    color:var(--ink);
  }

  /* Keep the hamburger quiet but readable: no ring, slightly darker fill. */
  .menu-button{
    color:#fff;
    background:rgba(55,55,55,.30);
    border:0;
    box-shadow:none;
  }
  .menu-button::before,
  .menu-button::after,
  .menu-button span{
    background:#fff;
  }

  /* Inline links inherit the design instead of browser-blue. */
  .content a,
  #contra a,
  #about a,
  #contact a{
    color:inherit;
    text-decoration-color:currentColor;
    text-decoration-thickness:1px;
    text-underline-offset:.16em;
  }

  /* The word fits comfortably on mobile; don't preserve desktop line splitting. */
  #contra h2 span{
    display:inline;
  }
}


/* v29: slightly closer mobile crops */
@media(max-width:760px){
  .section-image{
    overflow:hidden;
  }
  .section-image img{
    transform:scale(1.08);
    transform-origin:center center;
  }

  /* Floating menu also available on legal pages. */
  .legal-floating-menu{
    position:fixed;
    top:18px;
    right:18px;
    z-index:1200;
    width:46px;
    height:46px;
    border:0;
    border-radius:50%;
    background:rgba(55,55,55,.30);
    display:flex;
    align-items:center;
    justify-content:center;
    text-decoration:none;
  }
  .legal-floating-menu .bars,
  .legal-floating-menu .bars::before,
  .legal-floating-menu .bars::after{
    display:block;
    width:20px;
    height:2px;
    background:#fff;
    border-radius:2px;
    content:"";
    position:relative;
  }
  .legal-floating-menu .bars::before{position:absolute;top:-6px;left:0}
  .legal-floating-menu .bars::after{position:absolute;top:6px;left:0}
}
@media(min-width:761px){
  .legal-floating-menu{display:none}
}


/* v30: use original section images without artificial zoom */
@media(max-width:760px){
  .section-image{
    height:300px;
  }
  .section-image img{
    transform:none !important;
    width:100%;
    height:100%;
    object-fit:cover;
  }
  /* Give the different originals sensible crops inside the common frame. */
  #about .section-image img{object-position:center 42%}
  #offer .section-image img{object-position:center center}
  #contra .section-image img{object-position:center 48%}
  #what .section-image img{object-position:center center}
}


/* v30 legal-page overlay navigation */
.legal-menu-overlay{display:none}
@media(max-width:760px){
  .legal-floating-menu{cursor:pointer}
  .legal-menu-overlay{
    position:fixed;
    inset:0;
    z-index:1190;
    background:rgba(32,38,32,.96);
    align-items:center;
    justify-content:center;
    padding:36px;
  }
  .legal-menu-overlay.open{display:flex}
  .legal-menu-overlay nav{
    display:flex;
    flex-direction:column;
    align-items:center;
    gap:20px;
    text-align:center;
  }
  .legal-menu-overlay a{
    color:#fff;
    text-decoration:none;
    font-size:22px;
    line-height:1.25;
  }
  .legal-menu-utility{
    margin-top:10px;
    color:rgba(255,255,255,.65);
    white-space:nowrap;
  }
  .legal-menu-utility a{font-size:14px}
  .legal-menu-lang{margin-top:6px;font-size:16px!important}
  .legal-menu-close{
    position:absolute;
    top:18px;
    right:20px;
    border:0;
    background:none;
    color:#fff;
    font-size:38px;
    font-weight:300;
    cursor:pointer;
  }
  body.menu-open{overflow:hidden}
}

/* v32: user-supplied original mobile section images; desktop layout unchanged */
@media(max-width:760px){
  #breathwork .visual,
  #about .visual,
  #sessions .visual,
  #contra .visual,
  #contact .visual{
    height:300px !important;
    min-height:300px !important;
    overflow:hidden;
  }
  #breathwork .visual img,
  #about .visual img,
  #sessions .visual img,
  #contra .visual img,
  #contact .visual img{
    width:100% !important;
    height:100% !important;
    object-fit:cover !important;
    transform:none !important;
  }
  #about .visual img{object-position:center 45% !important;}
  #sessions .visual img{object-position:center center !important;}
  #contra .visual img{object-position:center 50% !important;}
}


/* v33: legal-page menu matches the homepage navigation */
@media(max-width:760px){
  .legal-menu-overlay{
    background:rgba(230,235,222,.97);
    padding:28px;
  }
  .legal-menu-overlay nav{
    width:min(100%, 430px);
    gap:18px;
  }
  .legal-menu-overlay a{
    color:#263126;
    font-size:20px;
    line-height:1.25;
  }
  .legal-menu-utility{
    color:rgba(38,49,38,.65);
  }
  .legal-menu-utility a{
    font-size:14px;
  }
  .legal-menu-lang{
    font-size:16px!important;
  }
  .legal-menu-close{
    display:none!important;
  }
}


/* v34: section links/buttons */
@media(max-width:760px){
  #contra h2 .heading-line{
    white-space:nowrap !important;
    font-size:clamp(29px,8.1vw,36px);
  }

  .expand-button{
    border-radius:12px !important;
  }

  /* On lilac section: same family as floating menu button over lilac. */
  #about .expand-button,
  #contra .expand-button{
    background:rgba(55,55,55,.30) !important;
    color:var(--ink) !important;
  }

  /* On sage section: same translucent neutral used by the menu control. */
  #sessions .expand-button,
  #breathwork .expand-button{
    background:rgba(55,55,55,.30) !important;
    color:var(--ink) !important;
  }
}


/* v35 final responsive refinements */
.mobile-only{display:none}

/* Desktop: intentional two-line contraindications title, lilac section + controls */
@media(min-width:761px){
  .desktop-only{display:inline}
  .mobile-only{display:none}

  #contra{
    background:var(--lilac) !important;
  }
  #contra .expand-button{
    background:rgba(55,55,55,.30) !important;
    color:#fff !important;
    border-radius:12px !important;
  }

  /* Bring Kontakt heading and intro copy closer together. */
  #contact h2{
    margin-bottom:18px !important;
  }
}

/* Mobile: keep the heading as one uninterrupted word and white button labels. */
@media(max-width:760px){
  .desktop-only{display:none!important}
  .mobile-only{display:inline!important}
  #contra .contra-title .mobile-only{
    white-space:nowrap!important;
    font-size:clamp(29px,8.1vw,36px);
  }
  .expand-button{
    color:#fff!important;
  }
}

/* Restore dark green legal-page canvas; menu overlay remains light sage. */
body.legal-page,
.legal-page{
  background:#33483b !important;
}


/* v36 colour and menu cohesion */

/* "Wer ist diese Nadja?" returns to the quiet off-white section. */
#about{
  background:var(--paper, #f4f1e9) !important;
}
#about .expand-button{
  background:rgba(55,55,55,.30) !important;
  color:#fff !important;
  border-radius:12px !important;
}

/* Legal pages use sage, with normal readable contrast. */
body.legal-page{
  background:var(--sage, #aebba5) !important;
  color:var(--ink, #263126) !important;
}
body.legal-page main,
body.legal-page .legal-wrap,
body.legal-page .legal-content{
  color:var(--ink, #263126) !important;
}

/* Legal navigation uses the same compact pop-up feel as the main-site menu. */
@media(max-width:760px){
  .legal-menu-overlay{
    inset:auto 16px auto auto !important;
    top:70px !important;
    width:min(330px, calc(100vw - 32px)) !important;
    height:auto !important;
    min-height:0 !important;
    padding:26px 24px !important;
    border-radius:18px !important;
    background:rgba(230,235,222,.98) !important;
    box-shadow:0 12px 32px rgba(0,0,0,.14) !important;
    align-items:stretch !important;
    justify-content:flex-start !important;
  }
  .legal-menu-overlay nav{
    width:100% !important;
    gap:15px !important;
  }
  .legal-menu-overlay a{
    font-size:18px !important;
  }
  .legal-menu-utility a{
    font-size:13px !important;
  }
}


/* v37: responsive Nadja colours */
@media(min-width:761px){
  /* Try the same dark green used by Kontakt on desktop. */
  #about{
    background:var(--forest) !important;
    color:var(--white) !important;
  }
  #about h2,
  #about p{
    color:var(--white) !important;
  }
  #about .expand-button{
    background:rgba(248,245,239,.18) !important;
    color:#fff !important;
    border-radius:12px !important;
  }
}

@media(max-width:760px){
  /* Mobile stays lilac, as before. */
  #about{
    background:var(--lavender) !important;
    color:var(--ink) !important;
  }
  #about h2,
  #about p{
    color:var(--ink) !important;
  }
  #about .expand-button,
  #contra .expand-button{
    background:rgba(55,55,55,.30) !important;
    color:#fff !important;
    border-radius:12px !important;
  }
}


/* v38: clearer language state */
.current-lang{
  text-decoration:underline;
  text-underline-offset:4px;
  text-decoration-thickness:1px;
}
.lang-sep{opacity:.65}
.legal-menu-lang{
  color:var(--ink);
}

/* Desktop Nadja uses the Contact-section green, not the footer/forest green. */
@media(min-width:761px){
  #about{
    background:var(--sage-dark) !important;
    color:var(--white) !important;
  }
  #about h2,
  #about p{
    color:var(--white) !important;
  }
  #about .expand-button{
    background:rgba(38,53,47,.48) !important;
    color:#fff !important;
    border-radius:12px !important;
  }
}


/* v39: desktop Nadja midpoint green */
@media(min-width:761px){
  #about{
    background:#9eaa99 !important;
    color:var(--ink) !important;
  }
  #about h2,
  #about p{
    color:var(--ink) !important;
  }
  #about .expand-button{
    background:rgba(230,235,222,.98) !important;
    color:var(--ink) !important;
    border-radius:12px !important;
  }
}

/* Legal-page popup: visually match the homepage's rectangular menu card. */
@media(max-width:760px){
  .legal-menu-overlay{
    position:fixed !important;
    top:110px !important;
    right:20px !important;
    left:20px !important;
    bottom:auto !important;
    width:auto !important;
    max-width:none !important;
    padding:28px 24px 30px !important;
    border-radius:0 !important;
    background:rgba(248,245,239,.97) !important;
    box-shadow:0 8px 24px rgba(0,0,0,.12) !important;
    align-items:flex-start !important;
    justify-content:flex-start !important;
  }
  .legal-menu-overlay nav{
    align-items:flex-start !important;
    text-align:left !important;
    gap:20px !important;
  }
  .legal-menu-overlay a{
    color:var(--ink) !important;
    font-size:18px !important;
    font-weight:400 !important;
  }
  .legal-menu-utility{
    margin-top:0 !important;
    white-space:normal !important;
  }
  .legal-menu-utility a{
    font-size:16px !important;
  }
  .legal-menu-lang{
    margin-top:0 !important;
    font-size:16px !important;
    color:var(--ink) !important;
  }
}


/* v40 desktop button refinements */
@media(min-width:761px){
  /* Nadja: actual sage button, dark text. */
  #about .expand-button{
    background:var(--sage) !important;
    color:var(--ink) !important;
    border-radius:12px !important;
  }

  /* Keep Kontraindikationen light; only make its button label dark. */
  #contra .expand-button{
    color:var(--ink) !important;
    border-radius:12px !important;
  }
}


/* v41: legal menu dimensions matched to the homepage mobile menu */
@media(max-width:760px){
  .legal-menu-overlay{
    top:110px !important;
    left:16px !important;
    right:16px !important;
    width:calc(100% - 32px) !important;
    padding:22px 18px 24px !important;
    background:rgba(248,245,239,.94) !important;
    border-radius:0 !important;
    box-shadow:none !important;
  }
  .legal-menu-overlay nav{
    gap:17px !important;
    width:100% !important;
    align-items:flex-start !important;
    text-align:left !important;
  }
  .legal-menu-overlay a{
    font-size:16px !important;
    line-height:1.25 !important;
  }
  .legal-menu-utility{
    margin-top:0 !important;
    font-size:16px !important;
    line-height:1.25 !important;
  }
  .legal-menu-utility a{
    font-size:16px !important;
  }
  .legal-menu-lang{
    font-size:16px !important;
    line-height:1.25 !important;
  }
}


/* v45: minimal changes rebuilt from known-good v41 */
@media(max-width:760px){
  .legal-menu-overlay{
    background:var(--white) !important;
    opacity:1 !important;
  }
}
@media(min-width:761px){
  #contra .expand-button{
    background:var(--sage) !important;
    color:var(--ink) !important;
    border-radius:12px !important;
  }
}


/* v46: desktop-only refinements */
@media(min-width:761px){
  /* Contra: links should inherit the normal dark text, never browser blue. */
  #contra a{
    color:var(--ink) !important;
    text-decoration-color:currentColor !important;
  }

  /* Neutral warm button, just a little darker than the off-white. */
  #contra .expand-button{
    background:#e5e1d8 !important;
    color:var(--ink) !important;
    border-radius:12px !important;
  }

  /* Tighten the space below Kontakt heading. */
  #contact h2{
    margin-bottom:8px !important;
  }
  #contact .card-copy > p:first-of-type{
    margin-top:0 !important;
  }
}


/* v47: loading canvas + mobile section/button refinements */
html,
body {
  background: #454545 !important;
}

@media(max-width:760px){
  /* Each content section fills at least one phone viewport.
     Longer sections simply continue naturally. */
  #breathwork,
  #sessions,
  #about,
  #contra,
  #contact{
    min-height:100svh;
  }

  /* Less pill-like mobile controls. */
  .expand-button{
    border-radius:7px !important;
  }

  /* Slightly darker neutral button on mobile contraindications. */
  #contra .expand-button{
    background:rgba(55,55,55,.38) !important;
    color:#fff !important;
  }
}

/* v49: final Kontakt section keeps natural height on mobile */
@media(max-width:760px){
  #contact{ min-height:0 !important; }
}


/* v53: legal pages need navigation on desktop as well */
@media(min-width:761px){
  .legal-floating-menu{
    display:block !important;
    position:fixed;
    top:22px;
    right:28px;
    width:44px;
    height:44px;
    border:0;
    border-radius:50%;
    background:rgba(38,53,48,.18);
    z-index:1002;
    cursor:pointer;
  }
  .legal-floating-menu .bars,
  .legal-floating-menu .bars::before,
  .legal-floating-menu .bars::after{
    content:"";
    position:absolute;
    left:11px;
    width:22px;
    height:2px;
    background:#fff;
  }
  .legal-floating-menu .bars{top:21px}
  .legal-floating-menu .bars::before{top:-7px;left:0}
  .legal-floating-menu .bars::after{top:7px;left:0}
  .legal-menu-overlay.open{
    display:flex !important;
    position:fixed;
    inset:0;
    z-index:1001;
    align-items:flex-start;
    justify-content:flex-end;
    padding:76px 28px 28px;
    background:rgba(0,0,0,.12);
  }
  .legal-menu-overlay.open nav{
    display:flex;
    flex-direction:column;
    align-items:flex-start;
    gap:14px;
    width:350px;
    max-width:calc(100vw - 56px);
    padding:22px;
    background:var(--white);
    color:var(--ink);
  }
  .legal-menu-overlay a{color:inherit;text-decoration:none}
  .legal-menu-utility{display:flex;flex-wrap:wrap;gap:7px}
}

/* v57 mobile finishing adjustments */
@media(max-width:760px){
  /* Contact section plus footer together fill one phone viewport. */
  #contact{min-height:calc(100svh - 54px) !important;}
  #contra .contra-title .mobile-only{white-space:nowrap !important;}
}

/* v58 hero cleanup */
.hero-grid{display:none !important;background:none !important;}
.hero{
  margin:0 !important;
  border:0 !important;
  background:#56635a;
}
.hero-video{
  top:0 !important;
  margin:0 !important;
  border:0 !important;
  vertical-align:top;
}
.site-header{margin:0 !important;border:0 !important;}

/* v60: sage loading state behind hero video */
.hero,
.hero-video,
.hero video{
  background-color:var(--sage) !important;
}

/* v62: loading-paint fix only. Preserve v60 hero geometry exactly. */
.hero{
  isolation:isolate;
}
.hero::before{
  content:"";
  position:absolute;
  inset:0;
  background:var(--sage);
  z-index:-2;
  pointer-events:none;
}
.hero-video{
  background-color:transparent !important;
}

/* v68 prototype — new visual identity, mobile hero only.
   Reference viewport: 390px. Desktop remains v67 for now. */
.hero-mobile-v68{display:none}
@media(max-width:760px){
  .hero{
    height:auto;
    min-height:0;
    overflow:visible;
    background:var(--cream);
  }
  .hero > .hero-video,
  .hero > .hero-shade,
  .hero > .hero-copy,
  .hero > .down{display:none}

  .hero-mobile-v68{
    display:block;
    width:100%;
    background:#f2eee5;
    color:#07347c;
  }
  .hero-mobile-image{
    position:relative;
    width:100%;
    height:255px;
    overflow:hidden;
    background:#07347c;
  }
  .hero-mobile-image img{
    display:block;
    width:100%;
    height:100%;
    object-fit:cover;
    object-position:center center;
  }
  .hero-mobile-label{
    position:absolute;
    top:18px;
    left:20px;
    z-index:2;
    color:#f06b3f;
    font-family:Arial,Helvetica,sans-serif;
    font-size:20px;
    line-height:1;
    font-weight:700;
    letter-spacing:.18em;
    white-space:nowrap;
  }
  .site-header{
    height:0;
    padding:0;
  }
  .menu-button{
    position:fixed;
    top:16px;
    right:16px;
    width:56px;
    height:56px;
    padding:0;
    color:#fff;
    background:rgba(38,53,47,.30);
  }
  .menu-button::before,.menu-button::after,.menu-button span{
    left:15px;
    right:15px;
    height:3px;
  }
  .menu-button::before{top:17px}
  .menu-button span{top:26px}
  .menu-button::after{top:35px}
  .main-nav{top:72px}

  .hero-mobile-text{
    padding:22px 20px 28px;
    background:#f2eee5;
  }
  .hero-mobile-text h1{
    margin:0;
    color:#07347c;
    font-family:Arial,Helvetica,sans-serif;
    font-size:46px;
    line-height:.95;
    font-weight:800;
    letter-spacing:-.045em;
    white-space:nowrap;
  }
  .hero-mobile-text p{
    margin:10px 0 0;
    color:#07347c;
    font-family:Arial,Helvetica,sans-serif;
    font-size:20px;
    line-height:1.2;
    font-weight:400;
    letter-spacing:-.01em;
  }
}
@media(max-width:370px){
  .hero-mobile-text h1{font-size:42px}
  .hero-mobile-text p{font-size:19px}
}


/* v70 mobile identity prototype — fixed design rules for evaluation */
@media(max-width:760px){
  :root{--identity-blue:#07347c;--identity-orange:#f06b3f;--identity-cream:#f6f0e5}
  body{background:var(--identity-cream);color:var(--identity-blue);font-size:17px;line-height:1.42}

  /* Landing is one complete mobile viewport. The image takes all remaining
     space after the copy block, rather than using an arbitrary pixel height. */
  .hero-mobile-v68{min-height:100svh;display:flex;flex-direction:column;background:var(--identity-cream)}
  .hero-mobile-image{height:auto;min-height:0;flex:1 1 auto;background:var(--identity-blue)}
  .hero-mobile-image img{object-fit:cover;object-position:center center}
  .hero-mobile-label{top:22px;left:20px;font-size:20px;letter-spacing:.18em;color:var(--identity-orange)}
  .hero-mobile-text{flex:0 0 auto;padding:18px 20px 20px;background:var(--identity-cream)}
  .hero-mobile-text h1{font-size:44px;line-height:.98;color:var(--identity-blue)}
  .hero-mobile-text .hero-subtitle{margin:8px 0 0;font-size:18px;line-height:1.18;color:var(--identity-blue)}
  .hero-mobile-text .hero-identity{margin:12px 0 0;font-size:12px;line-height:1.2;font-weight:700;letter-spacing:.07em;text-transform:uppercase;color:var(--identity-orange)}

  /* Section rhythm: every menu destination begins with a consistent image.
     These are placeholders until the archival photographs are selected. */
  .card,.contact-card{background:var(--identity-cream);color:var(--identity-blue);scroll-margin-top:0}
  .card .visual,.contact-card .visual,
  #breathwork .visual,#about .visual,#sessions .visual,#contra .visual,#contact .visual{
    width:100%;height:168px!important;aspect-ratio:auto!important;min-height:0!important;max-height:none!important;overflow:hidden
  }
  .card .visual img,.contact-card .visual img,
  #breathwork .visual img,#about .visual img,#sessions .visual img,#contra .visual img,#contact .visual img{
    width:100%;height:100%;object-fit:cover
  }
  /* temporary orange treatment, only to distinguish the first section image */
  #breathwork .visual{background:#f06b3f}
  #breathwork .visual img{filter:sepia(1) saturate(5) hue-rotate(325deg) brightness(1.18) contrast(.78)!important;opacity:.78}

  .card .card-copy,.contact-card .card-copy{padding:28px 20px 40px}
  .card h2,.contact-card h2{margin:0 0 22px;min-height:0;font-family:Arial,Helvetica,sans-serif;font-size:34px;line-height:1;font-weight:800;letter-spacing:-.035em;color:var(--identity-blue)}
  .card h3{font-size:15px;color:var(--identity-blue)}
  .card p,.card li,.contact-card p{font-size:16px;line-height:1.48;color:inherit}
  .card p{margin:0 0 1.35em}
  .heading-line{display:inline;white-space:normal}
  .heading-line+.heading-line:before{content:" "}
  .heading-spacer{display:none}
  .forest a{color:inherit}
  footer{background:#07347c;color:#f6f0e5}
}

/* v73 — locked mobile hero crop + unified cream content sections */
@media(max-width:760px){
  :root{--identity-blue:#07347c;--identity-orange:#f06b3f;--identity-cream:#f6f0e5}
  body{background:var(--identity-cream);color:var(--identity-blue);font-family:Arial,Helvetica,sans-serif;font-size:16px;line-height:1.48}

  /* LOCKED: user-selected hero image is displayed edge-to-edge at its own aspect ratio. */
  .hero-mobile-v68{display:block;min-height:0;background:var(--identity-cream)}
  .hero-mobile-image{position:relative;width:100%;height:auto;min-height:0;overflow:visible;background:var(--identity-blue)}
  .hero-mobile-image img{display:block;width:100%;height:auto;object-fit:contain;object-position:center center}
  .hero-mobile-label{top:22px;left:20px;font-family:Arial,Helvetica,sans-serif;font-size:20px;line-height:1;font-weight:700;letter-spacing:.18em;color:var(--identity-orange)}

  .hero-mobile-text{padding:22px 20px 24px;background:var(--identity-cream)}
  .hero-mobile-text h1{margin:0;font-family:Arial,Helvetica,sans-serif;font-size:44px;line-height:.98;font-weight:800;letter-spacing:-.045em;color:var(--identity-blue);white-space:nowrap}
  .hero-mobile-text .hero-subtitle{margin:9px 0 0;font-family:Arial,Helvetica,sans-serif;font-size:18px;line-height:1.2;font-weight:400;letter-spacing:-.01em;color:var(--identity-blue)}
  .hero-mobile-text .hero-identity{margin:14px 0 0;font-family:Arial,Helvetica,sans-serif;font-size:12px;line-height:1.2;font-weight:700;letter-spacing:.07em;text-transform:uppercase;color:var(--identity-orange)}

  /* All main content sections now share the same cream ground and blue typography. */
  #breathwork,#about,#sessions,#contra,#contact,
  .card,.contact-card,.sage,.lavender,.clay,.forest{
    background:var(--identity-cream)!important;
    color:var(--identity-blue)!important;
  }
  .card .card-copy,.contact-card .card-copy{padding:30px 20px 42px;background:var(--identity-cream)}
  .card h2,.contact-card h2,
  #about h2,#contra h2,#contact h2{
    margin:0 0 18px!important;min-height:0;
    font-family:Arial,Helvetica,sans-serif!important;
    font-size:32px!important;line-height:1.02!important;font-weight:800!important;
    letter-spacing:-.035em;color:var(--identity-blue)!important;
  }
  .card h3,.contact-card h3{font-family:Arial,Helvetica,sans-serif;font-size:15px;line-height:1.35;font-weight:700;color:var(--identity-blue)!important}
  .card p,.card li,.contact-card p,.contact-card li,
  #about p,#contra p,#contact p{
    font-family:Arial,Helvetica,sans-serif;font-size:16px!important;line-height:1.48!important;color:var(--identity-blue)!important;
  }
  .card a,.contact-card a,#about a,#contra a,#contact a{color:var(--identity-blue)!important}
  .pill,.more-button,.expand-button{font-family:Arial,Helvetica,sans-serif}
  footer{background:var(--identity-blue);color:var(--identity-cream)}
}
@media(max-width:370px){
  .hero-mobile-text h1{font-size:42px}
  .card h2,.contact-card h2,#about h2,#contra h2,#contact h2{font-size:30px!important}
}

/* v74 — only two mobile adjustments: smaller BREATHWORK label + lighter menu circle */
@media(max-width:760px){
  .hero-mobile-label{
    font-size:17px;
  }
  .menu-button{
    background:rgba(38,53,47,.16);
  }
}

/* v75 — collapsed mobile section architecture + lightweight expand controls */
@media(max-width:760px){
  /* Keep the established 168px section-image height. */
  .card .visual,.contact-card .visual,
  #breathwork .visual,#about .visual,#sessions .visual,#contra .visual,#contact .visual{
    height:168px!important;
  }

  /* Compact collapsed sections so image + heading + preview + control can sit together. */
  .card .card-copy,.contact-card .card-copy{
    padding:28px 20px 34px;
    justify-content:flex-start;
  }
  .card h2,.contact-card h2,
  #about h2,#contra h2,#contact h2{
    margin:0 0 18px!important;
  }
  .card p,.contact-card p{
    margin:0 0 18px;
  }

  /* No pill: the control behaves like a typographic part of the identity. */
  .expand-button,
  #about .expand-button,#contra .expand-button,#sessions .expand-button,#breathwork .expand-button{
    display:inline-flex;
    align-items:center;
    align-self:flex-start;
    width:auto;
    margin:2px 0 0;
    padding:7px 0 5px;
    border:0!important;
    border-radius:0!important;
    border-bottom:1px solid var(--identity-orange)!important;
    background:transparent!important;
    box-shadow:none!important;
    color:var(--identity-blue)!important;
    font-family:Arial,Helvetica,sans-serif!important;
    font-size:15px!important;
    line-height:1.2!important;
    font-weight:700!important;
    letter-spacing:0!important;
    text-transform:none!important;
    cursor:pointer;
  }
  .expand-button:hover,.expand-button:focus-visible{
    color:var(--identity-orange)!important;
  }

  /* Expanded text starts with the same paragraph rhythm as the preview. */
  .expand.open{margin-top:18px}
  .expand.open > :first-child{margin-top:0}
}


/* v76 — requested preview cut points + Contact/footer mobile composition */
@media(max-width:760px){
  /* Remove the old forced full-screen Contact height: it pushed the footer below the viewport. */
  #contact{min-height:0!important;}

  /* Contact has spare vertical room, so give its photograph more presence. */
  #contact .visual{height:260px!important;}

  /* Keep footer compact and visibly attached to Contact on mobile. */
  footer{padding:18px 20px!important;gap:20px!important;}
}

/* v77: test taller Contact placeholder image on mobile; other layout unchanged. */
@media(max-width:760px){#contact .visual{height:400px!important;}}

/* v79: explicit menu close, Kontakt/Contact as a primary destination */
@media(max-width:760px){
  .main-nav{padding-top:52px!important;position:fixed;}
  .main-nav > a{display:block;width:100%;}
  .nav-utility{margin-top:5px;}
  .nav-close{position:absolute;right:12px;top:8px;display:grid;place-items:center;width:36px;height:36px;padding:0;border:0;background:transparent;color:#e36f4b;font:400 32px/1 Arial,Helvetica,sans-serif;cursor:pointer;}
}
@media(min-width:761px){.nav-close{display:none}}

/* v80 — compact mobile menu; links have only their own hit areas */
@media(max-width:760px){
  .main-nav{
    left:auto!important;right:16px!important;top:80px!important;
    width:min(300px,calc(100vw - 32px))!important;
    padding:43px 22px 23px!important;
    align-items:flex-start!important;
    gap:10px!important;
    font-size:18px!important;
    line-height:1.35!important;
  }
  .main-nav > a{
    display:inline-block!important;width:auto!important;
    align-self:flex-start!important;padding:3px 0!important;
    flex:none!important;
  }
  .main-nav .nav-utility{margin-top:7px!important;font-size:15px!important;gap:8px!important;}
  .main-nav .language{font-size:16px!important;margin-top:0!important;}
  .main-nav .nav-close{right:10px!important;top:5px!important;z-index:2;}
}

@media(max-width:760px){
  .legal-menu-overlay.open{align-items:flex-start!important;justify-content:flex-end!important;}
  .legal-menu-overlay.open nav{width:min(300px,calc(100vw - 32px))!important;max-width:300px!important;margin:80px 16px 0 auto!important;padding:43px 22px 23px!important;font-size:18px!important;}
  .legal-menu-overlay.open nav a{font-size:18px!important;}
}

/* v81 — final-screen Kontakt and compact navigation */
@media (max-width:760px) {
  /* The last destination and its footer occupy one available browser viewport.
     Image absorbs remaining height; no artificial blank space before it. */
  #contact {
    display:flex!important;
    flex-direction:column!important;
    min-height:calc(100dvh - 54px)!important;
    height:auto!important;
    scroll-margin-top:0!important;
  }
  #contact .visual {
    flex:1 1 auto!important;
    min-height:168px!important;
    height:auto!important;
    aspect-ratio:auto!important;
    overflow:hidden;
  }
  #contact .visual img {width:100%;height:100%;object-fit:cover;display:block;}
  #contact .card-copy {flex:0 0 auto!important;}
  footer {min-height:54px;box-sizing:border-box;}
  .main-nav {
    width:min(270px,calc(100vw - 32px))!important;
    padding:28px 20px 20px!important;
    gap:8px!important;
  }
  .main-nav > a {font-size:18px!important;line-height:1.3!important;}
  .main-nav .nav-utility,
  .main-nav .nav-utility a {font-size:18px!important;line-height:1.3!important;}
  .main-nav .nav-utility {display:flex;flex-wrap:wrap;gap:5px 8px!important;}
  .main-nav .language,.main-nav .language a {font-size:18px!important;}
  .main-nav .nav-close {top:4px!important;right:7px!important;}
  .legal-menu-overlay.open nav {
    width:min(270px,calc(100vw - 32px))!important;
    max-width:270px!important;
    padding:28px 20px 20px!important;
  }
  .legal-menu-overlay.open nav a,
  .legal-menu-overlay.open .legal-menu-utility,
  .legal-menu-overlay.open .legal-menu-utility a {font-size:18px!important;}
}

/* v82 — Contact: image fills spare height; no cream spacer; footer in same screen */
@media (max-width:760px) {
  #contact {
    height:calc(100dvh - 54px)!important;
    min-height:calc(100dvh - 54px)!important;
    display:flex!important;
    flex-direction:column!important;
    justify-content:flex-start!important;
  }
  #contact .visual {
    flex:1 1 0px!important;
    height:0!important;
    min-height:168px!important;
    max-height:none!important;
    aspect-ratio:auto!important;
  }
  #contact .visual img {width:100%;height:100%;object-fit:cover;}
  #contact .card-copy {
    flex:0 0 auto!important;
    display:block!important;
    justify-content:flex-start!important;
    padding:24px 20px 24px!important;
  }
  #contact h2 {margin:0 0 18px!important;min-height:0!important;}
  #contact .heading-spacer {display:none!important;}
  #contact .card-copy p {margin:0 0 16px!important;}
  #contact .card-copy p:last-child {margin-bottom:0!important;}
  body > footer {
    height:54px!important;
    min-height:54px!important;
    padding:12px 12px!important;
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    flex-wrap:nowrap!important;
    gap:16px!important;
    white-space:nowrap;
  }
}

/* V83: Mobile final-screen layout. Natural text/footer height, photo fills remaining space. */
@media(max-width:760px){
  .site-header{position:fixed!important;top:0!important;left:0!important;right:0!important;z-index:1000!important;transform:none!important;}
  #contact{height:auto!important;min-height:0!important;display:flex!important;flex-direction:column!important;justify-content:flex-start!important;}
  #contact .visual{height:var(--contact-image-height, 260px)!important;min-height:0!important;max-height:none!important;flex:0 0 auto!important;aspect-ratio:auto!important;}
  #contact .visual img{width:100%;height:100%;object-fit:cover;}
  #contact .card-copy{flex:0 0 auto!important;padding:18px 20px 16px!important;justify-content:flex-start!important;}
  #contact h2{margin:0 0 12px!important;}
  #contact .card-copy p{margin:0 0 8px!important;}
  #contact .card-copy p:last-child{margin-bottom:0!important;}
  body > footer{height:auto!important;min-height:0!important;padding:12px 10px!important;gap:12px!important;flex-wrap:nowrap!important;font-size:12px!important;line-height:1.25!important;}
}


/* V84: navigation controls live directly under body, outside the zero-height header.
   A fixed element inside a fixed/zero-height ancestor was not reliable on mobile. */
@media(max-width:760px){
  body > .menu-button{
    display:block!important;position:fixed!important;top:16px!important;right:16px!important;
    left:auto!important;z-index:2147483000!important;transform:none!important;
    width:56px!important;height:56px!important;pointer-events:auto!important;
  }
  body > .main-nav{
    position:fixed!important;top:80px!important;right:16px!important;left:auto!important;
    z-index:2147482999!important;max-height:calc(100dvh - 92px)!important;
    overflow-y:auto!important;overscroll-behavior:contain!important;
  }
  body > .main-nav:not(.open){display:none!important}
  body > .main-nav.open{display:flex!important}
  #contact .visual{height:var(--contact-image-height, 230px)!important;}
}

/* V85: fixed, deliberately short Kontakt photo; no viewport-driven image sizing. */
@media(max-width:760px){
  #contact{height:auto!important;min-height:0!important;display:flex!important;flex-direction:column!important;}
  #contact .visual{height:240px!important;min-height:0!important;max-height:240px!important;flex:none!important;aspect-ratio:auto!important;}
  #contact .visual img{height:100%!important;width:100%!important;object-fit:cover!important;}
  #contact .card-copy{flex:none!important;padding:18px 20px 16px!important;}
  body > .menu-button{display:block!important;visibility:visible!important;opacity:1!important;position:fixed!important;top:16px!important;right:16px!important;z-index:2147483646!important;transform:none!important;isolation:isolate!important;}
  body > .main-nav{z-index:2147483645!important;}
}

/* V86: single explicit mobile Kontakt layout; no viewport-based image stretching. */
@media(max-width:760px){
  #contact{height:auto!important;min-height:0!important;display:flex!important;flex-direction:column!important;scroll-margin-top:0!important;}
  #contact .visual{height:190px!important;min-height:190px!important;max-height:190px!important;flex:0 0 190px!important;aspect-ratio:auto!important;}
  #contact .visual img{height:100%!important;width:100%!important;object-fit:cover!important;}
  #contact .card-copy{flex:0 0 auto!important;padding:18px 20px 16px!important;}
  #contact h2{margin-bottom:12px!important;}
  body > footer{height:auto!important;min-height:0!important;padding:12px 10px!important;}
  body > .menu-button{position:fixed!important;top:var(--visible-menu-top,16px)!important;right:16px!important;left:auto!important;display:block!important;z-index:2147483646!important;}
  body > .main-nav{position:fixed!important;top:var(--visible-nav-top,80px)!important;z-index:2147483645!important;}
  #contact-scroll-buffer{height:0;min-height:0;pointer-events:none;background:var(--identity-cream);}
}

/* V89: 500px Kontakt photo; blue after-footer scroll area. */
@media(max-width:760px){
  #contact .visual{height:500px!important;min-height:500px!important;max-height:500px!important;flex:0 0 500px!important;}
  #contact-scroll-buffer{background:var(--identity-blue)!important;}
}

/* V90: one additional line of breathing room beneath the Kontakt email. */
@media (max-width:760px){
  #contact .card-copy{padding-bottom:36px!important;}
}

/* V91: cap the artificial space after the footer to a short blue tail. */
@media(max-width:760px){#contact-scroll-buffer{max-height:48px!important;}}

/* V92 — menu readability and consistent spacing (mobile only). */
@media (max-width:760px) {
  body > .main-nav, .main-nav {
    background:#f6f0e5!important;
    backdrop-filter:none!important;
    -webkit-backdrop-filter:none!important;
  }
  .main-nav .nav-utility {margin-top:0!important;}
  .legal-menu-overlay.open nav, .legal-menu-overlay nav {
    background:#f6f0e5!important;
    backdrop-filter:none!important;
    -webkit-backdrop-filter:none!important;
  }
  .legal-menu-overlay.open {background:transparent!important;}
  .legal-menu-utility {margin-top:0!important;}
}

/* V93: understated active language marker, consistent across navigation. */
.language .active-language, .legal-menu-lang .active-language {
  font-weight:400!important;
  text-decoration:none!important;
  border-bottom:2px solid #df6c4c!important;
  padding-bottom:2px;
}

/* V95: taller mobile portrait, with face comfortably in frame. */
@media (max-width:760px){
  #about .visual{height:280px!important;min-height:280px!important;max-height:280px!important;aspect-ratio:auto!important;flex:0 0 280px!important;overflow:hidden!important;}
  #about .visual img{width:100%!important;height:100%!important;object-fit:cover!important;object-position:center 38%!important;}
}

/* V98: Kontakt group photo and a compact additional invitation. */
@media(max-width:760px){
 #contact .visual img{object-position:center 32%!important;}
 #contact .contact-delighted{margin:0 0 8px!important;}
 #contact .card-copy{padding-bottom:22px!important;}
}

/* V99: deckchair contact image, no blank line between invitation and email. */
@media(max-width:760px){
  #contact .visual img{object-position:center 46%!important;}
  #contact .contact-delighted{margin-bottom:0!important;}
  #contact .contact-delighted + p{margin-top:0!important;}
}

/* V101: tighten only mobile Kontakt spacing to reveal footer. */
@media (max-width:760px) {
  #contact .card-copy {padding-top:14px!important;padding-bottom:12px!important;}
  #contact h2 {margin-bottom:8px!important;}
  #contact .card-copy > p {margin-top:0!important;margin-bottom:4px!important;}
  #contact .card-copy > p:last-child {margin-bottom:0!important;}
}

/* V102: orange underline only for contact email. */
#contact a[href^="mailto:"] { text-decoration-line:underline!important; text-decoration-color:#DF6C4C!important; text-decoration-thickness:2px!important; text-underline-offset:4px!important; }

/* V103: align legal-page floating menu and open panel with homepage. */
@media (max-width:760px) {
  body.legal-page > .legal-floating-menu {
    position:fixed!important;
    top:var(--visible-menu-top,16px)!important;
    right:16px!important;
    left:auto!important;
  }
  body.legal-page > .legal-menu-overlay.open {
    position:fixed!important;
    inset:0!important;
    top:0!important;
    left:0!important;
    right:0!important;
    width:100%!important;
    height:100%!important;
    padding:0!important;
    margin:0!important;
    background:transparent!important;
    align-items:flex-start!important;
    justify-content:flex-end!important;
  }
  body.legal-page > .legal-menu-overlay.open nav {
    position:fixed!important;
    top:var(--visible-nav-top,80px)!important;
    right:16px!important;
    left:auto!important;
    width:min(300px,calc(100vw - 32px))!important;
    max-width:300px!important;
    margin:0!important;
    padding:43px 22px 23px!important;
  }
}

/* V104: preserve full 1200 × 614 photo proportions in Kontraindikationen. */
#contra .visual{aspect-ratio:1200/676!important;height:auto!important;min-height:0!important;max-height:none!important;}
#contra .visual img{width:100%!important;height:100%!important;object-fit:contain!important;object-position:center!important;}
@media(max-width:760px){
  #contra .visual{height:auto!important;min-height:0!important;max-height:none!important;aspect-ratio:1200/676!important;flex:0 0 auto!important;}
  #contra .visual img{display:block!important;width:100%!important;height:auto!important;aspect-ratio:1200/676!important;object-fit:contain!important;}
}

/* V108: uploaded sailboat, exact native 1536:1047 proportions; no cropping or recolouring. */
#breathwork .visual{height:auto!important;min-height:0!important;max-height:none!important;aspect-ratio:1536/1047!important;background:transparent!important;}
#breathwork .visual img{display:block!important;width:100%!important;height:auto!important;aspect-ratio:1536/1047!important;object-fit:contain!important;filter:none!important;opacity:1!important;}
@media(max-width:760px){#breathwork .visual{height:auto!important;aspect-ratio:1536/1047!important;flex:0 0 auto!important;}#breathwork .visual img{height:auto!important;aspect-ratio:1536/1047!important;}}

/* V111: retain uploaded sailboat image full aspect ratio, no crop */
#breathwork .visual,#breathwork .visual img{height:auto!important;min-height:0!important;max-height:none!important;aspect-ratio:1536/958!important;object-fit:contain!important;filter:none!important;opacity:1!important;background:transparent!important;}

/* V113: show the complete taller Was ich anbiete artwork on mobile. */
@media(max-width:760px){
  #sessions .visual{height:auto!important;min-height:0!important;max-height:none!important;aspect-ratio:1672/941!important;flex:0 0 auto!important;overflow:hidden!important;}
  #sessions .visual img{display:block!important;width:100%!important;height:auto!important;aspect-ratio:1672/941!important;object-fit:contain!important;object-position:center!important;}
}

/* V115: Was ich anbiete — no letterboxing or side gutters. Match the
   actual artwork aspect ratio (1524 × 891), rather than the earlier guess. */
@media (max-width:760px){
  #sessions .visual{
    display:block!important;
    width:100%!important;
    margin:0!important;
    padding:0!important;
    border:0!important;
    height:auto!important;
    min-height:0!important;
    max-height:none!important;
    aspect-ratio:1524 / 891!important;
    flex:0 0 auto!important;
    overflow:hidden!important;
  }
  #sessions .visual img{
    display:block!important;
    width:100%!important;
    height:100%!important;
    margin:0!important;
    padding:0!important;
    aspect-ratio:1524 / 891!important;
    object-fit:cover!important;
    object-position:center!important;
  }
}

/* Mobile-only navigation between stacked sections */
.section-next,.hero-next-mobile{display:none!important;}
@media (max-width:760px){
  #content .card{position:relative!important;}
  #content .card .section-next{
    display:flex!important;align-items:center;justify-content:center;
    width:48px;height:48px;box-sizing:border-box;
    margin:12px 16px 12px auto;
    color:#0a3777!important;text-decoration:none!important;
    font:normal 32px/1 Arial,Helvetica,sans-serif!important;
    background:transparent!important;border:0!important;
    cursor:pointer;touch-action:manipulation;
  }
  #content .card .section-next:focus-visible,.hero-next-mobile:focus-visible{outline:2px solid #df6c4c;outline-offset:2px;}
  .hero .hero-next-mobile{
    display:flex!important;align-items:center;justify-content:center;
    width:48px;height:48px;margin:0 16px 12px auto;
    font:normal 32px/1 Arial,Helvetica,sans-serif!important;
    color:#0a3777!important;text-decoration:none!important;
  }
  html{scroll-behavior:smooth;}
}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto!important;}}

/* v118: arrows are overlays, never standalone layout rows */
@media (max-width:760px){
  .hero{position:relative!important;}
  .hero .hero-next-mobile{
    display:flex!important;position:absolute!important;right:14px!important;bottom:5px!important;
    left:auto!important;top:auto!important;z-index:5!important;
    width:36px!important;height:36px!important;margin:0!important;padding:0!important;
    font:400 25px/1 Arial,Helvetica,sans-serif!important;
    color:#0a3777!important;background:transparent!important;border:0!important;
    align-items:center!important;justify-content:center!important;text-decoration:none!important;
  }
  #content .card{position:relative!important;}
  #content .card .section-next{
    display:flex!important;position:absolute!important;right:14px!important;bottom:8px!important;
    left:auto!important;top:auto!important;z-index:3!important;
    width:36px!important;height:36px!important;margin:0!important;padding:0!important;
    font:400 25px/1 Arial,Helvetica,sans-serif!important;
    color:#0a3777!important;background:transparent!important;border:0!important;
    align-items:center!important;justify-content:center!important;text-decoration:none!important;
  }
  #content .card .card-copy{padding-bottom:65px!important;}
  #content .card.contact-card .section-next{display:none!important;}
}

/* v119: refined compact mobile section navigation */
@media(max-width:760px){
  .hero .hero-next-mobile,
  #content .card .section-next{
    width:40px!important;height:40px!important;
    right:17px!important;
    display:flex!important;align-items:center!important;justify-content:center!important;
    background:transparent!important;color:#0a3777!important;
    border:0!important;border-radius:0!important;
    box-shadow:none!important;text-decoration:none!important;
    margin:0!important;padding:6px!important;box-sizing:border-box!important;
    z-index:8!important;
  }
  .hero .hero-next-mobile{bottom:10px!important;}
  #content .card .section-next{bottom:30px!important;}
  #content .card .card-copy{padding-bottom:92px!important;}
  #content .card.contact-card .section-next{display:flex!important;bottom:12px!important;}
  #content .card.contact-card .card-copy{padding-bottom:66px!important;}
  .hero-next-mobile svg,.section-next svg{width:26px;height:26px;display:block;overflow:visible;}
  .hero-next-mobile svg path,.section-next svg path{fill:none;stroke:currentColor;stroke-width:1.65;stroke-linecap:round;stroke-linejoin:round;}
  .hero-next-mobile:focus-visible,.section-next:focus-visible{outline:2px solid #df6c4c!important;outline-offset:2px!important;}
}
@media(min-width:761px){.hero-next-mobile,.section-next{display:none!important;}}

/* V120: Navigation shares the existing action row; no extra vertical whitespace. */
@media(max-width:760px){
 #content .card .card-copy{padding-bottom:22px!important;}
 #content .card.contact-card .card-copy{padding-bottom:12px!important;}
 #content .card .section-action-row{display:flex!important;align-items:center!important;justify-content:space-between!important;gap:8px!important;width:100%!important;min-height:40px!important;}
 #content .card .section-action-row .expand-button{flex:0 1 auto!important;min-width:0!important;}
 #content .card .section-action-row .section-next{display:flex!important;position:static!important;flex:0 0 40px!important;width:40px!important;height:40px!important;margin:0!important;padding:6px!important;align-items:center!important;justify-content:center!important;transform:none!important;}
 #content .card .languages-row p,#content .card .contact-row p{margin:0!important;}
 #content #contra .section-action-row .section-next{transform:translateY(10px)!important;}
 #content #contra .card-copy{padding-bottom:32px!important;}
 #breathwork .visual{height:auto!important;aspect-ratio:1536/875!important;overflow:hidden!important;}
 #breathwork .visual img{width:100%!important;height:100%!important;aspect-ratio:auto!important;object-fit:cover!important;object-position:center 55%!important;}
}
@media(min-width:761px){#content .card .section-action-row{display:contents!important;}}

/* V121: contact arrow takes no layout height; contraindications arrow one text line lower. */
@media(max-width:760px){
  #content #contact .section-action-row.contact-row{position:relative!important;display:block!important;min-height:0!important;height:auto!important;padding:0!important;}
  #content #contact .contact-row .section-next{position:absolute!important;right:0!important;top:50%!important;bottom:auto!important;transform:translateY(-50%)!important;}
  #content #contact .contact-row .contact-lines{padding-right:48px!important;}
  #content #contact .card-copy{padding-bottom:12px!important;}
  #content #contra .section-action-row{position:relative!important;align-items:flex-start!important;min-height:0!important;}
  #content #contra .section-action-row .section-next{position:absolute!important;right:0!important;top:calc(1em + 8px)!important;bottom:auto!important;transform:none!important;}
  #content #contra .card-copy{padding-bottom:22px!important;}
}

/* V122: replace Atme mit mir header with user-approved short crop, without extra spacing. */
@media(max-width:760px){
  #breathwork .visual{height:auto!important;aspect-ratio:1639/883!important;overflow:hidden!important;}
  #breathwork .visual img{display:block!important;width:100%!;height:100%!important;aspect-ratio:auto!important;object-fit:cover!important;object-position:center center!important;filter:none!important;opacity:1!important;}
  /* Contra arrow stays level with the expand/collapse button in either state. */
  #content #contra .section-action-row{display:flex!important;position:relative!important;align-items:center!important;justify-content:space-between!important;min-height:40px!important;}
  #content #contra .section-action-row .section-next{position:static!important;top:auto!important;right:auto!important;bottom:auto!important;transform:none!important;margin:0!important;flex:0 0 40px!important;}
}

/* V127: match the actual latest 1521x723 hand/breath crop on mobile. */
@media (max-width:760px){
  #sessions .visual{
    width:100%!important;height:auto!important;min-height:0!important;max-height:none!important;
    aspect-ratio:1521 / 723!important;overflow:hidden!important;margin:0!important;padding:0!important;
  }
  #sessions .visual img{
    display:block!important;width:100%!important;height:100%!important;
    aspect-ratio:1521 / 723!important;object-fit:cover!important;object-position:center!important;
    margin:0!important;padding:0!important;
  }
}

/* v128: legal-page identity and user-supplied offer photo */
body.legal-page {background:#f6f0e5!important;color:#0a3777!important;}
@media(max-width:767px){#sessions .visual,#sessions .visual img{display:block;width:100%!important;max-width:100%!important;margin:0!important;padding:0!important;aspect-ratio:1536/1105!important;height:auto!important;min-height:0!important;object-fit:cover!important;}}

/* v129: unify legal-page palette and restore readable mobile navigation */
html:has(body.legal-page) {background:#454545!important;}
body.legal-page, body.legal-page main.legal {background:#f6f0e5!important;color:#0a3777!important;}
body.legal-page .legal-menu-overlay.open nav {
  background:#f6f0e5!important;color:#0a3777!important;
  box-shadow:0 12px 34px rgba(5,27,65,.24),0 2px 8px rgba(5,27,65,.14)!important;
  border-radius:3px!important;isolation:isolate!important;
}
body.legal-page .legal-menu-overlay.open nav a,
body.legal-page .legal-menu-overlay.open .legal-menu-utility,
body.legal-page .legal-menu-overlay.open .legal-menu-lang {color:#0a3777!important;}
body.legal-page .legal-menu-overlay.open nav .legal-menu-close {
  display:grid!important;place-items:center!important;position:absolute!important;
  right:10px!important;top:5px!important;z-index:20!important;
  width:38px!important;height:38px!important;padding:0!important;
  color:#DF6C4C!important;background:transparent!important;opacity:1!important;
  font:400 34px/1 Arial,Helvetica,sans-serif!important;cursor:pointer!important;
}
body.legal-page .legal-nav,body.legal-page .legal-nav a{color:#0a3777!important;}

.sessions-open-button[hidden]{display:none!important}
.sessions-close-button{display:block;margin-top:16px;border:0;background:transparent;padding:0;color:inherit;font:inherit;text-decoration:underline;text-underline-offset:4px;cursor:pointer}

/* Session expansion: fixed arrow and close control below all copy. */
#sessions .sessions-open-button.sessions-invisible{visibility:hidden!important;pointer-events:none!important;}
#sessions #sessions-more > .sessions-close-button{display:block!important;position:static!important;clear:both!important;margin:20px 0 0!important;padding:0!important;text-align:left!important;}
#sessions #sessions-more > p:last-of-type{margin-bottom:0!important;}

/* Sessions expansion: remove hidden row and align the arrow with Show less. */
#sessions .section-action-row[hidden]{display:none!important;}
#sessions #sessions-more.open{margin-top:18px!important;}
#sessions #sessions-more .sessions-bottom-row{margin-top:18px!important;display:flex!important;align-items:center!important;justify-content:space-between!important;}
#sessions #sessions-more .sessions-close-button{margin:0!important;}
#sessions #sessions-more > p:last-of-type{margin-bottom:0!important;}
@media(min-width:761px){#sessions .sessions-bottom-row .section-next{display:none!important;}}

/* Mobile refinements: underline contact link in contraindications only. */
#contraindications a[href="#contact"], #contra a[href="#contact"] {
 text-decoration: underline!important; text-decoration-color:#DF6C4C!important;
 text-decoration-thickness:2px!important; text-underline-offset:4px!important;
}

/* Contact links: intermediate underline weight, no change to typography. */
#contact a[href^="mailto:"], #contraindications a[href="#contact"], #contra a[href="#contact"] { text-decoration-thickness:1.5px!important; }

/* Powder-blue browser canvas; actual Android system navbar remains browser-controlled. */


/* Contact photo: preserve the exact uploaded crop and its natural proportions. */
#contact .visual {height:auto!important;min-height:0!important;max-height:none!important;flex:0 0 auto!important;aspect-ratio:1243 / 1536!important;overflow:hidden!important;}
#contact .visual img {display:block!important;width:100%!important;height:auto!important;max-height:none!important;aspect-ratio:1243 / 1536!important;object-fit:contain!important;object-position:center!important;}

/* One blank line of breathing room below the contact email, without changing footer sizing. */
#contact .contact-row{margin-bottom:1em!important;}

/* Contact footer navigation: replace legacy sage on all screen sizes. */
body > footer{background:#052973!important;color:#f6f0e5!important;}
#contact-scroll-buffer{background:#052973!important;}

/* Contact: one blank line above the single-line label and email. */
#contact .contact-row{margin-top:1.48em!important;}
#contact .contact-row .contact-lines{white-space:nowrap!important;letter-spacing:-0.015em;}
@media(max-width:380px){#contact .contact-row .contact-lines{font-size:clamp(12px,3.75vw,16px)!important;}}

/* v140: Desktop-only four-column editorial layout; mobile is unchanged. */
@media (min-width:761px) {
 :root{--identity-blue:#07347c;--identity-cream:#f6f0e5;--identity-orange:#f06b3f;}
 body{background:var(--identity-cream)!important;color:var(--identity-blue)!important;}
 .hero{height:auto!important;min-height:0!important;overflow:visible!important;background:var(--identity-cream)!important;}
 .hero::before,.hero>.hero-video,.hero>.hero-shade,.hero>.hero-copy,.hero>.down{display:none!important;}
 .hero-desktop-v140{display:block!important;background:var(--identity-cream);}
 .hero-desktop-photo{display:block;width:100%;height:clamp(320px,62vh,620px);object-fit:cover;object-position:center 49%;filter:none!important;}
 .hero-desktop-text{padding:clamp(22px,3vh,38px) clamp(28px,5vw,76px) clamp(26px,4vh,46px);color:var(--identity-blue);}
 .hero-desktop-text h1{font:800 clamp(42px,4.5vw,74px)/1.02 Arial,Helvetica,sans-serif;letter-spacing:-.035em;margin:0;}
 .hero-desktop-text .hero-subtitle{font-size:clamp(17px,1.5vw,22px);margin:8px 0 0;}
 .hero-desktop-text .hero-identity{font-size:12px;letter-spacing:.07em;font-weight:700;text-transform:uppercase;color:var(--identity-orange);margin:10px 0 0;}
 .site-header{background:transparent!important;color:white!important;}
 .content-grid{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:0!important;padding:0!important;background:var(--identity-cream)!important;}
 .content-grid>.card:not(.contact-card){background:var(--identity-cream)!important;color:var(--identity-blue)!important;min-width:0!important;}
 .content-grid>.card:not(.contact-card) .visual{height:auto!important;min-height:0!important;max-height:none!important;aspect-ratio:4/3!important;overflow:hidden!important;}
 .content-grid>.card:not(.contact-card) .visual picture,.content-grid>.card:not(.contact-card) .visual img{display:block!important;width:100%!important;height:100%!important;aspect-ratio:4/3!important;object-fit:cover!important;object-position:center!important;filter:none!important;opacity:1!important;}
 .content-grid>.card:not(.contact-card) .card-copy{padding:clamp(18px,2vw,34px)!important;}
 .content-grid>.card:not(.contact-card) h2{font:800 clamp(24px,2.2vw,36px)/1.07 Arial,Helvetica,sans-serif!important;min-height:0!important;letter-spacing:-.035em!important;color:var(--identity-blue)!important;margin:0 0 22px!important;}
 .content-grid>.card:not(.contact-card) h2 .heading-line{white-space:normal!important;}
 .content-grid>.card:not(.contact-card) p,.content-grid>.card:not(.contact-card) li{font-size:clamp(14px,1.06vw,17px)!important;line-height:1.5!important;}
 .content-grid>.card:not(.contact-card) h3{color:var(--identity-blue)!important;}
 .contact-card{grid-column:1/-1!important;display:grid!important;grid-template-columns:1fr 1fr!important;background:var(--identity-cream)!important;color:var(--identity-blue)!important;}
 #contact .visual{height:auto!important;min-height:0!important;max-height:none!important;aspect-ratio:auto!important;overflow:hidden!important;}
 #contact .visual picture,#contact .visual img{display:block!important;width:100%!important;height:100%!important;min-height:440px!important;aspect-ratio:auto!important;object-fit:cover!important;object-position:center!important;filter:none!important;}
 #contact .card-copy{padding:clamp(36px,5vw,78px)!important;display:flex!important;flex-direction:column!important;justify-content:center!important;}
 #contact h2{font:800 clamp(34px,3.5vw,56px)/1.08 Arial,Helvetica,sans-serif!important;color:var(--identity-blue)!important;min-height:0!important;margin:0 0 26px!important;}
 #contact h2 .heading-spacer{display:none!important;}
 #contact p{font-size:clamp(17px,1.45vw,22px)!important;line-height:1.45!important;}
 #contact .contact-row{margin-top:1.48em!important;}
}
@media (max-width:760px){.hero-desktop-v140{display:none!important;}}

/* v141 desktop refinement: subtle neutral columns, aligned photographs, balanced spacing. */
@media (min-width:761px) {
 .hero-desktop-photo{height:clamp(300px,60vh,580px)!important;}
 .hero-desktop-text{padding-top:clamp(32px,5vh,58px)!important;padding-bottom:clamp(42px,7vh,76px)!important;}
 .content-grid{grid-template-columns:repeat(4,minmax(0,1fr))!important;align-items:stretch!important;}
 .content-grid>#breathwork{background:#F8F5EE!important;}
 .content-grid>#about{background:#F1EFEB!important;}
 .content-grid>#sessions{background:#F6F3ED!important;}
 .content-grid>#contra{background:#FAF7F1!important;}
 .content-grid>.card:not(.contact-card){display:flex!important;flex-direction:column!important;min-width:0!important;}
 .content-grid>.card:not(.contact-card)>.visual{width:100%!important;aspect-ratio:4/3!important;height:auto!important;flex:none!important;overflow:hidden!important;}
 .content-grid>.card:not(.contact-card)>.visual picture{display:block!important;width:100%!important;height:100%!important;}
 .content-grid>.card:not(.contact-card)>.visual img{display:block!important;width:100%!important;height:100%!important;object-fit:cover!important;}
 .content-grid>.card:not(.contact-card)>.card-copy{flex:1!important;}
 #contact .card-copy{padding:clamp(48px,6vw,96px)!important;}
 #contact p{font-size:clamp(19px,1.6vw,24px)!important;line-height:1.48!important;}
}

/* v143 — desktop: panoramic flyer-style hero, centered headline area, equal photo frames */
@media(min-width:761px){
 .hero-desktop-photo{width:100%!important;height:auto!important;aspect-ratio:1536/530!important;object-fit:cover!important;object-position:center top!important;display:block!important;}
 .hero-desktop-text{box-sizing:border-box!important;width:min(100% - 12vw,1200px)!important;margin-inline:auto!important;padding:clamp(22px,3vw,42px) 0 clamp(36px,4vw,62px)!important;}
 .hero-desktop-text h1{font-size:clamp(72px,7.5vw,132px)!important;line-height:.98!important;letter-spacing:-.052em!important;font-weight:800!important;}
 .hero-desktop-text .hero-subtitle{font-size:clamp(19px,1.7vw,26px)!important;margin-top:16px!important;}
 .content-grid>.card:not(.contact-card)>.visual{height:clamp(190px,20vw,330px)!important;aspect-ratio:auto!important;flex:0 0 auto!important;}
 .content-grid>.card:not(.contact-card)>.visual picture,
 .content-grid>.card:not(.contact-card)>.visual img{height:100%!important;width:100%!important;aspect-ratio:auto!important;object-fit:cover!important;display:block!important;}
}

/* v144 — definitive equal-column / equal-image desktop grid.
   Position the <picture> and <img> against a fixed-ratio frame to override
   inherited natural-image sizing and earlier section-specific rules. */
@media (min-width:761px) {
  #content.content-grid {
    display:grid!important;
    grid-template-columns:repeat(4,minmax(0,1fr))!important;
    grid-auto-flow:row!important;
    gap:0!important;
    width:100%!important;
    align-items:stretch!important;
  }
  #content.content-grid > #breathwork,
  #content.content-grid > #about,
  #content.content-grid > #sessions,
  #content.content-grid > #contra {
    grid-column:auto!important;
    width:100%!important;
    max-width:none!important;
    min-width:0!important;
    margin:0!important;
    padding:0!important;
    display:flex!important;
    flex-direction:column!important;
    align-self:stretch!important;
  }
  #content.content-grid > #breathwork > .visual,
  #content.content-grid > #about > .visual,
  #content.content-grid > #sessions > .visual,
  #content.content-grid > #contra > .visual {
    position:relative!important;
    display:block!important;
    width:100%!important;
    max-width:none!important;
    height:auto!important;
    min-height:0!important;
    aspect-ratio:4 / 3!important;
    overflow:hidden!important;
    margin:0!important;
    padding:0!important;
    flex:0 0 auto!important;
  }
  #content.content-grid > #breathwork > .visual > picture,
  #content.content-grid > #about > .visual > picture,
  #content.content-grid > #sessions > .visual > picture,
  #content.content-grid > #contra > .visual > picture {
    position:absolute!important;
    inset:0!important;
    display:block!important;
    width:100%!important;
    height:100%!important;
    margin:0!important;
    padding:0!important;
  }
  #content.content-grid > #breathwork > .visual img,
  #content.content-grid > #about > .visual img,
  #content.content-grid > #sessions > .visual img,
  #content.content-grid > #contra > .visual img {
    position:absolute!important;
    inset:0!important;
    display:block!important;
    width:100%!important;
    height:100%!important;
    max-width:none!important;
    max-height:none!important;
    object-fit:cover!important;
    object-position:center center!important;
    aspect-ratio:auto!important;
    margin:0!important;
    padding:0!important;
  }
  #content.content-grid > #breathwork > .card-copy,
  #content.content-grid > #about > .card-copy,
  #content.content-grid > #sessions > .card-copy,
  #content.content-grid > #contra > .card-copy {
    width:100%!important;
    min-width:0!important;
    margin:0!important;
    flex:1 1 auto!important;
    padding:clamp(18px,2vw,34px)!important;
  }
}

/* v145: desktop flyer navigation, unified cards and mobile-style text actions */
@media (min-width:761px){
 body{--identity-blue:#092d8c;--identity-orange:#e5683d;}
 .site-header{position:sticky!important;top:0!important;left:auto!important;right:auto!important;z-index:1200!important;display:flex!important;align-items:center!important;justify-content:space-between!important;gap:18px!important;height:58px!important;padding:0 clamp(24px,4vw,64px)!important;background:#F8F5EE!important;color:var(--identity-blue)!important;box-shadow:0 1px 0 rgba(9,45,140,.09)!important;}
 .desktop-brand{display:block!important;color:var(--identity-orange)!important;text-decoration:none!important;font:800 16px/1 Arial,Helvetica,sans-serif!important;letter-spacing:.06em!important;white-space:nowrap!important;}
 .site-header .menu-button{display:none!important;}
 body>.main-nav{position:static!important;display:flex!important;flex-direction:row!important;align-items:center!important;justify-content:flex-end!important;gap:clamp(9px,1.2vw,21px)!important;width:auto!important;max-width:none!important;margin:0!important;padding:0!important;box-shadow:none!important;background:transparent!important;color:var(--identity-blue)!important;font:600 clamp(11px,.88vw,14px)/1.2 Arial,Helvetica,sans-serif!important;}
 body>.main-nav>a,body>.main-nav .nav-utility a,body>.main-nav .language a{color:var(--identity-blue)!important;text-decoration:none!important;white-space:nowrap!important;}
 body>.main-nav .nav-utility{display:flex!important;gap:0!important;margin:0!important;font-size:inherit!important;}
 body>.main-nav .nav-utility span,body>.main-nav .nav-utility a:last-child{display:none!important;}
 body>.main-nav .language{margin:0!important;font-size:inherit!important;white-space:nowrap!important;}
 body>.main-nav .nav-close,body>.main-nav .desktop-home{display:none!important;}
 body>.main-nav a:hover{text-decoration:underline!important;text-decoration-color:var(--identity-orange)!important;text-underline-offset:5px!important;}
 .hero-desktop-text{padding-top:clamp(8px,1.1vw,16px)!important;}
 #content.content-grid{grid-template-columns:repeat(4,minmax(0,1fr))!important;}
 #content.content-grid > #about h2{color:var(--identity-blue)!important;}
 #content.content-grid > #about h2 span{color:inherit!important;}
 #content.content-grid > .card:not(.contact-card) > .visual{aspect-ratio:4/3!important;height:auto!important;}
 #content.content-grid > .card:not(.contact-card) > .visual picture{position:absolute!important;inset:0!important;}
 #content.content-grid > .card:not(.contact-card) > .visual img{width:100%!important;height:100%!important;object-fit:cover!important;}
 #content .card .section-action-row{display:flex!important;align-items:center!important;justify-content:space-between!important;gap:8px!important;}
 #content .card .expand-button,#content .card .sessions-close-button{display:inline-flex!important;align-items:center!important;max-width:100%!important;width:auto!important;padding:3px 0 5px!important;margin:12px 0 0!important;border:0!important;border-bottom:3px solid var(--identity-orange)!important;border-radius:0!important;background:transparent!important;box-shadow:none!important;color:var(--identity-blue)!important;font:700 clamp(12px,.98vw,15px)/1.3 Arial,Helvetica,sans-serif!important;text-align:left!important;white-space:normal!important;cursor:pointer!important;}
 #content .card .expand-button:hover,#content .card .sessions-close-button:hover{color:var(--identity-orange)!important;}
 #content .card .section-action-row .section-next{display:flex!important;position:static!important;align-items:center!important;justify-content:center!important;flex:0 0 36px!important;width:36px!important;height:36px!important;transform:none!important;color:var(--identity-blue)!important;}
 #content .card .section-action-row .section-next svg{width:24px!important;height:24px!important;stroke:currentColor!important;}
}
@media(max-width:760px){.desktop-brand{display:none!important;}}

/* v146 — correct desktop header placement, flyer hero, synchronized columns */
@media(min-width:761px){
 .site-header{position:sticky!important;top:0!important;display:flex!important;flex-direction:row!important;align-items:center!important;justify-content:flex-end!important;z-index:2147483640!important;}
 .site-header .desktop-brand{display:none!important;}
 .site-header>.main-nav{position:static!important;inset:auto!important;transform:none!important;display:flex!important;visibility:visible!important;opacity:1!important;flex-direction:row!important;align-items:center!important;justify-content:flex-end!important;gap:clamp(8px,1.2vw,21px)!important;width:auto!important;height:auto!important;max-height:none!important;margin:0!important;padding:0!important;background:transparent!important;box-shadow:none!important;border:0!important;overflow:visible!important;}
 .site-header>.main-nav>a,.site-header>.main-nav .nav-utility a,.site-header>.main-nav .language a{color:#092d8c!important;text-decoration:none!important;white-space:nowrap!important;}
 .site-header>.main-nav .nav-utility{display:flex!important;margin:0!important;gap:0!important;}
 .site-header>.main-nav .nav-utility span,.site-header>.main-nav .nav-utility a:last-child,.site-header>.main-nav .nav-close,.site-header>.main-nav .desktop-home{display:none!important;}
 .site-header>.main-nav .language{margin:0!important;color:#092d8c!important;}
 .desktop-hero-image{position:relative!important;}
 .desktop-hero-label{display:block!important;position:absolute!important;left:max(6vw,calc((100vw - 1200px)/2))!important;top:clamp(18px,3vw,48px)!important;color:#e5683d!important;font:800 clamp(22px,2.6vw,42px)/1 Arial,Helvetica,sans-serif!important;letter-spacing:.055em!important;z-index:2!important;}
 #content.content-grid{align-items:stretch!important;grid-auto-rows:auto!important;}
 #content.content-grid>.card:not(.contact-card){align-self:stretch!important;height:auto!important;}
 #content.content-grid>#about .card-copy p,#content.content-grid>#about .card-copy li{color:#092d8c!important;}
 #content.content-grid>.card:not(.contact-card) h2{font-size:clamp(17px,1.65vw,29px)!important;letter-spacing:-.045em!important;line-height:1.12!important;white-space:nowrap!important;overflow:visible!important;}
 #content.content-grid>.card:not(.contact-card) h2 .heading-line{display:inline!important;white-space:nowrap!important;}
 #content .section-next,.hero-next-mobile,.hero .down{display:none!important;}
}
@media(max-width:760px){.desktop-hero-label{display:none!important;}}

/* v147: desktop navigation overlays the hero photo; no cream navigation strip */
@media(min-width:761px){
 body:not(.legal-page) .site-header{position:absolute!important;top:0!important;left:0!important;right:0!important;width:100%!important;height:70px!important;background:transparent!important;box-shadow:none!important;border:0!important;z-index:2147483640!important;padding:0 clamp(24px,4vw,64px)!important;}
 body:not(.legal-page) .site-header>.main-nav>a,
 body:not(.legal-page) .site-header>.main-nav .nav-utility a,
 body:not(.legal-page) .site-header>.main-nav .language a,
 body:not(.legal-page) .site-header>.main-nav .language{color:#fff!important;text-shadow:0 1px 5px rgba(0,0,0,.55)!important;}
 body:not(.legal-page) .site-header>.main-nav .active-language{color:#fff!important;}
}

/* v148: two-row photo-overlay navigation, compact headline, unified card heights, contact footer */
@media(min-width:761px){
 body:not(.legal-page) .site-header{height:104px!important;align-items:flex-start!important;padding-top:17px!important;padding-right:clamp(24px,4vw,64px)!important;}
 .site-header>.main-nav{display:flex!important;flex-direction:column!important;align-items:flex-end!important;justify-content:flex-start!important;gap:11px!important;width:auto!important;}
 .site-header>.main-nav .nav-primary,.site-header>.main-nav .nav-secondary{display:flex!important;flex-direction:row!important;justify-content:flex-end!important;align-items:center!important;gap:clamp(12px,1.35vw,23px)!important;}
 .site-header>.main-nav .nav-primary a,.site-header>.main-nav .nav-secondary a,.site-header>.main-nav .nav-secondary span{color:white!important;text-decoration:none!important;font:600 clamp(11px,.9vw,14px)/1.25 Arial,sans-serif!important;text-shadow:0 1px 5px rgba(0,0,0,.6)!important;white-space:nowrap!important;}
 .site-header>.main-nav .nav-primary .desktop-home{display:none!important;}
 .desktop-hero-label{left:clamp(30px,5vw,90px)!important;top:clamp(18px,3vw,48px)!important;}
 .hero-desktop-text h1{font-size:clamp(60px,6.5vw,112px)!important;}
 #content .section-next,#content .section-next svg,.hero-next-mobile,.hero .down{display:none!important;visibility:hidden!important;}
 #content.content-grid>.card:not(.contact-card) .card-copy{display:flex!important;flex-direction:column!important;}
 #content.content-grid>.card:not(.contact-card) .section-action-row{margin-top:auto!important;}
 #content.content-grid>.card:not(.contact-card) h2{font-size:clamp(16px,1.58vw,27px)!important;letter-spacing:-.05em!important;}
 body>.new-footer{background:#081d3f!important;color:#f8f5ee!important;padding:55px 5vw 65px!important;}
 .new-footer .footer-inner{max-width:900px;margin:0 auto;display:grid;grid-template-columns:1fr 1.35fr;gap:90px;align-items:start;}
 .new-footer p{font:400 16px/1.6 Arial,sans-serif;margin:0 0 22px;}
 .new-footer h2{font:400 24px/1.2 Arial,sans-serif;margin:0 0 16px;}
 .new-footer a{color:inherit!important;text-decoration:none!important;}
 .new-footer a:hover{text-decoration:underline!important;}
}
@media(max-width:760px){
 .site-header>.main-nav .nav-primary,.site-header>.main-nav .nav-secondary{display:contents!important;}
 body>.new-footer{background:#081d3f!important;color:#f8f5ee!important;padding:32px 24px 44px!important;}
 .new-footer .footer-inner{display:grid;gap:24px;}
 .new-footer p{font:400 15px/1.55 Arial,sans-serif;margin:0 0 16px;}
 .new-footer h2{font:600 22px/1.3 Arial,sans-serif;margin:0 0 14px;}
 .new-footer a{color:inherit!important;}
}

/* v149: desktop-only fixes; retain mobile contact layout */
@media(min-width:761px){
 #content .card .section-action-row{margin-top:20px!important;}
 #content .card .expand-button,#content .card .sessions-close-button{font-size:clamp(14px,1.15vw,18px)!important;font-weight:800!important;}
 #content .card .expand-button,#content .card .sessions-close-button{letter-spacing:-.01em!important;}
 #content #contra .card-copy a{color:#092d8c!important;font-weight:700!important;}
 #content #contact,body>footer{display:none!important;}
 .desktop-contact-footer{display:grid;grid-template-columns:1fr 1fr;background:#081d3f;color:#f8f5ee;min-height:400px;}
 .desktop-contact-photo{min-height:400px;overflow:hidden;}
 .desktop-contact-photo img{width:100%;height:100%;display:block;object-fit:cover;object-position:center 48%;}
 .desktop-contact-copy{padding:clamp(38px,5vw,85px);display:flex;flex-direction:column;justify-content:center;align-items:flex-start;}
 .desktop-contact-copy h2{color:#f8f5ee!important;font:700 clamp(28px,2.5vw,42px)/1.1 Arial,sans-serif!important;margin:0 0 22px!important;}
 .desktop-contact-copy p{color:#f8f5ee!important;font:400 clamp(15px,1.13vw,18px)/1.55 Arial,sans-serif!important;max-width:430px;margin:0 0 24px;}
 .desktop-contact-copy a{color:inherit!important;text-decoration:none;border-bottom:1px solid #e5683d;}
 .desktop-contact-copy .desktop-legal{font-size:13px!important;opacity:.85;margin-top:18px;}
}
@media(max-width:760px){.desktop-contact-footer{display:none!important;}}

/* v150 — hide the opening control after expansion; text continues directly */
#sessions .languages-row[hidden]{display:none!important;}
#sessions .languages-row:has(.sessions-open-button[aria-expanded="true"]){display:none!important;}
#sessions #sessions-more.open{margin-top:0!important;}
#sessions #sessions-more.open>p:first-child{margin-top:0!important;}
@media(min-width:761px){
 #sessions .card-copy>.section-action-row.languages-row{margin-top:0!important;}
 #sessions .card-copy>.section-action-row.languages-row[hidden]{display:none!important;}
 #sessions #sessions-more.open{margin-top:0!important;}
 #sessions #sessions-more .sessions-bottom-row{margin-top:16px!important;}
}

/* v151 — desktop hero and contact layout */
@media(min-width:761px){
 .desktop-hero-image .hero-desktop-photo{aspect-ratio:1536/503!important;width:100%!important;height:auto!important;object-fit:cover!important;object-position:center!important;}
 .desktop-hero-label{left:max(6vw,calc((100vw - 1200px)/2))!important;top:clamp(20px,2.5vw,38px)!important;font-size:clamp(18px,1.65vw,26px)!important;letter-spacing:.045em!important;}
 body:not(.legal-page) .site-header{height:110px!important;padding:24px max(6vw,calc((100vw - 1200px)/2)) 0!important;}
 .site-header>.main-nav{gap:12px!important;}
 .site-header>.main-nav .nav-primary,.site-header>.main-nav .nav-secondary{gap:clamp(13px,1.4vw,24px)!important;}
 .site-header>.main-nav .nav-primary a,.site-header>.main-nav .nav-secondary a,.site-header>.main-nav .nav-secondary span{font-size:clamp(12px,.95vw,15px)!important;}
 #sessions h2 .heading-line{display:inline!important;}
 #sessions h2 .heading-line + .heading-line::before{content:' '!important;white-space:pre!important;}
 .desktop-contact-footer{grid-template-columns:1fr 1fr!important;min-height:0!important;align-items:stretch!important;background:#f6f3ed!important;}
 .desktop-contact-photo{min-height:0!important;height:clamp(420px,42vw,640px)!important;}
 .desktop-contact-photo img{height:100%!important;width:100%!important;object-fit:cover!important;object-position:center center!important;}
 .desktop-contact-copy{background:#f6f3ed!important;color:#092d8c!important;padding:clamp(32px,4.5vw,76px)!important;}
 .desktop-contact-copy h2{color:#092d8c!important;}
 .desktop-contact-copy p{color:#092d8c!important;}
 .desktop-legal-strip{background:#071b3f;color:#fff;display:flex;align-items:center;justify-content:space-between;gap:24px;padding:24px max(6vw,calc((100vw - 1200px)/2));font:400 14px/1.5 Arial,Helvetica,sans-serif;}
 .desktop-legal-strip a{color:#fff;text-decoration:none;border-bottom:1px solid #e5683d;}
}
@media(max-width:760px){.desktop-legal-strip{display:none!important;}}

/* v152 desktop: floating legal-style hamburger, uncropped contact image and pale-blue contact panel */
@media(min-width:761px){
 body:not(.legal-page) .site-header>.main-nav,body:not(.legal-page) .site-header>.menu-button{display:none!important;}
 .desktop-legal-menu{display:flex!important;position:fixed!important;top:18px!important;right:20px!important;z-index:2147483645!important;width:46px!important;height:46px!important;border:0!important;border-radius:50%!important;background:rgba(55,55,55,.30)!important;align-items:center!important;justify-content:center!important;cursor:pointer!important;}
 .desktop-legal-menu .bars,.desktop-legal-menu .bars::before,.desktop-legal-menu .bars::after{display:block!important;width:20px!important;height:2px!important;background:white!important;border-radius:2px!important;content:''!important;position:relative!important;}
 .desktop-legal-menu .bars::before{position:absolute!important;top:-6px!important;left:0!important;}.desktop-legal-menu .bars::after{position:absolute!important;top:6px!important;left:0!important;}
 .desktop-menu-overlay{display:none!important;position:fixed!important;inset:0!important;z-index:2147483644!important;background:rgba(8,25,65,.38)!important;align-items:flex-start!important;justify-content:flex-end!important;padding:84px 28px 24px!important;}
 .desktop-menu-overlay.open{display:flex!important;}
 .desktop-menu-overlay nav{position:relative!important;background:#f8f5ee!important;box-shadow:0 14px 35px rgba(0,0,0,.22)!important;padding:66px 34px 30px!important;display:flex!important;flex-direction:column!important;align-items:flex-start!important;gap:15px!important;width:min(360px,calc(100vw - 56px))!important;max-height:calc(100vh - 108px)!important;overflow:auto!important;}
 .desktop-menu-overlay nav>a{font:400 20px/1.35 Arial,Helvetica,sans-serif!important;color:#092d8c!important;text-decoration:none!important;}
 .desktop-menu-overlay .legal-menu-utility{font:400 14px/1.5 Arial,sans-serif!important;margin-top:10px!important;white-space:nowrap!important;color:#092d8c!important;}
 .desktop-menu-overlay .legal-menu-utility a,.desktop-menu-overlay .legal-menu-lang a{font:400 14px/1.5 Arial,sans-serif!important;color:#092d8c!important;text-decoration:none!important;}
 .desktop-menu-overlay .legal-menu-lang{font:400 15px/1.5 Arial,sans-serif!important;color:#092d8c!important;}
 .desktop-menu-overlay .legal-menu-close{position:absolute!important;right:15px!important;top:10px!important;border:0!important;background:transparent!important;color:#e36f4b!important;font:400 32px/1 Arial,sans-serif!important;cursor:pointer!important;}
 .desktop-hero-label{left:clamp(30px,4vw,65px)!important;font-size:clamp(20px,1.8vw,29px)!important;}
 .desktop-contact-footer{background:#dce9f5!important;grid-template-columns:1fr 1fr!important;align-items:stretch!important;min-height:0!important;}
 .desktop-contact-photo{height:auto!important;min-height:0!important;overflow:visible!important;}
 .desktop-contact-photo img{width:100%!important;height:auto!important;object-fit:contain!important;display:block!important;transform:none!important;}
 .desktop-contact-copy{background:#dce9f5!important;color:#092d8c!important;padding:clamp(28px,4vw,70px)!important;}
 .desktop-contact-copy h2,.desktop-contact-copy p{color:#092d8c!important;}
}
@media(max-width:760px){.desktop-legal-menu,.desktop-menu-overlay{display:none!important;}}

/* v153: balanced desktop hamburger, unified menu rhythm, compact hero and footer */
@media(min-width:761px){
 .desktop-contact-footer,.desktop-contact-copy{background:#c4d3df!important;}
 .desktop-legal-menu{display:grid!important;place-items:center!important;padding:0!important;box-sizing:border-box!important;}
 .desktop-legal-menu .bars{position:relative!important;display:block!important;flex:none!important;margin:0!important;transform:none!important;width:22px!important;height:2px!important;top:auto!important;left:auto!important;}
 .desktop-legal-menu .bars::before,.desktop-legal-menu .bars::after{width:22px!important;height:2px!important;left:0!important;}
 .desktop-menu-overlay nav{gap:0!important;padding:54px 34px 30px!important;}
 .desktop-menu-overlay nav>a{display:block!important;font:400 20px/1.35 Arial,Helvetica,sans-serif!important;margin:0!important;padding:9px 0!important;color:#092d8c!important;}
 .desktop-menu-overlay .legal-menu-lang{font:400 20px/1.35 Arial,Helvetica,sans-serif!important;margin:0!important;padding:9px 0!important;}
 .desktop-menu-overlay .legal-menu-lang a,.desktop-menu-overlay .legal-menu-lang span{font:inherit!important;color:#092d8c!important;}
 .hero-desktop-text{padding-top:clamp(10px,1.2vw,18px)!important;padding-bottom:clamp(15px,2vw,28px)!important;}
 .hero-desktop-text .desktop-hero-meta{display:flex!important;align-items:baseline!important;gap:clamp(12px,2vw,30px)!important;flex-wrap:wrap!important;margin-top:9px!important;}
 .hero-desktop-text .desktop-hero-meta p{margin:0!important;}
 .hero-desktop-text .desktop-hero-meta .hero-subtitle{font-size:clamp(17px,1.35vw,22px)!important;}
 .hero-desktop-text .desktop-hero-meta .hero-identity{font-size:clamp(10px,.85vw,13px)!important;white-space:nowrap!important;}
 .desktop-legal-strip{justify-content:center!important;gap:clamp(45px,7vw,120px)!important;}
}

/* v154: user-provided shallower desktop hero crop */
@media(min-width:761px){
 .hero-desktop-photo{aspect-ratio:1536/480!important;width:100%!important;height:auto!important;object-fit:contain!important;display:block!important;}
 .desktop-hero-image{height:auto!important;aspect-ratio:1536/480!important;overflow:hidden!important;}
}

/* v155: desktop label and hamburger only */
@media(min-width:761px){
 .desktop-hero-label{left:max(6vw,calc((100vw - 1200px)/2))!important;top:clamp(20px,2.5vw,38px)!important;font-size:clamp(25px,2.25vw,36px)!important;letter-spacing:.045em!important;}
 .desktop-legal-menu{width:56px!important;height:56px!important;right:24px!important;top:18px!important;background:rgba(20,39,75,.42)!important;display:grid!important;place-items:center!important;padding:0!important;}
 .desktop-legal-menu .bars,.desktop-legal-menu .bars::before,.desktop-legal-menu .bars::after{width:27px!important;height:3px!important;border-radius:3px!important;}
 .desktop-legal-menu .bars::before{top:-8px!important;left:0!important;}
 .desktop-legal-menu .bars::after{top:8px!important;left:0!important;}
}

/* v156 — stronger mobile-inspired typography on desktop, no mobile changes */
@media (min-width:761px){
 .hero-desktop-text h1{font-size:clamp(66px,7.3vw,124px)!important;font-weight:800!important;line-height:.98!important;letter-spacing:-.058em!important;}
 #content.content-grid>.card:not(.contact-card) h2{font-size:clamp(15px,1.67vw,27px)!important;font-weight:800!important;line-height:1.05!important;letter-spacing:-.052em!important;white-space:nowrap!important;}
 #content.content-grid>.card:not(.contact-card) h2 .heading-line{display:inline!important;white-space:nowrap!important;}
 .desktop-contact-copy h2{font-weight:800!important;font-size:clamp(36px,3.5vw,56px)!important;letter-spacing:-.05em!important;line-height:1.02!important;}
}

/* v157 — Roboto throughout, stronger floating desktop hamburger, Contact color, balanced legal links */
body,button,input,textarea,select{font-family:Roboto,Arial,Helvetica,sans-serif!important;}
@media(min-width:761px){
 .hero-desktop-text h1,#content.content-grid>.card:not(.contact-card) h2,.desktop-contact-copy h2{font-family:Roboto,Arial,Helvetica,sans-serif!important;}
 .desktop-hero-label{font-family:Roboto,Arial,Helvetica,sans-serif!important;}
 .desktop-legal-menu{width:62px!important;height:62px!important;top:16px!important;right:22px!important;background:rgba(243,247,251,.26)!important;box-shadow:0 1px 7px rgba(0,0,0,.08)!important;}
 .desktop-legal-menu .bars,.desktop-legal-menu .bars::before,.desktop-legal-menu .bars::after{width:29px!important;height:3px!important;background:#fff!important;}
 .desktop-legal-menu .bars::before{top:-9px!important;}.desktop-legal-menu .bars::after{top:9px!important;}
 .desktop-contact-footer,.desktop-contact-copy{background:#b2bdcc!important;}
 .desktop-menu-overlay nav>a,.desktop-menu-overlay .legal-menu-lang,.desktop-menu-overlay .legal-menu-utility,.desktop-menu-overlay .legal-menu-utility a{font-family:Roboto,Arial,sans-serif!important;}
 .desktop-contact-copy p{font-family:Roboto,Arial,sans-serif!important;}
 .desktop-legal-strip{justify-content:center!important;gap:clamp(55px,9vw,150px)!important;}
 .desktop-legal-strip a{font-family:Roboto,Arial,sans-serif!important;}
}

/* v158 — user supplied exact crops, heavier Roboto, compact legal footer */
@media(min-width:761px){
 .desktop-hero-image{height:auto!important;aspect-ratio:1536/469!important;overflow:hidden!important;}
 .desktop-hero-image .hero-desktop-photo{display:block!important;width:100%!important;height:auto!important;aspect-ratio:1536/469!important;object-fit:contain!important;}
 .desktop-contact-photo{height:auto!important;min-height:0!important;overflow:visible!important;}
 .desktop-contact-photo img{display:block!important;width:100%!important;height:auto!important;object-fit:contain!important;object-position:center!important;}
 .desktop-hero-label{font-weight:700!important;}
 .hero-desktop-text h1{font-family:Geist,Roboto,Arial,Helvetica,sans-serif!important;font-weight:900!important;letter-spacing:-.055em!important;}
 .hero-desktop-text .hero-subtitle{font-weight:600!important;}
 .desktop-contact-copy h2{font-weight:900!important;}
 .desktop-legal-strip{display:flex!important;justify-content:center!important;align-items:center!important;gap:clamp(16px,2.7vw,42px)!important;padding:12px 20px!important;min-height:0!important;font-size:13px!important;line-height:1.3!important;}
 .desktop-legal-strip span,.desktop-legal-strip a{white-space:nowrap!important;}
}

/* v160 — desktop-only requested refinements */
@media(min-width:761px){
 .desktop-legal-menu{right:46px!important;}
 .hero-desktop-text .desktop-hero-meta .hero-identity{font-size:clamp(13px,1.1vw,17px)!important;}
 #content.content-grid>.card:not(.contact-card) h2,.desktop-contact-copy h2{font-family:Geist,Roboto,Arial,Helvetica,sans-serif!important;}
 .desktop-legal-strip{gap:0!important;justify-content:center!important;}
 .desktop-legal-strip a{font-family:Roboto,Arial,sans-serif!important;text-decoration:none!important;border:0!important;background:none!important;box-shadow:none!important;}
 .desktop-legal-strip a:first-child{margin-right:24px!important;}
 .desktop-legal-strip a:last-child{margin-left:24px!important;}
 .desktop-legal-strip a::before,.desktop-legal-strip a::after{display:none!important;}
}

/* v161: explicit desktop Geist headline/section headings; compact centred legal links */
@media (min-width:761px){
 .hero-desktop-text h1{font-family:"Geist",Arial,sans-serif!important;font-weight:900!important;}
 #content.content-grid>.card:not(.contact-card) h2,.desktop-contact-copy h2{font-family:"Geist",Arial,sans-serif!important;font-weight:700!important;}
 .desktop-legal-strip{gap:18px!important;justify-content:center!important;}
 .desktop-legal-strip a:first-child,.desktop-legal-strip a:last-child{margin:0!important;}
}

/* v163: locally hosted Geist for desktop typography; no network dependency */
@font-face{font-family:"Geist Local";src:url("../fonts/Geist-Regular.woff2") format("woff2");font-style:normal;font-weight:400;font-display:swap;}
@font-face{font-family:"Geist Local";src:url("../fonts/Geist-Medium.woff2") format("woff2");font-style:normal;font-weight:500;font-display:swap;}
@font-face{font-family:"Geist Local";src:url("../fonts/Geist-SemiBold.woff2") format("woff2");font-style:normal;font-weight:600;font-display:swap;}
@font-face{font-family:"Geist Local";src:url("../fonts/Geist-Bold.woff2") format("woff2");font-style:normal;font-weight:700;font-display:swap;}
@font-face{font-family:"Geist Local";src:url("../fonts/Geist-ExtraBold.woff2") format("woff2");font-style:normal;font-weight:800;font-display:swap;}
@font-face{font-family:"Geist Local";src:url("../fonts/Geist-Black.woff2") format("woff2");font-style:normal;font-weight:900;font-display:swap;}
@media(min-width:761px){
 .hero-desktop-text h1{font-family:"Geist Local",sans-serif!important;font-weight:900!important;letter-spacing:-.025em!important;}
 #content.content-grid>.card:not(.contact-card) h2,.desktop-contact-copy h2{font-family:"Geist Local",sans-serif!important;font-weight:700!important;}
 #content.content-grid>.card:not(.contact-card) h2{font-size:clamp(18px,1.85vw,30px)!important;letter-spacing:-.0235em!important;}
 .desktop-legal-menu{width:77.5px!important;height:77.5px!important;top:clamp(20px,2.5vw,38px)!important;}
 .desktop-legal-menu .bars,.desktop-legal-menu .bars::before,.desktop-legal-menu .bars::after{width:36.25px!important;height:3.75px!important;}
 .desktop-legal-menu .bars::before{top:-11.25px!important;}
 .desktop-legal-menu .bars::after{top:11.25px!important;}
}

/* v166: desktop-only refinements */
@media(min-width:761px){
 #content .card .expand-button,#content .card .sessions-close-button{font-weight:600!important;}
 .desktop-contact-footer,.desktop-contact-copy{background:#a6b8dc!important;}
}

/* v167: targeted desktop refinements */
@media (min-width:761px){
 .desktop-contact-details a[href^="mailto:"]{text-decoration-line:underline!important;text-decoration-color:#df6c4c!important;text-decoration-thickness:3px!important;text-underline-offset:4px!important;}
 #content .card .expand-button,#content .card .sessions-close-button{font-family:"Geist Local",sans-serif!important;font-weight:600!important;}
 #content .card .expand-button{ /* arrows are text glyphs; use a bolder arrow font fallback */ }
 body.legal-page>.legal-floating-menu{display:grid!important;place-items:center!important;box-sizing:border-box!important;top:clamp(20px,2.5vw,38px)!important;right:46px!important;width:77.5px!important;height:77.5px!important;padding:0!important;border-radius:50%!important;background:rgba(243,247,251,.26)!important;box-shadow:0 1px 7px rgba(0,0,0,.08)!important;}
 body.legal-page>.legal-floating-menu .bars{position:relative!important;display:block!important;left:auto!important;top:auto!important;width:36.25px!important;height:3.75px!important;background:#fff!important;border-radius:3px!important;}
 body.legal-page>.legal-floating-menu .bars::before,body.legal-page>.legal-floating-menu .bars::after{content:""!important;position:absolute!important;left:0!important;width:36.25px!important;height:3.75px!important;background:#fff!important;border-radius:3px!important;}
 body.legal-page>.legal-floating-menu .bars::before{top:-11.25px!important;}
 body.legal-page>.legal-floating-menu .bars::after{top:11.25px!important;}
}

@media(min-width:761px){#content .expansion-arrow{font-family:Arial,sans-serif!important;font-weight:900!important;-webkit-text-stroke:.45px currentColor!important;display:inline-block!important;}}

/* v168: consistent desktop expansion links and contact underline */
@media (min-width:761px){
 #content .card .expand-button, #content .card .sessions-close-button{ text-decoration:none!important; text-decoration-line:none!important; }
 #contra a[href="#contact"]{text-decoration-thickness:2.5px!important;text-decoration-color:#df6c4c!important;}
 #content .expansion-arrow{font-family:Arial,sans-serif!important;font-weight:900!important;-webkit-text-stroke:.45px currentColor!important;display:inline-block!important;}
}

/* v169: consistent unembellished arrows, continuous email rule, Geist legal headings and footer links */
@media(min-width:761px){
 #content .expansion-arrow{font-family:"Geist Local",sans-serif!important;font-weight:600!important;-webkit-text-stroke:0!important;text-decoration:none!important;display:inline-block!important;}
 .desktop-contact-details a[href^="mailto:"]{text-decoration:none!important;border-bottom:3px solid #df6c4c!important;padding-bottom:3px!important;}
 .desktop-legal-strip a{font-family:"Geist Local",sans-serif!important;font-size:15px!important;font-weight:500!important;}
}
body.legal-page .legal h1{font-family:"Geist Local",sans-serif!important;font-weight:900!important;}

/* v170 — desktop-only spacing refinements */
@media(min-width:761px){
 #content .expansion-arrow{margin-left:5px!important;}
 .desktop-legal-menu{right:24px!important;}
 body.legal-page>.legal-floating-menu{right:24px!important;}
 .desktop-hero-label{letter-spacing:.065em!important;}
}

/* v171: restore v169 hamburger inset and tighten only the first sessions paragraph gap */
@media(min-width:761px){
 .desktop-legal-menu{right:46px!important;}
 body.legal-page>.legal-floating-menu{right:46px!important;}
 #sessions .card-copy>p:first-of-type{margin-bottom:0.35em!important;}
}

/* v173: consistent English and legal-page desktop navigation */
@media (min-width:761px) {
 body.legal-page .legal-menu-overlay nav {display:flex!important;flex-direction:column!important;align-items:flex-start!important;gap:0!important;padding:54px 34px 30px!important;}
 body.legal-page .legal-menu-overlay nav>a {display:block!important;font:400 20px/1.35 Geist,Arial,sans-serif!important;margin:0!important;padding:9px 0!important;color:#092d8c!important;text-decoration:none!important;}
 body.legal-page .legal-menu-overlay .legal-menu-lang {font:400 20px/1.35 Geist,Arial,sans-serif!important;margin:0!important;padding:9px 0!important;}
 body.legal-page .legal-menu-overlay .legal-menu-lang a,body.legal-page .legal-menu-overlay .legal-menu-lang span {font:inherit!important;color:#092d8c!important;}
 .desktop-menu-overlay nav>a,.desktop-menu-overlay .legal-menu-lang,.desktop-menu-overlay .legal-menu-lang a {font-family:Geist,Arial,sans-serif!important;}
}

/* v175: restore intended mobile-only navigation, Kontakt photo and compact footer. */
@media(min-width:761px){.mobile-contact,.mobile-footer{display:none!important;}}
@media(max-width:760px){
  body>.new-footer{display:none!important;}
  .site-header>.main-nav.open{display:flex!important;flex-direction:column!important;align-items:flex-start!important;gap:0!important;width:min(300px,calc(100vw - 32px))!important;}
  .site-header>.main-nav .nav-primary,.site-header>.main-nav .nav-secondary{display:contents!important;}
  .site-header>.main-nav a,.site-header>.main-nav .language{display:block!important;width:auto!important;flex:none!important;white-space:normal!important;font:400 18px/1.35 Arial,sans-serif!important;padding:4px 0!important;margin:0!important;text-decoration:none!important;color:#26352f!important;}
  .site-header>.main-nav .language a,.site-header>.main-nav .language span{display:inline!important;font:inherit!important;padding:0!important;}
  .site-header>.main-nav .nav-primary .desktop-home{display:block!important;}
  .site-header>.main-nav .nav-close{position:absolute!important;top:6px!important;right:10px!important;}
  #contact.mobile-contact{display:flex!important;flex-direction:column!important;height:auto!important;min-height:0!important;background:#f6f0e5!important;color:#07347c!important;}
  #contact.mobile-contact .visual{display:block!important;order:1!important;width:100%!important;height:auto!important;min-height:0!important;max-height:none!important;flex:none!important;aspect-ratio:auto!important;overflow:hidden!important;}
  #contact.mobile-contact .visual img{display:block!important;width:100%!important;height:auto!important;object-fit:contain!important;filter:none!important;}
  #contact.mobile-contact .card-copy{position:relative!important;order:2!important;display:block!important;padding:20px 20px 30px!important;background:#f6f0e5!important;}
  #contact.mobile-contact h2{font-size:34px!important;font-weight:800!important;line-height:1.05!important;margin:0 0 14px!important;color:#07347c!important;}
  #contact.mobile-contact p{font-size:16px!important;line-height:1.5!important;margin:0 0 20px!important;color:#07347c!important;}
  #contact.mobile-contact p:last-of-type{margin:0!important;}
  #contact.mobile-contact a[href^="mailto"]{color:#07347c!important;text-decoration:none!important;border-bottom:2px solid #df6c4c!important;}
  #contact.mobile-contact .contact-top{position:absolute;right:20px;bottom:24px;color:#07347c!important;font-size:38px;text-decoration:none;line-height:1;}
  body>.mobile-footer{display:flex!important;align-items:center!important;justify-content:center!important;gap:14px!important;flex-wrap:nowrap!important;background:#07347c!important;color:#f6f0e5!important;padding:17px 12px!important;min-height:56px!important;height:auto!important;font:400 13px/1.3 Arial,sans-serif!important;white-space:nowrap!important;}
  body>.mobile-footer a{color:inherit!important;text-decoration:none!important;}
  body>.mobile-footer .active-language{border-bottom:2px solid #df6c4c;padding-bottom:2px;}
}

/* v176: mobile Kontakt and its footer share one visible viewport. */
@media(max-width:760px){
 #contact.mobile-contact{height:calc(100svh - 56px)!important;min-height:0!important;overflow:hidden!important;}
 #contact.mobile-contact .visual{height:0!important;flex:1 1 0!important;min-height:0!important;aspect-ratio:auto!important;}
 #contact.mobile-contact .visual img{height:100%!important;width:100%!important;object-fit:cover!important;object-position:center 44%!important;}
 #contact.mobile-contact .card-copy{flex:0 0 auto!important;padding:16px 20px 22px!important;}
 #contact.mobile-contact h2{margin-bottom:10px!important;}
 #contact.mobile-contact p{margin-bottom:12px!important;}
 #contact.mobile-contact .contact-top{bottom:18px!important;}
 body>.mobile-footer{height:56px!important;min-height:56px!important;padding:10px 12px!important;}
}

/* v177: mobile menu is moved by JavaScript to BODY, not inside site-header. */
@media (max-width:760px){
 body>.main-nav.open{display:flex!important;flex-direction:column!important;align-items:stretch!important;justify-content:flex-start!important;gap:0!important;box-sizing:border-box!important;width:min(310px,calc(100vw - 32px))!important;padding:43px 24px 22px!important;overflow-y:auto!important;}
 body>.main-nav .nav-primary,body>.main-nav .nav-secondary{display:flex!important;flex-direction:column!important;align-items:stretch!important;justify-content:flex-start!important;gap:0!important;width:100%!important;margin:0!important;padding:0!important;}
 body>.main-nav .nav-primary>a,body>.main-nav .nav-secondary>a,body>.main-nav .nav-secondary>.language{display:block!important;position:static!important;float:none!important;flex:none!important;width:100%!important;box-sizing:border-box!important;margin:0!important;padding:7px 0!important;white-space:normal!important;font:400 18px/1.3 "Geist Local",Arial,sans-serif!important;text-align:left!important;text-decoration:none!important;color:#26352f!important;text-shadow:none!important;}
 body>.main-nav .nav-secondary>.language a,body>.main-nav .nav-secondary>.language span{display:inline!important;width:auto!important;padding:0!important;margin:0!important;font:inherit!important;color:inherit!important;text-shadow:none!important;}
 body>.main-nav .nav-primary>.desktop-home{display:block!important;}
 body>.main-nav .nav-close{display:block!important;position:absolute!important;top:5px!important;right:10px!important;}
}

/* v178: narrower mobile menu; preserve complete uncropped contact image. */
@media(max-width:760px){
 body>.main-nav.open{width:min(270px,calc(100vw - 40px))!important;padding-left:20px!important;padding-right:20px!important;}
 #contact.mobile-contact{height:auto!important;min-height:0!important;overflow:visible!important;}
 #contact.mobile-contact .visual{height:auto!important;flex:none!important;min-height:0!important;aspect-ratio:auto!important;overflow:visible!important;}
 #contact.mobile-contact .visual img{height:auto!important;width:100%!important;object-fit:contain!important;object-position:center!important;}
}

/* v179 — fit the entire uncropped contact photo, copy and footer in the mobile viewport. */
@media(max-width:760px){
 #contact.mobile-contact{height:calc(100svh - 56px)!important;min-height:0!important;overflow:hidden!important;display:flex!important;flex-direction:column!important;}
 #contact.mobile-contact .visual{height:0!important;min-height:0!important;flex:1 1 0!important;display:flex!important;align-items:center!important;justify-content:center!important;overflow:hidden!important;}
 #contact.mobile-contact .visual img{width:auto!important;max-width:100%!important;height:100%!important;max-height:100%!important;object-fit:contain!important;object-position:center!important;}
 #contact.mobile-contact .card-copy{flex:0 0 auto!important;padding:12px 20px 10px!important;}
 #contact.mobile-contact h2{margin-bottom:8px!important;}
 #contact.mobile-contact p{margin-bottom:9px!important;}
 #contact.mobile-contact p:last-of-type{margin-bottom:0!important;}
 #contact.mobile-contact .contact-top{bottom:12px!important;}
 #contact-scroll-buffer{height:0!important;max-height:0!important;}
}

/* v180: match the actual visible mobile viewport across browser toolbars. */
@media(max-width:760px){
 #contact.mobile-contact{height:calc(var(--contact-visible-height, 100dvh) - var(--contact-footer-height, 56px))!important;}
 #contact.mobile-contact .visual{background:#07347c!important;}
 #contact.mobile-contact .visual img{display:block!important;}
}

/* v181: compact menu; uncropped contact photograph without letterboxing. */
@media(max-width:760px){
 body>.main-nav.open{width:min(244px,calc(100vw - 44px))!important;padding:40px 16px 17px!important;}
 body>.main-nav .nav-primary>a,body>.main-nav .nav-secondary>a,body>.main-nav .nav-secondary>.language{font-size:17px!important;padding:6px 0!important;}
 #contact.mobile-contact{height:auto!important;min-height:0!important;overflow:visible!important;display:flex!important;flex-direction:column!important;}
 #contact.mobile-contact .visual{height:auto!important;flex:0 0 auto!important;display:block!important;overflow:visible!important;background:transparent!important;}
 #contact.mobile-contact .visual img{display:block!important;width:100%!important;height:auto!important;max-width:none!important;max-height:none!important;object-fit:contain!important;}
 #contact-scroll-buffer{height:0!important;max-height:0!important;}
}

/* v182 — compact, consistent mobile menus and contact/footer viewport unit. */
@media(max-width:760px){
 body>.main-nav.open{width:min(244px,calc(100vw - 44px))!important;padding:12px 16px 16px!important;}
 body>.main-nav .nav-primary>a,body>.main-nav .nav-secondary>a,body>.main-nav .nav-secondary>.language,
 body>.main-nav .nav-secondary>.language a,body>.main-nav .nav-secondary>.language span{color:#26352f!important;}
 body>.main-nav .nav-primary>a:first-child{padding-top:0!important;}
 body>.main-nav .nav-close{position:relative!important;align-self:flex-end!important;top:auto!important;right:auto!important;order:-1!important;margin:0 0 -34px 0!important;}
 body>.main-nav .nav-primary{padding-top:0!important;}
 body>.main-nav .nav-primary>a:first-child{padding-right:32px!important;}
 body.legal-page>.legal-menu-overlay.open nav{width:min(244px,calc(100vw - 44px))!important;box-sizing:border-box!important;padding:12px 16px 16px!important;}
 body.legal-page>.legal-menu-overlay.open nav>a,body.legal-page>.legal-menu-overlay.open .legal-menu-lang,
 body.legal-page>.legal-menu-overlay.open .legal-menu-lang a,body.legal-page>.legal-menu-overlay.open .legal-menu-lang span{color:#26352f!important;font-family:"Geist Local",Arial,sans-serif!important;font-size:17px!important;line-height:1.3!important;}
 body.legal-page>.legal-menu-overlay.open nav>a{padding:6px 0!important;}
 body.legal-page>.legal-menu-overlay.open nav>a:first-of-type{padding-top:0!important;padding-right:32px!important;}
 body.legal-page>.legal-menu-overlay.open .legal-menu-close{position:relative!important;align-self:flex-end!important;top:auto!important;right:auto!important;margin:0 0 -34px 0!important;}
 #contact.mobile-contact{height:calc(var(--contact-visible-height,100dvh) - var(--contact-footer-height,56px))!important;min-height:0!important;overflow:hidden!important;display:flex!important;flex-direction:column!important;}
 #contact.mobile-contact .visual{height:0!important;min-height:0!important;flex:1 1 0!important;display:flex!important;align-items:center!important;justify-content:center!important;overflow:hidden!important;background:#f6f0e5!important;}
 #contact.mobile-contact .visual img{display:block!important;width:auto!important;max-width:100%!important;height:100%!important;max-height:100%!important;object-fit:contain!important;object-position:center!important;}
 #contact.mobile-contact .card-copy{flex:0 0 auto!important;padding:12px 20px 12px!important;}
 #contact.mobile-contact h2{margin-bottom:8px!important;}
 #contact.mobile-contact p{margin-bottom:9px!important;}
 #contact-scroll-buffer{height:0!important;max-height:0!important;}
}

/* v183 — legal mobile menu uses the same compact row rhythm as the main menu. */
@media(max-width:760px){
 body.legal-page>.legal-menu-overlay.open nav{display:flex!important;flex-direction:column!important;align-items:stretch!important;justify-content:flex-start!important;gap:0!important;width:min(244px,calc(100vw - 44px))!important;max-width:calc(100vw - 44px)!important;padding:12px 16px 16px!important;box-sizing:border-box!important;}
 body.legal-page>.legal-menu-overlay.open nav>a,body.legal-page>.legal-menu-overlay.open nav>.legal-menu-lang{display:block!important;flex:none!important;width:100%!important;box-sizing:border-box!important;margin:0!important;padding:6px 0!important;font:400 17px/1.3 "Geist Local",Arial,sans-serif!important;color:#26352f!important;}
 body.legal-page>.legal-menu-overlay.open nav>a:first-of-type{padding-top:0!important;}
 body.legal-page>.legal-menu-overlay.open nav>.legal-menu-lang a,body.legal-page>.legal-menu-overlay.open nav>.legal-menu-lang span{font:inherit!important;color:inherit!important;}
 body.legal-page>.legal-menu-overlay.open nav>.legal-menu-close{position:relative!important;align-self:flex-end!important;flex:none!important;order:-1!important;top:auto!important;right:auto!important;margin:0 0 -34px 0!important;width:40px!important;height:40px!important;}
}

/* v186 — persistent mobile section navigation; no competing inline arrows. */
@media(max-width:760px){
 .hero-next-mobile,#content .section-next,#contact .contact-top{display:none!important;}
 .floating-section-arrow{position:fixed!important;right:17px!important;bottom:calc(18px + env(safe-area-inset-bottom,0px))!important;z-index:900!important;width:48px;height:48px;display:flex;align-items:center;justify-content:center;border:0;background:rgba(246,240,229,.88);border-radius:50%;color:#07347c;font:400 37px/1 "Geist Local",Arial,sans-serif;cursor:pointer;text-decoration:none;box-shadow:0 2px 12px rgba(0,0,0,.12);}
 #contact.mobile-contact .card-copy{padding-bottom:calc(12px + 1.4em)!important;}
}
@media(min-width:761px){.floating-section-arrow{display:none!important;}}

/* v187: hide every legacy section arrow on mobile; SVG navigation option B. */
@media(max-width:760px){
 body a.hero-next-mobile,body a.section-next,body #content a.section-next,body #contact a.contact-top,body .contact-card a.contact-top{display:none!important;visibility:hidden!important;}
 body .floating-section-arrow{width:38px!important;height:38px!important;right:19px!important;bottom:calc(19px + env(safe-area-inset-bottom,0px))!important;padding:5px!important;}
 body .floating-section-arrow svg{display:block;width:100%;height:100%;fill:none;stroke:#07347c;stroke-width:2.8;stroke-linecap:round;stroke-linejoin:round;transition:none;}
 body .floating-section-arrow.points-up svg{transform:rotate(180deg);}
}

/* v188: avoid browser smooth-scroll fighting the per-frame navigation animation. */
@media(max-width:760px){html.section-arrow-animating{scroll-behavior:auto!important;scroll-snap-type:none!important;}}

/* v189: slightly larger mobile floating navigation button. */
@media(max-width:760px){body .floating-section-arrow{width:42px!important;height:42px!important;}}

/* v190: lower mobile floating navigation slightly. */
@media(max-width:760px){body .floating-section-arrow{bottom:calc(10px + env(safe-area-inset-bottom,0px))!important;}}

/* v191: refined floating control, browser-consistent press feedback. */
@media(max-width:760px){
 body .floating-section-arrow{width:45px!important;height:45px!important;bottom:calc(17px + env(safe-area-inset-bottom,0px))!important;background:rgba(246,240,229,.94)!important;box-shadow:0 2px 9px rgba(0,0,0,.13)!important;outline:none!important;-webkit-tap-highlight-color:transparent!important;touch-action:manipulation;transition:background-color .16s ease,transform .16s ease,box-shadow .16s ease!important;}
 body .floating-section-arrow:active{background:rgba(229,221,205,.96)!important;transform:scale(.94)!important;box-shadow:0 1px 5px rgba(0,0,0,.10)!important;}
 body .floating-section-arrow:focus:not(:focus-visible){outline:none!important;}
 body .floating-section-arrow:focus-visible{outline:2px solid #07347c!important;outline-offset:3px!important;}
}

/* v192: consistent floating control placement and Firefox scroll-buffer sizing. */
@media(max-width:760px){
 body .floating-section-arrow{width:47px!important;height:47px!important;bottom:calc(23px + env(safe-area-inset-bottom,0px))!important;}
 html.section-arrow-animating,html.section-arrow-animating body{scroll-behavior:auto!important;scroll-snap-type:none!important;}
 #contact-scroll-buffer.arrow-buffer-active{max-height:none!important;}
}
@supports (-moz-appearance:none){
 @media(max-width:760px){body .floating-section-arrow{bottom:calc(9px + env(safe-area-inset-bottom,0px))!important;}}
}

/* v193: enlarge floating navigation slightly; lower Firefox only. */
@media(max-width:760px){body .floating-section-arrow{width:50px!important;height:50px!important;}}
@supports (-moz-appearance:none){@media(max-width:760px){body .floating-section-arrow{bottom:calc(0px + env(safe-area-inset-bottom,0px))!important;}}}

/* v194: test opaque cream navigation disc across browsers; keep positioning and press animation. */
@media(max-width:760px){body .floating-section-arrow{background:#f6f0e5!important;}body .floating-section-arrow:active{background:#e5ddcd!important;}}

/* v195: language switch underlines the destination, never the current language. */
.language .active-language,.legal-menu-lang .active-language,body>.mobile-footer .active-language,.current-lang{border-bottom:0!important;text-decoration:none!important;padding-bottom:0!important;}
.language a,.legal-menu-lang a,body>.mobile-footer .mobile-language a{border-bottom:2px solid #df6c4c!important;text-decoration:none!important;padding-bottom:2px!important;}
/* v195: endpoint-only half-turn on the existing floating navigation icon. */
@media(max-width:760px){body .floating-section-arrow svg{transition:transform .42s ease-in-out!important;transform:rotate(0deg);}body .floating-section-arrow.points-up svg{transform:rotate(180deg);}}

/* v197: Firefox only — no pressed-colour or scale animation on floating arrow. */
@media(max-width:760px){
 body .floating-section-arrow.firefox-no-press,
 body .floating-section-arrow.firefox-no-press:active,
 body .floating-section-arrow.firefox-no-press:hover,
 body .floating-section-arrow.firefox-no-press:focus:not(:focus-visible){
   background:#f6f0e5!important;transform:none!important;box-shadow:0 2px 9px rgba(0,0,0,.13)!important;
   transition:none!important;-webkit-tap-highlight-color:transparent!important;
 }
}

/* v198: Firefox only — switch arrow direction instantly, without rotation animation. */
@media(max-width:760px){
 body .floating-section-arrow.firefox-no-press svg{
   transition:none!important;
 }
}

/* v199: consistent understated action arrows and a stronger orange rule. */
#content .expand-button.uniform-action-arrow, #content .sessions-close-button.uniform-action-arrow{
  position:relative!important;display:inline-flex!important;align-items:center!important;gap:7px!important;
  border-bottom:2px solid #df6c4c!important;text-decoration:none!important;padding-bottom:5px!important;
}
#content .uniform-action-arrow::after{
  content:"";display:inline-block;flex:none;width:9px;height:9px;
  border-top:1.7px solid currentColor;border-right:1.7px solid currentColor;
  transform:rotate(45deg);margin-right:3px;
}
#content .uniform-action-arrow.arrow-down::after{transform:rotate(135deg);margin-top:-4px;}
#content .uniform-action-arrow.arrow-up::after{transform:rotate(-45deg);margin-top:4px;}

/* v203: all disclosure links initially point down, and up when closing. */
#content .uniform-action-arrow:not(.arrow-up)::after{transform:rotate(135deg);margin-top:-4px;}

/* v204: active language marked with a small orange dot; alternate is a plain link. */
.language a,.legal-menu-lang a,body>.mobile-footer .mobile-language a{border-bottom:0!important;text-decoration:none!important;padding-bottom:0!important;}
.language .active-language,.legal-menu-lang .active-language,.mobile-language .active-language{display:inline-flex!important;align-items:center!important;gap:5px!important;vertical-align:baseline!important;white-space:nowrap!important;}
.lang-active-dot{display:inline-block!important;width:6px!important;height:6px!important;min-width:6px!important;border-radius:50%!important;background:#df6c4c!important;vertical-align:middle!important;flex-shrink:0!important;}

/* v205: consistent language selector geometry across menu, legal pages and footer. */
body .main-nav .language, body .legal-menu-lang, body .mobile-footer .mobile-language {
  display:inline-flex!important; align-items:center!important; justify-content:flex-start!important;
  gap:9px!important; white-space:nowrap!important; flex-wrap:nowrap!important;
  line-height:1.3!important; vertical-align:middle!important;
}
body .main-nav .language > *, body .legal-menu-lang > *, body .mobile-footer .mobile-language > * {
  flex:0 0 auto!important; margin:0!important; padding:0!important;
  line-height:inherit!important; vertical-align:middle!important;
}
body .main-nav .language .active-language, body .legal-menu-lang .active-language, body .mobile-footer .mobile-language .active-language {
  display:inline-flex!important; align-items:center!important; gap:7px!important;
  line-height:inherit!important; white-space:nowrap!important; vertical-align:middle!important;
}
body .lang-active-dot {
  display:block!important; position:static!important; width:6px!important; height:6px!important;
  min-width:6px!important; min-height:6px!important; flex:0 0 6px!important;
  border-radius:50%!important; background:#df6c4c!important; margin:0!important; padding:0!important;
  transform:none!important; opacity:1!important; visibility:visible!important;
}
body .main-nav .language .lang-sep, body .legal-menu-lang .lang-sep, body .mobile-footer .mobile-language .lang-sep {
  display:inline-block!important; width:auto!important; line-height:inherit!important;
}
@media(max-width:760px){
 body>.main-nav .nav-secondary>.language{display:inline-flex!important;width:auto!important;align-items:center!important;}
 body>.mobile-footer{flex-wrap:nowrap!important;}
 body>.mobile-footer .mobile-language{font:inherit!important;white-space:nowrap!important;}
}

/* v206: Firefox only — original Contact return arrow, no floating-arrow collision. */
@supports (-moz-appearance:none) {
 @media (max-width:760px) {
  html.firefox-original-contact-arrow body #contact.mobile-contact a.contact-top {
   display:flex!important;visibility:visible!important;position:absolute!important;right:18px!important;bottom:14px!important;z-index:12!important;align-items:center;justify-content:center;
   width:50px!important;height:50px!important;border-radius:50%!important;
   background:#f6f0e5!important;color:#07347c!important;box-shadow:0 2px 9px rgba(0,0,0,.13)!important;
   font-size:38px!important;line-height:1!important;text-decoration:none!important;
   -webkit-tap-highlight-color:transparent!important;transition:none!important;
  }
  html.firefox-original-contact-arrow body #contact.mobile-contact a.contact-top:active {background:#f6f0e5!important;}
 }
}

/* v207: fixed-width language slots; active is bold without reflow. */
body .main-nav .language,body .legal-menu-lang,body .mobile-footer .mobile-language{gap:8px!important;align-items:center!important;line-height:1.3!important;}
body .main-nav .language>.active-language,body .main-nav .language>a,
body .legal-menu-lang>.active-language,body .legal-menu-lang>a,
body .mobile-footer .mobile-language>.active-language,body .mobile-footer .mobile-language>a{
 box-sizing:border-box!important;display:inline-flex!important;align-items:center!important;justify-content:center!important;
 width:2.15em!important;min-width:2.15em!important;max-width:2.15em!important;
 height:1.3em!important;line-height:1.3!important;padding:0!important;margin:0!important;
 font-family:"Geist Local",Arial,sans-serif!important;font-size:inherit!important;font-weight:400!important;letter-spacing:0!important;white-space:nowrap!important;vertical-align:middle!important;
}
body .main-nav .language>.active-language,body .legal-menu-lang>.active-language,body .mobile-footer .mobile-language>.active-language{font-weight:700!important;}
body .lang-active-dot{display:none!important;}
@media(max-width:760px){
 html.firefox-original-contact-arrow body .floating-section-arrow.firefox-contact-hidden{display:none!important;visibility:hidden!important;pointer-events:none!important;}
 html.firefox-original-contact-arrow body #contact.mobile-contact a.contact-top{font-size:0!important;}
 html.firefox-original-contact-arrow body #contact.mobile-contact a.contact-top svg{width:33px;height:33px;display:block;fill:none;stroke:#07347c;stroke-width:2.8;stroke-linecap:round;stroke-linejoin:round;}
}

/* v208: compact language choices, each reserving the width of bold text.
   Override earlier mobile `font:inherit` declarations that erased the active weight. */
@media(max-width:760px){
 body>.main-nav .nav-secondary>.language, body .legal-menu-lang {
  display:inline-flex!important;align-items:baseline!important;gap:5px!important;
  width:auto!important;white-space:nowrap!important;line-height:1.3!important;
 }
 body>.main-nav .nav-secondary>.language>.active-language,
 body>.main-nav .nav-secondary>.language>a,
 body .legal-menu-lang>.active-language,body .legal-menu-lang>a {
  display:inline-block!important;box-sizing:border-box!important;
  width:2.05ch!important;min-width:2.05ch!important;max-width:none!important;
  height:auto!important;padding:0!important;margin:0!important;
  font-family:"Geist Local",Arial,sans-serif!important;
  font-size:inherit!important;line-height:1.3!important;
  text-align:left!important;vertical-align:baseline!important;letter-spacing:0!important;
 }
 body>.main-nav .nav-secondary>.language>.active-language,
 body .legal-menu-lang>.active-language{font-weight:700!important;}
 body>.main-nav .nav-secondary>.language>a,body .legal-menu-lang>a{font-weight:400!important;}
 body>.main-nav .nav-secondary>.language>.lang-sep,body .legal-menu-lang>.lang-sep{
  display:inline-block!important;font-weight:400!important;width:auto!important;
  line-height:inherit!important;padding:0 3px!important;margin:0!important;
 }
}
/* Firefox: fixed controls must not inherit the changing visualViewport offset
   during the Contact scroll. Keep the hamburger visible and stationary. */
@supports (-moz-appearance:none){@media(max-width:760px){
 body>.menu-button{top:16px!important;transform:none!important;}
}}

/* v209 — tighten language spacing without changing the fixed-width bold slots. */
body .main-nav .language,body .legal-menu-lang,body .mobile-footer .mobile-language{gap:3px!important;}
@media(max-width:760px){
 body>.main-nav .nav-secondary>.language,body .legal-menu-lang{gap:3px!important;}
 body>.main-nav .nav-secondary>.language>.lang-sep,body .legal-menu-lang>.lang-sep{padding:0 1px!important;}
}
/* v211: restore original Contact email bottom spacing in Firefox. */

/* v210: slightly tighter language selector; preserve fixed-width bold slots. */
body .main-nav .language,body .legal-menu-lang,body .mobile-footer .mobile-language{gap:2px!important;}
@media(max-width:760px){body>.main-nav .nav-secondary>.language,body .legal-menu-lang{gap:2px!important;}}
