/* V4 representative pages only. No homepage or shared template selectors. */
.ip4-page.ip4-page {
  --ip4-text: #eeece5;
  --ip4-muted: #babbb5;
  --ip4-line: rgba(238,236,229,.19);
  display: flex; flex-direction: column; gap: 0;
  width: min(1480px, calc(100% - 128px)); max-width: none;
  margin: 0 auto; padding: 72px 0 112px;
  color: var(--ip4-text); font-family: 'Lato',Arial,sans-serif;
}
.ip4-page.ip4-page .e-con { --width:100%; --padding-top:0; --padding-right:0; --padding-bottom:0; --padding-left:0; --gap:0; --min-height:0; padding:0; margin:0; min-width:0; }
.ip4-page.ip4-page .elementor-widget { margin:0; min-width:0; max-width:100%; width:100%; }
.ip4-page.ip4-page .elementor-widget-container { margin:0; padding:0; }
.ip4-page.ip4-page p { margin:0; }
.ip4-page.ip4-page h1,.ip4-page.ip4-page h2,.ip4-page.ip4-page h3,.ip4-page.ip4-page .elementor-heading-title {
  margin:0; padding:0; color:var(--ip4-text); font-family:'Lato',Arial,sans-serif; font-weight:400; text-transform:none;
}
.ip4-page.ip4-page .ip4-hero { display:grid; grid-template-columns:minmax(0,1.48fr) minmax(0,1fr); align-items:center; gap: clamp(64px,6.25vw,120px); }
.ip4-page.ip4-page .ip4-image img { display:block; width:100%; max-width:100%; height:100%; object-fit:cover; border-radius:0; filter:none; }
.ip4-page.ip4-page .ip4-image .elementor-widget-container { width:100%; height:100%; }
.ip4-page.ip4-page .ip4-hero-image { height:690px; }
.ip4-page.ip4-page .ip4-hero-image img { object-position:50% 49%; }
.ip4-page.ip4-page .ip4-hero-copy { display:flex; flex-direction:column; align-items:flex-start; gap:0; max-width:460px; }
.ip4-page.ip4-page .ip4-kicker { margin-bottom:24px; color:#abaca6; font-size:11px; font-weight:400; line-height:1.4; letter-spacing:2.2px; text-transform:uppercase; }
.ip4-page.ip4-page .ip4-kicker .elementor-heading-title { color:inherit; font-size:inherit; font-weight:inherit; line-height:inherit; letter-spacing:inherit; text-transform:inherit; }
.ip4-page.ip4-page .ip4-title .elementor-heading-title { font-size:42px; line-height:1.18; letter-spacing:-.65px; max-width:440px; }
.ip4-page.ip4-story .ip4-title .elementor-heading-title { max-width:420px; }
.ip4-page.ip4-page .ip4-title { margin-bottom:34px; }
.ip4-page.ip4-page .ip4-prose { color:var(--ip4-muted); font-size:15px; line-height:1.85; font-weight:400; letter-spacing:.05px; text-align:left; }
.ip4-page.ip4-page .ip4-prose + .ip4-prose { margin-top:20px; }
.ip4-page.ip4-page .ip4-intro { color:#e0e0d9; }
.ip4-page.ip4-page .ip4-hero-link { margin-top:35px; }
.ip4-page.ip4-page .ip4-link .elementor-button { display:inline-flex; align-items:center; gap:24px; padding:6px 0 9px; min-height:38px; background:transparent; border:0; border-bottom:1px solid #787b73; border-radius:0; color:var(--ip4-text); font-family:'Lato',Arial,sans-serif; font-size:12px; font-weight:400; letter-spacing:.4px; line-height:1.5; text-transform:none; box-shadow:none; }
.ip4-page.ip4-page .ip4-link .elementor-button:after { content:'\2192'; font-size:18px; line-height:1; transition:transform .2s; }
.ip4-page.ip4-page .ip4-link .elementor-button:hover:after { transform:translateX(4px); }
.ip4-page.ip4-page .ip4-link .elementor-button:hover { border-color:#eeece5; color:#fff; }
.ip4-page.ip4-page .ip4-section-title .elementor-heading-title { font-size:30px; line-height:1.25; letter-spacing:-.3px; }
.ip4-page.ip4-page .ip4-chapter { display:grid; grid-template-columns:minmax(0, .83fr) minmax(0,1.4fr); gap:clamp(64px,8vw,150px); align-items:center; margin-top:140px; }
.ip4-page.ip4-page .ip4-chapter-copy { display:flex; flex-direction:column; max-width:410px; padding-left:24px; }
.ip4-page.ip4-page .ip4-chapter-copy .ip4-section-title { margin-bottom:28px; }
.ip4-page.ip4-page .ip4-life-image { height:520px; }
.ip4-page.ip4-page .ip4-canvas { margin-top:140px; display:flex; flex-direction:column; }
.ip4-page.ip4-page .ip4-section-intro { display:grid; grid-template-columns:1fr 1.1fr; align-items:start; gap:110px; margin:0 0 54px; }
.ip4-page.ip4-page .ip4-section-intro .ip4-prose { max-width:630px; }
.ip4-page.ip4-page .ip4-image-pair { display:grid; grid-template-columns:1fr 1fr; gap:32px; }
.ip4-page.ip4-page .ip4-figure { display:flex; flex-direction:column; }
.ip4-page.ip4-page .ip4-figure .ip4-image { height:auto; aspect-ratio:1.5; }
.ip4-page.ip4-page .ip4-caption { margin-top:16px; color:#a8aba3; font-size:11px; line-height:1.5; letter-spacing:.5px; }
.ip4-page.ip4-page .ip4-final-links { display:flex; flex-direction:row; justify-content:center; gap:56px; margin-top:60px; }
.ip4-page.ip4-page .ip4-final-links .elementor-widget { width:auto; }
.ip4-page.ip4-bespoke .ip4-hero-image { height:690px; }
.ip4-page.ip4-bespoke .ip4-hero-image img { object-position:49% 50%; }
.ip4-page.ip4-bespoke .ip4-title { margin-bottom:28px; }
.ip4-page.ip4-page .ip4-actions { display:flex; flex-direction:column; align-items:flex-start; gap:12px; margin-top:30px; }
.ip4-page.ip4-page .ip4-button .elementor-button { padding:15px 23px; border:1px solid #969a90; background:transparent; border-radius:0; color:var(--ip4-text); font-family:'Lato',Arial,sans-serif; font-size:12px; font-weight:400; letter-spacing:.4px; line-height:1.5; box-shadow:none; }
.ip4-page.ip4-page .ip4-button .elementor-button:hover { background:#ecece3; border-color:#ecece3; color:#111713; }
.ip4-page.ip4-page .ip4-note { margin-top:26px; max-width:410px; font-size:12px; line-height:1.8; color:#959b92; }
.ip4-page.ip4-page .ip4-pathways { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:64px; margin-top:116px; }
.ip4-page.ip4-page .ip4-pathway { display:flex; flex-direction:column; align-items:flex-start; gap:27px; padding:35px 0 10px; border-top:1px solid var(--ip4-line); }
.ip4-page.ip4-page .ip4-pathway .ip4-link { width:auto; }
.ip4-page.ip4-page .ip4-pathway .ip4-section-title .elementor-heading-title { font-size:27px; }
.ip4-page.ip4-page a:focus-visible { outline:2px solid #ecece3; outline-offset:5px; }
/* Craft: title band, alternating large process views, then a paired detail spread. */
.ip4-page.ip4-page .ip4-title-band { display:grid; grid-template-columns:1fr 1fr; align-items:end; gap:110px; margin-bottom:60px; }
.ip4-page.ip4-page .ip4-title-band .ip4-title { margin:0; }
.ip4-page.ip4-page .ip4-title-band .ip4-title .elementor-heading-title { max-width:650px; }
.ip4-page.ip4-page .ip4-title-band > .ip4-prose,.ip4-page.ip4-page .ip4-band-copy { max-width:590px; justify-self:end; }
.ip4-page.ip4-page .ip4-band-copy { display:flex; flex-direction:column; gap:20px; }
.ip4-page.ip4-page .ip4-process-row { display:grid; grid-template-columns:minmax(0,1.48fr) minmax(0,1fr); gap:120px; align-items:center; margin:0 0 130px; }
.ip4-page.ip4-page .ip4-process-image { height:630px; }
.ip4-page.ip4-page .ip4-process-copy { display:flex; flex-direction:column; max-width:450px; }
.ip4-page.ip4-page .ip4-process-copy .ip4-section-title { margin-bottom:29px; }
.ip4-page.ip4-page .ip4-step-title .elementor-heading-title { display:flex; align-items:baseline; gap:18px; }
.ip4-page.ip4-page .cu-step-number { display:inline; width:auto; height:auto; flex:none; background:none; border:0; border-radius:0; font:400 12px/1.5 'Lato',Arial,sans-serif; color:#949c91; }
.ip4-page.ip4-page .ip4-process-reverse { grid-template-columns:minmax(0,1fr) minmax(0,1.48fr); }
.ip4-page.ip4-page .ip4-process-reverse .ip4-gallery { grid-column:2; grid-row:1; }
.ip4-page.ip4-page .ip4-process-reverse .ip4-process-copy { grid-column:1; grid-row:1; }
.ip4-page.ip4-page .ip4-process-pair { display:grid; grid-template-columns:1fr 1fr; gap:60px; }
.ip4-page.ip4-page .ip4-process-card { display:flex; flex-direction:column; }
.ip4-page.ip4-page .ip4-process-card .ip4-image { height:470px; }
.ip4-page.ip4-page .ip4-process-card .ip4-section-title { margin-top:35px; margin-bottom:24px; }
.ip4-page.ip4-page .ip4-process-card .ip4-prose { max-width:610px; }
.ip4-page.ip4-page .ip4-gallery { display:flex; flex-direction:column; gap:16px; width:100%; }
.ip4-page.ip4-page .ip4-gallery .cu-gallery-main { width:100%; height:630px; position:relative; display:block; min-height:0; }
.ip4-page.ip4-page .ip4-gallery .cu-native-slide { width:100%; height:630px; display:block; }
.ip4-page.ip4-page .ip4-gallery .cu-native-slide[hidden] { display:none!important; }
.ip4-page.ip4-page .ip4-gallery .cu-native-slide .elementor-widget-container { width:100%; height:100%; }
.ip4-page.ip4-page .ip4-gallery .cu-native-slide img { width:100%; height:100%; object-fit:cover; }
.ip4-page.ip4-page .ip4-gallery .cu-gallery-prev,.ip4-page.ip4-page .ip4-gallery .cu-gallery-next { position:absolute; top:auto; bottom:18px; width:42px; height:42px; }
.ip4-page.ip4-page .ip4-gallery .cu-gallery-prev { left:18px; }
.ip4-page.ip4-page .ip4-gallery .cu-gallery-next { left:66px; right:auto; }
.ip4-page.ip4-page .ip4-gallery .cu-gallery-prev .elementor-button,.ip4-page.ip4-page .ip4-gallery .cu-gallery-next .elementor-button { display:flex; align-items:center; justify-content:center; padding:0; width:42px; height:42px; border:1px solid #e9e9e1a6; border-radius:0; color:#fff; background:#111814bd; font:400 30px/1 Arial,sans-serif; }
.ip4-page.ip4-page .ip4-gallery .cu-gallery-thumbnails { display:flex; flex-direction:row; gap:12px; }
.ip4-page.ip4-page .ip4-gallery .cu-native-thumb { width:88px; height:60px; }
.ip4-page.ip4-page .ip4-gallery .cu-native-thumb a { display:block; width:88px; height:60px; }
.ip4-page.ip4-page .ip4-gallery .cu-native-thumb img { width:100%; height:60px; object-fit:cover; }
.ip4-page.ip4-page .ip4-gallery .cu-native-thumb a[aria-pressed=true] { outline:1px solid #e4e4d8; outline-offset:3px; }
/* Service pages use their own content composition; all native FAQ data is preserved. */
.ip4-page.ip4-page .ip4-panorama { height:560px; }
.ip4-page.ip4-page .ip4-steps-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:64px; margin-top:80px; }
.ip4-page.ip4-page .ip4-instruction { display:flex; flex-direction:column; border-top:1px solid var(--ip4-line); padding-top:27px; gap:22px; }
.ip4-page.ip4-page .ip4-instruction .ip4-section-title .elementor-heading-title { font-size:25px; }
.ip4-page.ip4-page .ip4-faq-section { display:grid; grid-template-columns:1fr 1.7fr; gap:100px; margin-top:120px; padding-top:48px; border-top:1px solid var(--ip4-line); }
.ip4-page.ip4-page .ip4-faq-section > .ip4-section-title { max-width:330px; }
.ip4-page.ip4-page .ip4-faq .elementor-accordion-item { border:0; border-bottom:1px solid var(--ip4-line); background:transparent; }
.ip4-page.ip4-page .ip4-faq .elementor-tab-title { padding:23px 0; border:0; background:transparent; color:var(--ip4-text); font-family:'Lato',Arial,sans-serif; font-weight:400; font-size:16px; line-height:1.6; }
.ip4-page.ip4-page .ip4-faq .elementor-accordion-title { font-family:inherit; font-weight:400; color:inherit; }
.ip4-page.ip4-page .ip4-faq .elementor-accordion-icon { color:#a6afa0; margin-right:16px; font-size:12px; line-height:2; }
.ip4-page.ip4-page .ip4-faq .elementor-accordion-icon svg { fill:#b6beb1!important; color:#b6beb1; }
.ip4-page.ip4-page .ip4-faq .elementor-tab-content { padding:0 28px 25px 0; border:0; color:var(--ip4-muted); font-family:'Lato',Arial,sans-serif; font-size:14px; line-height:1.9; background:transparent; }
.ip4-page.ip4-page .ip4-hero-reverse { grid-template-columns:minmax(0,1fr) minmax(0,1.48fr); }
.ip4-page.ip4-page .ip4-hero-reverse .ip4-hero-image { grid-column:2; grid-row:1; }
.ip4-page.ip4-page .ip4-hero-reverse .ip4-hero-copy { grid-column:1; grid-row:1; }
.ip4-page.ip4-blank .ip4-hero-image { height:auto; aspect-ratio:1; }
.ip4-page.ip4-blank .ip4-hero-image img { object-fit:contain; }
.ip4-page.ip4-page .ip4-service-intro { margin-top:104px; margin-bottom:0; }
.ip4-page.ip4-blank .ip4-steps-grid { margin-top:50px; }
.ip4-page.ip4-page .ip4-studio-feature { display:grid; grid-template-columns:minmax(0,1.7fr) minmax(0,1fr); gap:100px; align-items:center; }
.ip4-page.ip4-page .ip4-studio-image { height:auto; aspect-ratio:1.5; }
.ip4-page.ip4-page .ip4-studio-image img { object-fit:contain; }
.ip4-page.ip4-page .ip4-section-title em { font-style:normal; color:#b7c0b3; }
.ip4-page.ip4-page .ip4-steps-list { display:flex; flex-direction:column; margin-top:90px; }
.ip4-page.ip4-page .ip4-steps-list .ip4-instruction { display:grid; grid-template-columns:1fr 1.2fr; align-items:start; gap:120px; padding:36px 0; }
.ip4-page.ip4-page .ip4-steps-list .ip4-prose { max-width:650px; }
.ip4-page.ip4-page .ip4-gift-image { width:min(100%,1200px); height:auto; aspect-ratio:1.5; margin-inline:auto; }
.ip4-page.ip4-page .ip4-gift-image img { object-position:50% 55%; }
.ip4-page.ip4-page .ip4-gift-details { display:grid; grid-template-columns:1fr 1fr; gap:110px; margin-top:80px; }
.ip4-page.ip4-page .ip4-gift-copy { display:flex; flex-direction:column; gap:25px; max-width:600px; }
.ip4-page.ip4-page .ip4-gift-spec { padding-top:25px; border-top:1px solid var(--ip4-line); }
.ip4-page.ip4-page .ip4-gift-close { display:grid; grid-template-columns:1fr 1fr; gap:110px; border-top:1px solid var(--ip4-line); margin-top:85px; padding-top:42px; }
@media(max-width:1550px) {
  .ip4-page.ip4-page { width:calc(100% - 112px); padding-top:60px; }
  .ip4-page.ip4-page .ip4-hero { grid-template-columns:minmax(0,1.45fr) minmax(0,1fr); gap:76px; }
  .ip4-page.ip4-page .ip4-hero-image,.ip4-page.ip4-bespoke .ip4-hero-image { height:620px; }
  .ip4-page.ip4-page .ip4-title .elementor-heading-title { font-size:38px; }
  .ip4-page.ip4-page .ip4-chapter { margin-top:110px; gap:90px; }
  .ip4-page.ip4-page .ip4-canvas { margin-top:110px; }
  .ip4-page.ip4-page .ip4-life-image { height:440px; }
  .ip4-page.ip4-page .ip4-title-band { gap:80px; margin-bottom:50px; }
  .ip4-page.ip4-page .ip4-process-row { gap:76px; margin-bottom:100px; }
  .ip4-page.ip4-page .ip4-process-image,.ip4-page.ip4-page .ip4-gallery .cu-gallery-main,.ip4-page.ip4-page .ip4-gallery .cu-native-slide { height:560px; }
  .ip4-page.ip4-page .ip4-process-card .ip4-image { height:420px; }
  .ip4-page.ip4-page .ip4-panorama { height:510px; }
  .ip4-page.ip4-page .ip4-faq-section { gap:75px; }
  .ip4-page.ip4-page .ip4-studio-feature { gap:75px; }
  .ip4-page.ip4-blank .ip4-hero-reverse { grid-template-columns:1fr 1.45fr; }
}
@media(max-width:1100px) {
  .ip4-page.ip4-page { width:calc(100% - 64px); padding-top:44px; padding-bottom:80px; }
  .ip4-page.ip4-page .ip4-hero { gap:44px; grid-template-columns:1.12fr 1fr; }
  .ip4-page.ip4-page .ip4-hero-image,.ip4-page.ip4-bespoke .ip4-hero-image { height:570px; }
  .ip4-page.ip4-page .ip4-title .elementor-heading-title { font-size:32px; }
  .ip4-page.ip4-page .ip4-title { margin-bottom:25px; }
  .ip4-page.ip4-page .ip4-prose { font-size:14px; line-height:1.85; }
  .ip4-page.ip4-page .ip4-chapter { gap:45px; margin-top:85px; }
  .ip4-page.ip4-page .ip4-chapter-copy { padding-left:0; }
  .ip4-page.ip4-page .ip4-section-title .elementor-heading-title { font-size:26px; }
  .ip4-page.ip4-page .ip4-life-image { height:380px; }
  .ip4-page.ip4-page .ip4-canvas { margin-top:85px; }
  .ip4-page.ip4-page .ip4-section-intro { gap:48px; }
  .ip4-page.ip4-page .ip4-image-pair { gap:24px; }
  .ip4-page.ip4-page .ip4-pathways { margin-top:85px; }
  .ip4-page.ip4-page .ip4-pathways { gap:30px; }
  .ip4-page.ip4-page .ip4-pathway .ip4-section-title .elementor-heading-title { font-size:23px; }
  .ip4-page.ip4-page .ip4-title-band { gap:48px; align-items:start; }
  .ip4-page.ip4-page .ip4-process-row { gap:44px; margin-bottom:80px; grid-template-columns:1.12fr 1fr; }
  .ip4-page.ip4-page .ip4-process-reverse { grid-template-columns:1fr 1.12fr; }
  .ip4-page.ip4-page .ip4-process-image,.ip4-page.ip4-page .ip4-gallery .cu-gallery-main,.ip4-page.ip4-page .ip4-gallery .cu-native-slide { height:420px; }
  .ip4-page.ip4-page .ip4-process-pair { gap:32px; }
  .ip4-page.ip4-page .ip4-process-card .ip4-image { height:330px; }
  .ip4-page.ip4-page .ip4-panorama { height:400px; }
  .ip4-page.ip4-page .ip4-steps-grid { gap:30px; margin-top:60px; }
  .ip4-page.ip4-page .ip4-instruction .ip4-section-title .elementor-heading-title { font-size:21px; }
  .ip4-page.ip4-page .ip4-faq-section { grid-template-columns:1fr 1.5fr; gap:48px; margin-top:80px; }
  .ip4-page.ip4-page .ip4-studio-feature { grid-template-columns:1.2fr 1fr; gap:44px; }
  .ip4-page.ip4-page .ip4-steps-list { margin-top:70px; }
  .ip4-page.ip4-page .ip4-steps-list .ip4-instruction { gap:60px; }
  .ip4-page.ip4-page .ip4-service-intro { margin-top:80px; }
  .ip4-page.ip4-page .ip4-gift-details,.ip4-page.ip4-page .ip4-gift-close { gap:60px; }
}
@media(max-width:767px) {
  .ip4-page.ip4-page { width:calc(100% - 40px); padding-top:28px; padding-bottom:64px; }
  .ip4-page.ip4-page .ip4-hero { display:flex; flex-direction:column; gap:32px; align-items:stretch; }
  .ip4-page.ip4-page .ip4-hero-image,.ip4-page.ip4-bespoke .ip4-hero-image { height:auto; aspect-ratio:1.04; }
  .ip4-page.ip4-page .ip4-hero-copy { max-width:none; }
  .ip4-page.ip4-page .ip4-kicker { font-size:10px; margin-bottom:17px; letter-spacing:1.8px; }
  .ip4-page.ip4-page .ip4-title .elementor-heading-title { font-size:32px; line-height:1.18; letter-spacing:-.4px; }
  .ip4-page.ip4-page .ip4-title { margin-bottom:25px; }
  .ip4-page.ip4-page .ip4-prose { font-size:14px; line-height:1.85; }
  .ip4-page.ip4-page .ip4-prose + .ip4-prose { margin-top:18px; }
  .ip4-page.ip4-page .ip4-hero-link { margin-top:25px; }
  .ip4-page.ip4-page .ip4-chapter { display:flex; flex-direction:column-reverse; gap:28px; margin-top:72px; align-items:stretch; }
  .ip4-page.ip4-page .ip4-chapter-copy { max-width:none; }
  .ip4-page.ip4-page .ip4-chapter-copy .ip4-section-title { margin-bottom:23px; }
  .ip4-page.ip4-page .ip4-life-image { height:auto; aspect-ratio:1.33; }
  .ip4-page.ip4-page .ip4-canvas { margin-top:72px; }
  .ip4-page.ip4-page .ip4-section-intro { display:flex; flex-direction:column; gap:24px; margin-bottom:30px; }
  .ip4-page.ip4-page .ip4-image-pair { display:flex; flex-direction:column; gap:30px; }
  .ip4-page.ip4-page .ip4-figure .ip4-image { aspect-ratio:1.35; }
  .ip4-page.ip4-page .ip4-caption { margin-top:12px; font-size:10px; }
  .ip4-page.ip4-page .ip4-final-links { margin-top:42px; justify-content:flex-start; gap:32px; flex-wrap:wrap; }
  .ip4-page.ip4-page .ip4-actions { margin-top:25px; }
  .ip4-page.ip4-page .ip4-note { margin-top:23px; }
  .ip4-page.ip4-page .ip4-pathways { display:flex; flex-direction:column; gap:0; margin-top:64px; }
  .ip4-page.ip4-page .ip4-pathway { display:flex; flex-direction:column; align-items:flex-start; gap:16px; padding:29px 0; }
  .ip4-page.ip4-page .ip4-pathway .ip4-section-title .elementor-heading-title { font-size:24px; }
  .ip4-page.ip4-page .ip4-title-band { display:flex; flex-direction:column; gap:27px; margin-bottom:32px; }
  .ip4-page.ip4-page .ip4-title-band .ip4-kicker { margin-bottom:16px; }
  .ip4-page.ip4-page .ip4-band-copy { max-width:none; gap:18px; }
  .ip4-page.ip4-page .ip4-process-row { display:flex; flex-direction:column; gap:28px; margin-bottom:64px; align-items:stretch; }
  .ip4-page.ip4-page .ip4-process-image,.ip4-page.ip4-page .ip4-gallery .cu-gallery-main,.ip4-page.ip4-page .ip4-gallery .cu-native-slide { height:auto; aspect-ratio:1.1; }
  .ip4-page.ip4-page .ip4-process-copy { max-width:none; }
  .ip4-page.ip4-page .ip4-process-copy .ip4-section-title { margin-bottom:22px; }
  .ip4-page.ip4-page .ip4-process-pair { display:flex; flex-direction:column; gap:50px; }
  .ip4-page.ip4-page .ip4-process-card .ip4-image { height:auto; aspect-ratio:1.1; }
  .ip4-page.ip4-page .ip4-process-card .ip4-section-title { margin-top:28px; margin-bottom:22px; }
  .ip4-page.ip4-page .ip4-panorama { height:auto; aspect-ratio:1.25; }
  .ip4-page.ip4-page .ip4-steps-grid { display:flex; flex-direction:column; gap:28px; margin-top:45px; }
  .ip4-page.ip4-page .ip4-instruction { padding-top:24px; gap:18px; }
  .ip4-page.ip4-page .ip4-instruction .ip4-section-title .elementor-heading-title { font-size:23px; }
  .ip4-page.ip4-page .ip4-faq-section { display:flex; flex-direction:column; gap:26px; margin-top:65px; padding-top:34px; }
  .ip4-page.ip4-page .ip4-faq .elementor-tab-title { font-size:15px; padding:20px 0; }
  .ip4-page.ip4-page .ip4-faq .elementor-tab-content { padding-right:0; font-size:14px; }
  .ip4-page.ip4-page .ip4-hero-reverse { display:flex; flex-direction:column-reverse; }
  .ip4-page.ip4-blank .ip4-hero-image { aspect-ratio:1; }
  .ip4-page.ip4-page .ip4-service-intro { margin-top:60px; gap:23px; }
  .ip4-page.ip4-page .ip4-studio-feature { display:flex; flex-direction:column; gap:30px; align-items:stretch; }
  .ip4-page.ip4-page .ip4-studio-image { aspect-ratio:1.5; }
  .ip4-page.ip4-page .ip4-steps-list { margin-top:52px; }
  .ip4-page.ip4-page .ip4-steps-list .ip4-instruction { display:flex; flex-direction:column; gap:19px; padding:27px 0; }
  .ip4-page.ip4-page .ip4-gift-image { aspect-ratio:1.4; }
  .ip4-page.ip4-page .ip4-gift-image img { object-fit:contain; background:#eee6d8; }
  .ip4-page.ip4-page .ip4-gift-details,.ip4-page.ip4-page .ip4-gift-close { display:flex; flex-direction:column; gap:25px; margin-top:48px; }
  .ip4-page.ip4-page .ip4-gift-close { padding-top:30px; }
}
/* The blank-product source is square. Keep its whole canopy at every breakpoint. */
.ip4-page.ip4-blank .ip4-hero-image { height:auto; aspect-ratio:1; }
