.agency-hero { display:grid; grid-template-columns:minmax(0,1.3fr) minmax(0,1fr); gap:3rem; align-items:center; }
.agency-hero h1 { font-size:clamp(2.8rem,5vw,4.7rem); line-height:1.04; }
.agency-map { margin:0; padding:2rem; border:1px solid #cbc5ee; border-radius:24px; background:linear-gradient(140deg,#fff,var(--accent-soft)); }
.agency-map figcaption { margin-bottom:1.5rem; font-weight:750; }
.agency-map-owner { padding:1.2rem; border-radius:14px; background:var(--accent); color:#fff; font-weight:750; }
.agency-map-owner span { display:block; margin-top:.5rem; font-size:.85rem; font-weight:400; }
.agency-map ul { display:grid; grid-template-columns:1fr 1fr; gap:.75rem; padding:1.5rem 0 0; margin:0; list-style:none; }
.agency-map li { position:relative; padding:1rem; border:1px solid #cbc5ee; border-radius:12px; background:#fff; font-weight:650; }
.agency-map li::before { position:absolute; content:""; height:1.5rem; top:calc(-1.5rem - 1px); left:50%; border-left:1px solid #aaa1d8; }
.agency-map p { margin-bottom:0; font-size:.9rem!important; }
.agency-section { margin:4rem 0; }
.agency-section h2,.agency-offer h2 { font-size:clamp(1.8rem,3vw,2.6rem); letter-spacing:-.035em; line-height:1.15; }
.agency-roles { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:1rem; }
.agency-roles article { padding:1.5rem; border:1px solid var(--line); border-radius:18px; background:#fff; }
.agency-roles h3,.agency-steps h3 { margin:0 0 .75rem; font-size:1.15rem; line-height:1.3; }
.agency-roles p,.agency-steps p { margin:0; color:var(--muted); }
.agency-boundary { padding:1.25rem; border-left:3px solid var(--accent); background:var(--accent-soft); border-radius:0 12px 12px 0; }
.agency-steps { counter-reset:agency-step; display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:2rem; padding:0; list-style:none; }
.agency-steps li { counter-increment:agency-step; position:relative; padding-left:3.25rem; }
.agency-steps li::before { content:counter(agency-step); position:absolute; left:0; top:0; display:grid; place-items:center; width:2.3rem; height:2.3rem; border-radius:50%; background:var(--accent-soft); color:var(--accent); font-weight:800; }
.agency-faq details { padding:1.1rem 0; border-bottom:1px solid var(--line); }
.agency-faq summary { cursor:pointer; font-weight:700; }
.agency-faq p { max-width:70ch; color:var(--muted); }
.agency-offer { padding:2rem; border:1px solid #cbc5ee; border-radius:22px; background:var(--accent-soft); }
.agency-offer h2 { margin-top:0; }
.agency-offer p { max-width:70ch; }
@media(max-width:900px) { .agency-hero { grid-template-columns:1fr; } }
@media(max-width:700px) { .agency-roles,.agency-steps { grid-template-columns:1fr; } .agency-map { padding:1.25rem; } .agency-map ul { grid-template-columns:1fr; gap:1.5rem; } .agency-section { margin:3rem 0; } .agency-offer { padding:1.4rem; } }
