/* Each fictional studio owns its composition; shared booking semantics stay intact. */
.atelier-site {
  --paper: #fffefa;
  --ink: #292824;
  --muted: #615e57;
  --accent: #4a5146;
  --soft: #eeede7;
  --line: #d5d3ca;
  --display: Georgia, "Times New Roman", serif;
  background: var(--paper);
  color: var(--ink);
  border: 1px solid var(--line);
  border-radius: 0;
  overflow: hidden;
  font-family: Arial, sans-serif;
}
.atelier-site * {
  box-sizing: border-box;
}
.atelier-site h1,
.atelier-site h2,
.atelier-site h3,
.atelier-site p {
  color: inherit;
}
.atelier-site h1,
.atelier-site h2 {
  font-family: var(--display);
  font-weight: 400;
  letter-spacing: -0.045em;
}
.atelier-site p {
  line-height: 1.8;
}
.atelier-site button,
.atelier-site a {
  font-family: inherit;
}
.atelier-site .atelier-kicker {
  font-size: 10px;
  font-weight: 700;
  line-height: 1.7;
  letter-spacing: 0.13em;
  color: var(--muted);
  display: block;
}
.atelier-site .atelier-cta {
  background: var(--ink);
  color: var(--paper);
  border: 1px solid var(--ink);
  border-radius: 2px;
  padding: 15px 22px;
  font-size: 13px;
  display: inline-flex;
  align-items: center;
  gap: 22px;
  font-weight: 600;
  cursor: pointer;
  transition:
    transform 0.2s,
    background 0.2s;
}
.atelier-site .atelier-cta:hover {
  transform: translateY(-3px);
  background: var(--accent);
}
.atelier-site .atelier-link {
  background: none;
  color: inherit;
  border: 0;
  border-bottom: 1px solid currentColor;
  padding: 8px 0;
  font-size: 13px;
  line-height: 1.6;
  display: inline-flex;
  align-items: center;
  gap: 15px;
  text-decoration: none;
  cursor: pointer;
}
.atelier-site .atelier-link:hover {
  opacity: 0.8;
}
.atelier-nav {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 28px;
  padding: 30px 42px;
  border-bottom: 1px solid var(--line);
}
.atelier-wordmark {
  display: flex;
  align-items: center;
  gap: 13px;
  font-family: var(--display);
  font-size: 27px;
  letter-spacing: -0.03em;
  min-width: 0;
}
.atelier-wordmark > .brand-symbol {
  width: 52px;
  height: 52px;
  flex: none;
  display: block;
}
.atelier-wordmark > span {
  min-width: 0;
  overflow-wrap: anywhere;
}
.atelier-wordmark small {
  display: block;
  font:
    9px/1.6 Arial,
    sans-serif;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  margin-top: 3px;
  color: var(--muted);
}
.atelier-nav .sample-nav {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  align-items: center;
  gap: 22px;
  font-size: 11px;
}
.atelier-nav .sample-nav a {
  color: inherit;
  text-decoration: none;
  line-height: 1.6;
  border-bottom: 1px solid transparent;
  padding: 8px 0;
}
.atelier-nav .sample-nav a[aria-current="page"] {
  border-color: currentColor;
}
.atelier-nav .sample-contact {
  background: transparent;
  border: 1px solid var(--line);
  color: var(--ink);
  border-radius: 0;
  font-size: 11px;
  padding: 11px 15px;
  display: inline-flex;
  align-items: center;
  gap: 9px;
  cursor: pointer;
}
.atelier-hero {
  padding: 0 !important;
  background: none !important;
  color: inherit !important;
}
.atelier-site .signature-copy {
  padding: 0;
  max-width: none;
}
.atelier-site .signature-copy h1 {
  font-family: var(--display);
  font-size: clamp(45px, 5.2vw, 80px) !important;
  line-height: 1.04;
  letter-spacing: -0.05em;
  margin: 25px 0;
  color: inherit;
  font-weight: 400;
  overflow-wrap: normal;
  word-break: normal;
  hyphens: none;
}
.atelier-site .signature-copy h1 em {
  font-family: inherit;
  font-style: italic;
  font-weight: inherit;
  color: var(--accent);
}
.atelier-site .signature-copy p {
  max-width: 460px;
  font-size: 14px;
  line-height: 1.85;
  margin: 22px 0 28px;
}
.atelier-photo {
  margin: 0;
  position: relative;
  min-width: 0;
}
.atelier-photo img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  max-width: none;
}
.atelier-photo figcaption {
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  font-size: 9px;
  line-height: 1.55;
  letter-spacing: 0.01em;
  padding: 10px 14px;
  color: white;
  background: linear-gradient(transparent, #0009);
  text-align: left;
}
.atelier-note {
  font-family: var(--display);
  font-size: 18px;
  line-height: 1.5;
}
.atelier-city {
  font-size: 10px;
  line-height: 1.6;
  color: var(--muted);
}
/* 01: a photographic magazine, with its own horizontal index and image spread. */
.atelier-site.brand-foto {
  --paper: #fffffc;
  --ink: #292824;
  --accent: #685c4a;
  --soft: #f1eee8;
}
.nav-foto {
  padding: 25px 48px;
}
.nav-foto .atelier-wordmark {
  font-size: 23px;
}
.photo-index {
  display: flex;
  justify-content: space-between;
  padding: 23px 48px;
  font-size: 9px;
  letter-spacing: 0.1em;
}
.photo-headline {
  padding: 30px 75px 55px;
  display: grid;
  grid-template-columns: 1fr 150px;
  align-items: end;
  gap: 30px;
}
.brand-foto .signature-copy h1 {
  font-size: clamp(65px, 8vw, 112px) !important;
  line-height: 0.98;
}
.photo-edition {
  font:
    14px/1.7 Georgia,
    serif;
  border-left: 1px solid var(--line);
  padding-left: 22px;
}
.photo-spread {
  padding: 0 75px 0 48px;
  position: relative;
}
.photo-spread .atelier-photo {
  height: 560px;
}
.vertical-note {
  position: absolute;
  right: 27px;
  top: 50%;
  writing-mode: vertical-rl;
  font-size: 8px;
  letter-spacing: 0.15em;
  transform: translateY(-50%);
}
.hero-foto > .atelier-note {
  padding: 0 48px;
  margin: 22px 0 36px;
  text-align: right;
}
/* 02: a club-poster canvas and a perforated event ticket. */
.atelier-site.brand-dj {
  --paper: #171320;
  --ink: #fcf4e7;
  --muted: #c4bcd4;
  --accent: #d6b6ff;
  --soft: #241d30;
  --line: #4d405d;
  --display: "Arial Black", Arial, sans-serif;
}
.nav-dj {
  padding: 23px 32px;
}
.brand-dj .brand-symbol,
.brand-video .brand-symbol,
.brand-tattoo .brand-symbol {
  filter: brightness(0) invert(1);
}
.nav-dj .atelier-wordmark {
  font-weight: 900;
  text-transform: uppercase;
  font-size: 24px;
}
.dj-stage {
  position: relative;
  min-height: 750px;
  isolation: isolate;
}
.dj-stage > .atelier-photo {
  position: absolute;
  inset: 0;
}
.dj-stage > .atelier-photo:after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(90deg, #171320ed 5%, #17132085 55%, transparent);
}
.dj-stage-copy {
  position: relative;
  padding: 85px 48px 180px;
  max-width: 850px;
}
.brand-dj .signature-copy h1 {
  font-weight: 900;
  font-size: clamp(52px, 6.8vw, 98px) !important;
  letter-spacing: -0.065em;
}
.brand-dj .signature-copy h1 em {
  font-style: normal;
}
.brand-dj .signature-copy .atelier-kicker {
  color: #e1c5ff;
}
.brand-dj .atelier-cta {
  background: #d6b6ff;
  color: #21172c;
  border-color: #d6b6ff;
}
.dj-ticket {
  position: absolute;
  bottom: 35px;
  left: 48px;
  right: 48px;
  background: #d6b6ff;
  color: #21172c;
  padding: 22px 30px;
  display: flex;
  justify-content: space-between;
  gap: 25px;
  align-items: center;
  border-radius: 3px;
}
.dj-ticket > b {
  font-size: 19px;
  font-weight: 900;
  line-height: 1.1;
}
.dj-ticket .atelier-city {
  color: #392749;
}
.dj-ticket button {
  border: 0;
  border-left: 1px dashed #775d8f;
  background: none;
  color: inherit;
  min-width: 85px;
  font-size: 38px;
  cursor: pointer;
}
.dj-afterglow {
  display: flex;
  justify-content: space-between;
  gap: 25px;
  align-items: center;
  padding: 24px 48px;
}
.dj-afterglow > span {
  font:
    9px/1.5 Arial,
    sans-serif;
  letter-spacing: 0.1em;
}
.dj-afterglow .atelier-note {
  font:
    13px/1.6 Arial,
    sans-serif;
  margin: 0;
}
/* 03: a concert booklet with a spine, cover and programme lines. */
.atelier-site.brand-musik {
  --paper: #9f442e;
  --ink: #fff5dc;
  --muted: #f7dfc1;
  --accent: #ffe7a2;
  --soft: #873822;
  --line: #d58b6b;
  --display: Georgia, serif;
}
.brand-musik .brand-symbol {
  filter: brightness(0) invert(1);
}
.nav-musik {
  padding: 28px 38px;
  border-bottom: 2px solid var(--ink);
}
.nav-musik .atelier-wordmark {
  font-style: italic;
}
.music-programme {
  display: grid;
  grid-template-columns: 48px 1fr 1fr;
  min-height: 690px;
  border-bottom: 2px solid var(--ink);
}
.programme-spine {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: space-between;
  border-right: 1px solid var(--line);
  padding: 30px 0;
}
.programme-spine > span {
  writing-mode: vertical-rl;
  font:
    9px/1.5 Arial,
    sans-serif;
  letter-spacing: 0.18em;
}
.programme-spine > i {
  font:
    28px Georgia,
    serif;
}
.programme-copy {
  padding: 60px 35px;
}
.brand-musik .signature-copy h1 {
  font-size: clamp(56px, 6.5vw, 88px) !important;
}
.programme-copy .atelier-note {
  font-size: 15px;
  font-style: italic;
  margin-top: 42px;
}
.programme-cover {
  position: relative;
  padding: 35px 35px 35px 0;
}
.programme-cover .atelier-photo {
  height: 100%;
  min-height: 560px;
}
.programme-cover img {
  object-position: 32% center;
}
.programme-stamp {
  position: absolute;
  left: -27px;
  bottom: 65px;
  width: 105px;
  height: 105px;
  background: #ffebbc;
  color: #823b29;
  border-radius: 50%;
  display: grid;
  place-content: center;
  text-align: center;
  font:
    700 22px/1 Arial,
    sans-serif;
  transform: rotate(-12deg);
}
.programme-footer {
  display: flex;
  justify-content: space-between;
  gap: 20px;
  padding: 22px 38px;
  font:
    9px Arial,
    sans-serif;
  letter-spacing: 0.1em;
}
/* 04: a dedication followed by a horizon, airy and deliberately centered. */
.atelier-site.brand-rede {
  --paper: #eef5f6;
  --ink: #304b57;
  --muted: #506c76;
  --accent: #426876;
  --soft: #dfecef;
  --line: #bdced3;
  --display: "Times New Roman", Georgia, serif;
}
.nav-rede {
  flex-direction: column;
  gap: 16px;
  padding: 28px;
}
.nav-rede .atelier-wordmark {
  font-style: italic;
  font-size: 29px;
}
.nav-rede .sample-nav {
  justify-content: center;
}
.ceremony-dedication {
  padding: 65px 80px 60px;
  text-align: center;
  position: relative;
}
.ceremony-dedication .signature-copy {
  max-width: 750px;
  margin: auto;
}
.ceremony-dedication .signature-copy p {
  margin: 20px auto 28px;
}
.brand-rede .signature-copy h1 {
  font-size: clamp(52px, 6vw, 88px) !important;
}
.letter-initial {
  position: absolute;
  left: 50px;
  top: 70px;
  font-size: 110px;
  line-height: 1;
  color: #bbcfd6;
  font-style: italic;
  pointer-events: none;
}
.ceremony-horizon .atelier-photo {
  height: 450px;
}
.ceremony-caption {
  padding: 25px 48px;
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.ceremony-caption .atelier-note {
  margin: 0;
  font-style: italic;
}
/* 05: the room comes first, with a calm text passage beneath it. */
.atelier-site.brand-massage {
  --paper: #f1ecdf;
  --ink: #4b473a;
  --muted: #625b4b;
  --accent: #625b3c;
  --soft: #e6e0cd;
  --line: #cfc7b3;
  --display: Georgia, serif;
}
.nav-massage {
  padding: 32px 50px;
  border: 0;
}
.nav-massage .atelier-wordmark {
  font-size: 25px;
  letter-spacing: 0.04em;
}
.retreat-view {
  position: relative;
  margin: 0 25px;
}
.retreat-view .atelier-photo {
  height: 540px;
}
.retreat-word {
  position: absolute;
  right: 60px;
  bottom: 60px;
  font:
    italic 110px/1 Georgia,
    serif;
  color: #fff9e8;
  text-shadow: 0 3px 24px #322a20aa;
}
.retreat-intro {
  padding: 75px 60px 90px;
  display: grid;
  grid-template-columns: 1.2fr 0.7fr;
  gap: 110px;
  align-items: center;
}
.retreat-intro > aside {
  text-align: center;
  max-width: 260px;
}
.retreat-circle {
  display: block;
  width: 78px;
  height: 78px;
  margin: 0 auto 30px;
  border: 1px solid #8d8665;
  border-radius: 50%;
  position: relative;
}
.retreat-circle:before {
  content: "";
  position: absolute;
  inset: 13px;
  border: 1px solid #8d8665;
  border-radius: 50%;
}
.retreat-intro .atelier-note {
  font-style: italic;
  font-size: 24px;
}
.brand-massage .signature-copy h1 {
  font-size: clamp(48px, 6.8vw, 88px) !important;
}
/* 06: a hard-edged drawing studio and contact sheet. */
.atelier-site.brand-tattoo {
  --paper: #1c1c1c;
  --ink: #f2eee4;
  --muted: #c6c0b4;
  --accent: #f2eee4;
  --soft: #2a2927;
  --line: #53504b;
  --display: "Arial Black", Arial, sans-serif;
}
.nav-tattoo {
  padding: 24px 35px;
  border-bottom: 1px solid #f2eee4;
}
.nav-tattoo .atelier-wordmark {
  font-family: "Courier New", monospace;
  font-weight: 700;
  text-transform: uppercase;
  font-size: 22px;
}
.ink-studio {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 0;
}
.ink-title {
  padding: 65px 38px;
  border-right: 1px solid var(--line);
}
.brand-tattoo .signature-copy h1 {
  font-weight: 900;
  font-size: clamp(48px, 5vw, 72px) !important;
  letter-spacing: -0.06em;
}
.brand-tattoo .signature-copy h1 em {
  font-style: normal;
  -webkit-text-stroke: 1px var(--ink);
  color: transparent;
}
.ink-coordinate {
  display: block;
  font:
    9px/1.5 "Courier New",
    monospace;
  margin-top: 55px;
  letter-spacing: 0.08em;
}
.ink-contact-sheet {
  position: relative;
  display: flex;
  align-items: center;
  padding: 34px;
  background: #dfd9cc;
}
.ink-contact-sheet .atelier-photo {
  height: 460px;
  transform: rotate(3deg);
  box-shadow: 0 15px 30px #0003;
}
.ink-contact-sheet img {
  object-position: 65% center;
}
.ink-corner {
  position: absolute;
  right: 22px;
  top: 12px;
  color: #1c1c1c;
  font-size: 52px;
}
.ink-bottom {
  padding: 26px 38px;
  display: flex;
  justify-content: space-between;
  gap: 30px;
  border-top: 1px solid var(--line);
}
.ink-bottom .atelier-note {
  font:
    12px/1.6 "Courier New",
    monospace;
  margin: 0;
}
/* 07: sculpture and small typographic side notes, without a generic split hero. */
.atelier-site.brand-piercing {
  --paper: #eaf1f5;
  --ink: #263d4b;
  --muted: #48616e;
  --accent: #4b6475;
  --soft: #dbe6ed;
  --line: #afc4d1;
  --display: Georgia, serif;
}
.nav-piercing {
  padding: 26px 45px;
}
.nav-piercing .atelier-wordmark {
  font-family: Arial, sans-serif;
  font-weight: 400;
  letter-spacing: 0.04em;
  font-size: 25px;
}
.jewel-title {
  max-width: 900px;
  margin: auto;
  text-align: center;
  padding: 65px 50px 40px;
}
.jewel-title .signature-copy p {
  margin: 22px auto 28px;
}
.brand-piercing .signature-copy h1 {
  font-size: clamp(46px, 5.3vw, 72px) !important;
}
.jewel-display {
  display: grid;
  grid-template-columns: 70px 1fr 70px;
  align-items: center;
  gap: 24px;
  padding: 0 35px;
}
.jewel-display .atelier-photo {
  height: 420px;
}
.jewel-side {
  font:
    9px/2 Arial,
    sans-serif;
  writing-mode: vertical-rl;
  letter-spacing: 0.15em;
  justify-self: center;
}
.jewel-number {
  font:
    30px/1.8 Georgia,
    serif;
  text-align: center;
}
.jewel-caption {
  padding: 20px 128px 35px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 30px;
}
.jewel-caption .atelier-note {
  font-size: 15px;
}
/* 08: a tall mirror, large type and a salon seal. */
.atelier-site.brand-haar {
  --paper: #f0b598;
  --ink: #392c2e;
  --muted: #593c3c;
  --accent: #672f37;
  --soft: #e4a386;
  --line: #b87461;
  --display: "Arial Black", Arial, sans-serif;
}
.nav-haar {
  padding: 26px 35px;
  border-bottom: 2px solid var(--ink);
}
.nav-haar .atelier-wordmark {
  font-weight: 900;
  font-size: 24px;
  text-transform: uppercase;
}
.salon-spread {
  display: grid;
  grid-template-columns: 1.1fr 1fr;
  gap: 25px;
  padding: 50px 38px 35px;
  align-items: center;
}
.salon-type {
  position: relative;
  z-index: 1;
}
.brand-haar .signature-copy h1 {
  font-weight: 900;
  font-size: clamp(45px, 5.6vw, 82px) !important;
  line-height: 0.98;
  letter-spacing: -0.065em;
}
.brand-haar .signature-copy h1 em {
  font-style: normal;
}
.salon-mirror {
  position: relative;
  padding: 0 12px 30px;
}
.salon-mirror .atelier-photo {
  height: 610px;
  border-radius: 220px 220px 0 0;
  overflow: hidden;
}
.salon-mirror img {
  object-position: 58% center;
}
.salon-seal {
  position: absolute;
  bottom: 0;
  left: -35px;
  width: 120px;
  height: 120px;
  border-radius: 50%;
  background: #392c2e;
  color: #f8d8c6;
  display: grid;
  place-content: center;
  text-align: center;
  font-size: 18px;
  font-weight: 900;
  line-height: 1.05;
  transform: rotate(-10deg);
}
.salon-baseline {
  border-top: 2px solid var(--ink);
  padding: 22px 38px;
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 20px;
}
.salon-baseline .atelier-note {
  font:
    13px/1.5 Arial,
    sans-serif;
  margin: 0;
}
/* 09: a wide cinematic journal, with no pretend video playback. */
.atelier-site.brand-video {
  --paper: #102a32;
  --ink: #edf6f4;
  --muted: #b4ccd0;
  --accent: #acd9d3;
  --soft: #193b43;
  --line: #496a72;
  --display: Arial, sans-serif;
}
.nav-video {
  padding: 22px 36px;
}
.nav-video .atelier-wordmark {
  font-size: 22px;
  font-weight: 700;
  letter-spacing: 0.03em;
}
.film-head {
  padding: 28px 40px 0;
  display: flex;
  justify-content: space-between;
  font:
    9px/1.5 "Courier New",
    monospace;
  letter-spacing: 0.16em;
}
.film-title {
  padding: 40px 40px 55px;
}
.brand-video .signature-copy h1 {
  font-size: clamp(48px, 6vw, 86px) !important;
  font-weight: 700;
  letter-spacing: -0.04em;
}
.brand-video .signature-copy h1 em {
  font-style: normal;
}
.film-title .signature-copy {
  display: grid;
  grid-template-columns: 1fr 280px;
  gap: 0 45px;
  align-items: center;
}
.film-title .atelier-kicker {
  grid-column: 1/-1;
}
.film-title h1 {
  grid-row: 2/4;
}
.film-title .signature-copy p {
  margin: 15px 0;
}
.film-title .atelier-cta {
  justify-self: start;
}
.film-widescreen {
  position: relative;
  border-top: 1px solid var(--line);
  border-bottom: 1px solid var(--line);
}
.film-widescreen .atelier-photo {
  height: 470px;
}
.film-frame-label {
  position: absolute;
  top: 18px;
  left: 24px;
  color: #fff;
  font:
    9px/1.5 "Courier New",
    monospace;
  background: #102a32cc;
  padding: 9px 13px;
}
.hero-video > .atelier-note {
  font-size: 13px;
  font-family: Arial, sans-serif;
  padding: 10px 40px 20px;
}
/* 10: a close beauty portrait beside a deliberately off-center title. */
.atelier-site.brand-visagistik {
  --paper: #ead7df;
  --ink: #512d43;
  --muted: #674458;
  --accent: #794667;
  --soft: #dec3d0;
  --line: #b18b9f;
  --display: "Times New Roman", Georgia, serif;
}
.nav-visagistik {
  padding: 26px 40px;
}
.nav-visagistik .atelier-wordmark {
  font-style: italic;
  font-size: 30px;
}
.beauty-spread {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 50px;
  padding: 55px 48px 65px;
  align-items: center;
}
.beauty-portrait {
  position: relative;
  padding-right: 25px;
}
.beauty-portrait .atelier-photo {
  height: 660px;
}
.beauty-portrait img {
  object-position: 62% center;
}
.beauty-side {
  position: absolute;
  right: 0;
  top: 30px;
  writing-mode: vertical-rl;
  font:
    9px Arial,
    sans-serif;
  letter-spacing: 0.18em;
}
.beauty-copy {
  padding-top: 70px;
}
.brand-visagistik .signature-copy h1 {
  font-size: clamp(60px, 7vw, 100px) !important;
  line-height: 0.92;
}
.beauty-dots {
  display: flex;
  gap: 12px;
  margin-top: 50px;
}
.beauty-dots i {
  width: 28px;
  height: 28px;
  border-radius: 50%;
  background: #8b5f69;
}
.beauty-dots i:nth-child(2) {
  background: #512d43;
}
.beauty-dots i:nth-child(3) {
  background: #b18b79;
}
.beauty-copy .atelier-note {
  font-size: 15px;
  font-style: italic;
}
/* 11: cheerful movement, an offset outdoor postcard and a round label. */
.atelier-site.brand-hund {
  --paper: #f1f5db;
  --ink: #294a34;
  --muted: #566b41;
  --accent: #4a6d35;
  --soft: #e1eab9;
  --line: #b6c797;
  --display: "Trebuchet MS", Arial, sans-serif;
}
.nav-hund {
  padding: 24px 38px;
}
.nav-hund .atelier-wordmark {
  font-size: 28px;
  font-weight: 800;
  letter-spacing: -0.06em;
}
.dog-welcome {
  display: grid;
  grid-template-columns: 1fr 1fr;
  align-items: center;
  gap: 55px;
  padding: 68px 48px;
}
.brand-hund .signature-copy h1 {
  font-weight: 800;
  font-size: clamp(42px, 4.8vw, 69px) !important;
  line-height: 1.02;
  letter-spacing: -0.05em;
}
.brand-hund .signature-copy h1 em {
  font-style: normal;
}
.dog-type .atelier-note {
  font:
    13px/1.7 Arial,
    sans-serif;
  margin-top: 30px;
}
.dog-postcard {
  position: relative;
  padding: 0 0 55px;
}
.dog-postcard .atelier-photo {
  height: 475px;
  border: 12px solid #fffdf5;
  transform: rotate(4deg);
  box-shadow: 0 10px 22px #40502114;
}
.dog-postcard img {
  object-position: 63% center;
}
.dog-roundel {
  position: absolute;
  bottom: 0;
  left: -35px;
  width: 140px;
  height: 140px;
  border-radius: 50%;
  background: #dc843e;
  color: #172d1f;
  font:
    800 16px/1.25 "Trebuchet MS",
    Arial,
    sans-serif;
  display: grid;
  place-content: center;
  text-align: center;
  transform: rotate(-8deg);
}
.dog-walkline {
  padding: 18px 38px;
  border-top: 1px solid var(--line);
  display: flex;
  gap: 25px;
  align-items: center;
  justify-content: space-between;
}
.dog-walkline > span:first-child {
  font-size: 42px;
}
.dog-walkline > b {
  font-size: 12px;
  font-weight: 600;
}
/* 12: an inhabited window and a personal note before the main introduction. */
.atelier-site.brand-katze {
  --paper: #f8f0df;
  --ink: #65462e;
  --muted: #735738;
  --accent: #805b36;
  --soft: #f0e1bd;
  --line: #ceb999;
  --display: Georgia, serif;
}
.nav-katze {
  padding: 26px 40px;
}
.nav-katze .atelier-wordmark {
  font-size: 24px;
  letter-spacing: 0;
}
.cat-window {
  position: relative;
  margin: 20px 40px 0;
  padding-bottom: 25px;
}
.cat-window .atelier-photo {
  height: 520px;
  border-radius: 180px 180px 0 0;
  overflow: hidden;
}
.cat-note {
  position: absolute;
  right: 30px;
  bottom: 0;
  background: #f8efcf;
  box-shadow: 0 8px 25px #75532f22;
  padding: 27px;
  width: 235px;
  transform: rotate(4deg);
}
.cat-note > span {
  font-size: 10px;
  letter-spacing: 0.1em;
}
.cat-note > b {
  display: block;
  font:
    italic 33px Georgia,
    serif;
  margin: 12px 0;
}
.cat-note .atelier-note {
  font:
    12px/1.7 Arial,
    sans-serif;
  margin: 0;
}
.cat-story-open {
  display: grid;
  grid-template-columns: 1fr 220px;
  gap: 60px;
  padding: 65px 65px 70px;
  align-items: end;
}
.brand-katze .signature-copy h1 {
  font-size: clamp(42px, 5vw, 72px) !important;
  line-height: 1.08;
}
.cat-location {
  text-align: center;
  padding: 30px;
  border: 1px solid var(--line);
}
.cat-location .brand-symbol {
  display: block;
  width: 64px;
  height: 64px;
  margin: 0 auto 20px;
}
/* 13: a music notebook rather than a musician's concert website. */
.atelier-site.brand-musikunterricht {
  --paper: #e6f0fa;
  --ink: #234963;
  --muted: #3d5d71;
  --accent: #356b8b;
  --soft: #d2e4f2;
  --line: #aac3d7;
  --display: "Trebuchet MS", Arial, sans-serif;
}
.nav-musikunterricht {
  padding: 25px 38px;
  border-bottom: 3px double var(--line);
}
.nav-musikunterricht .atelier-wordmark {
  font-size: 27px;
  font-weight: 800;
}
.lesson-score {
  display: grid;
  grid-template-columns: 32px 1fr 120px;
  gap: 30px;
  padding: 65px 48px 45px;
  align-items: center;
  background: repeating-linear-gradient(
    0deg,
    transparent 0,
    transparent 44px,
    #aac3d71f 44px,
    #aac3d71f 45px
  );
}
.score-count {
  font:
    12px/3.5 "Courier New",
    monospace;
  color: var(--muted);
}
.score-note {
  font:
    120px/1 Georgia,
    serif;
  color: #94b6cc;
  transform: rotate(8deg);
}
.brand-musikunterricht .signature-copy h1 {
  font-size: clamp(42px, 5.1vw, 74px) !important;
  font-weight: 800;
  letter-spacing: -0.055em;
}
.brand-musikunterricht .signature-copy h1 em {
  font-style: normal;
}
.lesson-keyboard {
  padding: 0 48px 25px;
}
.lesson-keyboard .atelier-photo {
  height: 380px;
}
.lesson-keyboard img {
  object-position: center 60%;
}
.lesson-caption {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 30px;
}
.lesson-caption .atelier-note {
  font-size: 15px;
  font-style: italic;
}
/* 14: an open exercise book, with an actual margin and a thinking space. */
.atelier-site.brand-nachhilfe {
  --paper: #fffae9;
  --ink: #343c3a;
  --muted: #59605a;
  --accent: #76551e;
  --soft: #f8e6a0;
  --line: #d5c68e;
  --display: "Trebuchet MS", Arial, sans-serif;
}
.nav-nachhilfe {
  padding: 25px 38px;
}
.nav-nachhilfe .atelier-wordmark {
  font-weight: 900;
  font-size: 29px;
  letter-spacing: -0.05em;
}
.learning-open-book {
  display: grid;
  grid-template-columns: 130px 1fr;
  padding: 45px 48px 25px;
  gap: 38px;
}
.learning-margin {
  border-right: 2px solid #ddab8d;
  padding: 30px 15px 10px 0;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  gap: 20px;
}
.learning-margin > span {
  font:
    9px/1.8 "Courier New",
    monospace;
  letter-spacing: 0.12em;
}
.learning-margin > i {
  font:
    90px/1 Georgia,
    serif;
  color: #bb943e;
  transform: rotate(-12deg);
}
.learning-copy {
  padding: 20px 0;
}
.brand-nachhilfe .signature-copy h1 {
  font-size: clamp(38px, 4.8vw, 68px) !important;
  font-weight: 800;
  line-height: 1.08;
  letter-spacing: -0.05em;
}
.brand-nachhilfe .signature-copy h1 em {
  font-style: normal;
}
.learning-scene {
  display: grid;
  grid-template-columns: 1fr 240px;
  gap: 35px;
  padding: 25px 48px 55px;
  align-items: center;
}
.learning-scene .atelier-photo {
  height: 380px;
  border-radius: 6px;
}
.learning-scene aside {
  padding: 15px;
}
.learning-sticker {
  display: inline-grid;
  place-content: center;
  width: 90px;
  height: 90px;
  border-radius: 50%;
  background: #efd470;
  font-size: 29px;
  font-weight: 800;
  transform: rotate(-8deg);
}
.learning-scene .atelier-note {
  font-size: 18px;
  line-height: 1.5;
}
/* Unique continuation sections and shared semantic controls. */
.atelier-choices,
.atelier-service,
.atelier-feature,
.atelier-faq {
  padding: 65px 48px;
  border-top: 1px solid var(--line);
}
.atelier-site h2 {
  font-size: clamp(28px, 3vw, 43px);
  line-height: 1.16;
  margin: 15px 0 22px;
}
.choices-intro {
  max-width: 650px;
  margin-bottom: 30px;
}
.choices-intro > p {
  font-size: 13px;
  max-width: 500px;
}
.choice-arrangement {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 14px;
}
.atelier-site .experience-choice {
  padding: 24px;
  border: 1px solid var(--line);
  background: transparent;
  color: var(--ink);
  border-radius: 0;
  display: flex;
  flex-direction: column;
  gap: 22px;
  text-align: left;
  min-width: 0;
  transition:
    background 0.2s,
    transform 0.2s;
  position: relative;
  cursor: pointer;
}
.atelier-site .experience-choice:hover {
  background: var(--soft);
  transform: translateY(-3px);
}
.atelier-site .experience-choice[aria-pressed="true"] {
  background: var(--soft);
  border-color: var(--ink);
  box-shadow: inset 0 0 0 1px var(--ink);
}
.atelier-site .choice-index {
  font:
    16px/1 Georgia,
    serif;
  color: var(--accent);
}
.atelier-site .choice-text {
  display: block;
  min-width: 0;
}
.atelier-site .choice-text b {
  font-family: var(--display);
  font-size: 23px;
  font-weight: 400;
  line-height: 1.2;
  display: block;
  margin-bottom: 10px;
}
.atelier-site .choice-text small {
  display: block;
  font-size: 12px;
  line-height: 1.7;
  color: var(--muted);
}
.atelier-site .choice-check {
  position: absolute;
  top: 21px;
  right: 17px;
  color: var(--ink);
}
.atelier-site .experience-selection {
  font-size: 11px;
  color: var(--muted);
  margin: 18px 0 0;
  min-height: 0;
}
.atelier-service {
  display: flex;
  justify-content: space-between;
  gap: 45px;
  align-items: center;
  background: var(--soft);
}
.atelier-service > div:first-child {
  max-width: 580px;
}
.atelier-service p {
  font-size: 13px;
}
.service-amount {
  min-width: 210px;
  max-width: 300px;
}
.atelier-service .price {
  font: 42px/1.2 var(--display);
  display: block;
  letter-spacing: -0.04em;
  color: var(--ink);
}
.service-amount > small {
  display: block;
  font-size: 10px;
  color: var(--muted);
  line-height: 1.6;
  margin: 7px 0;
}
.service-amount > p {
  font-size: 11px;
  line-height: 1.7;
}
.atelier-service .atelier-link {
  font-size: 11px;
}
.atelier-feature {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 75px;
  align-items: center;
}
.feature-copy > p {
  font-size: 14px;
  max-width: 500px;
}
.feature-chapters {
  list-style: none;
  padding: 0;
  margin: 0;
  counter-reset: none;
}
.feature-chapters li {
  padding: 25px 0;
  display: flex;
  gap: 24px;
  border-bottom: 1px solid var(--line);
  align-items: center;
}
.feature-chapters li > span {
  font:
    13px Georgia,
    serif;
  color: var(--muted);
}
.feature-chapters li > b {
  font: 20px/1.4 var(--display);
  font-weight: 400;
}
.atelier-invitation {
  padding: 28px 48px;
  border-top: 1px solid var(--line);
  display: flex;
  justify-content: space-between;
  gap: 30px;
  align-items: center;
}
.atelier-invitation > span {
  font: italic 19px/1.5 var(--display);
}
.atelier-invitation > a {
  color: inherit;
  text-decoration: none;
  border-bottom: 1px solid currentColor;
  padding: 8px 0;
  font-size: 12px;
  display: flex;
  gap: 14px;
  align-items: center;
}
.atelier-site .atelier-faq {
  display: grid;
  grid-template-columns: 1fr 1.4fr;
  gap: 65px;
  background: var(--paper);
  margin: 0;
}
.atelier-faq details {
  border: 0;
  border-bottom: 1px solid var(--line);
  padding: 0;
}
.atelier-faq summary {
  padding: 20px 0;
  font-size: 14px;
  font-weight: 500;
  cursor: pointer;
  color: var(--ink);
}
.atelier-faq details p {
  font-size: 13px;
  line-height: 1.85;
  color: var(--muted);
  margin: 0 0 22px;
  padding: 0;
}
.atelier-faq .atelier-link {
  font-size: 12px;
}
.atelier-footer {
  padding: 40px 48px;
  background: var(--paper);
  border-top: 1px solid var(--line);
  color: var(--ink);
  display: block;
}
.atelier-footer > .atelier-wordmark {
  font-size: 24px;
}
.atelier-footer p {
  font-size: 10px;
  line-height: 1.7;
  margin: 22px 0;
  color: var(--muted);
}
.atelier-footer > div:last-child {
  display: flex;
  gap: 25px;
  flex-wrap: wrap;
  align-items: center;
  font-size: 11px;
}
.atelier-footer a {
  color: inherit;
}
.atelier-footer .atelier-link {
  font-size: 11px;
}
/* The repeated elements take on a different visual and spatial language per studio. */
.feature-foto {
  grid-template-columns: 1.4fr 1fr;
  padding: 90px 75px;
}
.choices-foto .choice-arrangement {
  gap: 0;
}
.choices-foto .experience-choice {
  border-width: 0 0 1px;
  border-right: 1px solid var(--line);
}
.service-foto {
  margin: 0 48px 48px;
  border-top: 2px solid var(--ink);
  background: none;
  padding: 35px 0;
}
.choices-dj {
  background: #241d30;
}
.choices-dj .choice-arrangement {
  grid-template-columns: 1fr;
}
.choices-dj .experience-choice {
  display: grid;
  grid-template-columns: 45px 1fr;
  align-items: center;
  padding: 24px 30px;
}
.choices-dj .choice-text {
  display: flex;
  gap: 35px;
  align-items: center;
  justify-content: space-between;
  padding-right: 40px;
}
.choices-dj .choice-text b {
  font:
    700 22px Arial,
    sans-serif;
  margin: 0;
}
.choices-dj .choice-text small {
  max-width: 360px;
}
.choices-dj .choice-check {
  top: 50%;
  transform: translateY(-50%);
}
.feature-dj .feature-chapters li > b {
  font:
    700 22px Arial,
    sans-serif;
}
.service-dj {
  border: 2px solid #d6b6ff;
  margin: 25px 48px;
  padding: 35px;
}
.choices-musik {
  border-top: 2px solid var(--ink);
}
.choices-musik .choice-arrangement {
  display: block;
}
.choices-musik .experience-choice {
  width: 100%;
  border-width: 0 0 1px;
  display: grid;
  grid-template-columns: 35px 1fr;
  padding: 25px 10px;
}
.choices-musik .choice-index {
  font-size: 27px;
}
.choices-musik .choice-text {
  display: flex;
  gap: 20px;
  justify-content: space-between;
  padding-right: 30px;
  align-items: center;
}
.choices-musik .choice-text b {
  font-style: italic;
  margin: 0;
  font-size: 27px;
}
.choices-musik .choice-text small {
  max-width: 320px;
}
.feature-musik {
  display: block;
  text-align: center;
  padding: 70px;
}
.feature-musik .feature-copy {
  max-width: 600px;
  margin: auto;
}
.feature-musik .feature-copy > p {
  margin: 20px auto;
}
.feature-musik .feature-chapters {
  display: flex;
  justify-content: center;
  gap: 35px;
  margin-top: 35px;
}
.feature-musik .feature-chapters li {
  border: 0;
  display: block;
  max-width: 200px;
}
.feature-musik .feature-chapters li > span {
  display: block;
  margin-bottom: 15px;
}
.feature-rede {
  display: block;
  max-width: 900px;
  margin: 0 auto;
  border: 0;
  padding: 70px 80px;
}
.feature-rede .feature-copy {
  padding: 40px;
  background: #fffefd;
  border: 1px solid var(--line);
  transform: rotate(-1deg);
}
.feature-rede .feature-copy h2 {
  font-style: italic;
}
.letter-signature {
  display: block;
  font:
    italic 30px "Times New Roman",
    serif;
  margin-top: 30px;
}
.feature-rede .feature-chapters {
  display: flex;
  gap: 28px;
  margin-top: 50px;
}
.feature-rede .feature-chapters li {
  display: block;
  flex: 1;
  border: 0;
}
.feature-rede .feature-chapters li > span {
  display: block;
  margin-bottom: 14px;
}
.choices-rede {
  text-align: center;
}
.choices-rede .choices-intro {
  margin: 0 auto 35px;
}
.choices-rede .choices-intro p {
  margin: 15px auto;
}
.choices-rede .experience-choice {
  border-radius: 120px 120px 0 0;
  padding: 40px 25px 30px;
  text-align: center;
}
.choices-rede .choice-index {
  margin: auto;
}
.choices-rede .choice-check {
  top: auto;
  bottom: 15px;
  right: 15px;
}
.service-rede {
  background: #fffefd;
  margin: 0 48px 35px;
  border: 1px solid var(--line);
}
.service-massage {
  margin: 0 60px 50px;
  border: 0;
  padding: 38px 45px;
  border-radius: 80px 3px 3px 3px;
}
.feature-massage {
  padding: 50px 80px 100px;
  gap: 90px;
  align-items: start;
}
.feature-massage .feature-chapters {
  border-left: 1px solid var(--line);
  padding-left: 30px;
}
.feature-massage .feature-chapters li {
  border: 0;
  padding: 25px 0;
}
.choices-massage {
  border: 0;
  padding: 45px 80px 75px;
}
.choices-massage .experience-choice {
  border: 0;
  border-top: 1px solid var(--line);
  padding: 25px 15px;
}
.choices-massage .choice-index {
  font-style: italic;
  font-size: 26px;
}
.choices-tattoo .choice-arrangement {
  gap: 24px;
}
.choices-tattoo .experience-choice {
  background: #ece6da;
  color: #272622;
  min-height: 330px;
  padding: 20px;
  transform: rotate(-2deg);
}
.choices-tattoo .experience-choice:nth-child(2) {
  transform: rotate(2deg);
}
.choices-tattoo .experience-choice[aria-pressed="true"] {
  background: #fffaf0;
  box-shadow: 0 0 0 4px #ac9e85;
}
.choices-tattoo .experience-choice .line-art {
  width: 100%;
  height: 170px;
  color: #272622;
}
.choices-tattoo .choice-text small,
.choices-tattoo .choice-check {
  color: #4d4a43;
}
.choices-tattoo .choice-text b {
  font:
    700 21px "Courier New",
    monospace;
}
.feature-tattoo {
  display: block;
  border-top: 1px solid var(--ink);
}
.feature-tattoo .feature-copy {
  max-width: 620px;
}
.feature-tattoo .feature-chapters {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 25px;
}
.feature-tattoo .feature-chapters li {
  display: block;
}
.feature-tattoo .feature-chapters b {
  display: block;
  margin-top: 20px;
  font:
    17px/1.5 "Courier New",
    monospace;
}
.choices-piercing {
  padding: 70px 95px;
  text-align: center;
}
.choices-piercing .choices-intro {
  margin: 0 auto 35px;
}
.choices-piercing .choices-intro p {
  margin: 15px auto;
}
.choices-piercing .experience-choice {
  border-radius: 50% 50% 3px 3px;
  min-height: 250px;
  text-align: center;
  padding: 40px 20px 25px;
}
.choices-piercing .choice-index {
  font-size: 28px;
  align-self: center;
  border: 1px solid var(--line);
  border-radius: 50%;
  width: 52px;
  height: 52px;
  display: grid;
  place-content: center;
}
.choices-piercing .choice-check {
  top: auto;
  bottom: 17px;
}
.feature-piercing {
  display: flex;
  flex-direction: column;
  text-align: center;
  gap: 15px;
  padding: 60px 90px;
}
.feature-piercing .feature-copy {
  max-width: 600px;
}
.feature-piercing .feature-copy p {
  margin: 15px auto;
}
.feature-piercing .feature-chapters {
  display: flex;
  gap: 35px;
  justify-content: center;
  width: 100%;
}
.feature-piercing .feature-chapters li {
  flex: 1;
  display: block;
  padding: 25px 15px;
}
.feature-piercing .feature-chapters b {
  display: block;
  margin-top: 20px;
}
.service-piercing {
  background: #dbe6ed;
  margin: 0 70px 40px;
  padding: 35px;
  border: 1px solid var(--line);
}
.service-haar {
  background: var(--ink);
  color: var(--paper);
  margin: 0;
  border: 0;
  padding: 40px 48px;
}
.service-haar .atelier-kicker,
.service-haar .price,
.service-haar small {
  color: var(--paper);
}
.choices-haar .choice-arrangement {
  gap: 0;
}
.choices-haar .experience-choice {
  border-width: 2px 0;
  border-right: 2px solid var(--ink);
  padding: 28px;
}
.choices-haar .experience-choice:last-child {
  border-right: 0;
}
.choices-haar .choice-text b {
  font:
    800 24px Arial,
    sans-serif;
  text-transform: uppercase;
}
.feature-haar {
  background: var(--soft);
}
.feature-haar .feature-chapters li > b {
  font:
    700 22px Arial,
    sans-serif;
}
.feature-video {
  display: block;
}
.feature-video .feature-copy {
  max-width: 650px;
}
.feature-video .feature-chapters {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 20px;
  margin-top: 35px;
}
.feature-video .feature-chapters li {
  border: 1px solid var(--line);
  aspect-ratio: 1.7;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  justify-content: space-between;
  padding: 20px;
  background: #193b43;
}
.feature-video .feature-chapters li > b {
  font:
    14px/1.5 "Courier New",
    monospace;
}
.feature-video .feature-chapters li > span {
  font:
    11px "Courier New",
    monospace;
}
.choices-video .choice-arrangement {
  grid-template-columns: 1fr;
}
.choices-video .experience-choice {
  flex-direction: row;
  padding: 20px;
  align-items: center;
}
.choices-video .choice-text {
  display: flex;
  gap: 30px;
  justify-content: space-between;
  width: 100%;
  padding-right: 35px;
}
.choices-video .choice-text b {
  font:
    600 21px Arial,
    sans-serif;
  margin: 0;
}
.choices-video .choice-text small {
  max-width: 340px;
}
.choices-visagistik {
  padding: 60px 75px;
  background: var(--soft);
}
.choices-visagistik .experience-choice {
  border: 0;
  border-bottom: 1px solid var(--line);
  padding: 28px 20px;
}
.choices-visagistik .choice-index {
  font-style: italic;
  font-size: 40px;
}
.choices-visagistik .choice-text b {
  font-size: 30px;
}
.feature-visagistik {
  gap: 80px;
  padding: 85px 70px;
}
.feature-visagistik .feature-chapters li {
  border-bottom: 1px solid var(--line);
  padding: 30px 0;
}
.feature-visagistik .feature-chapters li > span {
  font-size: 25px;
  font-style: italic;
}
.service-visagistik {
  margin: 0 70px 45px;
  background: none;
  border: 1px solid var(--ink);
  padding: 35px;
}
.feature-hund {
  background: var(--soft);
  border-radius: 80px 0 0 0;
  margin: 0 28px;
  padding: 50px 40px;
}
.feature-hund h2 {
  font-weight: 700;
}
.feature-hund .feature-chapters li {
  border: 0;
  align-items: flex-start;
}
.feature-hund .feature-chapters li > span {
  width: 38px;
  height: 38px;
  display: grid;
  place-content: center;
  background: var(--paper);
  border-radius: 50%;
  flex: none;
  color: var(--ink);
}
.feature-hund .feature-chapters b {
  font:
    700 19px/1.4 "Trebuchet MS",
    Arial,
    sans-serif;
}
.choices-hund .experience-choice {
  border-radius: 20px;
  background: #fffdf5;
}
.choices-hund .choice-text b {
  font-weight: 700;
}
.service-hund {
  margin: 35px 48px;
  border: 2px dashed #b6c797;
  border-radius: 16px;
  background: none;
  padding: 30px;
}
.feature-katze {
  display: block;
  max-width: 840px;
  margin: auto;
  padding: 55px 70px;
  border: 0;
}
.feature-katze .feature-chapters {
  padding: 25px 0 0 45px;
}
.feature-katze .feature-chapters li {
  padding: 25px 0 25px 20px;
  border-left: 1px solid var(--line);
  border-bottom: 0;
}
.choices-katze {
  padding: 45px 65px;
}
.choices-katze .choice-arrangement {
  display: block;
}
.choices-katze .experience-choice {
  width: 100%;
  border: 0;
  border-bottom: 1px solid var(--line);
  display: flex;
  flex-direction: row;
  align-items: center;
  padding: 28px 0;
}
.choices-katze .choice-index {
  font-style: italic;
  font-size: 30px;
  width: 45px;
}
.choices-katze .choice-text b {
  font-size: 25px;
}
.choices-katze .choice-check {
  top: 35px;
}
.service-katze {
  margin: 20px 65px 50px;
  background: #f0e1bd;
  padding: 35px;
}
.choices-musikunterricht {
  background: var(--soft);
  border-top: 3px double var(--line);
}
.choices-musikunterricht .experience-choice {
  background: #f8fbfe;
  border-radius: 0 0 9px 9px;
  min-height: 270px;
  border-top: 5px solid var(--ink);
}
.choices-musikunterricht .choice-index {
  font-size: 50px;
  color: #7298b3;
}
.choices-musikunterricht .choice-text b {
  font-weight: 700;
  font-size: 21px;
}
.feature-musikunterricht h2 {
  font-weight: 700;
}
.feature-musikunterricht .feature-chapters li > span {
  font:
    700 28px "Trebuchet MS",
    Arial,
    sans-serif;
}
.service-musikunterricht {
  border: 2px solid var(--ink);
  background: none;
  margin: 20px 48px 40px;
  padding: 35px;
}
.feature-nachhilfe {
  margin: 0 48px;
  padding: 45px 0;
  border: 0;
  grid-template-columns: 1.2fr 1fr;
}
.feature-nachhilfe h2 {
  font-weight: 700;
}
.feature-nachhilfe .feature-chapters li {
  border: 0;
  background: var(--soft);
  margin: 12px 0;
  padding: 20px;
  transform: rotate(-1deg);
}
.feature-nachhilfe .feature-chapters li:nth-child(2) {
  transform: rotate(1deg);
}
.feature-nachhilfe .feature-chapters b {
  font:
    700 18px/1.4 "Trebuchet MS",
    Arial,
    sans-serif;
}
.choices-nachhilfe {
  background: repeating-linear-gradient(
    0deg,
    transparent 0,
    transparent 31px,
    #d5c68e33 31px,
    #d5c68e33 32px
  );
}
.choices-nachhilfe .experience-choice {
  background: #fffcf0;
  border: 1px solid var(--line);
  border-radius: 5px;
}
.choices-nachhilfe .choice-text b {
  font-weight: 700;
}
.service-nachhilfe {
  margin: 20px 48px 40px;
  border-radius: 15px;
  border: 0;
  padding: 35px;
}
/* Personal and portfolio pages continue the identity beyond the home page. */
.atelier-about {
  padding: 60px 48px;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 45px;
  align-items: start;
}
.atelier-site .atelier-about h1,
.atelier-site .atelier-portfolio h1 {
  font: 400 clamp(37px, 4.3vw, 62px) / 1.1 var(--display);
  letter-spacing: -0.045em;
  margin: 20px 0 28px;
  overflow-wrap: normal;
}
.about-heading {
  max-width: 680px;
}
.about-heading > p {
  font-size: 16px;
}
.about-photo {
  height: 460px;
  grid-column: 2;
  grid-row: 1/3;
}
.about-philosophy {
  padding-top: 25px;
  max-width: 550px;
  border-top: 1px solid var(--line);
}
.about-philosophy > p {
  font-size: 14px;
}
.about-philosophy dl {
  margin: 25px 0;
}
.about-philosophy dl div {
  padding: 12px 0;
  display: flex;
  justify-content: space-between;
  gap: 30px;
  border-bottom: 1px solid var(--line);
  font-size: 12px;
}
.about-philosophy dt {
  color: var(--muted);
}
.about-philosophy dd {
  margin: 0;
  text-align: right;
}
.about-dj,
.about-massage,
.about-haar,
.about-katze {
  grid-template-columns: 1.2fr 1fr;
}
.about-dj .about-photo,
.about-massage .about-photo,
.about-haar .about-photo,
.about-katze .about-photo {
  grid-column: 1;
  grid-row: 1/3;
  height: 650px;
}
.about-dj h1,
.about-haar h1,
.about-video h1,
.about-hund h1,
.about-musikunterricht h1,
.about-nachhilfe h1 {
  font-weight: 700 !important;
}
.about-rede {
  display: block;
  max-width: 900px;
  margin: auto;
  padding: 65px;
}
.about-rede .about-heading {
  text-align: center;
  margin: auto;
}
.about-rede .about-philosophy {
  background: #fffdf8;
  padding: 40px;
  border: 1px solid var(--line);
  margin: 40px auto;
  transform: rotate(-1deg);
}
.about-rede .about-photo {
  height: 360px;
}
.about-musik .about-photo {
  border: 10px solid #fff0d0;
  transform: rotate(3deg);
  margin: 15px;
}
.about-visagistik .about-photo {
  grid-column: 1;
  grid-row: 1/3;
  height: 670px;
  object-position: 60% center;
}
.about-visagistik .about-heading {
  padding-top: 90px;
}
.about-tattoo .about-photo {
  filter: grayscale(1);
  border: 12px solid #e9e2d7;
  transform: rotate(-3deg);
}
.about-piercing {
  display: block;
  text-align: center;
  max-width: 900px;
  margin: auto;
}
.about-piercing .about-heading {
  margin: auto;
}
.about-piercing .about-photo {
  height: 400px;
  margin: 40px 0;
}
.about-piercing .about-philosophy {
  margin: auto;
}
.about-hund .about-photo {
  border: 12px solid white;
  transform: rotate(3deg);
  border-radius: 4px;
}
.about-katze .about-photo {
  border-radius: 200px 200px 0 0;
}
.about-musikunterricht {
  background: repeating-linear-gradient(
    0deg,
    transparent 0,
    transparent 39px,
    #aac3d720 39px,
    #aac3d720 40px
  );
}
.about-nachhilfe {
  border-left: 2px solid #ddab8d;
  margin-left: 50px;
  padding-left: 35px;
}
.about-nachhilfe .about-heading {
  background: #fff9dc;
  padding: 25px;
  border: 1px solid var(--line);
}
.atelier-portfolio {
  padding: 55px 48px;
}
.portfolio-heading {
  max-width: 850px;
  margin-bottom: 40px;
}
.portfolio-heading p {
  font: italic 18px/1.5 var(--display);
}
.portfolio-photo {
  height: 470px;
  margin-bottom: 40px;
}
.atelier-site .portfolio-story {
  padding: 35px 0;
  background: none;
  border: 0;
  color: var(--ink);
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 60px;
}
.atelier-site .portfolio-story h2 {
  font: 400 32px/1.2 var(--display);
  margin: 18px 0;
}
.atelier-site .portfolio-story p {
  font-size: 14px;
}
.atelier-site .portfolio-story ol {
  list-style: none;
  margin: 0;
  padding: 0;
}
.atelier-site .portfolio-story li {
  border-bottom: 1px solid var(--line);
  padding: 20px 0;
  display: flex;
  gap: 20px;
  align-items: center;
  background: none;
}
.atelier-site .portfolio-story li span {
  color: var(--muted);
  font:
    15px Georgia,
    serif;
}
.atelier-disclosure {
  font-size: 10px !important;
  color: var(--muted) !important;
  margin-top: 35px;
}
.portfolio-foto {
  padding: 60px 75px;
}
.portfolio-foto .portfolio-photo {
  height: 570px;
}
.portfolio-foto .portfolio-story {
  border-top: 1px solid var(--line);
  padding-top: 35px;
}
.portfolio-dj .portfolio-photo {
  height: 440px;
}
.portfolio-dj .portfolio-heading {
  background: #d6b6ff;
  color: #21172c;
  padding: 30px;
  margin: -75px 25px 45px;
  position: relative;
}
.portfolio-dj .portfolio-heading .atelier-kicker {
  color: #463050;
}
.portfolio-musik .portfolio-photo {
  height: 550px;
  max-width: 650px;
  transform: rotate(-2deg);
  border: 12px solid #fff0d0;
  margin: 45px auto;
}
.portfolio-musik .portfolio-story {
  display: block;
}
.portfolio-musik .portfolio-story ol {
  display: flex;
  gap: 25px;
}
.portfolio-musik .portfolio-story li {
  flex: 1;
  align-items: flex-start;
}
.portfolio-rede {
  max-width: 950px;
  margin: auto;
  text-align: center;
}
.portfolio-rede .portfolio-heading {
  margin: 10px auto 40px;
}
.portfolio-rede .portfolio-photo {
  height: 400px;
}
.portfolio-rede .portfolio-story {
  display: block;
  background: #fffdf8;
  padding: 40px;
  border: 1px solid var(--line);
}
.portfolio-massage .portfolio-heading {
  text-align: center;
  margin: 35px auto 65px;
  max-width: 600px;
}
.portfolio-massage .portfolio-photo {
  height: 500px;
  border-radius: 4px 150px 4px 4px;
}
.portfolio-massage .portfolio-story {
  padding: 0 35px;
}
.ink-flash-board {
  display: flex;
  gap: 28px;
  margin: 50px 0;
}
.ink-flash-board figure {
  flex: 1;
  background: #eee7dc;
  padding: 25px;
  color: #222;
  transform: rotate(-2deg);
  margin: 0;
}
.ink-flash-board figure:nth-child(2) {
  transform: rotate(2deg);
}
.ink-flash-board svg {
  height: 230px;
  width: 100%;
}
.ink-flash-board figcaption {
  font:
    9px/1.6 "Courier New",
    monospace;
  margin-top: 20px;
}
.portfolio-piercing {
  text-align: center;
}
.portfolio-piercing .portfolio-heading {
  margin: auto auto 45px;
}
.portfolio-piercing .portfolio-photo {
  height: 470px;
  max-width: 800px;
  margin: 30px auto 50px;
}
.portfolio-piercing .portfolio-story {
  text-align: left;
}
.portfolio-haar .portfolio-heading h1 {
  font-weight: 900;
}
.portfolio-haar .portfolio-photo {
  height: 500px;
  border-radius: 200px 0 0 0;
}
.portfolio-haar .portfolio-story {
  border-top: 3px solid var(--ink);
}
.portfolio-video .portfolio-photo {
  height: 400px;
  outline: 1px solid var(--line);
  outline-offset: 12px;
  margin: 40px 12px 55px;
}
.portfolio-video .portfolio-story {
  display: block;
}
.portfolio-video .portfolio-story ol {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 20px;
}
.portfolio-video .portfolio-story li {
  background: var(--soft);
  border: 1px solid var(--line);
  padding: 25px;
  display: block;
  aspect-ratio: 1.6;
}
.portfolio-visagistik {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 40px;
  align-items: center;
}
.portfolio-visagistik .portfolio-photo {
  grid-row: 1/3;
  height: 670px;
  object-position: 60% center;
}
.portfolio-visagistik .portfolio-story {
  display: block;
  padding: 0;
}
.portfolio-visagistik .portfolio-heading {
  margin: 0;
}
.portfolio-visagistik .atelier-disclosure {
  grid-column: 1/-1;
}
.portfolio-hund .portfolio-photo {
  margin: 20px 15px 60px;
  border: 12px solid #fffdf5;
  transform: rotate(2deg);
  height: 450px;
}
.portfolio-hund .portfolio-story {
  background: var(--soft);
  padding: 35px;
  border-radius: 20px;
}
.portfolio-katze .portfolio-photo {
  height: 470px;
  border-radius: 200px 200px 0 0;
}
.portfolio-katze .portfolio-heading {
  background: #f8efcf;
  padding: 35px;
  margin: -80px 25px 35px;
  position: relative;
  max-width: 580px;
  transform: rotate(-2deg);
  box-shadow: 0 8px 20px #6a452b14;
}
.portfolio-musikunterricht .portfolio-photo {
  height: 350px;
}
.portfolio-musikunterricht .portfolio-story {
  border-top: 4px double var(--line);
}
.portfolio-musikunterricht .portfolio-story li > span {
  font:
    700 28px "Trebuchet MS",
    Arial,
    sans-serif;
}
.portfolio-nachhilfe {
  margin: 0 35px;
  border-left: 2px solid #ddab8d;
  padding: 50px 30px;
}
.portfolio-nachhilfe .portfolio-photo {
  border-radius: 8px;
  height: 380px;
}
.portfolio-nachhilfe .portfolio-story {
  display: block;
}
.portfolio-nachhilfe .portfolio-story ol {
  display: flex;
  gap: 20px;
}
.portfolio-nachhilfe .portfolio-story li {
  flex: 1;
  background: var(--soft);
  padding: 20px;
  border: 0;
  display: block;
}
.portfolio-nachhilfe .portfolio-story li:nth-child(2) {
  transform: rotate(2deg);
}
/* Booking uses each studio's palette, borders and typographic rhythm. */
.atelier-booking {
  border-top: 1px solid var(--line);
  background: var(--soft);
  padding: 0;
}
.atelier-site .booking-area {
  padding: 55px 48px;
  background: transparent;
  border: 0;
  color: var(--ink);
  border-radius: 0;
  margin: 0;
}
.atelier-site .booking-area > .eyebrow {
  color: var(--muted);
}
.atelier-site .booking-area h2 {
  font-family: var(--display);
  font-size: 36px;
  line-height: 1.15;
}
.atelier-site .booking-area .file-note,
.atelier-site .booking-flow-note,
.atelier-site .intake-fields small {
  color: var(--muted);
}
.atelier-site .booking-area .day-button,
.atelier-site .booking-area .time-button {
  background: var(--paper);
  color: var(--ink);
  border-color: var(--line);
  border-radius: 3px;
}
.atelier-site .booking-area .day-button.selected,
.atelier-site .booking-area .time-button.selected {
  background: var(--ink);
  color: var(--paper);
  border-color: var(--ink);
}
.atelier-site .booking-area .day-button:disabled {
  opacity: 0.48;
}
.atelier-site .booking-area .field input,
.atelier-site .booking-area .field textarea,
.atelier-site .booking-area .field select {
  background: var(--paper);
  color: var(--ink);
  border: 1px solid var(--line);
  border-radius: 3px;
}
.atelier-site .booking-area .field,
.atelier-site .booking-area .check-field {
  color: var(--ink);
}
.atelier-site .booking-area .btn {
  background: var(--ink);
  color: var(--paper);
  border: 1px solid var(--ink);
  border-radius: 3px;
}
.atelier-site .booking-area .text-button {
  color: var(--ink);
}
.atelier-site .booking-context {
  background: var(--paper);
  color: var(--ink);
  border-color: var(--line);
}
.atelier-site .intake-fields {
  border-color: var(--line);
}
.atelier-site .booking-area input[type="checkbox"] {
  accent-color: var(--accent);
}
.atelier-site .booking-area .field-error {
  color: #a42020;
  background: #fff9f0;
  border-radius: 3px;
}
.atelier-site .booking-area .field-error:empty {
  background: none;
}
.booking-dj,
.booking-tattoo,
.booking-video {
  --paper: #fffdf6;
  --ink: #28312d;
  --muted: #536057;
  --soft: #eaece6;
  --line: #bdc8bf;
  --accent: #385848;
}
.booking-dj .booking-area,
.booking-video .booking-area {
  border-top: 5px solid #b3c5bb;
}
.booking-rede .booking-area {
  padding: 65px;
  max-width: 1100px;
  margin: auto;
}
.booking-massage {
  margin: 0 25px 25px;
  border-radius: 12px;
}
.booking-piercing {
  margin: 0 40px 40px;
  border: 1px solid var(--line);
}
.booking-visagistik .booking-area {
  padding: 65px;
}
.booking-hund {
  border-radius: 40px 40px 0 0;
}
.booking-nachhilfe .booking-area {
  border-left: 2px solid #ddab8d;
  margin-left: 48px;
  padding-left: 35px;
}
/* Bronze is deliberately shorter while retaining the same individual brand. */
.atelier-site.tier-bronze .atelier-nav {
  padding-top: 20px;
  padding-bottom: 20px;
}
.atelier-site.tier-bronze .signature-copy h1 {
  font-size: clamp(40px, 4.5vw, 66px) !important;
}
.atelier-site.tier-bronze .photo-headline {
  padding-top: 20px;
  padding-bottom: 30px;
}
.atelier-site.tier-bronze .photo-spread .atelier-photo {
  height: 400px;
}
.atelier-site.tier-bronze .dj-stage {
  min-height: 600px;
}
.atelier-site.tier-bronze .dj-stage-copy {
  padding-top: 60px;
  padding-bottom: 165px;
}
.atelier-site.tier-bronze .music-programme {
  min-height: 540px;
}
.atelier-site.tier-bronze .programme-cover .atelier-photo {
  min-height: 440px;
}
.atelier-site.tier-bronze .programme-copy {
  padding-top: 35px;
  padding-bottom: 35px;
}
.atelier-site.tier-bronze .ceremony-dedication {
  padding: 35px 70px;
}
.atelier-site.tier-bronze .ceremony-horizon .atelier-photo {
  height: 320px;
}
.atelier-site.tier-bronze .retreat-view .atelier-photo {
  height: 350px;
}
.atelier-site.tier-bronze .retreat-intro {
  padding: 40px 55px;
  gap: 60px;
}
.atelier-site.tier-bronze .ink-title {
  padding: 40px 30px;
}
.atelier-site.tier-bronze .ink-contact-sheet .atelier-photo {
  height: 350px;
}
.atelier-site.tier-bronze .jewel-title {
  padding: 35px;
}
.atelier-site.tier-bronze .jewel-display .atelier-photo {
  height: 300px;
}
.atelier-site.tier-bronze .salon-mirror .atelier-photo {
  height: 460px;
}
.atelier-site.tier-bronze .salon-spread {
  padding-top: 35px;
}
.atelier-site.tier-bronze .film-title {
  padding: 30px 40px;
}
.atelier-site.tier-bronze .film-widescreen .atelier-photo {
  height: 320px;
}
.atelier-site.tier-bronze .beauty-spread {
  padding: 35px 40px;
}
.atelier-site.tier-bronze .beauty-portrait .atelier-photo {
  height: 470px;
}
.atelier-site.tier-bronze .beauty-copy {
  padding-top: 0;
}
.atelier-site.tier-bronze .dog-welcome {
  padding: 40px;
}
.atelier-site.tier-bronze .dog-postcard .atelier-photo {
  height: 360px;
}
.atelier-site.tier-bronze .cat-window .atelier-photo {
  height: 350px;
}
.atelier-site.tier-bronze .cat-story-open {
  padding: 40px;
}
.atelier-site.tier-bronze .lesson-score {
  padding-top: 35px;
  padding-bottom: 25px;
}
.atelier-site.tier-bronze .lesson-keyboard .atelier-photo {
  height: 280px;
}
.atelier-site.tier-bronze .learning-open-book {
  padding-top: 25px;
}
.atelier-site.tier-bronze .learning-scene .atelier-photo {
  height: 280px;
}
.atelier-site.tier-bronze .atelier-choices,
.atelier-site.tier-bronze .atelier-service {
  padding-top: 35px;
  padding-bottom: 35px;
}
/* Landing miniatures follow the actual new compositions, not a shared thumbnail. */
.project-mini.atelier-mini {
  height: 265px;
  border-radius: 4px;
  position: relative;
  display: block;
  background: #fffdfa;
  color: #292824;
}
.atelier-mini .mini-brand {
  position: relative;
  z-index: 3;
  display: flex;
  gap: 7px;
  align-items: center;
  padding: 13px 16px;
  font:
    9px/1.2 Georgia,
    serif;
}
.atelier-mini .mini-brand img {
  position: static !important;
  width: 20px !important;
  height: 20px !important;
  object-fit: contain !important;
}
.atelier-mini .mini-headline {
  position: absolute;
  z-index: 2;
  top: 62px;
  left: 22px;
  font:
    32px/1.03 Georgia,
    serif;
  letter-spacing: -0.04em;
  max-width: 85%;
}
.atelier-mini .mini-headline em {
  font-family: inherit;
  font-style: italic;
}
.atelier-mini > img {
  position: absolute !important;
  right: 0 !important;
  bottom: 0 !important;
  width: 100% !important;
  height: 58% !important;
  object-fit: cover;
}
.atelier-mini .mini-caption {
  position: absolute;
  bottom: 9px;
  left: 12px;
  right: 12px;
  z-index: 2;
  font:
    6px/1.4 Arial,
    sans-serif;
  letter-spacing: 0.12em;
  color: white;
  text-shadow: 0 1px 4px #000;
}
.atelier-mini.mini-foto .mini-headline {
  top: 47px;
  font-size: 29px;
}
.atelier-mini.mini-foto > img {
  width: 88% !important;
  right: 6% !important;
  height: 53% !important;
}
.atelier-mini.mini-dj {
  background: #171320;
  color: #fff3df;
}
.atelier-mini.mini-dj > img {
  height: 100% !important;
  opacity: 0.55;
}
.atelier-mini.mini-dj .mini-headline {
  font:
    900 38px/0.97 Arial,
    sans-serif;
  top: 68px;
}
.atelier-mini.mini-dj .mini-headline em {
  color: #d6b6ff;
  font-style: normal;
}
.atelier-mini.mini-musik {
  background: #9f442e;
  color: #fff5dc;
}
.atelier-mini.mini-musik > img {
  height: 77% !important;
  width: 46% !important;
  right: 5% !important;
  bottom: 6% !important;
}
.atelier-mini.mini-musik .mini-headline {
  top: 68px;
  font-size: 39px;
  max-width: 45%;
}
.atelier-mini.mini-rede {
  background: #eef5f6;
  color: #304b57;
}
.atelier-mini.mini-rede .mini-brand {
  justify-content: center;
}
.atelier-mini.mini-rede .mini-headline {
  font:
    italic 25px/1.1 "Times New Roman",
    serif;
  text-align: center;
  left: 10%;
  right: 10%;
  top: 54px;
}
.atelier-mini.mini-rede > img {
  height: 48% !important;
}
.atelier-mini.mini-massage {
  background: #f1ecdf;
  color: #4b473a;
}
.atelier-mini.mini-massage > img {
  height: 55% !important;
  top: 44px;
  bottom: auto !important;
  width: 92% !important;
  right: 4% !important;
}
.atelier-mini.mini-massage .mini-headline {
  top: auto;
  bottom: 14px;
  font:
    italic 26px/0.97 Georgia,
    serif;
  left: 22px;
}
.atelier-mini.mini-massage .mini-caption {
  display: none;
}
.atelier-mini.mini-tattoo {
  background: #1c1c1c;
  color: #f2eee4;
}
.atelier-mini.mini-tattoo .mini-headline {
  font:
    900 30px/1 Arial,
    sans-serif;
  max-width: 56%;
}
.atelier-mini.mini-tattoo .mini-headline em {
  font-style: normal;
}
.atelier-mini.mini-tattoo > img {
  width: 45% !important;
  height: 65% !important;
  transform: rotate(5deg);
  right: 3% !important;
  bottom: 7% !important;
}
.atelier-mini.mini-piercing {
  background: #eaf1f5;
  color: #263d4b;
}
.atelier-mini.mini-piercing .mini-headline {
  text-align: center;
  left: 10%;
  right: 10%;
  top: 52px;
  font-size: 23px;
}
.atelier-mini.mini-piercing > img {
  height: 52% !important;
  width: 84% !important;
  right: 8% !important;
}
.atelier-mini.mini-haar {
  background: #f0b598;
  color: #392c2e;
}
.atelier-mini.mini-haar .mini-headline {
  font:
    900 31px/1 Arial,
    sans-serif;
  max-width: 60%;
  top: 57px;
}
.atelier-mini.mini-haar .mini-headline em {
  font-style: normal;
}
.atelier-mini.mini-haar > img {
  height: 73% !important;
  width: 48% !important;
  right: 5% !important;
  bottom: 5% !important;
  border-radius: 90px 90px 0 0;
}
.atelier-mini.mini-video {
  background: #102a32;
  color: #edf6f4;
}
.atelier-mini.mini-video .mini-headline {
  font:
    700 28px/1 Arial,
    sans-serif;
  top: 52px;
  max-width: 90%;
}
.atelier-mini.mini-video .mini-headline em {
  color: #acd9d3;
  font-style: normal;
}
.atelier-mini.mini-video > img {
  height: 52% !important;
}
.atelier-mini.mini-visagistik {
  background: #ead7df;
  color: #512d43;
}
.atelier-mini.mini-visagistik > img {
  height: 78% !important;
  width: 48% !important;
  left: 5%;
  right: auto !important;
  bottom: 5% !important;
  object-position: 65% center;
}
.atelier-mini.mini-visagistik .mini-headline {
  left: 47%;
  top: 100px;
  font:
    italic 30px/0.95 "Times New Roman",
    serif;
  max-width: 48%;
}
.atelier-mini.mini-hund {
  background: #f1f5db;
  color: #294a34;
}
.atelier-mini.mini-hund .mini-headline {
  font:
    800 26px/1.05 "Trebuchet MS",
    Arial,
    sans-serif;
  top: 55px;
  max-width: 75%;
}
.atelier-mini.mini-hund .mini-headline em {
  font-style: normal;
}
.atelier-mini.mini-hund > img {
  width: 64% !important;
  height: 50% !important;
  bottom: 4% !important;
  right: 5% !important;
  transform: rotate(4deg);
  border: 5px solid white;
}
.atelier-mini.mini-katze {
  background: #f8f0df;
  color: #65462e;
}
.atelier-mini.mini-katze > img {
  height: 48% !important;
  top: 45px;
  bottom: auto !important;
  width: 90% !important;
  right: 5% !important;
  border-radius: 80px 80px 0 0;
}
.atelier-mini.mini-katze .mini-headline {
  top: auto;
  bottom: 16px;
  font-size: 23px;
  max-width: 85%;
}
.atelier-mini.mini-katze .mini-caption {
  display: none;
}
.atelier-mini.mini-musikunterricht {
  background: #e6f0fa;
  color: #234963;
}
.atelier-mini.mini-musikunterricht .mini-headline {
  font:
    800 25px/1.07 "Trebuchet MS",
    Arial,
    sans-serif;
  top: 60px;
}
.atelier-mini.mini-musikunterricht .mini-headline em {
  font-style: normal;
}
.atelier-mini.mini-musikunterricht > img {
  height: 45% !important;
  width: 90% !important;
  right: 5% !important;
  bottom: 4% !important;
}
.atelier-mini.mini-nachhilfe {
  background: #fffae9;
  color: #343c3a;
}
.atelier-mini.mini-nachhilfe .mini-headline {
  font:
    800 24px/1.05 "Trebuchet MS",
    Arial,
    sans-serif;
  top: 57px;
  left: 22px;
  border-left: 1px solid #ddab8d;
  padding-left: 12px;
}
.atelier-mini.mini-nachhilfe .mini-headline em {
  font-style: normal;
  color: #76551e;
}
.atelier-mini.mini-nachhilfe > img {
  height: 44% !important;
  width: 77% !important;
  right: 6% !important;
  bottom: 5% !important;
  border-radius: 3px;
}
.atelier-mini.mini-dj .mini-brand img,
.atelier-mini.mini-musik .mini-brand img,
.atelier-mini.mini-tattoo .mini-brand img,
.atelier-mini.mini-video .mini-brand img {
  filter: brightness(0) invert(1);
}
@media (max-width: 1050px) {
  .atelier-nav {
    padding: 24px 30px;
    flex-wrap: wrap;
    gap: 18px;
  }
  .atelier-nav .sample-nav {
    gap: 15px;
  }
  .atelier-wordmark {
    font-size: 24px;
  }
  .atelier-site .signature-copy h1 {
    font-size: clamp(42px, 5.8vw, 65px) !important;
  }
  .photo-headline {
    padding: 25px 48px 40px;
  }
  .brand-foto .signature-copy h1 {
    font-size: 85px !important;
  }
  .programme-copy {
    padding: 40px 25px;
  }
  .music-programme {
    grid-template-columns: 38px 1fr 1fr;
  }
  .programme-cover {
    padding: 25px 25px 25px 0;
  }
  .programme-cover .atelier-photo {
    min-height: 490px;
  }
  .beauty-spread,
  .dog-welcome {
    gap: 35px;
    padding: 45px 35px;
  }
  .film-title .signature-copy {
    grid-template-columns: 1fr;
    gap: 0;
  }
  .film-title h1 {
    grid-row: auto;
  }
  .film-title .signature-copy p {
    max-width: 600px;
    margin: 5px 0 25px;
  }
  .film-title .atelier-cta {
    justify-self: start;
  }
  .retreat-intro {
    gap: 55px;
    padding: 50px;
  }
  .feature-rede {
    padding: 55px;
  }
  .atelier-feature {
    gap: 40px;
  }
  .atelier-site .choice-text b {
    font-size: 21px;
  }
  .choices-piercing {
    padding: 50px;
  }
  .atelier-site .atelier-faq {
    gap: 35px;
  }
  .learning-open-book {
    grid-template-columns: 75px 1fr;
    gap: 25px;
  }
  .learning-scene {
    grid-template-columns: 1fr 180px;
  }
  .cat-story-open {
    grid-template-columns: 1fr 160px;
    gap: 30px;
  }
  .cat-location {
    padding: 20px;
  }
  .atelier-site .atelier-about h1,
  .atelier-site .atelier-portfolio h1 {
    font-size: 45px;
  }
  .atelier-site .portfolio-story {
    gap: 35px;
  }
  .atelier-mini .mini-headline {
    font-size: 26px;
  }
  .atelier-mini.mini-dj .mini-headline {
    font-size: 30px;
  }
  .atelier-mini.mini-haar .mini-headline {
    font-size: 26px;
  }
  .atelier-mini.mini-video .mini-headline {
    font-size: 24px;
  }
}
@media (max-width: 720px) {
  .atelier-nav {
    padding: 22px !important;
    display: flex;
    gap: 18px;
  }
  .atelier-nav .sample-nav {
    width: 100%;
    justify-content: flex-start;
    gap: 10px 16px;
  }
  .atelier-nav .sample-nav a {
    font-size: 10px;
  }
  .atelier-nav .sample-contact {
    font-size: 10px;
    padding: 9px 12px;
    margin-left: auto;
  }
  .atelier-wordmark {
    font-size: 24px !important;
  }
  .atelier-wordmark > .brand-symbol {
    width: 44px;
    height: 44px;
  }
  .atelier-wordmark small {
    font-size: 8px;
  }
  .nav-rede .sample-nav {
    justify-content: center;
  }
  .nav-rede .sample-contact {
    margin-left: 0;
  }
  .atelier-site .signature-copy h1,
  .atelier-site.tier-bronze .signature-copy h1 {
    font-size: clamp(34px, 7.9vw, 53px) !important;
    line-height: 1.06;
    margin: 22px 0;
  }
  .atelier-site .signature-copy p {
    font-size: 13px;
    line-height: 1.8;
    max-width: 100%;
  }
  .atelier-site .atelier-kicker {
    font-size: 8px;
  }
  .atelier-site .atelier-cta {
    font-size: 11px;
    padding: 13px 18px;
    gap: 17px;
  }
  .atelier-photo figcaption {
    font-size: 8px;
    padding: 9px 10px;
  }
  .atelier-city {
    font-size: 9px;
  }
  .atelier-note {
    font-size: 16px;
  }
  .photo-index {
    padding: 18px 22px;
    gap: 20px;
    font-size: 8px;
  }
  .photo-index .atelier-city {
    display: none;
  }
  .photo-headline,
  .atelier-site.tier-bronze .photo-headline {
    padding: 20px 25px 35px;
    grid-template-columns: 1fr;
  }
  .photo-edition {
    display: none;
  }
  .brand-foto .signature-copy h1,
  .atelier-site.tier-bronze.brand-foto .signature-copy h1 {
    font-size: clamp(65px, 16vw, 90px) !important;
  }
  .photo-spread {
    padding: 0 32px 0 22px;
  }
  .photo-spread .atelier-photo,
  .atelier-site.tier-bronze .photo-spread .atelier-photo {
    height: 350px;
  }
  .photo-spread img {
    object-position: 66% center;
  }
  .vertical-note {
    right: 10px;
    font-size: 6px;
  }
  .hero-foto > .atelier-note {
    padding: 0 22px;
    font-size: 13px;
  }
  .dj-stage,
  .atelier-site.tier-bronze .dj-stage {
    min-height: 630px;
  }
  .dj-stage-copy,
  .atelier-site.tier-bronze .dj-stage-copy {
    padding: 50px 24px 190px;
  }
  .dj-stage > .atelier-photo img {
    object-position: 65% center;
  }
  .dj-stage > .atelier-photo:after {
    background: linear-gradient(90deg, #171320d9, #17132077);
  }
  .brand-dj .signature-copy h1,
  .atelier-site.tier-bronze.brand-dj .signature-copy h1 {
    font-size: clamp(38px, 9vw, 59px) !important;
    letter-spacing: -0.055em;
  }
  .dj-ticket {
    left: 22px;
    right: 22px;
    bottom: 37px;
    padding: 17px;
    gap: 10px;
    flex-wrap: wrap;
  }
  .dj-ticket > b {
    font-size: 16px;
  }
  .dj-ticket .atelier-city {
    font-size: 9px;
    max-width: 100px;
  }
  .dj-ticket button {
    min-width: 40px;
    font-size: 29px;
  }
  .dj-afterglow {
    padding: 20px 24px;
    display: block;
  }
  .dj-afterglow > span {
    font-size: 7px;
  }
  .dj-afterglow .atelier-note {
    font-size: 11px;
    margin-top: 12px;
  }
  .music-programme {
    grid-template-columns: 27px 1fr;
    min-height: 0;
  }
  .programme-spine {
    grid-row: 1/3;
    padding: 25px 0;
  }
  .programme-spine > span {
    font-size: 7px;
  }
  .programme-copy,
  .atelier-site.tier-bronze .programme-copy {
    padding: 35px 25px 30px;
  }
  .brand-musik .signature-copy h1,
  .atelier-site.tier-bronze.brand-musik .signature-copy h1 {
    font-size: clamp(58px, 14vw, 85px) !important;
    line-height: 0.94;
  }
  .programme-copy .atelier-note {
    font-size: 13px;
    margin-top: 25px;
  }
  .programme-cover {
    grid-column: 2;
    padding: 0 25px 30px;
  }
  .programme-cover .atelier-photo,
  .atelier-site.tier-bronze .programme-cover .atelier-photo {
    height: 360px;
    min-height: 0;
  }
  .programme-cover img {
    object-position: 33% center;
  }
  .programme-stamp {
    width: 85px;
    height: 85px;
    left: 8px;
    bottom: 12px;
    font-size: 18px;
  }
  .programme-footer {
    padding: 20px 25px;
    gap: 15px;
    flex-direction: column;
    font-size: 7px;
  }
  .ceremony-dedication,
  .atelier-site.tier-bronze .ceremony-dedication {
    padding: 45px 24px 35px;
  }
  .letter-initial {
    position: static;
    display: block;
    font-size: 65px;
    margin-bottom: 20px;
  }
  .brand-rede .signature-copy h1,
  .atelier-site.tier-bronze.brand-rede .signature-copy h1 {
    font-size: clamp(38px, 9vw, 57px) !important;
  }
  .ceremony-horizon .atelier-photo,
  .atelier-site.tier-bronze .ceremony-horizon .atelier-photo {
    height: 300px;
  }
  .ceremony-caption {
    padding: 20px 25px;
    display: block;
  }
  .ceremony-caption .atelier-note {
    font-size: 15px;
    margin-top: 10px;
  }
  .retreat-view {
    margin: 0 14px;
  }
  .retreat-view .atelier-photo,
  .atelier-site.tier-bronze .retreat-view .atelier-photo {
    height: 310px;
  }
  .retreat-view img {
    object-position: 70% center;
  }
  .retreat-word {
    font-size: 70px;
    right: 25px;
    bottom: 40px;
  }
  .retreat-intro,
  .atelier-site.tier-bronze .retreat-intro {
    padding: 45px 30px;
    grid-template-columns: 1fr;
    gap: 35px;
  }
  .retreat-intro > aside {
    display: flex;
    max-width: none;
    text-align: left;
    align-items: center;
    gap: 20px;
    flex-wrap: wrap;
  }
  .retreat-circle {
    width: 55px;
    height: 55px;
    margin: 0;
    flex: none;
  }
  .retreat-intro .atelier-note {
    font-size: 18px;
    max-width: 170px;
  }
  .retreat-intro .atelier-city {
    width: 100%;
  }
  .brand-massage .signature-copy h1,
  .atelier-site.tier-bronze.brand-massage .signature-copy h1 {
    font-size: clamp(50px, 12vw, 74px) !important;
  }
  .ink-studio {
    grid-template-columns: 1fr;
  }
  .ink-title,
  .atelier-site.tier-bronze .ink-title {
    padding: 40px 25px;
    border-right: 0;
  }
  .brand-tattoo .signature-copy h1,
  .atelier-site.tier-bronze.brand-tattoo .signature-copy h1 {
    font-size: clamp(38px, 9vw, 59px) !important;
  }
  .ink-coordinate {
    margin-top: 30px;
    font-size: 8px;
  }
  .ink-contact-sheet {
    padding: 25px;
  }
  .ink-contact-sheet .atelier-photo,
  .atelier-site.tier-bronze .ink-contact-sheet .atelier-photo {
    height: 300px;
    width: 100%;
  }
  .ink-bottom {
    padding: 23px 25px;
    display: block;
  }
  .ink-bottom .atelier-note {
    margin-top: 12px;
    font-size: 10px;
  }
  .jewel-title,
  .atelier-site.tier-bronze .jewel-title {
    padding: 40px 24px;
  }
  .brand-piercing .signature-copy h1,
  .atelier-site.tier-bronze.brand-piercing .signature-copy h1 {
    font-size: clamp(32px, 7.8vw, 51px) !important;
  }
  .jewel-display {
    grid-template-columns: 18px 1fr 20px;
    gap: 10px;
    padding: 0 13px;
  }
  .jewel-display .atelier-photo,
  .atelier-site.tier-bronze .jewel-display .atelier-photo {
    height: 270px;
  }
  .jewel-display img {
    object-position: 40% center;
  }
  .jewel-side {
    font-size: 6px;
  }
  .jewel-number {
    font-size: 18px;
  }
  .jewel-caption {
    padding: 15px 35px 25px;
    display: block;
  }
  .jewel-caption .atelier-note {
    font-size: 14px;
  }
  .salon-spread,
  .atelier-site.tier-bronze .salon-spread {
    display: block;
    padding: 35px 25px;
  }
  .brand-haar .signature-copy h1,
  .atelier-site.tier-bronze.brand-haar .signature-copy h1 {
    font-size: clamp(38px, 9vw, 60px) !important;
    letter-spacing: -0.06em;
  }
  .salon-mirror {
    padding: 0 0 25px;
    margin: 45px 12px 0 40px;
  }
  .salon-mirror .atelier-photo,
  .atelier-site.tier-bronze .salon-mirror .atelier-photo {
    height: 390px;
  }
  .salon-seal {
    width: 95px;
    height: 95px;
    font-size: 15px;
    left: -32px;
  }
  .salon-baseline {
    padding: 22px 25px;
    display: block;
  }
  .salon-baseline .atelier-note {
    margin-top: 10px;
    font-size: 12px;
  }
  .film-head {
    padding: 25px 24px 0;
    display: block;
    font-size: 8px;
  }
  .film-head .atelier-city {
    display: block;
    margin-top: 12px;
  }
  .film-title,
  .atelier-site.tier-bronze .film-title {
    padding: 30px 24px 40px;
  }
  .brand-video .signature-copy h1,
  .atelier-site.tier-bronze.brand-video .signature-copy h1 {
    font-size: clamp(31px, 7.2vw, 49px) !important;
    letter-spacing: -0.04em;
  }
  .film-widescreen .atelier-photo,
  .atelier-site.tier-bronze .film-widescreen .atelier-photo {
    height: 300px;
  }
  .film-widescreen img {
    object-position: 40% center;
  }
  .film-frame-label {
    font-size: 6px;
    left: 10px;
    top: 12px;
    padding: 7px;
  }
  .hero-video > .atelier-note {
    padding: 10px 24px 20px;
    font-size: 12px;
  }
  .beauty-spread,
  .atelier-site.tier-bronze .beauty-spread {
    display: flex;
    flex-direction: column;
    padding: 25px;
    gap: 25px;
  }
  .beauty-portrait {
    width: 100%;
    padding-right: 18px;
  }
  .beauty-portrait .atelier-photo,
  .atelier-site.tier-bronze .beauty-portrait .atelier-photo {
    height: 380px;
  }
  .beauty-side {
    font-size: 7px;
    top: 20px;
  }
  .beauty-copy {
    padding: 0 5px !important;
    width: 100%;
  }
  .brand-visagistik .signature-copy h1,
  .atelier-site.tier-bronze.brand-visagistik .signature-copy h1 {
    font-size: clamp(57px, 14vw, 82px) !important;
    line-height: 0.95;
  }
  .beauty-dots {
    margin-top: 30px;
  }
  .beauty-copy .atelier-note {
    font-size: 13px;
  }
  .dog-welcome,
  .atelier-site.tier-bronze .dog-welcome {
    grid-template-columns: 1fr;
    gap: 30px;
    padding: 40px 25px 30px;
  }
  .brand-hund .signature-copy h1,
  .atelier-site.tier-bronze.brand-hund .signature-copy h1 {
    font-size: clamp(33px, 7.5vw, 51px) !important;
    line-height: 1.08;
  }
  .dog-postcard {
    padding: 0 10px 40px 16px;
  }
  .dog-postcard .atelier-photo,
  .atelier-site.tier-bronze .dog-postcard .atelier-photo {
    height: 340px;
    border-width: 8px;
  }
  .dog-roundel {
    width: 112px;
    height: 112px;
    left: 0;
    font-size: 13px;
  }
  .dog-walkline {
    padding: 18px 25px;
    flex-wrap: wrap;
    gap: 10px 20px;
  }
  .dog-walkline > span:first-child {
    font-size: 30px;
  }
  .dog-walkline > b {
    width: 100%;
    font-size: 11px;
  }
  .cat-window {
    margin: 18px 20px 0;
    padding-bottom: 60px;
  }
  .cat-window .atelier-photo,
  .atelier-site.tier-bronze .cat-window .atelier-photo {
    height: 335px;
    border-radius: 150px 150px 0 0;
  }
  .cat-window img {
    object-position: 65% center;
  }
  .cat-note {
    width: 190px;
    padding: 19px;
    right: 5px;
  }
  .cat-note > b {
    font-size: 28px;
  }
  .cat-note > span {
    font-size: 9px;
  }
  .cat-note .atelier-note {
    font-size: 11px;
  }
  .cat-story-open,
  .atelier-site.tier-bronze .cat-story-open {
    grid-template-columns: 1fr;
    padding: 35px 27px 40px;
    gap: 25px;
  }
  .brand-katze .signature-copy h1,
  .atelier-site.tier-bronze.brand-katze .signature-copy h1 {
    font-size: clamp(33px, 7.6vw, 52px) !important;
    line-height: 1.12;
  }
  .cat-location {
    display: flex;
    gap: 18px;
    padding: 17px;
    align-items: center;
    text-align: left;
  }
  .cat-location .brand-symbol {
    width: 40px;
    height: 40px;
    margin: 0;
  }
  .lesson-score,
  .atelier-site.tier-bronze .lesson-score {
    grid-template-columns: 17px 1fr;
    gap: 15px;
    padding: 40px 25px 30px;
  }
  .score-note {
    display: none;
  }
  .score-count {
    font-size: 10px;
    line-height: 3.8;
  }
  .brand-musikunterricht .signature-copy h1,
  .atelier-site.tier-bronze.brand-musikunterricht .signature-copy h1 {
    font-size: clamp(31px, 7.1vw, 48px) !important;
    letter-spacing: -0.055em;
  }
  .lesson-keyboard {
    padding: 0 25px 20px;
  }
  .lesson-keyboard .atelier-photo,
  .atelier-site.tier-bronze .lesson-keyboard .atelier-photo {
    height: 270px;
  }
  .lesson-caption {
    display: block;
  }
  .lesson-caption .atelier-note {
    font-size: 14px;
  }
  .learning-open-book,
  .atelier-site.tier-bronze .learning-open-book {
    grid-template-columns: 28px 1fr;
    gap: 18px;
    padding: 30px 22px 15px;
  }
  .learning-margin {
    padding: 15px 8px 15px 0;
  }
  .learning-margin > span {
    font-size: 6px;
    writing-mode: vertical-rl;
    letter-spacing: 0.1em;
    white-space: nowrap;
  }
  .learning-margin > span br {
    display: none;
  }
  .learning-margin > i {
    font-size: 40px;
  }
  .learning-copy {
    padding: 15px 0;
  }
  .brand-nachhilfe .signature-copy h1,
  .atelier-site.tier-bronze.brand-nachhilfe .signature-copy h1 {
    font-size: clamp(27px, 6.2vw, 43px) !important;
    letter-spacing: -0.045em;
  }
  .learning-scene {
    display: block;
    padding: 20px 25px 35px;
  }
  .learning-scene .atelier-photo,
  .atelier-site.tier-bronze .learning-scene .atelier-photo {
    height: 280px;
  }
  .learning-scene aside {
    display: flex;
    flex-wrap: wrap;
    gap: 15px;
    align-items: center;
    padding: 25px 0 0;
  }
  .learning-sticker {
    width: 70px;
    height: 70px;
    font-size: 24px;
  }
  .learning-scene .atelier-note {
    font-size: 16px;
    max-width: 170px;
    margin: 0;
  }
  .learning-scene .atelier-city {
    display: block;
    width: 100%;
  }
  .atelier-choices,
  .atelier-service,
  .atelier-feature,
  .atelier-site .atelier-faq {
    padding: 40px 25px;
    gap: 28px;
  }
  .atelier-site h2 {
    font-size: 29px;
  }
  .choice-arrangement {
    grid-template-columns: 1fr !important;
    gap: 12px !important;
  }
  .atelier-site .experience-choice {
    display: flex !important;
    flex-direction: row;
    align-items: center;
    min-height: 0;
    padding: 23px 18px;
    border-radius: 0;
    gap: 18px;
  }
  .atelier-site .choice-text {
    padding-right: 20px;
  }
  .atelier-site .choice-text b {
    font-size: 22px !important;
  }
  .atelier-site .choice-text small {
    font-size: 11px;
    line-height: 1.75;
  }
  .atelier-site .choice-check {
    top: 22px;
    right: 12px;
    bottom: auto;
  }
  .atelier-site .choice-index {
    font-size: 18px;
    min-width: 25px;
  }
  .atelier-site .experience-selection {
    font-size: 10px;
    line-height: 1.8;
  }
  .atelier-service {
    display: block;
  }
  .service-amount {
    margin-top: 25px;
    max-width: 100%;
  }
  .atelier-service .price {
    font-size: 36px;
  }
  .service-foto,
  .service-dj,
  .service-rede,
  .service-massage,
  .service-piercing,
  .service-visagistik,
  .service-hund,
  .service-katze,
  .service-musikunterricht,
  .service-nachhilfe {
    margin: 15px 25px 30px;
    padding: 28px !important;
  }
  .atelier-feature {
    grid-template-columns: 1fr;
    display: grid;
    padding: 45px 28px;
  }
  .feature-copy > p {
    font-size: 13px;
  }
  .feature-chapters li {
    padding: 20px 0;
    gap: 20px;
  }
  .feature-chapters li > b {
    font-size: 20px;
  }
  .atelier-invitation {
    padding: 25px;
    display: block;
  }
  .atelier-invitation > span {
    font-size: 18px;
  }
  .atelier-invitation > a {
    display: inline-flex;
    font-size: 11px;
    margin-top: 12px;
  }
  .atelier-site .atelier-faq {
    grid-template-columns: 1fr;
  }
  .atelier-faq summary {
    font-size: 13px;
    line-height: 1.65;
  }
  .atelier-faq details p {
    font-size: 12px;
  }
  .choices-dj .choice-text,
  .choices-musik .choice-text,
  .choices-video .choice-text {
    display: block;
  }
  .choices-dj .choice-text b,
  .choices-musik .choice-text b,
  .choices-video .choice-text b {
    margin-bottom: 8px;
  }
  .choices-dj .choice-check {
    top: 25px;
    transform: none;
  }
  .feature-musik {
    display: block;
    padding: 45px 30px;
  }
  .feature-musik .feature-chapters {
    display: block;
    margin-top: 10px;
    text-align: left;
  }
  .feature-musik .feature-chapters li {
    max-width: none;
    display: flex;
    border-bottom: 1px solid var(--line);
  }
  .feature-musik .feature-chapters li > span {
    margin-bottom: 0;
  }
  .feature-rede {
    padding: 35px 25px;
  }
  .feature-rede .feature-copy {
    padding: 25px;
  }
  .feature-rede .feature-chapters {
    display: block;
    margin-top: 20px;
  }
  .feature-rede .feature-chapters li {
    display: flex;
    border-bottom: 1px solid var(--line);
  }
  .feature-rede .feature-chapters li > span {
    margin: 0;
  }
  .choices-rede .experience-choice {
    text-align: left;
    border-radius: 3px;
  }
  .choices-rede .choice-index {
    margin: 0;
  }
  .service-massage {
    border-radius: 35px 3px 3px 3px;
  }
  .feature-massage {
    padding: 40px 30px;
    gap: 15px;
  }
  .choices-tattoo .experience-choice {
    flex-direction: column;
    align-items: flex-start;
    padding: 22px;
    margin: 15px 5px;
    transform: rotate(-1deg);
  }
  .choices-tattoo .experience-choice .line-art {
    height: 175px;
  }
  .choices-tattoo .choice-text {
    padding-right: 0;
  }
  .choices-tattoo .choice-text b {
    font-size: 21px !important;
  }
  .feature-tattoo .feature-chapters {
    display: block;
  }
  .feature-tattoo .feature-chapters li {
    display: flex;
    align-items: flex-start;
  }
  .feature-tattoo .feature-chapters b {
    margin: 0;
    font-size: 16px;
  }
  .choices-piercing .experience-choice {
    text-align: left;
    border-radius: 40px 3px 3px 40px;
    padding: 23px;
  }
  .choices-piercing .choice-index {
    font-size: 20px;
    width: 40px;
    height: 40px;
    flex: none;
  }
  .choices-piercing .choice-check {
    right: 12px;
  }
  .feature-piercing {
    padding: 40px 30px;
    display: block;
  }
  .feature-piercing .feature-chapters {
    display: block;
    text-align: left;
  }
  .feature-piercing .feature-chapters li {
    display: flex;
    padding: 20px 0;
    align-items: center;
  }
  .feature-piercing .feature-chapters b {
    margin: 0;
  }
  .choices-haar .experience-choice {
    border: 0;
    border-bottom: 2px solid var(--ink) !important;
  }
  .choices-haar .choice-text b {
    font-size: 22px !important;
  }
  .feature-video .feature-chapters {
    grid-template-columns: 1fr;
    gap: 12px;
  }
  .feature-video .feature-chapters li {
    aspect-ratio: auto;
    min-height: 120px;
  }
  .feature-video .feature-chapters li > b {
    font-size: 16px;
  }
  .choices-video .choice-text b {
    font-size: 20px !important;
  }
  .choices-visagistik .choice-index {
    font-size: 30px;
  }
  .choices-visagistik .choice-text b {
    font-size: 28px !important;
  }
  .feature-visagistik {
    gap: 10px;
  }
  .feature-hund {
    margin: 0 18px;
    border-radius: 50px 0 0 0;
    padding: 35px 25px;
  }
  .choices-hund .experience-choice {
    border-radius: 14px;
  }
  .feature-katze {
    padding: 40px 28px;
  }
  .feature-katze .feature-chapters {
    padding-left: 5px;
  }
  .choices-katze .experience-choice {
    padding: 23px 0;
  }
  .choices-katze .choice-index {
    font-size: 27px;
    min-width: 30px;
  }
  .choices-musikunterricht .experience-choice {
    min-height: 0;
    border-top-width: 3px;
    border-radius: 0 0 7px 7px;
  }
  .choices-musikunterricht .choice-index {
    font-size: 35px;
  }
  .choices-musikunterricht .choice-text b {
    font-size: 20px !important;
  }
  .feature-nachhilfe {
    margin: 0 25px;
    padding: 30px 0;
    grid-template-columns: 1fr;
    gap: 10px;
  }
  .feature-nachhilfe .feature-chapters li {
    margin: 12px 0;
  }
  .choices-nachhilfe .experience-choice {
    border-radius: 5px;
  }
  .atelier-site .booking-area,
  .booking-rede .booking-area,
  .booking-visagistik .booking-area {
    padding: 40px 25px;
  }
  .atelier-site .booking-area h2 {
    font-size: 29px;
  }
  .atelier-site .booking-area .file-note,
  .atelier-site .booking-flow-note {
    font-size: 11px;
  }
  .booking-piercing {
    margin: 0 20px 25px;
  }
  .booking-massage {
    margin: 0 14px 20px;
  }
  .booking-nachhilfe .booking-area {
    margin-left: 23px;
    padding-left: 20px;
  }
  .atelier-site .booking-grid {
    gap: 35px;
  }
  .atelier-footer {
    padding: 35px 25px;
  }
  .atelier-footer > .atelier-wordmark {
    font-size: 22px !important;
  }
  .atelier-footer > div:last-child {
    gap: 18px;
    font-size: 10px;
  }
  .atelier-about,
  .about-dj,
  .about-massage,
  .about-haar,
  .about-katze,
  .about-visagistik {
    display: flex;
    flex-direction: column;
    padding: 40px 25px;
    gap: 30px;
  }
  .atelier-site .atelier-about h1,
  .atelier-site .atelier-portfolio h1 {
    font-size: 34px !important;
    line-height: 1.15;
  }
  .about-heading > p {
    font-size: 14px;
  }
  .atelier-about .about-photo,
  .about-dj .about-photo,
  .about-massage .about-photo,
  .about-haar .about-photo,
  .about-katze .about-photo,
  .about-visagistik .about-photo {
    height: 380px;
    width: 100%;
    margin: 0;
  }
  .about-philosophy {
    padding-top: 25px;
    width: 100%;
  }
  .about-philosophy > p {
    font-size: 13px;
  }
  .about-philosophy dl div {
    font-size: 11px;
  }
  .about-rede {
    padding: 40px 25px;
  }
  .about-rede .about-philosophy {
    padding: 25px;
    margin: 0;
  }
  .about-rede .about-photo {
    height: 280px;
  }
  .about-musik .about-photo,
  .about-tattoo .about-photo,
  .about-hund .about-photo {
    width: calc(100% - 10px);
    margin: 10px 5px;
    border-width: 8px;
  }
  .about-visagistik .about-heading {
    padding-top: 0;
  }
  .about-piercing {
    display: block;
  }
  .about-piercing .about-photo {
    height: 270px;
    margin: 30px 0;
  }
  .about-nachhilfe {
    margin-left: 22px;
    padding-left: 22px;
  }
  .atelier-portfolio,
  .portfolio-foto,
  .portfolio-rede,
  .portfolio-visagistik {
    padding: 40px 25px;
    display: block;
  }
  .portfolio-heading {
    margin-bottom: 30px;
  }
  .portfolio-heading p {
    font-size: 16px;
  }
  .portfolio-photo,
  .portfolio-foto .portfolio-photo,
  .portfolio-dj .portfolio-photo,
  .portfolio-musik .portfolio-photo,
  .portfolio-massage .portfolio-photo,
  .portfolio-piercing .portfolio-photo,
  .portfolio-haar .portfolio-photo,
  .portfolio-video .portfolio-photo,
  .portfolio-visagistik .portfolio-photo,
  .portfolio-hund .portfolio-photo,
  .portfolio-katze .portfolio-photo {
    height: 330px;
    margin-bottom: 30px;
  }
  .atelier-site .portfolio-story {
    display: block;
    padding: 20px 0;
    gap: 20px;
  }
  .atelier-site .portfolio-story h2 {
    font-size: 27px;
  }
  .atelier-site .portfolio-story p {
    font-size: 13px;
  }
  .atelier-site .portfolio-story ol {
    display: block !important;
    margin-top: 15px;
  }
  .atelier-site .portfolio-story li {
    padding: 18px 0;
    aspect-ratio: auto;
  }
  .portfolio-dj .portfolio-heading {
    margin: -60px 10px 30px;
    padding: 24px;
  }
  .portfolio-musik .portfolio-photo {
    height: 390px;
    border-width: 8px;
    margin: 30px 10px;
    width: calc(100% - 20px);
  }
  .portfolio-rede .portfolio-photo {
    height: 270px;
  }
  .portfolio-rede .portfolio-story {
    padding: 25px;
    background: #fffdf8;
    border: 1px solid var(--line);
  }
  .portfolio-massage .portfolio-photo {
    border-radius: 3px 80px 3px 3px;
  }
  .portfolio-massage .portfolio-heading {
    margin: 25px auto;
  }
  .ink-flash-board {
    display: block;
    margin: 25px 0;
  }
  .ink-flash-board figure {
    padding: 20px;
    margin: 25px 8px;
  }
  .ink-flash-board svg {
    height: 230px;
  }
  .portfolio-piercing .portfolio-photo {
    height: 280px;
  }
  .portfolio-haar .portfolio-photo {
    border-radius: 120px 0 0 0;
  }
  .portfolio-video .portfolio-photo {
    height: 270px;
    margin: 30px 8px;
    width: calc(100% - 16px);
    outline-offset: 8px;
  }
  .portfolio-video .portfolio-story li {
    padding: 20px;
    margin: 14px 0;
    min-height: 120px;
  }
  .portfolio-visagistik .portfolio-photo {
    height: 400px;
  }
  .portfolio-visagistik .portfolio-heading {
    margin: 30px 0;
  }
  .portfolio-hund .portfolio-photo {
    height: 320px;
    border-width: 8px;
    margin: 15px 8px 35px;
    width: calc(100% - 16px);
  }
  .portfolio-hund .portfolio-story {
    padding: 25px;
    background: var(--soft);
  }
  .portfolio-katze .portfolio-photo {
    border-radius: 130px 130px 0 0;
  }
  .portfolio-katze .portfolio-heading {
    margin: -60px 10px 25px;
    padding: 25px;
  }
  .portfolio-musikunterricht .portfolio-photo {
    height: 270px;
  }
  .portfolio-nachhilfe {
    margin: 0 20px;
    padding: 35px 20px;
  }
  .portfolio-nachhilfe .portfolio-photo {
    height: 270px;
  }
  .portfolio-nachhilfe .portfolio-story li {
    padding: 20px;
    margin: 15px 0;
  }
  .atelier-disclosure {
    font-size: 9px !important;
  }
  .project-mini.atelier-mini {
    height: 220px;
  }
  .atelier-mini .mini-brand {
    padding: 10px;
    font-size: 7px;
    gap: 5px;
  }
  .atelier-mini .mini-brand img {
    width: 17px !important;
    height: 17px !important;
  }
  .atelier-mini .mini-headline {
    left: 14px;
    font-size: 23px;
    top: 49px;
  }
  .atelier-mini .mini-caption {
    font-size: 5px;
    bottom: 7px;
    left: 8px;
  }
  .atelier-mini.mini-foto .mini-headline {
    top: 41px;
    font-size: 24px;
  }
  .atelier-mini.mini-dj .mini-headline {
    font-size: 27px;
    top: 60px;
  }
  .atelier-mini.mini-musik .mini-headline {
    font-size: 30px;
    top: 56px;
    left: 12px;
  }
  .atelier-mini.mini-rede .mini-headline {
    font-size: 20px;
    top: 44px;
  }
  .atelier-mini.mini-massage .mini-headline {
    font-size: 24px;
    bottom: 14px;
    left: 14px;
  }
  .atelier-mini.mini-massage > img {
    top: 37px;
  }
  .atelier-mini.mini-tattoo .mini-headline {
    font-size: 23px;
    top: 52px;
  }
  .atelier-mini.mini-piercing .mini-headline {
    font-size: 20px;
    top: 42px;
  }
  .atelier-mini.mini-haar .mini-headline {
    font-size: 23px;
    top: 47px;
  }
  .atelier-mini.mini-video .mini-headline {
    font-size: 20px;
    top: 46px;
  }
  .atelier-mini.mini-visagistik .mini-headline {
    font-size: 24px;
    top: 87px;
  }
  .atelier-mini.mini-hund .mini-headline {
    font-size: 21px;
    top: 47px;
  }
  .atelier-mini.mini-katze .mini-headline {
    font-size: 20px;
    bottom: 12px;
  }
  .atelier-mini.mini-katze > img {
    top: 37px;
  }
  .atelier-mini.mini-musikunterricht .mini-headline {
    font-size: 21px;
    top: 50px;
  }
  .atelier-mini.mini-nachhilfe .mini-headline {
    font-size: 20px;
    top: 48px;
    left: 13px;
    padding-left: 8px;
  }
}
@media (max-width: 430px) {
  .project-mini.atelier-mini {
    height: 190px;
  }
  .atelier-mini .mini-brand {
    font-size: 5px;
    padding: 9px 8px;
    gap: 4px;
  }
  .atelier-mini .mini-brand img {
    width: 14px !important;
    height: 14px !important;
  }
  .atelier-mini .mini-headline {
    left: 10px;
  }
  .atelier-mini.mini-foto .mini-headline {
    font-size: 22px;
    top: 36px;
  }
  .atelier-mini.mini-dj .mini-headline {
    font-size: 22px;
    top: 53px;
    left: 10px;
  }
  .atelier-mini.mini-musik .mini-headline {
    font-size: 27px;
    top: 48px;
    left: 10px;
  }
  .atelier-mini.mini-rede .mini-headline {
    font-size: 17px;
    top: 40px;
  }
  .atelier-mini.mini-massage .mini-headline {
    font-size: 22px;
    bottom: 12px;
    left: 12px;
  }
  .atelier-mini.mini-massage > img {
    top: 32px;
  }
  .atelier-mini.mini-tattoo .mini-headline {
    font-size: 20px;
    top: 45px;
    left: 10px;
  }
  .atelier-mini.mini-piercing .mini-headline {
    font-size: 17px;
    top: 37px;
  }
  .atelier-mini.mini-haar .mini-headline {
    font-size: 20px;
    top: 43px;
    left: 10px;
  }
  .atelier-mini.mini-video .mini-headline {
    font-size: 17px;
    top: 40px;
    left: 10px;
  }
  .atelier-mini.mini-visagistik .mini-headline {
    font-size: 21px;
    top: 74px;
  }
  .atelier-mini.mini-hund .mini-headline {
    font-size: 18px;
    top: 41px;
    left: 10px;
  }
  .atelier-mini.mini-katze .mini-headline {
    font-size: 17px;
    bottom: 10px;
    left: 12px;
  }
  .atelier-mini.mini-katze > img {
    top: 32px;
  }
  .atelier-mini.mini-musikunterricht .mini-headline {
    font-size: 18px;
    top: 43px;
    left: 10px;
  }
  .atelier-mini.mini-nachhilfe .mini-headline {
    font-size: 17px;
    top: 41px;
    left: 9px;
    padding-left: 7px;
  }
  .atelier-mini .mini-caption {
    font-size: 4px;
  }
}
@media (prefers-reduced-motion: reduce) {
  .atelier-site *,
  .atelier-mini * {
    animation: none !important;
    transition: none !important;
    scroll-behavior: auto !important;
  }
}
body.motion-paused .atelier-site *,
body.motion-paused .atelier-mini * {
  animation: none !important;
  transition: none !important;
}
/* Compact demo controls leave the actual website visible above the fold. */
.website-wrap .example-intro {
  display: flex;
  justify-content: space-between;
  gap: 25px;
  align-items: center;
  padding: 25px 0 18px;
}
.example-intro > div {
  display: flex;
  flex-direction: column;
  gap: 7px;
}
.example-intro b {
  font-size: 15px;
  color: #244637;
}
.example-intro span {
  font-size: 10px;
  color: #596f60;
}
.example-intro > a {
  font-size: 11px;
}
.example-switchboard {
  display: grid;
  grid-template-columns: auto 1fr;
  gap: 25px;
  align-items: center;
  margin-bottom: 18px;
  padding: 16px;
  border: 1px solid #d8e0d3;
  background: #f9faf5;
  border-radius: 10px;
}
.example-switchboard .tier-switcher {
  padding: 0;
  margin: 0;
  gap: 12px;
  flex-wrap: nowrap;
}
.example-switchboard .tier-switcher > div:first-child {
  display: none;
}
.example-switchboard .tier-switcher > .text-button {
  display: none;
}
.example-switchboard .tier-tabs button {
  padding: 11px 18px;
  font-size: 12px;
  gap: 9px;
}
.example-switchboard .tier-tabs small {
  font-size: 8px;
  margin-top: 4px;
}
.example-switchboard .preview-toolbar {
  padding: 0;
  background: none;
  border: 0;
  border-radius: 0;
  gap: 16px;
  justify-content: space-between;
}
.example-switchboard .preview-toolbar label {
  font-size: 10px;
  gap: 10px;
}
.example-switchboard .preview-toolbar select {
  max-width: 190px;
  font-size: 11px;
}
.example-switchboard .preview-perspective {
  font-size: 10px;
}
.example-switchboard .preview-perspective > span {
  display: none;
}
@media (max-width: 900px) {
  .example-switchboard {
    grid-template-columns: 1fr;
    gap: 14px;
  }
  .example-switchboard .tier-switcher {
    justify-content: flex-start;
  }
  .example-switchboard .preview-toolbar {
    justify-content: space-between;
  }
  .example-switchboard .tier-tabs {
    width: auto;
  }
  .example-switchboard .tier-tabs button {
    min-width: 125px;
  }
  .example-switchboard .preview-perspective > a {
    font-size: 10px;
  }
}
@media (max-width: 540px) {
  .website-wrap .example-intro {
    padding: 18px 0 12px;
    gap: 10px;
    align-items: flex-start;
  }
  .example-intro b {
    font-size: 12px;
  }
  .example-intro span {
    font-size: 8px;
    line-height: 1.5;
  }
  .example-intro > a {
    font-size: 9px;
    white-space: nowrap;
  }
  .example-intro > a svg {
    display: none;
  }
  .example-switchboard {
    padding: 10px;
    gap: 11px;
    margin-bottom: 13px;
  }
  .example-switchboard .tier-tabs {
    width: 100%;
  }
  .example-switchboard .tier-tabs button {
    flex: 1;
    min-width: 0;
    padding: 9px 14px !important;
    font-size: 11px !important;
  }
  .example-switchboard .tier-tabs small {
    font-size: 7px;
  }
  .example-switchboard .preview-toolbar {
    flex-direction: row;
    align-items: center;
    gap: 8px;
    flex-wrap: wrap;
  }
  .example-switchboard .preview-toolbar label {
    font-size: 8px;
    gap: 7px;
  }
  .example-switchboard .preview-toolbar select {
    font-size: 10px;
    max-width: 170px;
    padding: 7px;
  }
  .example-switchboard .preview-perspective > a {
    font-size: 8px;
  }
  .example-switchboard .preview-perspective > a svg {
    display: none;
  }
}

/* Readable labels regardless of the photograph beneath them. */
.atelier-mini .mini-caption {
  background: #262821;
  color: #fff;
  padding: 3px 5px;
}

/* 0.13: a legible service menu in each studio's own visual language. */
.atelier-packages {
  padding: 64px 48px;
  border-top: 1px solid var(--line);
}
.package-heading {
  display: grid;
  grid-template-columns: 1.2fr 1fr;
  gap: 40px;
  align-items: end;
  margin-bottom: 30px;
}
.atelier-site .package-heading h2 {
  font-size: clamp(28px, 3vw, 42px);
  line-height: 1.16;
  margin: 12px 0 0;
}
.package-heading > p {
  font-size: 14px;
  margin: 0;
  max-width: 48ch;
}
.atelier-package-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 18px;
}
.atelier-package {
  min-width: 0;
  display: flex;
  flex-direction: column;
  padding: 28px;
  border: 1px solid var(--line);
  background: var(--paper);
  transition:
    transform 0.2s,
    box-shadow 0.2s;
}
.atelier-package:hover {
  transform: translateY(-4px);
  box-shadow: 0 10px 24px #0000000d;
}
.package-number {
  font-size: 11px;
  letter-spacing: 0.14em;
  color: var(--muted);
  margin-bottom: 24px;
}
.atelier-site .atelier-package h3 {
  font: 500 23px/1.25 var(--display);
  letter-spacing: -0.025em;
  margin: 0 0 12px;
}
.atelier-site .package-duration {
  font-size: 12px;
  font-weight: 700;
  margin: 0 0 15px;
}
.atelier-site .package-description {
  font-size: 13px;
  margin: 0 0 28px;
}
.package-bottom {
  margin-top: auto;
  display: flex;
  align-items: start;
  flex-direction: column;
  gap: 14px;
}
.package-bottom > strong {
  font: 500 28px/1.2 var(--display);
}
.package-bottom > strong small {
  font:
    12px Arial,
    sans-serif;
}
.atelier-site .package-bottom button {
  text-align: left;
  min-height: 44px;
}
.atelier-site .package-footnote {
  font-size: 12px;
  max-width: 90ch;
  margin: 24px 0 0;
}
.package-footnote > span {
  display: block;
  margin-top: 8px;
  color: var(--muted);
}
.atelier-packages > .service-editorial {
  margin-top: 32px;
}
.packages-foto .atelier-package {
  border-width: 1px 0 0;
  padding-left: 0;
  padding-right: 18px;
}
.packages-dj .atelier-package {
  border-style: dashed;
  border-top: 4px solid var(--accent);
}
.packages-dj .package-number {
  font-weight: 800;
  font-size: 20px;
}
.packages-musik .atelier-package {
  border-top: 3px double var(--line);
  border-bottom: 3px double var(--line);
}
.packages-rede .atelier-package {
  border-radius: 90px 90px 4px 4px;
  padding-top: 45px;
  text-align: center;
}
.packages-rede .package-bottom {
  align-items: center;
}
.packages-massage .atelier-package {
  background: var(--soft);
  border: 0;
  border-radius: 20px;
}
.packages-tattoo .atelier-package {
  border-radius: 0;
  border-top: 4px solid var(--ink);
}
.packages-tattoo .package-number {
  font-family: monospace;
}
.packages-piercing .atelier-package {
  border-radius: 100px 100px 4px 4px;
  padding-top: 45px;
  text-align: center;
}
.packages-piercing .package-bottom {
  align-items: center;
}
.packages-haar .atelier-package {
  border: 2px solid var(--ink);
  box-shadow: 5px 5px 0 var(--soft);
}
.packages-haar .atelier-package h3 {
  font-weight: 800;
}
.packages-video .atelier-package {
  border-left: 3px solid var(--accent);
}
.packages-video .package-number {
  font-family: monospace;
}
.packages-visagistik .atelier-package {
  border-radius: 6px 60px 6px 6px;
  background: var(--soft);
}
.packages-hund .atelier-package {
  border-radius: 28px 6px 28px 6px;
}
.packages-hund .package-number {
  font-size: 18px;
  font-weight: 700;
}
.packages-katze .atelier-package {
  background: var(--soft);
  border-radius: 6px;
}
.packages-musikunterricht .atelier-package {
  border-top: 5px solid var(--accent);
  background: var(--soft);
}
.packages-nachhilfe .atelier-package {
  border-left: 3px solid var(--accent);
  border-radius: 2px 16px 16px 2px;
}
.package-snapshot {
  border-left: 3px solid #86b6b2;
  padding: 12px 16px;
  background: #f1f7f6;
  color: #21383d;
  font-size: 14px;
}
.photo-cover {
  display: grid;
  grid-template-columns: 1fr 1.1fr;
  align-items: center;
  gap: 30px;
  padding: 25px 48px 42px;
}
.photo-cover .photo-headline {
  display: block;
  padding: 0;
}
.photo-cover .photo-spread {
  padding: 0 20px 0 0;
}
.photo-cover .photo-spread .atelier-photo {
  height: 650px;
}
.photo-cover .vertical-note {
  right: 0;
}
.photo-cover .atelier-note {
  margin-left: 0;
}
@media (min-width: 1050px) {
  .hero-massage {
    display: grid;
    grid-template-columns: 1fr 1.15fr;
    align-items: center;
    padding: 25px 40px 45px;
    gap: 35px;
  }
  .hero-massage .retreat-view {
    grid-column: 2;
    grid-row: 1;
    margin: 0;
  }
  .hero-massage .retreat-intro {
    grid-column: 1;
    grid-row: 1;
    display: block;
    padding: 0;
  }
  .hero-massage .retreat-intro aside {
    margin-top: 28px;
  }
  .hero-massage .retreat-circle {
    display: none;
  }
  .hero-massage .retreat-word {
    font-size: 75px;
    right: 28px;
    bottom: 28px;
  }
  .hero-katze {
    display: grid;
    grid-template-columns: 1.1fr 1fr;
    align-items: center;
    gap: 35px;
    padding: 30px 40px 50px;
  }
  .hero-katze .cat-window {
    margin: 0;
  }
  .hero-katze .cat-story-open {
    display: block;
    padding: 0;
  }
  .hero-katze .cat-location {
    margin-top: 28px;
  }
  .hero-katze .cat-location .brand-symbol {
    display: none;
  }
}
@media (max-width: 900px) {
  .atelier-packages {
    padding: 40px 24px;
  }
  .package-heading {
    gap: 20px;
    grid-template-columns: 1fr;
  }
  .atelier-package-grid {
    gap: 10px;
  }
  .atelier-package {
    padding: 22px 16px;
  }
  .atelier-site .atelier-package h3 {
    font-size: 20px;
  }
  .photo-cover {
    gap: 20px;
    padding: 20px 24px 35px;
  }
  .photo-cover .photo-spread .atelier-photo {
    height: 520px;
  }
  .brand-foto .photo-cover .signature-copy h1 {
    font-size: clamp(46px, 7vw, 80px) !important;
  }
}
@media (max-width: 600px) {
  .atelier-packages {
    padding: 36px 20px;
  }
  .atelier-package-grid {
    grid-template-columns: 1fr;
    gap: 16px;
  }
  .atelier-package,
  .packages-rede .atelier-package,
  .packages-piercing .atelier-package {
    padding: 24px;
    border-radius: 6px;
    text-align: left;
  }
  .package-number {
    margin-bottom: 14px;
  }
  .package-bottom,
  .packages-rede .package-bottom,
  .packages-piercing .package-bottom {
    flex-direction: row;
    flex-wrap: wrap;
    justify-content: space-between;
    align-items: center;
  }
  .atelier-site .package-description {
    margin-bottom: 18px;
  }
  .photo-cover {
    grid-template-columns: 1fr;
    padding: 15px 20px 30px;
  }
  .photo-cover .photo-spread {
    padding: 0;
  }
  .photo-cover .photo-spread .atelier-photo {
    height: 360px;
  }
  .photo-cover .vertical-note {
    display: none;
  }
  .photo-cover .atelier-note {
    display: none;
  }
  .hero-massage,
  .hero-katze {
    display: flex;
    flex-direction: column;
  }
  .hero-massage .retreat-intro,
  .hero-katze .cat-story-open {
    order: -1;
    padding: 32px 22px;
    width: 100%;
  }
  .hero-massage .retreat-intro aside {
    display: none;
  }
  .hero-massage .retreat-view {
    width: calc(100% - 40px);
    margin: 0 20px 25px;
  }
  .hero-massage .retreat-view .atelier-photo {
    height: 300px;
  }
  .hero-katze .cat-window {
    width: calc(100% - 40px);
    margin: 0 20px 25px;
  }
  .hero-katze .cat-window .atelier-photo {
    height: 340px;
  }
  .hero-katze .cat-location {
    display: none;
  }
}
@media (prefers-reduced-motion: reduce) {
  .atelier-package {
    transition: none;
  }
  .atelier-package:hover {
    transform: none;
  }
}
body.motion-paused .atelier-package {
  transition: none;
}
body.motion-paused .atelier-package:hover {
  transform: none;
}
.atelier-site .atelier-packages {
  display: block;
}
.atelier-site .atelier-package h3,
.atelier-site .package-heading h2 {
  overflow-wrap: normal;
  word-break: normal;
  hyphens: auto;
}
.atelier-site .atelier-packages {
  background: var(--paper);
  color: var(--ink);
}
.atelier-site .package-heading .atelier-kicker {
  font-size: 11px;
}
.photo-cover .hero-photo img {
  object-position: 68% center;
}
.hero-katze .hero-photo img {
  object-position: 74% center;
}
@media (min-width: 601px) and (max-width: 900px) {
  .atelier-package-grid {
    grid-template-columns: 1fr;
  }
  .atelier-package {
    display: grid;
    grid-template-columns: 1fr 1.25fr;
    column-gap: 28px;
    padding: 24px;
  }
  .atelier-package .package-number {
    grid-column: 1;
    grid-row: 1;
    margin-bottom: 12px;
  }
  .atelier-package h3 {
    grid-column: 1;
    grid-row: 2;
  }
  .atelier-package .package-duration {
    grid-column: 1;
    grid-row: 3;
  }
  .atelier-package .package-description {
    grid-column: 2;
    grid-row: 1 / span 2;
  }
  .atelier-package .package-bottom {
    grid-column: 2;
    grid-row: 3;
  }
  .packages-rede .atelier-package,
  .packages-piercing .atelier-package {
    border-radius: 24px;
    text-align: left;
    padding-top: 24px;
  }
  .packages-rede .package-bottom,
  .packages-piercing .package-bottom {
    align-items: flex-start;
  }
}
/* Explicit service headings retain the visual hierarchy without oversized wrapping. */
.brand-foto .photo-cover .signature-copy h1 {
  font-size: clamp(46px, 6vw, 88px) !important;
}
.brand-katze .signature-copy h1 {
  font-size: clamp(36px, 4.4vw, 62px) !important;
}
