/* Agent directory and review section use an explicit responsive grid. */
.carrier-section{grid-template-columns:minmax(0,.95fr) minmax(0,1.25fr);column-gap:7%;align-items:start;padding-block:100px}
.carrier-section .section-intro{min-width:0;top:124px}
.carrier-section .section-intro h2{font-size:clamp(38px,3.2vw,58px);letter-spacing:-2px;line-height:1.17;max-width:580px}
.carrier-section .section-intro p{font-size:18px;line-height:1.8;max-width:480px}
.carrier-directory{min-width:0;border-bottom:1px solid var(--color-rule)}
.carrier-directory .agent-index-row{grid-template-columns:28px 48px minmax(0,1fr) 32px;gap:20px;min-height:132px;padding:24px 18px;margin:0;border:0;border-top:1px solid var(--color-rule);box-shadow:none!important;border-radius:0;background:transparent}
.carrier-directory .agent-index-row:hover{background:var(--color-soft);border-color:var(--color-rule-strong)}
.carrier-directory .agent-index-row>div{min-width:0}
.carrier-directory .agent-index-row h3{font:600 25px/1.25 var(--font-body);margin:0 0 10px;letter-spacing:-.5px}
.carrier-directory .agent-index-row p{font:16px/1.7 var(--font-body);max-width:none;margin:0;color:var(--color-muted)}
.carrier-directory .agent-index-row .carrier-number{font:12px var(--font-mono);color:var(--color-dim)}
.carrier-directory .agent-index-row .carrier-icon{width:48px;height:48px;display:grid;place-items:center}
.carrier-directory .agent-index-row .carrier-action{font-size:0;display:grid;place-items:center;white-space:nowrap;width:32px;height:32px;overflow:hidden;color:var(--color-accent)}
.carrier-directory .agent-index-row .carrier-action:after{content:'↗';font:24px/1 var(--font-body)}
.checkpoint{padding:100px 0}
.checkpoint>.infection-trail{display:none}
.checkpoint-layout{grid-template-columns:minmax(0,1.05fr) minmax(0,.9fr);gap:9%;align-items:center}
.checkpoint-layout>div{min-width:0}
.checkpoint h2{font-size:clamp(38px,3.2vw,58px);letter-spacing:-2px;line-height:1.17;margin:24px 0}
.checkpoint p{font-size:18px;line-height:1.8;max-width:520px;margin-bottom:30px}
.campaign-slip{transform:none;padding:34px 32px;border-radius:14px;box-shadow:none!important}
.campaign-slip h3{font-size:clamp(30px,2.6vw,42px);line-height:1.2;margin:28px 0;max-width:450px}
.slip-line{align-items:center;font-size:15px;line-height:1.6;padding:20px 0;gap:20px}
.slip-line b{text-align:right;min-width:0;max-width:65%}
.slip-bottom{padding-top:26px;margin-top:12px;gap:12px}
.infect-closing{padding:100px 0;gap:50px}.infect-closing h2{font-size:clamp(38px,3.4vw,60px);line-height:1.2;letter-spacing:-2px}.infect-closing>div:last-child{flex-shrink:0}
.lab-agent-view>*{min-width:0}.queue-card-actions{flex-wrap:wrap}.lab-toolbar{flex-wrap:wrap}.lab-roster{max-height:calc(100dvh - 132px)}
.infection-banner{height:250px}.infection-banner>div{padding:24px 30px}.infection-banner h2{font-size:34px}.infection-banner p{font-size:16px}
@media(max-width:1100px){.carrier-section{column-gap:5%;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr)}.carrier-directory .agent-index-row{grid-template-columns:24px 40px minmax(0,1fr) 24px;gap:14px;padding:24px 8px}.carrier-directory .agent-index-row .carrier-icon{width:40px;height:40px}.carrier-directory .agent-index-row h3{font-size:23px}.carrier-directory .agent-index-row p{font-size:15px}.checkpoint-layout{gap:6%}.campaign-slip{padding:28px 24px}.infect-closing{align-items:flex-start}.infect-closing>div:last-child{flex-shrink:1}.lab-toolbar>.text-link{margin-left:0}}
@media(max-width:800px){.carrier-section{grid-template-columns:1fr;gap:36px;padding-block:64px}.carrier-section .section-intro{position:relative;top:auto}.carrier-section .section-intro h2{max-width:650px;font-size:44px}.carrier-section .section-intro p{max-width:600px}.carrier-directory .agent-index-row{grid-template-columns:28px 48px minmax(0,1fr) 32px;gap:18px;min-height:120px;padding:24px 12px}.checkpoint-layout{grid-template-columns:1fr;gap:40px}.checkpoint{padding:64px 0}.checkpoint h2{font-size:44px}.checkpoint p{max-width:600px}.campaign-slip{max-width:650px;width:100%;padding:32px}.infect-closing{display:block;padding:64px 0}.infect-closing>div:last-child{margin-top:30px}.infection-banner{height:280px}.lab-roster{max-height:none}}
@media(max-width:480px){.carrier-section .section-intro h2,.checkpoint h2,.infect-closing h2{font-size:36px;letter-spacing:-1.4px}.carrier-section .section-intro p,.checkpoint p{font-size:17px}.carrier-directory .agent-index-row{grid-template-columns:20px 34px minmax(0,1fr) 22px;gap:10px;min-height:128px;padding:22px 0}.carrier-directory .agent-index-row .carrier-icon{width:34px;height:34px}.carrier-icon svg{width:32px;height:32px}.carrier-directory .agent-index-row h3{font-size:23px}.carrier-directory .agent-index-row p{font-size:15px;line-height:1.7}.carrier-directory .agent-index-row .carrier-action{width:22px;height:26px}.carrier-directory .agent-index-row .carrier-action:after{font-size:22px}.campaign-slip{padding:26px 22px}.campaign-slip h3{font-size:31px}.slip-head{font-size:10px}.slip-line{font-size:14px;gap:14px}.slip-bottom strong{font-size:14px}.infection-banner>div{padding:20px 16px}.infection-banner h2{font-size:30px}.infection-banner p{font-size:14px;max-width:240px}.lab-roster{max-height:none}.infection-banner .infection-network{top:90px;height:190px}}

/* Let the living network breathe past the specimen frame; its orbits keep whole organisms visible. */
.organism-field{overflow:visible}
.organism-field>.infection-network{inset:-16px;width:calc(100% + 32px);height:calc(100% + 32px)}
@media(max-width:680px){.organism-field>.infection-network{inset:-8px;width:calc(100% + 16px);height:calc(100% + 16px)}}

/* Chapters share a content-sized grid, so wrapping never collides with the launch actions. */
.infection-pin{grid-template-rows:1fr;align-items:center}
.infection-chapters{display:grid;height:auto;min-height:0;margin:24px 0 0}
.infection-chapters article{position:relative;inset:auto;grid-area:1/1;align-self:start;min-width:0;transition:none;transform:none}
.infection-chapters article.active{transition:opacity .35s ease}
.infection-chapters h1{font-size:clamp(48px,5.4vw,78px);line-height:1.08}
.infection-chapters p{margin-bottom:0}
.infection-actions{position:relative;margin-top:30px;clear:both}
@media(max-width:900px){.infection-chapters h1{font-size:clamp(42px,6vw,60px)}}
@media(max-width:680px){.infection-pin{grid-template-rows:auto auto;height:auto;min-height:calc(100svh - 74px);padding-block:20px;gap:20px}.infection-copy{padding:0}.infection-chapters{height:auto;margin-top:18px}.infection-chapters h1{font-size:clamp(42px,11vw,64px);margin:12px 0 20px}.infection-chapters p{margin:0;font-size:16px;line-height:1.65}.infection-actions{margin:24px 0 0}.organism{align-self:start}.organism-field{aspect-ratio:1.55}}

/* Start the hero directly below navigation instead of vertically centering it. */
@media(min-width:681px){.infection-pin{align-items:start;padding-top:28px}.infection-copy{padding:0}.organism{align-self:start}.infection-chapters{margin-top:20px}}
