/* Iteration layer: services, process, and stronger page completion */
.service-band{padding:54px 0;border-top:1px solid #e9e9e9}
.service-band h2{font-size:clamp(34px,5vw,64px);line-height:1;font-weight:520;letter-spacing:-.035em;margin:0 0 28px;max-width:760px}
.service-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.service-card{min-height:270px;border:1px solid #dedede;background:#fff;border-radius:4px;padding:20px;display:flex;flex-direction:column;justify-content:space-between}
.service-card h3{font-size:22px;font-weight:520;margin:0}
.service-card p{color:#666;line-height:1.7;font-size:15px}
.service-card .index{font-size:13px;color:#777}
.process-list{display:grid;grid-template-columns:repeat(4,1fr);gap:0;border-top:1px solid #e4e4e4;border-left:1px solid #e4e4e4}
.process-step{min-height:220px;padding:18px;border-right:1px solid #e4e4e4;border-bottom:1px solid #e4e4e4;background:#fafafa}
.process-step strong{display:block;font-size:15px;margin-bottom:42px;color:#666}
.process-step h3{font-size:22px;font-weight:520;margin:0 0 10px}
.process-step p{font-size:14px;color:#666;line-height:1.7}
.availability{padding:54px 0;border-top:1px solid #e9e9e9}
.availability-card{background:#f4f4f4;border-radius:4px;padding:28px;display:grid;grid-template-columns:1fr auto;gap:24px;align-items:center}
.availability-card h2{font-size:clamp(32px,5vw,60px);line-height:1;font-weight:520;letter-spacing:-.035em;margin:0}
.availability-card p{color:#555;line-height:1.7;max-width:680px}
.availability-card a{background:#111;color:#fff;border-radius:999px;padding:12px 16px;font-size:14px;white-space:nowrap}
.page-hero-inner:after{content:"";display:block;width:100%;height:1px;background:#ddd;margin-top:42px}
.cards3 .card,.grid .card{outline:1px solid transparent;outline-offset:-1px}
.cards3 .card:hover,.grid .card:hover{outline-color:#111}
@media(max-width:980px){.service-grid,.process-list{grid-template-columns:1fr 1fr}.availability-card{grid-template-columns:1fr}}
@media(max-width:640px){.service-grid,.process-list{grid-template-columns:1fr}.service-card,.process-step{min-height:auto}.process-step strong{margin-bottom:24px}.availability-card{padding:22px}}
.contact-modal{position:fixed;inset:0;z-index:50;background:rgba(0,0,0,.36);display:grid;place-items:center;padding:22px}.contact-modal.hidden{display:none}.contact-dialog{width:min(720px,100%);background:#fff;border-radius:6px;padding:24px;display:grid;grid-template-columns:1fr 220px;gap:24px;position:relative;box-shadow:0 24px 80px rgba(0,0,0,.22)}.contact-dialog h2{font-size:clamp(30px,5vw,52px);font-weight:520;letter-spacing:-.035em;line-height:1;margin:0 0 16px}.contact-dialog p[data-contact-text]{white-space:pre-line;color:#555;line-height:1.7;margin:0 0 18px}.contact-close{position:absolute;right:14px;top:12px;border:0;background:transparent;font-size:30px;line-height:1;cursor:pointer}.contact-qr{border:1px solid #e2e2e2;border-radius:4px;padding:12px;align-self:start}.contact-qr img{display:block;width:100%;height:auto}.contact-qr[hidden]{display:none}@media(max-width:680px){.contact-dialog{grid-template-columns:1fr}.contact-qr{max-width:220px}}
