#services.services-opening { border-top: 0; padding-block: clamp(36px, 6vw, 86px) clamp(40px, 6vw, 80px); }
.opening-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 12px 22px; margin-top: 20px; }
.opening-actions .button { background: var(--ink); color: var(--paper); }
.work-grid .case > .sline-photo { height: 100%; width: 100%; object-fit: cover; object-position: center 57%; }

.opening-local { margin:0 0 16px; color:var(--muted); font-weight:650; font-size:.9rem; }
.opening-copy { max-width:36ch; color:var(--muted); margin:20px 0 0; }
.opening-links { border-top:1px solid var(--line); }
.opening-links a { display:flex; justify-content:space-between; gap:16px; padding:15px 0; border-bottom:1px solid var(--line); font-weight:650; text-decoration:none; }
.opening-links a:hover { text-decoration:underline; text-underline-offset:4px; }
.opening-links span { flex:none; }
.garden-photo { position:relative; margin:0; min-height:0; }
.garden-photo img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; object-position:center 61%; }
.garden-photo figcaption { position:absolute; bottom:9px; right:9px; padding:3px 7px; background:var(--paper); font-size:.7rem; }

.opening-grid { display: grid; grid-template-columns: minmax(0, 1.05fr) minmax(0, 1fr); align-items: center; gap: clamp(24px, 4vw, 65px); }
.services-opening h1 { max-width: none; line-height: .98; font-size: clamp(39px, 5.25vw, 78px); }
.opening-photo { display: block; width: 100%; height: auto; aspect-ratio: 4 / 3; object-fit: cover; border-radius: 6px; }
.opening-links { display: grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap: 18px; margin-top: clamp(24px, 4vw, 48px); }
@media (max-width: 760px) {
  .opening-grid, .opening-links { grid-template-columns: 1fr; }
  .opening-links { gap: 0; }
}

.idea-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 0 clamp(20px, 4vw, 50px);
  margin-top: clamp(24px, 4vw, 46px);
}
.idea-grid article { border-top: 1px solid var(--line); padding: 20px 0 28px; }
.idea-grid h3 { font-size: clamp(20px, 2.5vw, 30px); line-height: 1.15; letter-spacing: -.04em; }
.idea-grid h3 a { display: flex; justify-content: space-between; gap: 12px; text-decoration: none; }
.idea-grid h3 a:hover { text-decoration: underline; text-underline-offset: 4px; }
.idea-grid h3 span { flex: none; }
.idea-grid p { margin: 10px 0 0; color: var(--muted); }
@media (max-width: 760px) { .idea-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 490px) { .idea-grid { grid-template-columns: 1fr; } }
