/* Standalone HTML navigation */
.plain-mobile-nav {
  position: absolute;
  z-index: 40;
  top: 4.5rem;
  right: 1rem;
  left: 1rem;
  display: flex;
  flex-direction: column;
  background: var(--night);
  color: var(--white);
  border: 1px solid #3a3c35;
  box-shadow: .6rem .6rem 0 var(--accent);
  padding: .75rem 1rem 1rem;
}
.plain-mobile-nav[hidden] { display: none; }
.plain-mobile-nav a {
  min-height: 3.75rem;
  display: flex;
  align-items: center;
  border-bottom: 1px solid #3a3c35;
  font-size: 1.15rem;
  font-weight: 650;
}
.plain-mobile-nav .mobile-booking-link {
  justify-content: center;
  min-height: 3.25rem;
  margin-top: 1rem;
  border: 1px solid var(--accent);
  background: var(--accent);
  color: var(--ink);
  font-size: .85rem;
}

/* Cal.com inline booking page */
.contact-grid {
  grid-template-columns: minmax(0, .62fr) minmax(0, 1.08fr);
  gap: clamp(2.5rem, 6vw, 6rem);
}
.contact-copy h1 {
  max-width: 12ch;
  font-size: clamp(3rem, 5.4vw, 5.8rem);
}
.contact-expect li > span[aria-hidden="true"] {
  width: .9rem;
  color: var(--accent-dark);
  font-weight: 800;
}
.calendar-panel {
  min-width: 0;
  background: var(--white);
  border: 1px solid var(--line);
  box-shadow: .65rem .65rem 0 var(--accent);
  padding: clamp(1rem, 2vw, 1.5rem);
}
.calendar-panel-heading {
  display: flex;
  justify-content: space-between;
  align-items: end;
  gap: 1rem;
  padding: .35rem .25rem 1.25rem;
  border-bottom: 1px solid var(--line);
}
.calendar-panel-heading > div > span,
.calendar-status {
  color: var(--muted);
  font: .6rem var(--font-mono);
  letter-spacing: .08em;
  text-transform: uppercase;
}
.calendar-panel-heading h2 {
  margin: .35rem 0 0;
  font-size: clamp(1.8rem, 3vw, 2.65rem);
  line-height: 1;
  letter-spacing: -.05em;
}
.calendar-status {
  max-width: 18rem;
  text-align: right;
  overflow-wrap: anywhere;
}
.calendar-embed-shell {
  position: relative;
  min-height: 760px;
  width: 100%;
  overflow: hidden;
}
.calendar-embed,
.calendar-embed > div,
.calendar-embed iframe {
  width: 100% !important;
  min-width: 0 !important;
  min-height: 760px !important;
  border: 0 !important;
  visibility: visible !important;
}
.calendar-failure {
  position: absolute;
  z-index: 10;
  inset: 0;
  box-sizing: border-box;
  width: 100%;
  min-height: 760px;
  display: grid;
  place-content: center;
  justify-items: center;
  gap: 1.25rem;
  padding: clamp(2rem, 7vw, 5rem);
  background: rgba(250, 249, 245, .98);
  text-align: center;
}
.calendar-failure[hidden] { display: none !important; }
.calendar-failure p {
  max-width: 28ch;
  margin: 0;
  color: var(--ink);
  font-size: clamp(1.35rem, 2.7vw, 2.25rem);
  font-weight: 750;
  line-height: 1.15;
  letter-spacing: -.025em;
}
.calendar-failure a {
  display: inline-flex;
  justify-content: center;
  align-items: center;
  gap: .65rem;
  box-sizing: border-box;
  max-width: 100%;
  min-height: 4.5rem;
  padding: 1rem clamp(1.4rem, 4vw, 2.4rem);
  border: 2px solid var(--ink);
  background: var(--accent);
  color: var(--ink);
  box-shadow: .45rem .45rem 0 var(--ink);
  font-size: clamp(1.55rem, 3.7vw, 3rem);
  font-weight: 850;
  line-height: 1;
  letter-spacing: -.045em;
  transition: transform .15s ease, box-shadow .15s ease;
}
.calendar-failure a:hover,
.calendar-failure a:focus-visible {
  transform: translate(.2rem, .2rem);
  box-shadow: .25rem .25rem 0 var(--ink);
}
.calendar-fallback,
.calendar-noscript {
  margin: .9rem .25rem .15rem;
  color: var(--muted);
  font-size: .7rem;
}
.calendar-fallback a,
.calendar-noscript a {
  color: var(--ink);
  border-bottom: 1px solid currentColor;
  font-weight: 700;
}

@media (min-width: 981px) {
  .plain-mobile-nav { display: none !important; }
}
@media (max-width: 900px) {
  .contact-grid { grid-template-columns: 1fr; }
  .contact-copy { position: static; }
  .contact-copy h1 { max-width: 14ch; }
}
@media (max-width: 700px) {
  .calendar-panel {
    padding: .7rem;
    box-shadow: .4rem .4rem 0 var(--accent);
  }
  .calendar-panel-heading {
    align-items: flex-start;
    flex-direction: column;
  }
  .calendar-status { max-width: none; text-align: left; }
  .calendar-embed-shell,
  .calendar-embed,
  .calendar-embed > div,
  .calendar-embed iframe,
  .calendar-failure { min-height: 720px !important; }
  .calendar-failure { padding: 2rem 1.25rem; }
  .calendar-failure a {
    font-size: clamp(1.35rem, 7vw, 1.7rem);
    line-height: 1.05;
  }
}
