/* Project accommodation follows the same light, photographic UHANDA language. */
.pa-intro-grid {
  --photo-copy-inset: clamp(10px, 1vw, 18px);
  display: grid;
  grid-template-columns: minmax(0, .45fr) minmax(0, .55fr);
  column-gap: clamp(30px, 4vw, 62px);
  row-gap: clamp(22px, 2.5vw, 36px);
  align-items: start;
  margin-block: 38px 58px;
}
.pa-intro-copy { min-width: 0; container-type: inline-size; padding-top: var(--photo-copy-inset); }
.pa-intro-grid > .pa-hero-photo { align-self: stretch; aspect-ratio: auto; }
.pa-intro-copy h1 {
  margin: 0;
  font-family: 'League Spartan', 'Arial Black', sans-serif;
  font-size: clamp(26px, 3.1vw, 53px);
  font-size: min(53px, 10cqi);
  font-weight: 900;
  line-height: 1.02;
  letter-spacing: -.025em;
  text-transform: uppercase;
  text-wrap: balance;
}
.pa-intro-copy h1 > span:not(.pa-title-last) { color: var(--dc-sage); }
.pa-intro-copy h1 .pa-title-last { display: block; white-space: nowrap; }
:lang(fi) .pa-intro-copy h1 > span { display: block; }
.pa-intro-lead { margin: 22px 0 0; font-size: clamp(16px, 1.4vw, 21px); line-height: 1.45; }
.pa-intro-lead strong { font-weight: 700; }
.pa-hero-photo {
  --service-opening-scale: 1.12;
  position: relative;
  grid-column: 2;
  grid-row: 1 / span 2;
  align-self: center;
  aspect-ratio: 5 / 3;
  min-width: 0;
  min-height: 0;
  margin: 0;
  overflow: hidden;
  border-radius: clamp(14px, 1.5vw, 23px);
  background: #e7ebe4;
}
.pa-hero-photo img { position: absolute; inset: 0; display: block; width: 100%; height: 100%; object-fit: cover; object-position: 50% 38%; transform: scale(1.12); transform-origin: 50% 0%; }
.pa-consider { grid-column: 1; min-width: 0; padding-bottom: var(--photo-copy-inset); }
.pa-consider h2 { display: flex; align-items: center; gap: 7px; margin: 0; font-family: 'League Spartan', 'Arial Black', sans-serif; font-size: clamp(22px, 1.85vw, 28px); font-weight: 800; line-height: 1.1; letter-spacing: -.015em; }
.pa-consider p { margin: 13px 0 0; font-size: clamp(14px, 1.2vw, 18px); line-height: 1.5; }
.pa-consider p > span { display: block; }
.pa-section-heading { min-width: 0; }
.project-accommodation-page .dc-section > h2,
.pa-section-heading > h2 { text-transform: uppercase; }
.pa-inclusions { display: grid; grid-template-columns: minmax(0, .62fr) minmax(0, .38fr); gap: clamp(28px, 3vw, 46px); align-items: center; border-top: 1px solid var(--dc-line); }
.pa-ready-photo,
.pa-coordination-photo { position: relative; margin: 0; min-width: 0; overflow: hidden; border-radius: clamp(14px, 1.5vw, 23px); background: #e7ebe4; }
.pa-ready-photo { aspect-ratio: 5 / 3; }
.pa-ready-photo img,
.pa-coordination-photo img { position: absolute; inset: 0; display: block; width: 100%; height: 100%; object-fit: cover; object-position: center; }
.pa-inclusions-copy { min-width: 0; text-align: right; }
.pa-inclusions-copy .pa-section-heading h2 { margin-top: 4px; }
.pa-inclusions-list { display: grid; grid-template-columns: minmax(0, 1fr); list-style: none; margin: 24px 0 0; padding: 0; }
.pa-inclusions-list li { display: grid; grid-template-columns: minmax(0, 1fr) 19px; align-items: start; gap: 12px; min-width: 0; padding: 10px 0; font-size: clamp(13px, 1.1vw, 16px); font-weight: 600; line-height: 1.4; text-align: right; }
.pa-inclusions-list li:first-child { padding-top: 0; }
.pa-inclusions-list li:last-child { padding-bottom: 0; }
.pa-inclusions-list svg { width: 19px; height: 19px; margin-top: 1px; color: var(--dc-sage); }
.pa-process { border-top: 1px solid var(--dc-line); }
.pa-process-grid { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); list-style: none; margin: 34px 0 0; padding: 0; border: 1px solid #537a602a; border-radius: 16px; overflow: hidden; background: linear-gradient(120deg, #f7faf7e8, #edf4eff0); }
.pa-process-grid > li { min-width: 0; padding: clamp(18px, 2vw, 30px); }
.pa-process-grid > li + li { border-left: 1px solid #537a602a; }
.pa-step-marker { display: flex; align-items: center; gap: 13px; color: var(--dc-sage); margin-bottom: 22px; }
.pa-step-number { font-family: 'League Spartan', 'Arial Black', sans-serif; font-size: 27px; font-weight: 700; line-height: 1; letter-spacing: -.025em; }
.pa-step-marker svg { width: 23px; height: 23px; }
.pa-step-copy h3 { margin: 0 0 11px; font-family: 'League Spartan', 'Arial Black', sans-serif; font-size: clamp(19px, 1.65vw, 25px); font-weight: 800; line-height: 1.08; letter-spacing: -.015em; }
.pa-step-copy p { margin: 0; color: #47564b; font-size: clamp(13px, 1.1vw, 16px); line-height: 1.5; }
.pa-process-closing { margin: 24px 0 0; font-size: clamp(15px, 1.3vw, 18px); line-height: 1.5; }
.pa-process-closing strong { color: var(--dc-sage); font-weight: 700; }
.pa-coordination { display: grid; grid-template-columns: minmax(0, .53fr) minmax(0, .47fr); gap: clamp(28px, 3vw, 46px); align-items: stretch; border-top: 1px solid var(--dc-line); }
.pa-coordination-copy { min-width: 0; }
.pa-coordination-copy h2 { text-transform: uppercase; }
.pa-coordination-grid { display: grid; grid-template-columns: minmax(0, 1fr); gap: 14px; margin-top: 25px; }
.pa-coordination-card { display: flex; align-items: flex-start; gap: 18px; min-width: 0; padding: clamp(20px, 2vw, 29px); border: 1px solid #537a6038; border-radius: 14px; background: linear-gradient(120deg, #f8fbf8e3, #f0f6f2df); }
.pa-coordination-icon { display: flex; align-items: center; justify-content: center; flex: none; width: 38px; height: 38px; border: 1px solid #537a603b; border-radius: 50%; color: var(--dc-sage); }
.pa-coordination-icon svg { width: 23px; height: 23px; }
.pa-coordination-card h3 { margin: 1px 0 10px; font-family: 'League Spartan', 'Arial Black', sans-serif; font-size: clamp(20px, 1.8vw, 27px); font-weight: 800; line-height: 1.07; letter-spacing: -.02em; }
.pa-coordination-card p { margin: 0; color: #47564b; font-size: clamp(13px, 1.1vw, 16px); line-height: 1.5; }
.pa-coordination-photo { align-self: stretch; min-height: 0; }
@media (min-width: 761px) {
  .pa-inclusions-copy { padding-block: clamp(10px, 1vw, 18px); }
  .pa-ready-photo { align-self: stretch; aspect-ratio: auto; }
}
@media (max-width: 1100px) {
  .pa-intro-grid { column-gap: 34px; }
  .pa-inclusions { grid-template-columns: minmax(0, .56fr) minmax(0, .44fr); gap: 28px; }
  .pa-ready-photo { align-self: stretch; aspect-ratio: auto; }
  .pa-process-grid > li { padding: 20px 16px; }
  .pa-step-marker { gap: 9px; }
  .pa-coordination-card { gap: 16px; }
}
@media (min-width: 761px) and (max-width: 1100px) {
  .pa-process-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .pa-process-grid > li:nth-child(3n + 1) { border-left: 0; }
  .pa-process-grid > li:nth-child(n + 4) { border-top: 1px solid #537a602a; }
}
@media (max-width: 760px) {
  .pa-intro-grid { grid-template-columns: minmax(0, .46fr) minmax(0, .54fr); column-gap: 17px; row-gap: 27px; margin-block: 28px 36px; }
  .pa-intro-copy h1 { font-size: min(34px, 10cqi); }
  .pa-intro-copy { padding-block: var(--photo-copy-inset); }
  .pa-intro-lead { margin-top: 19px; font-size: clamp(14px, 2.45vw, 18px); line-height: 1.45; }
  .pa-hero-photo { grid-row: 1; align-self: stretch; aspect-ratio: auto; border-radius: 12px; }
  .pa-consider { grid-column: 1 / -1; padding-top: 23px; padding-bottom: 0; border-top: 1px solid #537a6038; }
  .pa-consider h2 { font-size: clamp(26px, 5vw, 33px); }
  .pa-consider p { margin-top: 13px; font-size: 16px; line-height: 1.5; }
  .pa-inclusions { grid-template-columns: minmax(0, 1fr); gap: 27px; }
  .pa-ready-photo { aspect-ratio: 5 / 3; }
  .pa-inclusions-list { margin-top: 23px; }
  .pa-inclusions-list li { font-size: 15px; padding-block: 11px; }
  .pa-process-grid { grid-template-columns: minmax(0, 1fr); margin-top: 27px; border-radius: 14px; }
  .pa-process-grid > li { display: grid; grid-template-columns: 68px minmax(0, 1fr); gap: 20px; padding: 22px; }
  .pa-process-grid > li + li { border-left: 0; border-top: 1px solid #537a602a; }
  .pa-step-marker { align-self: start; margin: 1px 0 0; }
  .pa-step-copy h3 { font-size: 23px; margin-bottom: 8px; }
  .pa-step-copy p { font-size: 15px; }
  .pa-process-closing { margin-top: 22px; font-size: 16px; }
  .pa-coordination { grid-template-columns: minmax(0, 1fr); gap: 27px; }
  .pa-coordination-grid { gap: 14px; margin-top: 26px; }
  .pa-coordination-photo { aspect-ratio: 3 / 2; }
  .pa-coordination-card { gap: 18px; padding: 24px; }
  .pa-coordination-card h3 { font-size: 25px; }
  .pa-coordination-card p { font-size: 15px; }
}
@media (max-width: 440px) {
  .pa-intro-grid { column-gap: 14px; }
  .pa-inclusions-list li { font-size: 15px; }
  .pa-process-grid > li { grid-template-columns: 57px minmax(0, 1fr); gap: 15px; padding: 21px 18px; }
  .pa-step-marker { gap: 7px; }
  .pa-step-number { font-size: 25px; }
  .pa-step-marker svg { width: 21px; height: 21px; }
  .pa-coordination-card { padding: 22px 20px; gap: 14px; }
  .pa-coordination-icon { width: 35px; height: 35px; }
  .pa-coordination-icon svg { width: 21px; height: 21px; }
  .pa-coordination-card h3 { font-size: 23px; }
}
@media (max-width: 600px) {
  .pa-intro-grid { grid-template-columns: minmax(0, 1fr); gap: 24px; }
  .pa-intro-copy { grid-column: 1; grid-row: 1; padding-block: 0; }
  .pa-intro-copy h1 { font-size: min(36px, 10cqi); }
  .pa-intro-lead { margin-top: 18px; font-size: 16px; line-height: 1.45; }
  .pa-intro-grid > .pa-hero-photo { grid-column: 1; grid-row: 2; align-self: start; width: 100%; aspect-ratio: 5 / 3; }
  .pa-consider { grid-column: 1; grid-row: 3; }
}
