/* Existing Custom HTML stays in the Page editor. Replace images at their
   existing img src: hero, event/store galleries, style series, equipment.
   This file replaces the old page-id-1140 section, rather than stacking it. */
.aim26-photo-movie-shell .editor-body { width:100%; max-width:100%; min-width:0; }
.photo-movie-page {
  --pm-accent:var(--aim26-promotion,#58664d);
  --pm-gap:clamp(24px,4vw,48px);
  --pm-space:clamp(64px,7vw,96px);
  width:100%; max-width:1160px; min-width:0; margin-inline:auto;
  color:#17130d; background:#fff; font-family:var(--aim26-ja);
}
.photo-movie-page *, .photo-movie-page *::before, .photo-movie-page *::after { box-sizing:border-box; }
.photo-movie-page :is(section,article,div,figure) { min-width:0; max-width:100%; }
.photo-movie-page :is(h2,h3) {
  margin:0 0 28px; padding:0; max-width:100%; min-width:0;
  font-family:var(--aim26-ja); font-weight:600; letter-spacing:.03em;
  white-space:normal; word-break:normal; line-break:strict; overflow-wrap:anywhere; text-wrap:balance;
}
.photo-movie-page h2 { font-size:clamp(26px,2.8vw,38px); line-height:1.45; }
.photo-movie-page h3 { font-size:clamp(20px,2vw,26px); line-height:1.5; }
.aim26-photo-movie-shell .photo-movie-page :is(h2,h3)::before,
.aim26-photo-movie-shell .photo-movie-page :is(h2,h3)::after { content:none; display:none; }
.photo-movie-page p { margin:0 0 20px; font-size:16px; line-height:1.9; overflow-wrap:anywhere; }
.photo-movie-page .pm-label { margin:0 0 16px; color:var(--pm-accent); font:600 11px/1.6 var(--aim26-en); letter-spacing:.14em; }
.photo-movie-page img { display:block; width:100%; max-width:100%; height:auto; }
.photo-movie-page .pm-section { width:100%; margin:var(--pm-space) 0; padding:0; background:none; }
.photo-movie-page .pm-section__head { max-width:820px; margin-bottom:40px; }
.photo-movie-page .pm-hero { display:grid; grid-template-columns:minmax(0,1.1fr) minmax(0,1fr); align-items:center; gap:var(--pm-gap); width:100%; margin:32px 0 var(--pm-space); padding:0; min-height:0; }
.photo-movie-page .pm-hero__image { overflow:hidden; border-radius:0 0 0 32px; }
.photo-movie-page .pm-hero__image::after { content:none; }
.photo-movie-page .pm-hero__image img { aspect-ratio:16/10; max-height:420px; object-fit:cover; object-position:center; }
.photo-movie-page .pm-hero__content { position:static; width:100%; min-height:0; padding:0; color:#17130d; }
.photo-movie-page .pm-intro { display:grid; grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr); gap:var(--pm-gap); }
.photo-movie-page .pm-service-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:32px 48px; }
.photo-movie-page .pm-service-grid article { padding:24px 0 0; border-top:1px solid var(--aim26-line); background:none; }
.photo-movie-page .pm-service-grid article > span { display:block; margin-bottom:16px; color:var(--pm-accent); font:600 12px/1.5 var(--aim26-en); }
.photo-movie-page .pm-work-block { display:grid; grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr); gap:var(--pm-gap); align-items:start; margin:0 0 64px; }
.photo-movie-page .pm-work-block--reverse { grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr); }
.photo-movie-page .pm-work-block--reverse .pm-work-block__text { grid-column:2; grid-row:1; }
.photo-movie-page .pm-work-block--reverse .pm-photo-grid { grid-column:1; grid-row:1; }
.photo-movie-page .pm-photo-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; margin:0; padding:0; overflow:visible; }
.photo-movie-page .pm-photo-grid img { aspect-ratio:4/3; object-fit:cover; }
.photo-movie-page .pm-photo-grid img:first-child { grid-column:1/-1; aspect-ratio:16/10; }
.photo-movie-page .pm-airbnb { padding:40px 0; border-block:1px solid var(--aim26-line); }
.photo-movie-page .pm-airbnb__inner { width:100%; max-width:820px; margin-inline:auto; }
.photo-movie-page ul { margin:24px 0; padding-inline-start:1.4em; list-style:disc; font-size:16px; line-height:1.9; }
.photo-movie-page li { padding:0; margin:0 0 8px; overflow-wrap:anywhere; }
.photo-movie-page li::before,.photo-movie-page li::after { content:none; }
.photo-movie-page .pm-youtube { width:100%; max-width:880px; margin:40px auto; aspect-ratio:16/9; }
.photo-movie-page .pm-youtube iframe { display:block; width:100%; height:100%; border:0; }
.photo-movie-page video { display:block; width:100%; max-width:880px; height:auto; margin:40px auto; }
.photo-movie-page .pm-style-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:32px; width:100%; margin:0; }
.photo-movie-page .pm-style-grid article { background:none; min-height:0; }
.photo-movie-page .pm-style-grid img { aspect-ratio:3/2; object-fit:cover; }
.photo-movie-page .pm-style-grid article > div { position:static; padding:20px 0 0; background:none; }
.photo-movie-page .pm-style-grid h3 { margin-bottom:8px; }
.photo-movie-page .pm-style-grid p { margin-bottom:8px; }
.photo-movie-page .pm-style-grid span { color:var(--aim26-muted); font-size:14px; }
.photo-movie-page .pm-equipment { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,.85fr); gap:var(--pm-gap); align-items:center; }
.photo-movie-page .pm-equipment__image img { aspect-ratio:4/3; max-height:420px; object-fit:cover; }
.photo-movie-page .pm-cta { width:100%; margin:var(--pm-space) 0; padding:40px 0 0; border-top:1px solid var(--aim26-line); background:none; color:#17130d; }
.photo-movie-page :is(.pm-hero__buttons,.pm-cta__buttons) { display:flex; flex-wrap:wrap; gap:12px; margin-top:28px; }
.photo-movie-page :is(.pm-hero__buttons a,.pm-cta__buttons a,.pm-text-link) {
  display:inline-flex; align-items:center; justify-content:center; min-height:52px; max-width:100%;
  padding:12px 24px; border:1px solid var(--pm-accent); border-radius:999px;
  background:#fff; color:var(--pm-accent); font-size:16px; line-height:1.5; font-weight:600;
  text-decoration:none; overflow-wrap:anywhere; transition:background-color .2s,color .2s,opacity .2s;
}
.photo-movie-page :is(.pm-hero__buttons a,.pm-cta__buttons a):first-child { background:var(--pm-accent); color:#fff; }
.photo-movie-page :is(a,button):hover { transform:none; opacity:.8; }
.photo-movie-page :is(.pm-hero__buttons a,.pm-cta__buttons a,.pm-text-link)::before,
.photo-movie-page :is(.pm-hero__buttons a,.pm-cta__buttons a,.pm-text-link)::after { content:none; }
.photo-movie-page a:focus-visible { outline:2px solid var(--pm-accent); outline-offset:4px; }
@media(max-width:1024px) {
  .photo-movie-page :is(.pm-hero,.pm-intro,.pm-equipment) { grid-template-columns:minmax(0,1fr); }
  .photo-movie-page .pm-hero__image { max-width:820px; }
}
@media(max-width:768px) {
  .photo-movie-page { --pm-space:64px; --pm-gap:24px; }
  .photo-movie-page :is(.pm-service-grid,.pm-work-block,.pm-work-block--reverse,.pm-style-grid) { grid-template-columns:minmax(0,1fr); }
  .photo-movie-page .pm-work-block--reverse :is(.pm-work-block__text,.pm-photo-grid) { grid-column:auto; grid-row:auto; }
  .photo-movie-page .pm-hero__content { order:-1; }
  .photo-movie-page h2 { margin-bottom:28px; }
  .photo-movie-page .pm-hero__image img { aspect-ratio:16/10; }
  .photo-movie-page .pm-hero__image { border-bottom-left-radius:24px; }
}
@media(prefers-reduced-motion:reduce) {
  .photo-movie-page *, .photo-movie-page *::before,.photo-movie-page *::after { transition:none; animation:none; }
}
