.brand img { display: block; width: 168px; height: auto; }
.footer-brand img { width: 190px; }
.catalog { background: var(--cream); }
.service-group { padding: 105px 7.5vw; border-bottom: 1px solid var(--line); }
.service-group.paper { background: var(--paper); }
.group-heading { display: grid; grid-template-columns: 20% 80%; margin-bottom: 70px; }
.group-heading > span { font-size: 10px; letter-spacing: 1.5px; color: #7b837e; }
.group-heading h2 { font: 600 clamp(45px,5vw,72px)/1 var(--serif); letter-spacing: -3px; margin: 0; }
.group-heading .eyebrow { margin-bottom: 17px; color: var(--clay); }
.service-list { border-top: 1px solid var(--line); }
.service-row { display: grid; grid-template-columns: 32% 68%; gap: 5vw; padding: 58px 0; border-bottom: 1px solid var(--line); }
.service-copy > span { display: block; font-size: 9px; color: #8c938e; margin-bottom: 42px; }
.service-cn { font-size: 10px !important; color: var(--clay) !important; letter-spacing: 1px; margin: 0 0 9px !important; }
.service-copy h3 { font: 600 30px/1.1 var(--serif); margin: 0 0 20px; }
.service-copy > p:last-child { max-width: 390px; font-size: 12px; line-height: 1.8; color: #626b66; }
.example-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 12px; align-items: start; }
.example-grid:has(.example-placeholder:nth-child(2):last-child) { grid-template-columns: repeat(2,minmax(0,1fr)); }
.example-placeholder { aspect-ratio: 4/5; border: 1px dashed #aaa69d; background: linear-gradient(145deg,#eee9df,#dad3c8); display: flex; flex-direction: column; align-items: center; justify-content: center; text-align: center; padding: 16px; color: #7a7973; position: relative; overflow: hidden; }
.example-placeholder::before { content: ""; position: absolute; width: 45%; aspect-ratio: 1; border: 1px solid #aaa69d; transform: rotate(45deg); opacity: .45; }
.example-placeholder span { font-size: 7px; letter-spacing: 1.7px; position: absolute; top: 15px; }
.example-placeholder b { font: 500 14px var(--serif); position: relative; }
.example-placeholder small { font-size: 7px; margin-top: 6px; position: relative; }
.example-grid.wide .example-placeholder { aspect-ratio: 4/3; }
.display-note { text-align: center; background: var(--sand); }
.display-note h2 { font: 600 clamp(48px,5vw,75px)/1 var(--serif); letter-spacing: -3px; margin: 0; }
.display-note > p:last-child { max-width: 610px; margin: 32px auto 0; font-size: 13px; line-height: 1.8; color: #5c605c; }
@media (max-width: 980px) {
  .service-row { grid-template-columns: 1fr; gap: 35px; }
  .example-grid { max-width: 760px; }
  .group-heading { grid-template-columns: 80px 1fr; }
}
@media (max-width: 620px) {
  .brand img { width: 145px; }
  .service-group { padding: 75px 24px; }
  .group-heading { grid-template-columns: 1fr; gap: 25px; margin-bottom: 45px; }
  .service-row { padding: 45px 0; }
  .example-grid, .example-grid:has(.example-placeholder:nth-child(2):last-child) { grid-template-columns: 1fr 1fr; }
  .example-grid .example-placeholder:nth-child(3) { grid-column: 1/-1; aspect-ratio: 3/2; }
  .service-copy > span { margin-bottom: 24px; }
}

/* Simplified storefront layout */
.simple-services { padding: 105px 7.5vw 120px; }
.simple-heading { max-width: 720px; margin-bottom: 78px; }
.simple-heading h2 { font: 600 clamp(45px,5vw,72px)/1 var(--serif); letter-spacing: -3px; margin: 0; }
.service-group { padding: 0 0 88px; border: 0; }
.group-heading { display: flex; align-items: baseline; gap: 18px; padding-bottom: 18px; margin-bottom: 24px; border-bottom: 1px solid var(--line); }
.group-heading > span { color: var(--clay); }
.group-heading h3 { font: 600 29px var(--serif); margin: 0; }
.service-list { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 30px 18px; border: 0; }
.service-card-simple .example-placeholder { width: 100%; aspect-ratio: 4/3; }
.example-image { width: 100%; aspect-ratio: 4/3; overflow: hidden; background: #e6e0d6; }
.example-image img { width: 100%; height: 100%; display: block; object-fit: cover; transition: transform .5s ease; }
.service-card-simple:hover .example-image img { transform: scale(1.025); }
.service-card-simple h4 { font: 600 18px var(--serif); margin: 17px 0 7px; }
.service-card-simple p { color: #65706a; font-size: 11px; line-height: 1.6; margin: 0; }
.process { grid-template-columns: 1fr 1fr; }
.process ol { grid-column: 2; }

@media (max-width: 980px) {
  .service-list { grid-template-columns: repeat(2,minmax(0,1fr)); }
}
@media (max-width: 620px) {
  .simple-services { padding: 75px 24px 80px; }
  .simple-heading { margin-bottom: 55px; }
  .service-group { padding-bottom: 65px; }
  .service-list { grid-template-columns: 1fr; }
  .process { grid-template-columns: 1fr; }
  .process ol { grid-column: auto; }
}
