/* Clean light public surface. PääAsia DS components remain shared with Hallinta. */
.pa-public-header-enabled,
.pa-public-ui {
  --pa-color-background: #fff;
  --pa-color-surface: #fff;
  --pa-color-surface-soft: #f6f7f8;
  --pa-color-border: #dfe3e6;
  --pa-color-text-primary: #090909;
  --pa-color-text-secondary: #5f666b;
  --pa-color-primary: #090909;
  --pa-color-primary-hover: #262626;
  --pa-color-hover-soft: rgba(9, 9, 9, .045);
  --pa-shadow-small: 0 8px 28px rgba(9, 9, 9, .055);
  --pa-shadow-medium: 0 18px 50px rgba(9, 9, 9, .075);
  background: #fff;
  color: #090909;
}

.pa-public-header-enabled :where(#qodef-page-wrapper, #qodef-page-inner, #qodef-page-content) {
  background-color: #fff;
}

.pa-public-header-enabled :where(h1, h2, h3, h4) {
  text-wrap: balance;
}

.pa-public-header-enabled :where(p, li) {
  text-wrap: pretty;
}

.pa-public-ui :where(.pa-card, .pa-selection-card, .pa-pricing-row, .pa-service-item) {
  border-color: var(--pa-color-border);
  background-color: #fff;
  box-shadow: none;
}

.pa-public-ui :where(input, select, textarea) {
  border-color: var(--pa-color-border);
  background-color: #fff;
  color: #090909;
}

.pa-public-ui :where(input, select, textarea):focus {
  border-color: #090909;
  box-shadow: 0 0 0 3px rgba(9, 9, 9, .12);
  outline: none;
}

.pa-public-ui :where(.pa-booking-intro, .pa-pricing-intro) {
  padding-top: clamp(42px, 8vw, 92px);
  padding-bottom: clamp(24px, 4vw, 42px);
}

.pa-public-ui :where(.pa-booking-intro, .pa-pricing-intro) h1 {
  color: #090909;
  font-size: clamp(38px, 7vw, 72px);
  font-weight: 500;
  letter-spacing: -.045em;
  line-height: 1.02;
}

.pa-public-ui :where(.pa-booking-intro, .pa-pricing-intro) p {
  max-width: 620px;
  color: var(--pa-color-text-secondary);
  font-size: clamp(16px, 2vw, 19px);
  line-height: 1.6;
}

.pa-public-ui :where(.pa-contact__form, .pa-recruit__form) {
  border: 1px solid var(--pa-color-border);
  border-radius: 20px;
  background: #fff;
  box-shadow: none;
}

/* The ÄA element is a finishing mark, never a competing logo. */
.pa-brand-watermark,
.pa-brand-stamp {
  position: relative;
}

.pa-brand-watermark::after,
.pa-brand-stamp::after {
  content: "";
  display: block;
  background: currentColor;
  pointer-events: none;
  -webkit-mask: url("../brand/aa-mark.svg") center / contain no-repeat;
  mask: url("../brand/aa-mark.svg") center / contain no-repeat;
}

.pa-brand-watermark::after {
  position: absolute;
  z-index: 0;
  right: clamp(18px, 4vw, 64px);
  bottom: clamp(18px, 4vw, 56px);
  width: clamp(90px, 13vw, 184px);
  aspect-ratio: 695 / 972;
  opacity: .045;
}

.pa-brand-stamp::after {
  width: 28px;
  aspect-ratio: 695 / 972;
  opacity: .32;
}

.pa-public-ui :where(.pa-contact__paths, .pa-recruit__choices) {
  gap: clamp(12px, 2vw, 22px);
}

.pa-public-ui .pa-pricing-navigation a,
.pa-public-ui .pa-booking-category {
  border-color: #dfe3e6;
  background: #f6f7f8;
}

.pa-public-ui .pa-pricing-navigation a:hover,
.pa-public-ui .pa-booking-category:hover {
  border-color: #090909;
  background: #fff;
}

.pa-public-ui .pa-booking-category[aria-pressed="true"] {
  border-color: #090909;
  background: #090909;
  color: #fff;
}

.pa-public-header-enabled .elementor-location-footer {
  border-top: 1px solid rgba(255, 255, 255, .14);
  background: #090909;
  color: #fff;
}

@media (max-width: 767px) {
  .pa-public-ui :where(.pa-booking-intro, .pa-pricing-intro) {
    padding-top: 38px;
  }

  .pa-public-ui :where(.pa-booking-intro, .pa-pricing-intro) h1 {
    font-size: clamp(36px, 12vw, 52px);
  }

  .pa-public-ui :where(.pa-contact__form, .pa-recruit__form) {
    border-radius: 18px;
    box-shadow: none;
  }
}
