body{font-weight:500;line-height:1.62}
.platform-hero-copy{width:100%;min-width:0}
.platform-languages .language-trigger{min-width:185px}
.eyebrow,.section-label,.age-badge{font-size:11px;font-weight:700}
.hero-lead,.section-heading>p,.boundaries-grid>div>p,.boundaries-grid li{font-weight:500}
.section-heading>*{min-width:0}
.section-heading h2 em{display:block;max-width:100%;overflow-wrap:anywhere}
.service-cards p,.platform-process li p{font-size:13px;font-weight:500;line-height:1.65}
.age-panel{width:min(680px,100%);overflow:hidden}
.age-panel h2{max-width:100%;font-size:clamp(2.5rem,5vw,4rem);line-height:.9;letter-spacing:-.045em;overflow-wrap:anywhere}
.age-panel p{font-size:16px;font-weight:500;line-height:1.6}
.age-panel button{font-size:11px;font-weight:700;letter-spacing:.04em}
.age-panel a{font-size:11px;font-weight:600}
.primary-cta{font-weight:700}
.platform-contact a{max-width:100%;overflow-wrap:anywhere}
.platform-footer{font-size:11px;font-weight:600}
.platform-hero h1 em {
  margin-top: .35em;
  color: var(--paper);
  font-size: clamp(1.7rem, 4vw, 4rem);
  line-height: 1.08;
  letter-spacing: -.025em;
  text-transform: none;
  -webkit-text-stroke: 0;
}
.age-badge,
.primary-cta b,
.platform-selection .section-label span,
.platform-own { color: var(--accent); }
.age-badge { border-color: var(--accent); }
.age-panel { border-top: 4px solid var(--accent); }
.platform-selection { background: #111; }
.platform-selection .section-heading h2 {
  font-size: clamp(2.4rem, 5.5vw, 5.75rem);
  line-height: 1;
}
.platform-selection .section-heading h2 em {
  color: var(--paper);
  -webkit-text-stroke: 0;
  overflow-wrap: normal;
}
.platform-selection .section-heading > p { color: #aaa; }
.platform-options {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
  margin-top: clamp(28px, 5vw, 64px);
}
.platform-options article {
  padding: clamp(20px, 3vw, 36px);
  border: 1px solid var(--line);
}
.platform-options article:first-child { border-top: 2px solid var(--accent); }
.platform-options h3,
.platform-selection-note h3 {
  font-size: clamp(1.45rem, 2.8vw, 2.25rem);
  line-height: 1.1;
}
.platform-options h3 { text-transform: none; }
.platform-options p,
.platform-selection-note p { color: #bbb; }
.platform-options p { margin: 12px 0 0; }
.platform-own {
  display: block;
  margin-bottom: 9px;
  font-size: .75rem;
  font-weight: 700;
  letter-spacing: .06em;
}
.platform-selection-note {
  max-width: 72ch;
  margin-top: clamp(30px, 5vw, 64px);
  padding-left: 20px;
  border-left: 2px solid var(--accent);
}
.platform-selection-note p:last-child { margin-bottom: 0; font-size: .875rem; }
@media (max-width: 950px) {
  .platform-options { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media(max-width:620px){
  .platform-options { grid-template-columns: 1fr; }
  .platform-languages .language-trigger{min-width:150px}
  .age-gate{padding:14px}
  .age-panel{padding:30px}
  .age-panel h2{margin:24px 0 20px;font-size:clamp(2.35rem,11vw,2.75rem)}
  .age-panel p{font-size:14px}
  .age-panel button{padding:14px 12px}
  .platform-hero h1{font-size:clamp(3rem,13vw,3.4rem);overflow-wrap:anywhere}
  .platform-contact a{font-size:clamp(2.55rem,13vw,3.35rem)}
}

@media (max-width: 650px) {
  html:not([lang="de"], [lang="en"]) .boundaries-grid > * { min-width: 0; }
  html:not([lang="de"], [lang="en"]) :is(.platform-section h2, .platform-selection .section-heading h2 em) {
    hyphens: auto;
    overflow-wrap: anywhere;
  }
  html:not([lang="de"], [lang="en"]) .platform-section h2 {
    font-size: clamp(2rem, 11vw, 3.4rem);
  }
}
@media (max-width: 380px) {
  .platform-process h2 {
    font-size: clamp(2rem, 11vw, 3.4rem);
    hyphens: auto;
    overflow-wrap: anywhere;
  }
}
html:lang(th) :is(.platform-hero h1, .platform-section h2, .age-panel h2) {
  line-height: 1.18;
  letter-spacing: normal;
}

.service-cards article {
  min-width: 0;
  hyphens: auto;
  overflow-wrap: anywhere;
}

.adult-gallery-nav { padding: 1rem clamp(20px, 6vw, 96px); }
.adult-gallery-nav a { color: var(--accent); text-underline-offset: .22em; }
.adult-gallery-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: clamp(8px, 2vw, 24px);
  margin-top: clamp(24px, 4vw, 56px);
}
.adult-gallery-grid button {
  display: block;
  border: 1px solid var(--line);
  padding: 0;
  background: var(--black);
  cursor: zoom-in;
}
.adult-gallery-grid img {
  display: block;
  width: 100%;
  height: auto;
}
.adult-gallery :focus-visible, .adult-gallery-viewer button:focus-visible {
  outline: 2px solid var(--accent);
  outline-offset: 3px;
}
.adult-gallery-viewer {
  width: min(96vw, 900px);
  max-height: 96dvh;
  padding: 12px;
  border: 1px solid var(--line);
  color: var(--paper);
  background: var(--black);
}
.adult-gallery-viewer[open] {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  align-items: center;
  gap: 8px;
}
.adult-gallery-viewer::backdrop { background: rgb(0 0 0 / 85%); }
.adult-gallery-viewer figure { margin: 0; text-align: center; }
.adult-gallery-viewer img {
  display: block;
  width: 100%;
  height: min(75dvh, 880px);
  object-fit: contain;
}
.adult-gallery-viewer figcaption { margin-top: .6rem; }
.adult-gallery-viewer button {
  width: 40px;
  height: 40px;
  border: 1px solid var(--line);
  border-radius: 50%;
  color: inherit;
  background: var(--black);
  font-size: 1.15rem;
  cursor: pointer;
}
.adult-gallery-viewer .adult-gallery-close {
  grid-column: 1 / -1;
  justify-self: end;
}
@media (max-width: 650px) {
  .adult-gallery-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
