.services-hero { height: 100vh; display: flex; align-items: center; position: relative; overflow: hidden; }
.services-subtitle { max-width: 480px; font-size: 1.05rem; line-height: 1.8; color: var(--grey); margin-top: 35px; font-weight: 300; }

/* --- ASYMMETRICAL SERVICES CHAPTER GRIDS --- */
.chapter-grid { display: grid; grid-template-columns: 1fr 1.2fr; gap: 100px; align-items: start; }
.chapter-grid.reverse { grid-template-columns: 1.2fr 1fr; }

/* Sticky columns */
.chapter-visual.sticky-col { position: sticky; top: 15vh; align-self: start; }
.chapter-image { width: 100%; aspect-ratio: 16/10; overflow: hidden; border: 1px solid var(--hairline); background-color: var(--black); }
.chapter-image img { width: 100%; height: 100%; object-fit: cover; filter: grayscale(100%); transition: var(--transition); }
.chapter-visual:hover .chapter-image img { filter: grayscale(0%); transform: scale(1.02); }

.num-label { font-size: 0.6rem; letter-spacing: 4px; color: var(--grey); display: block; margin-bottom: 20px; font-weight: 700; }
.chapter-desc { font-size: 1.15rem; line-height: 1.8; color: var(--grey); margin: 30px 0 45px 0; font-weight: 300; }

/* Deliverables stacked lists inside chapters */
.deliverables-stack { border-top: 1px solid var(--hairline); }
.deliv-item { padding: 30px 0; border-bottom: 1px solid var(--hairline); transition: var(--transition); }
.deliv-item strong { font-size: 1.15rem; font-weight: 700; display: block; margin-bottom: 10px; }
.deliv-item p { font-size: 0.9rem; color: var(--grey); line-height: 1.7; font-weight: 300; }
.deliv-item:hover { padding-left: 20px; background-color: rgba(255, 255, 255, 0.01); }

/* Subscription workflow loop styling with Offset cards */
.loop-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 45px; margin-top: 80px; align-items: start; }
.loop-card { padding: 50px 40px; border: 1px solid var(--hairline); background-color: rgba(255, 255, 255, 0.01); position: relative; transition: var(--transition); }
.loop-card.offset-card { transform: translateY(40px); }
.loop-card:hover { background-color: rgba(255, 255, 255, 0.03); border-color: rgba(255,255,255,0.2); }
.loop-step { font-family: 'Playfair Display', serif; font-style: italic; font-size: 3.5rem; color: var(--grey); opacity: 0.15; position: absolute; top: 25px; right: 35px; }
.loop-card h4 { font-size: 1.25rem; margin-bottom: 20px; }
.loop-card p { font-size: 0.9rem; line-height: 1.7; color: var(--grey); font-weight: 300; }