/* Framing page — portfolio-first with sticky inquiry (design/framing-page Option C, quality reframe). */
body.page-framing #brx-content > .brxe-section > .brxe-container { width: 100%; max-width: 100%; }
.sfrm { --sg: clamp(24px, 4vw, 80px); }

.sfrm-grid { margin: 0 var(--sg); padding: 56px 0 40px; display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); gap: 48px; align-items: start; }
.sfrm-main { grid-column: span 8; display: flex; flex-direction: column; gap: 48px; }
.sfrm-side { grid-column: span 4; }

.sfrm-eyebrow { font-size: 12px; line-height: 17px; letter-spacing: 2px; text-transform: uppercase; color: #A3A3A3; }
.sfrm-title { display: flex; flex-direction: column; gap: 18px; }
.sfrm-title h1 { margin: 0; font-size: 54px; line-height: 62px; font-weight: 400; color: #444; }
.sfrm-title p { margin: 0; max-width: 58ch; font-size: 14px; line-height: 24px; color: #0A0A0A; }

.sfrm-mosaic { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); grid-auto-rows: 190px; gap: 6px; }
.sfrm-photo { width: 100%; height: 100%; object-fit: cover; display: block; }
.sfrm-photo-lead { grid-column: span 2; grid-row: span 2; }

.sfrm-craft { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 40px; }
.sfrm-craft-item { display: flex; flex-direction: column; gap: 8px; padding-top: 14px; border-top: 1px solid rgba(0,0,0,0.13); }
.sfrm-craft-item h3 { margin: 0; font-size: 20px; line-height: 28px; font-weight: 400; color: #444; }
.sfrm-craft-item p { margin: 0; font-size: 14px; line-height: 24px; color: #0A0A0A; }

.sfrm-panel { position: sticky; top: 124px; background: #FCFCFC; padding: 28px; display: flex; flex-direction: column; gap: 14px; }
.sfrm-panel p { margin: 0; font-size: 14px; line-height: 24px; color: #0A0A0A; }
.sfrm-contact { display: flex; flex-direction: column; font-size: 12px; line-height: 17px; color: #676767; }
.sfrm-contact a { color: #0A0A0A; min-height: 44px; display: flex; align-items: center; text-decoration: none; }
.sfrm-contact a + a { margin-top: -10px; }
.sfrm-contact a:hover { text-decoration: underline; text-underline-offset: 3px; }

@media (min-width: 1600px) { .sfrm-mosaic { grid-auto-rows: 230px; } }
@media (max-width: 1199px) {
  .sfrm-grid { display: flex; flex-direction: column; }
  .sfrm-panel { position: static; }
  .sfrm-craft { grid-template-columns: 1fr; gap: 24px; }
}
@media (max-width: 767px) {
  .sfrm-grid { margin: 0 24px; padding: 28px 0 24px; gap: 28px; }
  .sfrm-main { gap: 28px; }
  .sfrm-title h1 { font-size: 29px; line-height: 36px; }
  .sfrm-mosaic { grid-template-columns: repeat(2, minmax(0, 1fr)); grid-auto-rows: 41vw; }
  .sfrm-photo-lead { grid-column: span 2; grid-row: span 1; }
  .sfrm-panel { padding: 20px; }
}

/* With the inquiry form retired, the contact block is the panel's payload. */
.sfrm-contact { margin-top: 18px; }
.sfrm-hours { display: block; margin-top: 10px; color: #A3A3A3; font-size: 13px; }
