/* Infrastructure directory: editorial hierarchy with the existing studio palette. */
.infra-wrap{max-width:90rem;margin:0 auto;padding:0 var(--studio-gutter)}
.infra-hero{padding:clamp(3rem,7vw,7rem) 0 3rem;display:grid;gap:3rem}
.infra-label{font-size:.875rem;letter-spacing:.12em;font-weight:700;color:var(--color-muted,#68665d);text-transform:uppercase}
.infrastructure-page h1{font-size:clamp(2.6rem,5.4vw,5.2rem);line-height:1.13;letter-spacing:-.045em;margin:1.4rem 0}
.infrastructure-page h1 em{font-style:normal;color:var(--color-signal,#f6bc62)}
.infra-intro{font-size:1.125rem;line-height:1.8;max-width:39rem}
.infra-actions{display:flex;flex-wrap:wrap;align-items:center;gap:1rem 1.5rem;margin:2rem 0}
.infra-actions a{min-height:3rem;display:inline-flex;align-items:center;text-decoration:none;font-weight:700}
.infra-primary{padding:.75rem 1.2rem;background:var(--color-ink,#222);color:var(--color-bg,#faf8f2)!important;border-radius:.2rem}
.infra-map{background:#171a1d;color:#f3eee4;padding:1.6rem;border-radius:.3rem;align-self:center}
.infra-map .infra-label{color:#f6bc62;font-size:.75rem;line-height:1.7}
.infra-map ol{list-style:none;padding:0;margin:1.3rem 0}
.infra-map li{display:flex;gap:1rem;padding:1.1rem 0;border-top:1px solid #414447}
.infra-map li>span{color:#f6bc62;font-size:.875rem}
.infra-map b{font-size:.875rem;letter-spacing:.03em}
.infra-map small{display:block;color:#b6b5ae;margin-top:.4rem;font-size:.75rem}
.infra-map>p:last-child{font-size:.875rem;color:#b6b5ae;margin-bottom:0}
.infra-jump{display:grid;grid-template-columns:1fr;border-top:1px solid var(--color-rule);border-bottom:1px solid var(--color-rule);margin-bottom:1rem}
.infra-jump a{padding:1rem 0;min-height:3rem;display:flex;align-items:center;gap:.7rem;text-decoration:none;font-size:.95rem}
.infra-jump a span:first-child{font-size:.75rem;color:var(--color-signal)}.infra-jump a span:last-child{margin-left:auto}
.infra-section{padding:3rem 0;border-bottom:1px solid var(--color-rule);scroll-margin-top:6rem}
.infra-section h2,.infra-contact h2{font-size:clamp(1.9rem,3.4vw,3rem);line-height:1.25;margin:1rem 0 2rem;letter-spacing:-.035em}
.infra-items{display:grid;gap:1.6rem 2rem}.infra-item{min-width:0;padding-top:1rem;border-top:1px solid var(--color-rule)}
.infra-item h3{font-size:1.125rem;margin:0 0 .7rem}.infra-item p{font-size:1rem;line-height:1.75;color:var(--color-muted,#68665d);margin:0;max-width:45ch}
.infra-output{display:grid;gap:.6rem;line-height:1.7;margin:2rem 0 0;padding:1.3rem;background:rgba(152,112,66,.07);font-size:.95rem}
.infra-output strong{font-size:.75rem;letter-spacing:.1em;color:var(--color-signal)}
.infra-process{list-style:none;padding:0;display:grid;gap:1.5rem}.infra-process li{padding:1rem 0;border-top:2px solid var(--color-signal)}.infra-process li>span{font-size:.875rem;color:var(--color-signal)}.infra-process h3{font-size:1.125rem;margin:.7rem 0}.infra-process p{font-size:1rem;line-height:1.7}
.infra-boundary{padding:1.5rem;border:1px solid var(--color-rule);margin-top:2rem}.infra-boundary h3{font-size:1.125rem;margin:0 0 1rem}.infra-boundary p{font-size:.95rem;line-height:1.8;max-width:80ch}.infra-references{font-size:.875rem;line-height:1.8;margin-top:1.4rem;overflow-wrap:anywhere}
.infra-contact{padding:3.5rem 0 5rem}.infra-contact>p{max-width:45rem;line-height:1.8}.infra-related{display:flex;gap:1.5rem;flex-wrap:wrap}.infra-related a{display:inline-flex;align-items:center;min-height:2.75rem}
@media(min-width:768px){.infra-hero{grid-template-columns:1.5fr 1fr;gap:2rem}.infra-items{grid-template-columns:repeat(2,minmax(0,1fr))}.infra-jump{grid-template-columns:repeat(3,minmax(0,1fr));gap:0 2rem}.infra-process{grid-template-columns:repeat(2,minmax(0,1fr))}.infra-output{grid-template-columns:7rem 1fr}.infra-section{padding:4rem 0}}
@media(min-width:1024px){.infra-items{grid-template-columns:repeat(3,minmax(0,1fr))}.infra-process{grid-template-columns:repeat(4,minmax(0,1fr))}.infra-hero{gap:4rem}}
