/* Niwa's light product story. Media supplies the imagery; motion only presents it. */
.pt-home { overflow: clip; color: var(--pt-ink); }
.niwa-section { width: min(1200px, calc(100% - 12vw)); margin-inline: auto; }
.niwa-section-heading { margin-bottom: 56px; text-align: center; }
.niwa-section-heading h2 { margin: 0 auto; max-width: 22ch; }
.niwa-actions { display: flex; flex-wrap: wrap; justify-content: center; gap: 8px; }
.pt-hero { position: relative; display: flex; flex-direction: column; align-items: center; min-height: calc(100svh - 72px); padding: clamp(64px, 10svh, 104px) 24px 64px; text-align: center; }
.pt-hero__copy { position: relative; z-index: 2; display: grid; justify-items: center; gap: 28px; width: 100%; }
.pt-hero__copy h1 { max-width: 42ch; text-wrap: balance; }
.niwa-features { padding-block: 90px 150px; }
.niwa-feature-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 26px; }
.niwa-feature { min-width: 0; }
.niwa-feature__visual { display: block; overflow: hidden; aspect-ratio: 3 / 4; }
.niwa-feature__visual img { width: 100%; height: 100%; object-fit: cover; object-position: center;  }
.niwa-feature__copy { padding: 26px 12px 0; }
.niwa-feature h3 { margin-block: 0 18px; max-width: 16ch; }
.niwa-feature__copy > p:last-child { max-width: 31ch; color: var(--pt-muted); line-height: 1.65; font-size: 14px; }
.niwa-workbench { display: grid; grid-template-columns: 1.1fr 1fr; gap: 10%; align-items: center; padding-block: 40px 160px; }
.niwa-workbench h2 { margin-top: 0; max-width: 17ch; }
.niwa-workbench__copy > p { margin-top: 26px; }
.niwa-workbench__details { margin-top: 34px; }
.niwa-workbench details { border-top: 1px solid var(--pt-line); }
.niwa-workbench summary { padding: 19px 0; font-size: 14px; }
.niwa-workbench details p { padding: 0 0 22px; color: var(--pt-muted); font-size: 14px; line-height: 1.7; }
.niwa-workbench__copy > .niwa-button { margin: 22px 0 0; }
.niwa-workbench__visual { aspect-ratio: 3 / 4; overflow: hidden; }
.niwa-workbench__visual img { width: 100%; height: 100%; object-fit: cover; }
.niwa-closing { padding-block: 155px 175px; display: grid; justify-items: center; gap: 30px; text-align: center; }
.niwa-closing h2 { max-width: 21ch; text-wrap: balance; }
.niwa-motion-toggle { position: fixed; left: 22px; bottom: 20px; z-index: 90; display: flex; align-items: center; gap: 9px; min-height: 42px; padding: 12px 15px; background: #ffffffd9; border: 1px solid #dddddf80; border-radius: 28px; backdrop-filter: blur(12px); font-size: 10px; }
.niwa-motion-toggle[aria-pressed=true] img { opacity: .4; }
@media(max-width:980px) {
  .niwa-section { width: calc(100% - 64px); }
  .pt-hero { min-height: calc(100svh - 64px); }
  .niwa-feature-grid { gap: 18px; }
  .niwa-feature__copy { padding-inline: 0; }
  .niwa-workbench { gap: 5%; padding-block: 100px; }
}
@media(max-width:640px) {
  .niwa-section { width: calc(100% - 40px); }
  .pt-hero { min-height: calc(100svh - 60px); padding: 58px 20px 66px; }
  .pt-hero__copy h1 { overflow-wrap: anywhere; }
  .pt-hero__copy { gap: 24px; }
  .niwa-features { padding-block: 85px; }
  .niwa-section-heading { margin-bottom: 35px; text-align: left; }
  .niwa-section-heading h2 { margin-left: 0; }
  .niwa-feature-grid { grid-template-columns: 1fr; gap: 48px; }
  .niwa-feature__visual { aspect-ratio: 1; }
  .niwa-feature h3 { max-width: 19ch; }
  .niwa-feature__copy > p:last-child { max-width: 36ch; font-size: 16px; }
  .niwa-workbench { grid-template-columns: 1fr; gap: 45px; padding-block: 80px; }
  .niwa-workbench summary, .niwa-workbench details p { font-size: 16px; }

  .niwa-closing { padding-block: 90px 100px; }
  .niwa-motion-toggle { left: 12px; bottom: 12px; min-height: 44px; }
  .niwa-motion-toggle span { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); }
}

.niwa-anywhere__heading { display: grid; grid-template-columns: 1fr 1fr; align-items: end; gap: 10%; margin-bottom: 48px; }
.niwa-anywhere__heading h2 { max-width: 15ch; }
.niwa-anywhere p, .niwa-workbench__copy > p { font-size: 15px; line-height: 1.7; color: var(--pt-muted); }
.niwa-anywhere__image { aspect-ratio: 3 / 2; overflow: hidden; }
.niwa-anywhere figure img { width: 100%; height: 100%; object-fit: cover; }
.niwa-freedom { display: grid; grid-template-columns: .8fr 1fr; gap: 15%; align-items: center; padding-block: 150px; }
.niwa-freedom figure { aspect-ratio: 3 / 4; overflow: hidden; }
.niwa-freedom h2 { max-width: 17ch; }
.niwa-freedom p { max-width: 38ch; margin-block: 28px; }
@media(max-width:640px) {
  .niwa-anywhere__heading, .niwa-freedom { grid-template-columns: 1fr; gap: 28px; }
  .niwa-anywhere__heading { margin-bottom: 32px; }
  .niwa-anywhere__image { aspect-ratio: 4 / 5; }
  .niwa-anywhere__image img { object-position: 58% center; }
  .niwa-freedom { padding-block: 88px; gap: 40px; }
  .niwa-anywhere p, .niwa-workbench__copy > p { font-size: 16px; }
}
