/* POTENTIAL × INFINITY / PHOTO & FILM DETAIL */
.photo-page {
  background: #fff;
  color: #10263b;
}
.photo-page main {
  overflow: hidden;
}
.photo-page h1,.photo-page h2,.photo-page h3,.photo-page p {
  margin-top: 0;
}
.photo-page .small-section-title {
  font: 700 11px 'DM Sans',sans-serif;
  letter-spacing: .2em;
  color: #2386b8;
}
.photo-page h2 {
  font: 500 clamp(34px,3.65vw,54px)/1.58 'Noto Serif JP',serif;
  letter-spacing: .012em;
}
.photo-page h2 em {
  font-style: normal;
  color: #1381b9;
}
/* HERO */
.pv-hero {
  min-height: 740px;
  height: calc(100svh - 80px);
  max-height: 930px;
  position: relative;
  background: linear-gradient(121deg,#040b15 8%,#061426 57%,#0c2941);
  color: #fff;
  overflow: hidden;
}
.pv-hero-grid {
  position: absolute;
  inset: 0;
  opacity: .25;
  background-image: linear-gradient(90deg,rgba(105,174,220,.15) 1px,transparent 1px),linear-gradient(rgba(105,174,220,.13) 1px,transparent 1px);
  background-size: 25% 100%,100% 25%;
  pointer-events: none;
}
.pv-hero-inner {
  height: 100%;
  position: relative;
  display: flex;
  align-items: center;
}
.pv-hero-copy {
  position: relative;
  z-index: 5;
  width: 57%;
  margin-top: -28px;
  animation: pvOpen .85s .03s both;
}
.pv-hero-kicker {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 14px;
  font: 700 10px 'DM Sans',sans-serif;
  letter-spacing: .18em;
  color: #c1dcec;
  margin-bottom: 29px;
}
.pv-hero-kicker .pv-line {
  display: inline-block;
  width: 32px;
  height: 1px;
  background: #4dbafa;
}
.pv-hero-kicker>span:last-child {
  color: #54bfee;
  margin-left: 11px;
}
.pv-hero h1 {
  font: 800 clamp(82px,9.4vw,154px)/.89 'Manrope',sans-serif;
  letter-spacing: -.08em;
  white-space: nowrap;
  margin: 0 0 36px -5px;
}
.pv-hero h1 i {
  color: #72cfff;
  font-style: normal;
  letter-spacing: -.11em;
}
.pv-hero h1>span {
  color: #24a9e6;
}
.pv-hero-ja {
  font: 500 clamp(29px,2.8vw,43px)/1.65 'Noto Serif JP',serif;
  margin: 0 0 19px;
  letter-spacing: .02em;
}
.pv-hero-ja em {
  font-style: normal;
  color: #a0e3ff;
}
.pv-hero-desc {
  font: 400 13px/2.15 'Noto Sans JP',sans-serif;
  color: #c5d9e6;
  max-width: 570px;
}
.pv-scroll {
  display: inline-flex;
  align-items: center;
  gap: 30px;
  border-bottom: 1px solid #6babd78c;
  padding: 0 0 14px;
  font: 700 10px 'DM Sans',sans-serif;
  letter-spacing: .18em;
  color: #b3d8ee;
  margin-top: 20px;
  transition: gap .25s,color .25s;
}
.pv-scroll:hover {
  color: #fff;
  gap: 40px;
}
.pv-hero-visual {
  position: absolute;
  right: -4%;
  top: 13%;
  width: 57%;
  height: 72%;
  z-index: 2;
  pointer-events: none;
}
.pv-hero-picture {
  position: absolute;
  inset: 0;
  overflow: hidden;
  clip-path: polygon(11% 0,100% 0,100% 92%,88% 100%,0 100%,0 11%);
  box-shadow: 0 30px 80px #000;
}
.pv-hero-picture img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: 53% center;
  filter: brightness(.68) saturate(.88);
}
.pv-hero-picture::after {
  content: '';
  position: absolute;
  inset: 0;
  background: linear-gradient(92deg,#061225 0%,rgba(5,18,31,.14) 34%,rgba(6,22,40,.06) 67%,#05152d78 100%),linear-gradient(0deg,#06142699,transparent 55%);
  pointer-events: none;
}
.pv-camera-frame {
  position: absolute;
  display: block;
  width: 56px;
  height: 56px;
  border-color: #77dbff;
  opacity: .75;
  filter: drop-shadow(0 0 7px #1e91d4);
}
.pv-camera-frame-a {
  left: 6%;
  top: 2%;
  border-left: 2px solid;
  border-top: 2px solid;
}
.pv-camera-frame-b {
  right: 3%;
  bottom: 2%;
  border-right: 2px solid;
  border-bottom: 2px solid;
}
.pv-viewfinder {
  position: absolute;
  bottom: 7%;
  left: 11%;
  right: 8%;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  color: #e5f6ff;
  font: 700 10px 'DM Sans';
  letter-spacing: .15em;
}
.pv-viewfinder .pv-rec {
  display: inline-flex;
  gap: 10px;
  align-items: center;
}
.pv-rec b {
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: #5fe0ff;
  box-shadow: 0 0 14px #32c7f8;
  animation: pvPulse 2s ease-in-out infinite;
}
.pv-visual-side {
  position: absolute;
  right: -3.5%;
  top: 12%;
  writing-mode: vertical-rl;
  font: 700 10px 'DM Sans';
  letter-spacing: .22em;
  color: #b7dcef;
}
.pv-hero-footer {
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  z-index: 5;
  border-top: 1px solid #98c8eb2d;
  background: #071728cc;
}
.pv-hero-footer>.container {
  min-height: 65px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
}
.pv-hero-footer nav {
  display: flex;
  align-items: center;
  gap: 12px;
  flex-wrap: wrap;
  font: 600 10px 'DM Sans';
  letter-spacing: .13em;
  color: #82aecc;
}
.pv-hero-footer nav strong {
  font-weight: 600;
  color: #eaf7ff;
}
.pv-hero-footer nav a:hover {
  color: #fff;
}
.pv-hero-footer>.container>span {
  font: 700 10px 'DM Sans';
  letter-spacing: .14em;
  color: #84b8dc;
}
/* INTRO */
.pv-intro {
  padding: 119px 0 112px;
  background: #fff;
}
.pv-intro-grid {
  display: grid;
  grid-template-columns: 26% minmax(0,1fr);
  gap: 30px;
}
.pv-overline {
  font: 700 11px 'DM Sans';
  letter-spacing: .19em;
  color: #278cc1;
  margin-bottom: 24px;
}
.pv-intro h2 {
  margin: 0 0 31px;
}
.pv-intro-body {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 55px;
}
.pv-intro-body p {
  font: 400 13px/2.35 'Noto Sans JP';
  color: #60778b;
  max-width: 450px;
  margin: 0;
}
.pv-intro-index {
  display: grid;
  grid-template-columns: repeat(3,minmax(0,1fr));
  border-top: 1px solid #c5dae7;
  margin-top: 89px;
}
.pv-intro-index a {
  position: relative;
  min-width: 0;
  padding: 27px 28px;
  border-right: 1px solid #d6e3ed;
  transition: background .3s;
}
.pv-intro-index a:first-child {
  padding-left: 0;
}
.pv-intro-index a:last-child {
  border-right: 0;
}
.pv-intro-index a:hover {
  background: #f5f9fc;
}
.pv-intro-index b {
  display: block;
  color: #178ac2;
  font: 700 11px 'DM Sans';
  margin-bottom: 24px;
}
.pv-intro-index span {
  display: block;
  color: #182e43;
  font: 700 17px 'DM Sans';
  letter-spacing: .045em;
}
.pv-intro-index small {
  display: block;
  color: #667d90;
  font: 500 12px 'Noto Sans JP';
  margin-top: 8px;
}
.pv-intro-index i {
  position: absolute;
  right: 20px;
  bottom: 24px;
  color: #298ec1;
  font-style: normal;
  font-size: 20px;
  transition: transform .3s;
}
.pv-intro-index a:hover i {
  transform: translate(3px,3px);
}
/* CORE SERVICES */
.pv-services {
  background: linear-gradient(160deg,#e9f3f9,#f9fcfd 47%,#eaf4fa);
  padding: 110px 0 120px;
}
.pv-section-head {
  display: grid;
  grid-template-columns: 25% 43% 1fr;
  gap: 25px;
  align-items: end;
  margin-bottom: 58px;
}
.pv-section-head h2 {
  margin: 0;
}
.pv-section-head>p {
  font: 400 13px/2.25 'Noto Sans JP';
  color: #61798b;
  max-width: 350px;
  margin: 0 0 5px;
}
.pv-service-feature {
  display: grid;
  grid-template-columns: minmax(0,1.06fr) minmax(0,.94fr);
  align-items: center;
  gap: clamp(40px,6vw,93px);
  padding: 0 0 93px;
  margin-bottom: 93px;
  border-bottom: 1px solid #cedfea;
  scroll-margin-top: 100px;
}
.pv-service-feature:last-child {
  margin-bottom: 0;
  padding-bottom: 0;
  border-bottom: 0;
}
.pv-service-feature-reverse {
  grid-template-columns: minmax(0,.94fr) minmax(0,1.06fr);
}
.pv-service-feature-reverse .pv-service-image {
  order: 2;
}
.pv-service-feature-reverse .pv-service-text {
  order: 1;
}
.pv-service-image {
  position: relative;
  min-width: 0;
  aspect-ratio: 1.32/1;
  overflow: hidden;
  background: #08233c;
  box-shadow: 0 22px 45px rgba(23,73,106,.15);
}
.pv-service-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  transition: transform 1.2s cubic-bezier(.22,1,.36,1);
}
.pv-service-image:hover img {
  transform: scale(1.04);
}
.pv-service-image::after {
  content: '';
  position: absolute;
  inset: 0;
  background: linear-gradient(0deg,#061b2b9e,transparent 45%);
  pointer-events: none;
}
.pv-img-caption {
  position: absolute;
  bottom: 25px;
  left: 28px;
  font: 700 11px 'DM Sans';
  letter-spacing: .18em;
  color: #f2fbff;
  z-index: 5;
}
.pv-img-corner {
  position: absolute;
  top: 18px;
  right: 18px;
  width: 48px;
  height: 48px;
  border-top: 1px solid #a7e7ff;
  border-right: 1px solid #a7e7ff;
  z-index: 5;
}
.pv-service-no {
  font: 700 11px 'DM Sans';
  letter-spacing: .2em;
  color: #1687c1;
  margin-bottom: 23px;
}
.pv-service-text h3 {
  font: 500 clamp(30px,3.1vw,44px)/1.45 'Noto Serif JP';
  color: #102c44;
  margin: 0 0 17px;
}
.pv-service-text h3>span {
  display: block;
  font: 700 11px 'DM Sans';
  letter-spacing: .17em;
  color: #218cbe;
  margin-top: 9px;
}
.pv-service-catch {
  font: 500 clamp(19px,2vw,29px)/1.75 'Noto Serif JP';
  color: #1b5e88;
  margin: 0 0 23px;
}
.pv-service-desc {
  font: 400 13px/2.24 'Noto Sans JP';
  color: #536f83;
  max-width: 510px;
  margin: 0;
}
.pv-pills {
  display: flex;
  flex-wrap: wrap;
  gap: 7px;
  margin-top: 25px;
}
.pv-pills span {
  font: 500 10px 'Noto Sans JP';
  color: #386b8c;
  padding: 8px 11px;
  border: 1px solid #bfdae9;
  background: #f7fbfd;
}
.pv-film-image img {
  filter: brightness(.77) saturate(.84);
}
.pv-edit-strip {
  position: absolute;
  right: 3%;
  left: 3%;
  bottom: 13%;
  height: 95px;
  padding: 10px 15px;
  background: #081523e5;
  border: 1px solid #89bedd8a;
  z-index: 5;
  backdrop-filter: blur(8px);
  box-shadow: 0 9px 24px #0715229c;
}
.pv-edit-strip-head {
  height: 17px;
  display: flex;
  align-items: center;
  gap: 5px;
}
.pv-edit-strip-head i {
  width: 5px;
  height: 5px;
  border-radius: 50%;
  background: #72a6c8;
}
.pv-edit-strip-head span {
  margin-left: auto;
  color: #7eb7d7;
  font: 700 8px 'DM Sans';
  letter-spacing: .11em;
}
.pv-tracks {
  display: flex;
  gap: 5px;
  margin: 10px 0 5px;
}
.pv-tracks span {
  height: 23px;
  background: linear-gradient(135deg,#2a8dc1,#113c63);
  flex: 1;
  border: 1px solid #4aa4d6;
}
.pv-tracks span:nth-child(2) {
  flex: 1.5;
  background: linear-gradient(135deg,#4889b2,#17436b);
}
.pv-tracks span:nth-child(3) {
  flex: .8;
  background: linear-gradient(135deg,#2c9ca7,#13555c);
}
.pv-audio-track {
  height: 10px;
  background: repeating-linear-gradient(90deg,#40d4c5 0 3px,#0b2e3a 3px 6px);
  opacity: .75;
  clip-path: polygon(0 30%,5% 0,9% 60%,16% 20%,22% 90%,31% 30%,39% 10%,47% 80%,55% 35%,60% 0,70% 70%,82% 20%,91% 65%,100% 20%,100% 100%,0 100%);
}
.pv-voice-image img {
  object-fit: cover;
}
.pv-voice-image::after {
  background: linear-gradient(0deg,#0817287d,transparent 40%);
}
/* USE CASES */
.pv-usecases {
  background: radial-gradient(ellipse at 73% 28%,#123650 0%,#081b2b 53%,#06111f 100%);
  color: #fff;
  padding: 121px 0;
}
.pv-usecases-layout {
  display: grid;
  grid-template-columns: 40% 1fr;
  gap: 75px;
  align-items: start;
}
.pv-usecases .small-section-title {
  color: #76c6f2;
}
.pv-usecases h2 {
  margin: 26px 0;
}
.pv-usecases h2 em {
  color: #a0deff;
}
.pv-usecases-lead>p {
  font: 400 13px/2.25 'Noto Sans JP';
  color: #bbcede;
  max-width: 420px;
}
.pv-usecases-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 1px;
  border: 1px solid #56748a7c;
  background: #56748a7c;
}
.pv-usecases-grid>div {
  background: #0a1e31;
  padding: 35px 26px;
  transition: background .35s;
}
.pv-usecases-grid>div:hover {
  background: #15324c;
}
.pv-usecases-grid span {
  display: block;
  color: #66c3f2;
  font: 700 10px 'DM Sans';
  letter-spacing: .17em;
  margin-bottom: 27px;
}
.pv-usecases-grid strong {
  display: block;
  font: 500 20px/1.6 'Noto Serif JP';
}
.pv-usecases-grid small {
  display: block;
  color: #97b3c8;
  font: 400 11px/1.9 'Noto Sans JP';
  margin-top: 12px;
}
/* FLOW */
.pv-flow {
  background: #fff;
  padding: 113px 0 119px;
}
.pv-flow-head {
  display: grid;
  grid-template-columns: 25% 1fr;
  gap: 25px;
}
.pv-flow h2 {
  margin: 0;
}
.pv-steps {
  display: grid;
  grid-template-columns: repeat(4,minmax(0,1fr));
  border-top: 1px solid #cadfeb;
  margin-top: 65px;
}
.pv-steps>div {
  min-width: 0;
  padding: 28px 28px 4px;
  border-right: 1px solid #d7e5ee;
}
.pv-steps>div:first-child {
  padding-left: 0;
}
.pv-steps>div:last-child {
  border-right: 0;
}
.pv-steps span {
  display: block;
  font: 700 10px 'DM Sans';
  letter-spacing: .18em;
  color: #1587bf;
  margin-bottom: 29px;
}
.pv-steps strong {
  display: block;
  font: 500 clamp(18px,1.7vw,25px) 'Noto Serif JP';
  color: #163149;
}
.pv-steps p {
  font: 400 12px/2.05 'Noto Sans JP';
  color: #637d90;
  margin: 17px 0 0;
}
/* CTA */
.pv-cta {
  padding: 78px 0 89px;
  background: linear-gradient(110deg,#e6f3fb,#fff 65%,#eaf5fb);
  border-top: 1px solid #d4e6ef;
}
.pv-cta-layout {
  display: grid;
  grid-template-columns: minmax(0,1fr) auto;
  gap: 40px;
  align-items: center;
}
.pv-cta-label {
  font: 700 10px 'DM Sans';
  letter-spacing: .19em;
  color: #1d83b8;
  margin-bottom: 22px;
}
.pv-cta h2 {
  font-size: clamp(30px,3.1vw,44px);
  margin: 0 0 14px;
}
.pv-cta p {
  font: 400 12px/2 'Noto Sans JP';
  color: #577589;
  margin: 0;
}
.pv-cta-button {
  display: inline-flex;
  align-items: center;
  gap: 22px;
  padding: 13px 12px 13px 22px;
  border: 1px solid #9dc6da;
  border-radius: 35px;
  background: white;
  font: 500 12px 'Noto Sans JP';
  white-space: nowrap;
  transition: background .3s,transform .3s;
  box-shadow: 0 10px 25px #0b52760b;
}
.pv-cta-button:hover {
  background: #eff9ff;
  transform: translateY(-3px);
}
.pv-cta-button span {
  display: grid;
  place-items: center;
  background: #136a9b;
  border-radius: 50%;
  color: #fff;
  width: 34px;
  height: 34px;
}
.photo-page .site-footer {
  padding-top: 36px;
}
/* A11Y / SCROLL MOTION */
@keyframes pvPulse {
  0%,100% {
    opacity: .6;
  }
  50% {
    opacity: 1;
  }
}
@keyframes pvOpen {
  from {
    opacity: 0;
    transform: translateY(23px);
  }
  to {
    opacity: 1;
    transform: none;
  }
}
.photo-page [data-reveal],.photo-page [data-image-reveal] {
  opacity: 1;
  transform: none;
}
.photo-page.pv-motion-ready [data-reveal]:not(.is-visible) {
  opacity: 0;
  transform: translateY(20px);
}
.photo-page.pv-motion-ready [data-reveal] {
  transition: opacity .68s ease,transform .75s cubic-bezier(.22,1,.36,1);
}
.photo-page.pv-motion-ready [data-reveal].is-visible {
  opacity: 1;
  transform: translateY(0);
}
.photo-page.pv-motion-ready [data-image-reveal]:not(.is-visible) {
  opacity: .82;
  transform: translateY(15px);
}
.photo-page [data-image-reveal] {
  transition: opacity .8s ease,transform .8s ease;
}
/* RESPONSIVE */
@media(max-width:1120px) {
  .pv-hero h1 {
    font-size: clamp(80px,10vw,128px);
  }
  .pv-hero-visual {
    width: 60%;
    right: -10%;
  }
  .pv-service-feature {
    gap: 35px;
  }
  .pv-section-head {
    grid-template-columns: 23% 45% 1fr;
  }
  .pv-usecases-layout {
    gap: 35px;
  }
}
@media(max-width:920px) {
  .pv-hero {
    height: auto;
    min-height: 735px;
  }
  .pv-hero-inner {
    min-height: 735px;
    padding-top: 110px;
    padding-bottom: 128px;
  }
  .pv-hero-copy {
    width: 88%;
    margin-top: 0;
  }
  .pv-hero-visual {
    width: 72%;
    height: 60%;
    top: 25%;
    right: -17%;
    opacity: .62;
  }
  .pv-hero h1 {
    font-size: clamp(76px,12vw,120px);
  }
  .pv-intro-grid,.pv-flow-head {
    grid-template-columns: 1fr;
    gap: 28px;
  }
  .pv-section-head {
    grid-template-columns: 1fr 1fr;
  }
  .pv-section-head .small-section-title {
    grid-column: 1/-1;
  }
  .pv-service-feature,.pv-service-feature-reverse {
    gap: 25px;
  }
  .pv-service-text h3 {
    font-size: 30px;
  }
  .pv-usecases-layout {
    grid-template-columns: 1fr;
    gap: 28px;
  }
  .pv-usecases-grid {
    max-width: 850px;
  }
  .pv-cta-layout {
    grid-template-columns: 1fr;
    gap: 28px;
  }
}
@media(max-width:700px) {
  .pv-hero {
    min-height: 100svh;
    height: auto;
  }
  .pv-hero-inner {
    min-height: 100svh;
    padding-top: 95px;
    padding-bottom: 105px;
    align-items: flex-start;
  }
  .pv-hero-copy {
    width: 100%;
    margin-top: 48px;
  }
  .pv-hero-kicker {
    font-size: 9px;
    gap: 8px;
    margin-bottom: 24px;
  }
  .pv-hero-kicker .pv-line {
    width: 24px;
  }
  .pv-hero-kicker>span:last-child {
    margin-left: 4px;
  }
  .pv-hero h1 {
    font-size: clamp(65px,15vw,90px);
    line-height: .94;
    margin-bottom: 24px;
  }
  .pv-hero-ja {
    font-size: clamp(27px,6.7vw,34px);
    margin-bottom: 13px;
  }
  .pv-hero-desc {
    font-size: 11px;
    max-width: 315px;
    line-height: 2.15;
  }
  .pv-hero-desc br {
    display: none;
  }
  .pv-scroll {
    margin-top: 19px;
    font-size: 9px;
  }
  .pv-hero-visual {
    opacity: .44;
    width: 116%;
    height: 47%;
    top: auto;
    bottom: 8%;
    right: -40%;
  }
  .pv-hero-picture {
    clip-path: polygon(7% 0,100% 0,100% 93%,0 100%);
  }
  .pv-viewfinder {
    display: none;
  }
  .pv-visual-side {
    display: none;
  }
  .pv-hero-footer>.container {
    min-height: 57px;
  }
  .pv-hero-footer>.container>span {
    display: none;
  }
  .pv-hero-footer nav {
    gap: 7px;
    font-size: 9px;
  }
  .pv-intro {
    padding: 75px 0 75px;
  }
  .photo-page h2 {
    font-size: clamp(30px,7.6vw,41px);
  }
  .pv-overline {
    font-size: 10px;
  }
  .pv-intro h2 {
    margin-bottom: 25px;
  }
  .pv-intro-body {
    grid-template-columns: 1fr;
    gap: 10px;
  }
  .pv-intro-body p {
    font-size: 12px;
    line-height: 2.2;
  }
  .pv-intro-index {
    display: block;
    margin-top: 50px;
  }
  .pv-intro-index a {
    display: grid;
    grid-template-columns: 35px 1fr;
    gap: 4px 12px;
    border-right: 0;
    border-bottom: 1px solid #d7e5ee;
    padding: 18px 0;
  }
  .pv-intro-index b {
    margin: 4px 0 0;
    grid-row: span 2;
  }
  .pv-intro-index span {
    font-size: 14px;
  }
  .pv-intro-index small {
    font-size: 11px;
    margin: 0;
  }
  .pv-intro-index i {
    right: 0;
    bottom: 20px;
  }
  .pv-services {
    padding: 73px 0 76px;
  }
  .pv-section-head {
    display: block;
    margin-bottom: 40px;
  }
  .pv-section-head h2 {
    margin: 20px 0;
  }
  .pv-section-head>p {
    font-size: 12px;
  }
  .pv-service-feature,.pv-service-feature-reverse {
    display: flex;
    flex-direction: column;
    align-items: stretch;
    gap: 30px;
    padding: 0 0 64px;
    margin-bottom: 64px;
  }
  .pv-service-feature-reverse .pv-service-image {
    order: 0;
  }
  .pv-service-feature-reverse .pv-service-text {
    order: 1;
  }
  .pv-service-image {
    aspect-ratio: 1.22/1;
  }
  .pv-service-text h3 {
    font-size: 29px;
  }
  .pv-service-catch {
    font-size: 22px;
  }
  .pv-service-desc {
    font-size: 12px;
  }
  .pv-img-caption {
    font-size: 9px;
    left: 19px;
    bottom: 19px;
  }
  .pv-edit-strip {
    height: 83px;
    bottom: 13%;
    padding: 8px 11px;
  }
  .pv-pills {
    margin-top: 21px;
  }
  .pv-pills span {
    font-size: 10px;
  }
  .pv-usecases {
    padding: 78px 0;
  }
  .pv-usecases h2 {
    margin: 18px 0;
  }
  .pv-usecases-lead>p {
    font-size: 12px;
  }
  .pv-usecases-grid {
    grid-template-columns: 1fr;
  }
  .pv-usecases-grid>div {
    padding: 24px;
  }
  .pv-usecases-grid span {
    margin-bottom: 13px;
  }
  .pv-usecases-grid strong {
    font-size: 18px;
  }
  .pv-usecases-grid small {
    margin-top: 7px;
  }
  .pv-flow {
    padding: 74px 0;
  }
  .pv-flow h2 {
    margin: 20px 0 0;
  }
  .pv-steps {
    grid-template-columns: 1fr;
    margin-top: 28px;
  }
  .pv-steps>div,.pv-steps>div:first-child {
    padding: 19px 0;
    border-right: 0;
    border-bottom: 1px solid #d7e5ee;
  }
  .pv-steps>div:last-child {
    border-bottom: 0;
  }
  .pv-steps span {
    margin-bottom: 10px;
  }
  .pv-steps strong {
    font-size: 20px;
  }
  .pv-steps p {
    margin-top: 7px;
    font-size: 11px;
  }
  .pv-cta {
    padding: 69px 0;
  }
  .pv-cta h2 {
    font-size: clamp(28px,7.5vw,40px);
  }
  .pv-cta p {
    font-size: 11px;
  }
  .pv-cta-button {
    white-space: normal;
    width: 100%;
    justify-content: space-between;
    font-size: 11px;
  }
}
@media(prefers-reduced-motion:reduce) {
  .pv-rec b,.pv-hero-copy {
    animation: none;
  }
  .photo-page.pv-motion-ready [data-reveal]:not(.is-visible),.photo-page.pv-motion-ready [data-image-reveal]:not(.is-visible) {
    opacity: 1;
    transform: none;
  }
}
/* Photo / Film v2: distinct generated visuals for each discipline */
.pv-hero-picture img {
  object-position: 65% center;
}
#photography .pv-service-image img {
  object-position: 57% center;
}
#movie .pv-service-image img {
  object-position: center center;
}
#editing .pv-service-image img {
  object-position: 48% center;
}
#voice .pv-service-image img {
  object-position: 46% center;
  filter: brightness(.88) saturate(.83);
}
.pv-intro-index {
  display: grid;
  grid-template-columns: repeat(4,minmax(0,1fr));
}
.pv-intro-index a {
  min-width: 0;
}
@media(max-width:700px) {
  .pv-intro-index {
    display: block;
  }
  #photography .pv-service-image img {
    object-position: 60% center;
  }
  #movie .pv-service-image img {
    object-position: 51% center;
  }
  #editing .pv-service-image img {
    object-position: 55% center;
  }
  #voice .pv-service-image img {
    object-position: 40% center;
  }
}
