/* 26 October: portrait fully visible at EVERY width; more disciplined mobile rhythm. */
/* The actual uploaded source remains unmodified and is NOT replaced by AI artwork. */
@media (min-width: 951px) {
  .portrait-hero { display:grid; grid-template-columns:minmax(0,52%) minmax(0,48%); align-items:stretch; height:clamp(680px,58vw,870px); min-height:680px; overflow:hidden; }
  .portrait-hero .hero-media { position:relative; grid-column:2; grid-row:1; right:auto; top:auto; bottom:auto; width:100%; height:100%; display:flex; align-items:center; justify-content:center; background:#363339; z-index:5; }
  .portrait-hero .hero-media img { display:block; width:100%; height:100%; object-fit:contain; object-position:center center; }
  .portrait-hero .hero-shade { display:none !important; }
  .portrait-hero .hero-content { position:relative; grid-column:1; grid-row:1; z-index:6; }
  .portrait-hero .hero-content { width:100%; max-width:760px; }
}
@media (max-width:950px) {
  .portrait-hero { height:auto; min-height:0; overflow:visible; }
  .portrait-hero .hero-media { position:relative; display:block; order:2; width:100%; height:auto; min-height:0; aspect-ratio:1151 / 2047; overflow:visible; background:#363339; }
  .portrait-hero .hero-media img { display:block; width:100%; height:auto; aspect-ratio:1151 / 2047; object-fit:contain; object-position:center; }
  .portrait-hero .hero-content { order:1; }
  /* Large format interiors stay editorial but don't dominate phone scrolls. */
  .photo-story.photo-story-wide .story-media,
  .photo-story.photo-story-wide:has(img[src*='wooden-room']) .story-media,
  .photo-story.photo-story-wide:has(img[src*='woman-wall-bars']) .story-media { height:clamp(270px,63vw,460px); }
  .photo-story.photo-story-wide .story-caption { padding:34px clamp(22px,5vw,48px) 40px; }
  /* Two small equipment still lifes, instead of large, tall image blocks. */
  .photo-story.photo-story-pair { padding:64px 22px 60px; }
  .photo-story.photo-story-pair .still-life-pair { width:100%; max-width:840px; gap:16px; grid-template-columns:repeat(2,minmax(0,1fr)); }
  .photo-story.photo-story-pair .still-life-frame { height:clamp(170px,28vw,260px); }
  .photo-story.photo-story-pair .still-life-frame img { padding:clamp(8px,1.5vw,20px); object-fit:contain; }
  .photo-story.photo-story-pair .story-caption { margin-top:24px; }
}
@media (max-width:670px) {
  /* Full source photograph — no clipping of his head, torso, hands or chandelier. */
  .portrait-hero .hero-content { padding:52px 24px 43px; }
  .portrait-hero h1 { margin-bottom:15px; font-size:clamp(34px,9vw,42px); line-height:1.2; }
  .portrait-hero .hero-content>p { font-size:14px; line-height:1.65; max-width:330px; }
  .portrait-hero .hero-media { aspect-ratio:1151/2047; height:auto !important; }
  .portrait-hero .hero-media img { object-fit:contain !important; width:100%; height:auto !important; }
  .benefits-strip { padding:18px 24px 26px; }
  .benefit-item { padding:16px 0 18px; }
  .benefit-number { margin-bottom:9px; }
  .benefit-item h2 { font-size:20px; margin-bottom:6px; }
  .benefit-item p { font-size:13px; }
  .editorial-section,.editorial-section.compact { padding:61px 24px; }
  .section-head { margin-bottom:27px; }
  .steps,.steps.two-col,.plain-columns { margin-bottom:0; }
  .steps article,.steps.two-col article,.plain-columns>div { padding:21px 0 22px; }
  .steps .number { margin-bottom:9px; }
  .steps h3,.plain-columns h3 { font-size:19px; margin-bottom:7px; }
  .steps p,.plain-columns p { font-size:13px; line-height:1.65; }
  /* Pricing cards become short rows with the price readable at a glance. */
  .price-preview { display:grid; grid-template-columns:1fr; gap:10px; margin-bottom:22px; }
  .price-preview>div { display:grid; grid-template-columns:minmax(0,1fr) auto; grid-template-rows:auto auto auto; column-gap:12px; padding:18px 18px 17px; margin:0; min-height:0; align-items:start; }
  .price-preview .eyebrow { grid-column:1/-1; font-size:11px; margin-bottom:7px; }
  .price-preview h3 { grid-column:1; grid-row:2; font-size:18px; margin:0 0 5px; }
  .price-preview p { grid-column:1; grid-row:3; font-size:12px; line-height:1.55; margin:0; }
  .price-preview .price-amount { grid-column:2; grid-row:2 / span 2; font-size:20px; margin:0; align-self:center; }
  .price-row { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:16px; align-items:start; padding:21px 0; }
  .price-row .price-label { grid-column:1; min-width:0; }
  .price-row .price-amount { grid-column:2; align-self:start; padding:22px 0 0; font-size:20px; }
  /* Small product imagery in a two-column grid — not tall full-width cards. */
  .photo-story.photo-story-pair { padding:40px 20px 42px; }
  .photo-story.photo-story-pair .still-life-pair { display:grid; width:100%; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; }
  .photo-story.photo-story-pair .still-life-frame { height:clamp(138px,43vw,190px); background:#f5f4ee; }
  .photo-story.photo-story-pair .still-life-frame img { width:100%; height:100%; max-width:none; max-height:none; padding:10px; object-fit:contain; }
  .photo-story.photo-story-pair .story-caption { margin-top:19px; width:100%; }
  .photo-story.photo-story-pair .story-caption h2 { font-size:21px; line-height:1.35; }
  .photo-story.photo-story-wide .story-media,
  .photo-story.photo-story-wide:has(img[src*='wooden-room']) .story-media,
  .photo-story.photo-story-wide:has(img[src*='woman-wall-bars']) .story-media { height:clamp(250px,71vw,355px); }
  .photo-story.photo-story-wide .story-caption { padding:24px 24px 35px; }
  .photo-story.photo-story-wide .story-caption h2 { font-size:23px; }
  .photo-story.photo-story-wide .story-caption p { margin-top:8px; }
  .location-list { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .location-group { padding:18px 11px; }
  .location-group li { line-height:1.75; }
  .page-intro { padding-top:60px; padding-bottom:45px; }
  .mini-trust,.trust-after-benefits { display:none !important; }
}
/* Reduce product/equipment scale on desktop too while preserving generous surrounding space. */
@media (min-width:951px) {
 .photo-story.photo-story-pair .still-life-pair { max-width:1040px; margin-left:auto; margin-right:auto; }
 .photo-story.photo-story-pair .still-life-frame { height:clamp(260px,28vw,430px); }
 .photo-story.photo-story-pair .story-caption { max-width:1040px; margin-left:auto; margin-right:auto; }
}
/* Removed promotional bars stay removed in all sizes. */
.mini-trust,.trust-after-benefits { display:none !important; }
