/* Original Noturna, selected for the native Diana demo on 20 October 2026.
   Loaded only by this tenant's designed base. Booking, identity and money remain native. */
:root{--wrap:1280px;--dc-ink:var(--color-base-200);--dc-ivory:var(--color-base-content);--dc-accent:var(--color-primary);--dc-accent-ink:color-mix(in srgb,var(--dc-ink) 65%,var(--dc-accent));--dc-accent-soft:color-mix(in srgb,var(--dc-accent) 20%,var(--dc-ivory));--dc-muted:color-mix(in srgb,var(--dc-ivory) 74%,var(--dc-ink));--dc-line:color-mix(in srgb,var(--dc-ivory) 22%,transparent)}
html{scroll-behavior:smooth;scroll-padding-top:24px}
body{margin:0;-webkit-font-smoothing:antialiased}
.wrap{width:100%;max-width:var(--wrap);margin-inline:auto;padding-inline:clamp(22px,5vw,76px)}
.nt-home h1,.nt-home h2,.nt-home h3,.dc-brand strong{font-family:var(--font-display);font-weight:400}
:where(.nt-home h1,.nt-home h2,.nt-home h3,.nt-home p,.nt-home figure){margin-block:0}
.nt-home img{display:block;max-width:100%}
.nt-home a{text-decoration:none}
.nt-home p{line-height:1.9}
.dc-header{position:relative;z-index:30}
.site-nav{display:flex;align-items:center;justify-content:space-between;gap:24px;padding-block:26px}
.dc-brand{display:flex;flex-direction:column;flex-shrink:0;text-decoration:none;line-height:1.1}
.dc-brand strong{font-size:18px;letter-spacing:-.035em}
.dc-brand small{font-size:7px;letter-spacing:.5em;text-transform:uppercase;color:var(--dc-accent);margin-top:7px}
.dc-desktop-nav,.dc-nav-links{display:flex;align-items:center;gap:25px}
.dc-nav-links{font-size:11px}
.dc-nav-links a{color:inherit;text-decoration:none;text-underline-offset:5px;white-space:nowrap}
.dc-nav-links a:hover,.dc-nav-links a[aria-current=page]{color:var(--dc-accent);text-decoration:underline}
.dc-nav-links .dc-nav-cta{border:1px solid var(--dc-line);padding:12px 17px;color:var(--dc-ivory)}
.dc-nav-links .dc-nav-cta:hover{background:var(--dc-accent);color:var(--dc-ink);text-decoration:none}
.dc-language{font-size:9px;letter-spacing:.07em}
.dc-language a{padding:6px;text-underline-offset:4px}
.dc-mobile-menu{display:none}
.dc-menu-summary{list-style:none;cursor:pointer;border:1px solid var(--dc-line);padding:12px 16px;font-size:11px;min-height:44px}
.dc-menu-summary::-webkit-details-marker{display:none}
.dc-menu-panel{position:absolute;top:100%;left:22px;right:22px;background:var(--dc-ink);border:1px solid var(--dc-line);padding:24px;box-shadow:0 20px 35px #0005}
.dc-menu-panel .dc-nav-links{display:flex;align-items:stretch;flex-direction:column;gap:0}
.dc-menu-panel .dc-nav-links a{padding:13px 0;font-size:13px;white-space:normal}
.dc-menu-panel .dc-nav-links .dc-nav-cta{padding:13px;margin-top:12px}
.dc-menu-panel .dc-language{margin-top:20px;padding-top:16px;border-top:1px solid var(--dc-line)}
.dc-footer{border-top:1px solid var(--dc-line);padding-block:37px 28px}
.dc-footer-main{display:flex;justify-content:space-between;align-items:start;gap:32px}
.dc-footer-nav{display:flex;gap:23px;flex-wrap:wrap;max-width:420px;font-size:11px;color:var(--dc-muted)}
.dc-footer-nav a{text-decoration:none;text-underline-offset:4px}
.dc-footer-nav a:hover{text-decoration:underline;color:var(--dc-accent)}
.dc-footer-meta{font-size:9px;line-height:1.9;color:var(--dc-muted);text-align:right}
.dc-footer-legal{display:flex;justify-content:space-between;align-items:center;gap:24px;margin-top:32px;padding-top:20px;border-top:1px solid var(--dc-line);font-size:9px;line-height:1.8;color:var(--dc-muted)}
.dc-footer-legal nav{display:flex;gap:20px;flex-wrap:wrap}
.dc-preview-note{border-top:1px solid var(--dc-line);padding:17px 0 0;margin-top:25px;font-size:10px;color:var(--dc-muted);line-height:1.8}
:focus-visible{outline:2px solid var(--dc-accent);outline-offset:5px}
@media(max-width:1100px){.dc-desktop-nav,.dc-nav-links{gap:15px}.dc-nav-links{font-size:10px}.dc-nav-links .dc-nav-cta{padding:11px}}
@media(max-width:900px){.dc-desktop-nav{display:none}.dc-mobile-menu{display:block}.site-nav{padding-block:22px}.dc-brand strong{font-size:16px}.dc-footer-main{flex-direction:column;gap:27px}.dc-footer-meta{text-align:left}.dc-footer-legal{align-items:start;flex-direction:column;gap:16px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{scroll-behavior:auto!important;animation-duration:.01ms!important;transition-duration:.01ms!important}}

body {
  --ink: var(--dc-ink);
  --paper: var(--dc-ivory);
  --lime: var(--dc-accent);
  --muted: #b3bbbd;
  --line: #b6bec036;
  --surface: #13212a;
  color-scheme: dark;
  background: var(--ink);
  color: var(--paper);
  font-family: "Manrope", Arial, sans-serif;
}

body .site-nav {
  padding-block: 26px;
  border-bottom: 0;
}

body .brand strong {
  font-family: "Cinzel", Georgia, serif;
  font-weight: 400;
  font-size: 18px;
  letter-spacing: -.035em;
  text-transform: none;
}

body .brand small {
  font-family: "Manrope", Arial, sans-serif;
  font-size: 7px;
  letter-spacing: .5em;
  color: var(--dc-accent);
}

body .nav-links {
  font-size: 11px;
  gap: 26px;
}

body .nav-links .nav-cta {
  border: 1px solid color-mix(in srgb, var(--dc-accent) 52%, transparent);
  padding: 12px 17px;
  color: var(--dc-ivory);
  background: transparent;
  font-weight: 500;
  border-radius: 0;
}

body .nav-links .nav-cta:hover {
  background: var(--dc-accent);
  color: var(--dc-ink);
}

body a:focus-visible,
body button:focus-visible {
  outline: 2px solid var(--dc-accent);
  outline-offset: 5px;
}

.nt-home {
  --nt-accent: var(--dc-accent);
  --nt-ivory: var(--dc-ivory);
  --nt-ink: var(--dc-ink);
  --nt-silver: #b6bec0;
}

.nt-kicker {
  font-family: "Manrope", Arial, sans-serif;
  font-size: 9px;
  line-height: 1.8;
  font-weight: 500;
  text-transform: uppercase;
  letter-spacing: .23em;
}

.nt-hero {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  max-width: 1800px;
  margin: 0 auto;
  background: #1c2428;
}

.nt-hero-photo {
  position: absolute;
  z-index: -2;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center 35%;
  filter: saturate(.48) brightness(.8);
}

.nt-hero::after {
  content: '';
  position: absolute;
  z-index: -1;
  inset: 0;
  background: linear-gradient(90deg, #0c151bd9 0%, #0c151b94 29%, #0c151b08 64%), linear-gradient(0deg, #0c151ba6 0%, #0c151b00 36%);
}

.nt-hero-inner {
  position: relative;
  min-height: 710px;
  padding-top: 104px;
  padding-bottom: 127px;
}

.nt-hero .nt-kicker {
  color: var(--nt-accent);
}

.nt-hero h1 {
  margin: 30px 0 0;
  font-family: "Cinzel", Georgia, serif;
  font-size: clamp(58px, 6.15vw, 90px);
  line-height: 1.2;
  font-weight: 400;
  letter-spacing: -.045em;
  color: #f5efe7;
}

.nt-hero h1 > span {
  display: inline-block;
  margin-left: 42px;
}

.nt-hero-intro {
  max-width: 330px;
  margin: 29px 0 0 45px;
  font-size: 12px;
  line-height: 1.95;
  letter-spacing: .01em;
  color: #e4dedd;
}

.nt-hero-actions {
  display: flex;
  align-items: center;
  gap: 25px;
  margin: 29px 0 0 45px;
}

.nt-button {
  display: inline-flex;
  align-items: center;
  justify-content: space-between;
  gap: 30px;
  padding: 16px 20px;
  min-height: 49px;
  background: var(--nt-accent);
  border: 1px solid var(--nt-accent);
  color: var(--nt-ink);
  font-family: "Manrope", Arial, sans-serif;
  font-size: 10px;
  line-height: 1.5;
  font-weight: 600;
  letter-spacing: .025em;
  transition: background .2s, color .2s;
}

.nt-button > .arrow {
  font-size: 17px;
  line-height: 1;
  font-weight: 400;
}

.nt-button:hover {
  background: var(--dc-ivory);
  border-color: var(--dc-ivory);
}

.nt-button-dark {
  background: var(--nt-ink);
  border-color: var(--nt-ink);
  color: var(--nt-ivory);
}

.nt-button-dark:hover {
  background: #283942;
  border-color: #283942;
}

.nt-text-link {
  display: inline-flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  font-size: 10px;
  line-height: 1.7;
  font-weight: 500;
  letter-spacing: .03em;
  padding-block: 10px;
  border-bottom: 1px solid currentColor;
  text-decoration: none;
}

.nt-text-link > span {
  font-size: 17px;
  line-height: 1;
}

.nt-text-link:hover {
  opacity: .75;
}

.nt-hero-baseline {
  position: absolute;
  left: clamp(22px, 5vw, 76px);
  right: clamp(22px, 5vw, 76px);
  bottom: 33px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 25px;
  padding-top: 19px;
  border-top: 1px solid #eee9df59;
  font-size: 8px;
  line-height: 1.7;
  text-transform: uppercase;
  letter-spacing: .18em;
  color: #e1dcd7;
}

.nt-hero-baseline > span:last-child {
  display: inline-flex;
  gap: 25px;
  align-items: center;
}

.nt-hero-baseline i {
  font-style: normal;
  font-size: 21px;
  line-height: 1;
}

.nt-workshop {
  background: var(--nt-ivory);
  color: var(--nt-ink);
  padding-block: 105px 109px;
}

.nt-workshop-grid {
  display: grid;
  grid-template-columns: .17fr 1fr .94fr;
  gap: 43px;
}

.nt-chapter {
  font-family: "Cinzel", Georgia, serif;
  font-size: 17px;
  line-height: 1.3;
  padding-top: 3px;
  color: var(--dc-accent-ink);
}

.nt-workshop-heading .nt-kicker {
  color: var(--dc-accent-ink);
}

.nt-home h2 {
  font-family: "Cinzel", Georgia, serif;
  font-size: clamp(40px, 4.1vw, 59px);
  line-height: 1.17;
  font-weight: 400;
  letter-spacing: -.04em;
}

.nt-workshop h2 {
  margin-top: 27px;
}

.nt-workshop-invitation {
  padding-top: 26px;
  max-width: 340px;
}

.nt-fine-line {
  display: block;
  height: 1px;
  width: 76px;
  background: var(--dc-accent-ink);
  margin-bottom: 30px;
}

.nt-workshop h3 {
  font-family: "Cinzel", Georgia, serif;
  font-size: 31px;
  line-height: 1.25;
  font-weight: 400;
  letter-spacing: -.035em;
  margin-bottom: 22px;
}

.nt-workshop-invitation > p {
  font-size: 12px;
  line-height: 1.95;
  color: #4e5154;
}

.nt-workshop-invitation .nt-workshop-details {
  font-size: 10px;
  margin-top: 22px;
  color: var(--dc-accent-ink);
}

.nt-workshop .nt-button {
  margin-top: 20px;
}

.nt-teaching {
  padding-block: 100px 93px;
  background: var(--dc-ink);
}

.nt-section-heading {
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
  gap: 45px;
  margin-bottom: 56px;
}

.nt-section-heading .nt-kicker {
  color: var(--dc-accent);
  margin-bottom: 22px;
}

.nt-section-heading h2 {
  font-size: clamp(37px, 3.5vw, 50px);
}

.nt-section-heading > p {
  max-width: 300px;
  font-size: 11px;
  line-height: 1.95;
  color: #b6bec0;
  padding-bottom: 5px;
}

.nt-class-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 37px;
}

.nt-class {
  padding: 22px 0 28px;
  border-top: 1px solid #b6bec064;
  border-bottom: 1px solid #b6bec02b;
}

.nt-class-day {
  font-size: 9px;
  line-height: 1.8;
  font-weight: 500;
  letter-spacing: .075em;
  text-transform: uppercase;
  color: var(--dc-accent);
}

.nt-class-time {
  display: block;
  font-family: "Cinzel", Georgia, serif;
  font-size: 31px;
  line-height: 1.3;
  margin-top: 26px;
  color: var(--dc-ivory);
}

.nt-class h3 {
  font-family: "Manrope", Arial, sans-serif;
  font-size: 21px;
  line-height: 1.4;
  letter-spacing: -.02em;
  font-weight: 500;
  margin: 11px 0 23px;
}

.nt-class-venue {
  font-size: 11px;
  line-height: 1.8;
  color: #c7c9c9;
}

.nt-class-venue > span {
  display: block;
  font-size: 10px;
  color: #a6afb3;
  margin-top: 4px;
}

.nt-teaching-footer {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 25px;
  margin-top: 30px;
}

.nt-teaching-footer > p {
  font-size: 9px;
  line-height: 1.8;
  color: #a6afb3;
}

.nt-teaching-footer .nt-text-link {
  color: var(--dc-accent);
}

.nt-about {
  background: var(--dc-accent-soft);
  color: var(--dc-ink);
  padding-block: 97px 90px;
}

.nt-about-grid {
  display: grid;
  grid-template-columns: .9fr 1.1fr;
  align-items: center;
  gap: 95px;
}

.nt-artwork {
  width: 100%;
  max-width: 350px;
  margin: 0 0 0 auto;
}

.nt-artwork img {
  width: 100%;
  height: auto;
  aspect-ratio: 4 / 5;
  object-fit: contain;
}

.nt-artwork figcaption {
  font-size: 7px;
  text-transform: uppercase;
  letter-spacing: .14em;
  line-height: 1.8;
  color: var(--dc-accent-ink);
  margin-top: 13px;
}

.nt-about-copy {
  max-width: 425px;
}

.nt-about-copy .nt-kicker {
  color: var(--dc-accent-ink);
  margin-bottom: 22px;
}

.nt-about-copy h2 {
  margin-bottom: 27px;
}

.nt-about-copy > p:not(.nt-kicker) {
  font-size: 12px;
  line-height: 1.95;
  color: color-mix(in srgb, var(--dc-ink) 85%, var(--dc-accent));
  margin-top: 14px;
}

.nt-private {
  display: flex;
  justify-content: space-between;
  gap: 22px;
  margin-top: 29px;
  padding-top: 19px;
  border-top: 1px solid #0c151b3b;
  font-size: 9px;
  line-height: 1.8;
}

.nt-private > span:first-child {
  font-weight: 600;
}

.nt-about-copy .nt-text-link {
  margin-top: 20px;
}

.nt-newsletter {
  padding-block: 94px 92px;
}

.nt-newsletter-grid {
  display: grid;
  grid-template-columns: 1.35fr 1fr 42px;
  align-items: center;
  gap: 65px;
}

.nt-newsletter .nt-kicker {
  color: var(--dc-accent);
  margin-bottom: 22px;
}

.nt-newsletter h2 {
  font-size: clamp(34px, 3.4vw, 49px);
}

.nt-newsletter-copy {
  padding-top: 32px;
}

.nt-newsletter-copy > p {
  max-width: 290px;
  font-size: 12px;
  line-height: 1.95;
  color: #b6bec0;
}

.nt-newsletter-copy .nt-text-link {
  color: var(--dc-accent);
  font-size: 10px;
  margin-top: 23px;
}

.nt-close-mark {
  font-family: Georgia, serif;
  font-size: 36px;
  font-weight: 400;
  color: var(--dc-accent);
}

@media (max-width: 1100px) {
  body .nav-links { gap: 17px; font-size: 10px; }
  .nt-hero-inner { min-height: 665px; padding-top: 95px; }
  .nt-hero h1 { font-size: 70px; }
  .nt-hero h1 > span { margin-left: 20px; }
  .nt-hero-intro, .nt-hero-actions { margin-left: 23px; }
  .nt-hero-actions { gap: 21px; }
  .nt-button { padding-inline: 17px; gap: 21px; }
  .nt-workshop-grid { grid-template-columns: .1fr 1fr 1fr; gap: 26px; }
  .nt-workshop h2 { font-size: 46px; }
  .nt-class-grid { gap: 25px; }
  .nt-about-grid { gap: 58px; }
  .nt-newsletter-grid { gap: 35px; grid-template-columns: 1.1fr 1fr 30px; }
}

@media (max-width: 760px) {
  body .site-nav { padding-block: 22px; }
  body .brand strong { font-size: 16px; }
  body .brand small { font-size: 6px; margin-top: 7px; }
  body .nav-links { background: var(--dc-ink); font-size: 12px; }
  body .nav-toggle { border-color: #b6bec064; border-radius: 0; font-size: 11px; }
  .nt-hero-inner { min-height: 724px; padding-top: 47px; padding-bottom: 105px; }
  .nt-hero-photo { inset: auto 0 auto; top: 195px; height: 350px; object-position: 92% center; }
  .nt-hero::after { background: linear-gradient(0deg, #0c151b 0%, #0c151bd9 24%, #0c151b00 62%), linear-gradient(90deg, #0c151b8c, #0c151b00 79%); }
  .nt-hero .nt-kicker { font-size: 8px; letter-spacing: .16em; color: var(--dc-accent); }
  .nt-hero h1 { font-size: clamp(38px, 10.6vw, 65px); line-height: 1.25; margin-top: 28px; text-shadow: 0 2px 15px #0c151b26; }
  .nt-hero h1 > span { margin-left: 15px; }
  .nt-hero-intro { position: absolute; left: 24px; bottom: 170px; margin: 0; font-size: 11px; line-height: 1.85; }
  .nt-hero-actions { position: absolute; left: 24px; right: 24px; bottom: 94px; margin: 0; gap: 21px; flex-wrap: wrap; }
  .nt-button { padding: 15px 16px; gap: 18px; font-size: 9px; min-height: 48px; }
  .nt-text-link { font-size: 9px; gap: 13px; }
  .nt-hero-baseline { bottom: 26px; left: 24px; right: 24px; padding-top: 17px; font-size: 6px; letter-spacing: .1em; }
  .nt-hero-baseline > span:last-child { display: none; }
  .nt-workshop { padding-block: 57px 62px; }
  .nt-workshop-grid { grid-template-columns: 27px 1fr; gap: 15px; }
  .nt-chapter { font-size: 14px; }
  .nt-kicker { font-size: 8px; letter-spacing: .18em; }
  .nt-home h2 { font-size: 40px; line-height: 1.2; }
  .nt-workshop h2 { margin-top: 20px; }
  .nt-workshop-invitation { grid-column: 2; max-width: none; padding-top: 23px; }
  .nt-fine-line { width: 54px; margin-bottom: 23px; }
  .nt-workshop h3 { font-size: 26px; margin-bottom: 17px; }
  .nt-workshop-invitation > p { font-size: 11px; line-height: 1.9; }
  .nt-workshop-invitation .nt-workshop-details { font-size: 9px; margin-top: 19px; }
  .nt-workshop .nt-button { margin-top: 19px; }
  .nt-teaching { padding-block: 61px 57px; }
  .nt-section-heading { display: block; margin-bottom: 31px; }
  .nt-section-heading .nt-kicker { margin-bottom: 20px; }
  .nt-section-heading h2 { font-size: 35px; }
  .nt-section-heading > p { margin-top: 22px; font-size: 10px; max-width: 290px; }
  .nt-class-grid { display: block; }
  .nt-class { display: grid; grid-template-columns: 83px 1fr; column-gap: 15px; padding-block: 22px; border-bottom: 0; }
  .nt-class:last-child { border-bottom: 1px solid #b6bec02b; }
  .nt-class-day { grid-column: 1 / -1; font-size: 8px; margin-bottom: 17px; }
  .nt-class-time { grid-column: 1; grid-row: 2 / 4; margin-top: 0; font-size: 25px; line-height: 1.3; }
  .nt-class h3 { grid-column: 2; font-size: 19px; margin: 0 0 11px; }
  .nt-class-venue { grid-column: 2; font-size: 10px; }
  .nt-class-venue > span { font-size: 9px; margin-top: 2px; }
  .nt-teaching-footer { display: block; margin-top: 23px; }
  .nt-teaching-footer > p { font-size: 8px; }
  .nt-teaching-footer .nt-text-link { margin-top: 15px; }
  .nt-about { padding-block: 58px 57px; }
  .nt-about-grid { display: flex; flex-direction: column-reverse; align-items: stretch; gap: 40px; }
  .nt-about-copy { max-width: none; }
  .nt-about-copy .nt-kicker { margin-bottom: 18px; }
  .nt-about-copy h2 { font-size: 43px; margin-bottom: 25px; }
  .nt-about-copy > p:not(.nt-kicker) { font-size: 11px; line-height: 1.95; }
  .nt-private { margin-top: 23px; padding-top: 17px; font-size: 8px; gap: 17px; }
  .nt-about-copy .nt-text-link { margin-top: 16px; }
  .nt-artwork { max-width: 265px; margin: 0 auto; }
  .nt-artwork figcaption { font-size: 6px; text-align: center; }
  .nt-newsletter { padding-block: 59px 57px; }
  .nt-newsletter-grid { display: block; position: relative; }
  .nt-newsletter .nt-kicker { margin-bottom: 20px; }
  .nt-newsletter h2 { font-size: 35px; }
  .nt-newsletter-copy { padding-top: 22px; }
  .nt-newsletter-copy > p { font-size: 11px; max-width: 265px; }
  .nt-newsletter-copy .nt-text-link { font-size: 9px; margin-top: 19px; }
  .nt-close-mark { display: block; font-size: 27px; margin-top: 33px; }
  body .page-heading h1 { font-size: 40px; }
  body .flow-public h1 { font-size: 42px; }
  body .flow-confirmation h1 { font-size: 34px; }
  body .contact-panel h1 { font-size: 37px; }
  body .footer { font-size: 8px; gap: 24px; padding-block: 30px; }
}

@media (max-width: 360px) {
  .nt-hero-inner { min-height: 710px; padding-top: 43px; }
  .nt-hero h1 { font-size: 35px; }
  .nt-hero-photo { top: 185px; height: 336px; }
  .nt-hero-intro { font-size: 10px; }
  .nt-hero-actions { gap: 17px; }
  .nt-hero-actions .nt-button { padding-inline: 12px; gap: 13px; font-size: 8px; }
  .nt-hero-actions .nt-text-link { font-size: 8px; gap: 9px; }
  .nt-home h2 { font-size: 35px; }
  .nt-workshop-grid { grid-template-columns: 20px 1fr; gap: 12px; }
  .nt-workshop h3 { font-size: 24px; }
  .nt-section-heading h2 { font-size: 31px; }
  .nt-class { grid-template-columns: 74px 1fr; gap: 0 12px; }
  .nt-class h3 { font-size: 17px; }
  .nt-class-time { font-size: 23px; }
  .nt-private { flex-wrap: wrap; gap: 6px; }
  .nt-about-copy h2 { font-size: 40px; }
  .nt-newsletter h2 { font-size: 31px; }
  body .flow-public h1 { font-size: 36px; }
  body .flow-confirmation h1 { font-size: 30px; }
}

@media (prefers-reduced-motion: reduce) {
  body .nt-button,
  body .nt-text-link {
    transition: none;
  }
}

/* Preserve contrast on the ivory invitation and keep the native demo line visible. */
.nt-chapter{color:var(--dc-accent-ink)}
[data-rehearsal-line]{background:var(--dc-accent);color:var(--dc-ink);font-family:var(--font-sans);font-size:11px;border-top:1px solid var(--dc-ink)}
.dc-event-detail .event-title{font-size:clamp(36px,4.1vw,59px);text-wrap:balance}
@media(max-width:600px){.dc-event-detail .event-title{font-size:34px}}
@media(max-width:360px){.dc-event-detail .event-title{font-size:29px}}
/* Production-sized reading text; retain the selected composition at phone widths. */
.dc-nav-links{font-size:12px}
.nt-kicker{font-size:10px}
.nt-hero-intro{font-size:14px;max-width:400px}
.nt-button,.nt-text-link{font-size:12px}
.nt-workshop-invitation>p,.nt-section-heading>p,.nt-about-copy>p:not(.nt-kicker),.nt-newsletter-copy>p{font-size:14px}
.nt-workshop-invitation .nt-workshop-details,.nt-teaching-footer p,.nt-teaching-footer .nt-text-link,.nt-newsletter-copy .nt-text-link{font-size:12px}
.nt-class-day{font-size:11px}
.nt-class h3{font-size:19px;line-height:1.5}
.nt-class-venue{font-size:13px}
.nt-class-venue span,.nt-private{font-size:12px}
.nt-artwork figcaption{font-size:10px}
.dc-footer-nav,.dc-footer-meta,.dc-footer-legal{font-size:12px}
@media(max-width:1150px){.dc-desktop-nav{display:none}.dc-mobile-menu{display:block}}
@media(max-width:760px){
 .nt-kicker,.nt-hero .nt-kicker{font-size:10px}
 .nt-hero-intro{font-size:14px}
 .nt-button,.nt-text-link{font-size:12px}
 .nt-workshop-invitation>p,.nt-section-heading>p,.nt-about-copy>p:not(.nt-kicker),.nt-newsletter-copy>p{font-size:14px}
 .nt-workshop-invitation .nt-workshop-details,.nt-teaching-footer p,.nt-teaching-footer .nt-text-link,.nt-newsletter-copy .nt-text-link{font-size:12px}
 .nt-class-day,.nt-class-venue span,.nt-private{font-size:12px}
 .nt-class-venue{font-size:13px}
 .nt-class h3{font-size:18px}
 .nt-private{flex-wrap:wrap;gap:9px}
 .nt-newsletter-copy .nt-text-link{margin-right:18px}
 .nt-hero-baseline{font-size:9px}
}

/* Editable text and readable buttons may wrap; reserve their own mobile flow. */
@media(max-width:760px){
 .nt-hero-inner{padding-bottom:110px}
 .nt-hero-intro{position:static;margin:370px 0 0}
 .nt-hero-actions{position:static;margin:24px 0 0}
}

@media(max-width:760px){
 .nt-hero{background:var(--dc-ink)}
 .nt-hero::after{top:195px;bottom:auto;height:350px;background:linear-gradient(0deg,var(--dc-ink),transparent 38%),linear-gradient(90deg,color-mix(in srgb,var(--dc-ink) 30%,transparent),transparent 80%)}
}

@media(max-width:360px){.nt-hero::after{top:185px;height:336px}}
@media(max-width:360px){
 .nt-hero-actions .nt-button,.nt-hero-actions .nt-text-link{font-size:12px}
}

/* The next native event takes the place of the unscheduled invitation. */
.nt-workshop--scheduled .nt-workshop-grid {
  grid-template-columns: 40px minmax(0, 1.15fr) minmax(0, 1fr);
  gap: 37px 43px;
  align-items: start;
}

.nt-workshop--scheduled .nt-workshop-heading h2 {
  max-width: 12ch;
  font-size: clamp(42px, 4.8vw, 66px);
  overflow-wrap: anywhere;
}

.nt-workshop--scheduled .nt-workshop-date {
  margin-top: 26px;
  font-size: 17px;
  line-height: 1.8;
}

.nt-workshop--scheduled .nt-workshop-invitation {
  max-width: none;
  padding-top: 4px;
}

.nt-workshop-facts {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  gap: 24px;
  padding-top: 25px;
  border-top: 1px solid color-mix(in srgb, var(--nt-ink) 30%, transparent);
}

.nt-workshop-facts dt {
  font-size: 11px;
  text-transform: uppercase;
  letter-spacing: .12em;
  line-height: 1.8;
  color: color-mix(in srgb, var(--nt-ink) 75%, transparent);
}

.nt-workshop-facts dd {
  margin: 9px 0 0;
  font-size: 17px;
  line-height: 1.65;
  overflow-wrap: anywhere;
}

.nt-workshop-invitation .nt-workshop-status {
  display: inline-flex;
  align-items: center;
  gap: 9px;
  margin-top: 29px;
  font-size: 12px;
  color: var(--nt-ink);
}

.nt-workshop-status::before {
  content: "";
  width: 5px;
  height: 5px;
  border-radius: 50%;
  background: currentColor;
}

.nt-workshop--scheduled .nt-button {
  display: flex;
  width: fit-content;
  margin-top: 19px;
}

.nt-workshop-artwork {
  grid-column: 2 / -1;
  display: block;
  border: 1px solid color-mix(in srgb, var(--nt-ink) 22%, transparent);
  background: var(--nt-ink);
}

.nt-workshop-artwork img {
  display: block;
  width: 100%;
  height: auto;
}

@media (max-width: 760px) {
  .nt-workshop--scheduled .nt-workshop-grid {
    grid-template-columns: 27px minmax(0, 1fr);
    gap: 26px 15px;
  }

  .nt-workshop--scheduled .nt-workshop-heading h2 {
    font-size: clamp(34px, 8.6vw, 52px);
  }

  .nt-workshop--scheduled .nt-workshop-date {
    margin-top: 20px;
    font-size: 15px;
  }

  .nt-workshop--scheduled .nt-workshop-invitation {
    padding-top: 0;
  }

  .nt-workshop-facts {
    gap: 21px;
    padding-top: 22px;
  }

  .nt-workshop-facts dd {
    font-size: 14px;
  }

  .nt-workshop-invitation .nt-workshop-status {
    margin-top: 23px;
  }

  .nt-workshop-artwork {
    grid-column: 1 / -1;
  }
}

@media (max-width: 360px) {
  .nt-workshop--scheduled .nt-workshop-grid {
    grid-template-columns: 20px minmax(0, 1fr);
    column-gap: 12px;
  }

  .nt-workshop--scheduled .nt-workshop-heading h2 {
    font-size: 32px;
  }
}

/* The supplied portrait gives this invitation the same face as the event. */
.nt-workshop--timba .nt-workshop-grid {
  grid-template-columns: 35px minmax(0, 1fr) minmax(0, .85fr);
  grid-template-rows: auto 1fr;
  gap: 30px 48px;
}

.nt-workshop--timba .nt-chapter {
  grid-column: 1;
  grid-row: 1;
}

.nt-workshop--timba .nt-workshop-heading {
  grid-column: 2;
  grid-row: 1;
}

.nt-workshop--timba .nt-workshop-heading h2 {
  font-family: var(--font-sans);
  font-size: clamp(48px, 5.5vw, 78px);
  font-weight: 800;
  line-height: .98;
  letter-spacing: -.055em;
  text-transform: uppercase;
}

.nt-workshop--timba .nt-workshop-invitation {
  grid-column: 2;
  grid-row: 2;
  align-self: start;
}

.nt-workshop--timba .nt-workshop-artwork {
  grid-column: 3;
  grid-row: 1 / 3;
  align-self: start;
  transform: rotate(2deg);
  box-shadow: 14px 18px 0 color-mix(in srgb, var(--nt-ink) 10%, transparent);
}

.nt-workshop--timba .nt-workshop-artwork img {
  aspect-ratio: 4 / 5;
  object-fit: contain;
}

@media (max-width: 760px) {
  .nt-workshop--timba .nt-workshop-grid {
    grid-template-columns: 22px minmax(0, 1fr);
    gap: 28px 18px;
  }

  .nt-workshop--timba .nt-workshop-heading h2 {
    font-size: clamp(42px, 12vw, 68px);
  }

  .nt-workshop--timba .nt-workshop-invitation {
    grid-column: 2;
    grid-row: 2;
  }

  .nt-workshop--timba .nt-workshop-artwork {
    grid-column: 1 / -1;
    grid-row: 3;
    width: calc(100% - 10px);
    margin: 10px 0 0;
    transform: rotate(1deg);
    box-shadow: 8px 10px 0 color-mix(in srgb, var(--nt-ink) 10%, transparent);
  }
}

/* Dark focus ink stays distinct on the light invitation and biography panels. */
body :is(.nt-workshop,.nt-about) :focus-visible{outline-color:var(--dc-accent-ink)}
