/* Antibody discovery page: protein-service structure with topic-specific modules. */
.antibody-service-page{--purple:#092742;--violet:#159b9a;--magenta:#159b9a;--navy:#061d33;--antibody-ink:#092742;font-size:16px}
.antibody-service-page :focus-visible{outline-color:#159b9a}
.antibody-service-page .section h2,
.antibody-service-page .contact-section h2,
.antibody-service-page .antibody-faq-section h2,
.antibody-service-page .ordering h2,
.antibody-service-page .request h2{font-size:32px}
.antibody-service-page .overview-copy p{font-size:16px;line-height:1.65}
.antibody-service-page .high-item h3{font-size:17px;line-height:1.4}
.antibody-service-page .high-item p{font-size:14px;line-height:1.55}
.antibody-service-page .high-item>i{color:#159b9a}
.antibody-service-page .request-item i{border-color:#82d2d0;color:#0d7878}
.antibody-service-page .order-step:not(:last-child)::after{color:#159b9a}

/* The source artwork is 2098 × 749, matching the approved protein-service banner. */
.antibody-service-page .hero{height:365px;overflow:hidden;background:#071650 url('../images/services/provetop-phage-display-antibody-discovery-hero-2098x749.webp') center/cover no-repeat;isolation:auto}
.antibody-service-page .hero::before,.antibody-service-page .hero::after{content:none}
.antibody-service-page .hero .wrap{grid-template-columns:minmax(0,1fr);gap:0}
.antibody-service-page .hero-copy{width:50%;padding-top:72px}
.antibody-service-page .hero h1{max-width:590px;margin:0 0 10px;color:#fff;font-size:46px;line-height:1.1}
.antibody-service-page .hero p{max-width:500px;margin:0 0 24px;color:rgba(255,255,255,.9);font-size:18px;line-height:1.55}
.antibody-service-page .pill{min-height:46px;border-radius:4px;background:#fff;color:#092742}
.antibody-service-page .pill:hover{background:#159b9a;color:#fff}
.antibody-service-page .subnav a:first-child{color:inherit;border-color:transparent}
.antibody-service-page .subnav a:hover,.antibody-service-page .subnav a:focus-visible{color:#0d7878;border-color:#159b9a}
.antibody-service-page .subnav .order{border-color:#82d2d0;background:#eef8f7;color:#0d7878}

.antibody-service-page .section{padding:64px 0 0}
.antibody-service-page .highlights,
.antibody-service-page .workflow,
.antibody-service-page .service,
.antibody-service-page .cases{padding-top:72px}
.antibody-service-page .workflow .section-heading,
.antibody-service-page .service .section-heading,
.antibody-service-page .cases .section-heading{margin-bottom:28px}
.antibody-service-page .workflow .section-heading h2,
.antibody-service-page .service .section-heading h2,
.antibody-service-page .cases .section-heading h2{margin-bottom:0}
.antibody-service-page .workflow-map{grid-template-columns:repeat(5,minmax(0,1fr))}
.antibody-service-page .antibody-table th:first-child{width:22%}
.antibody-service-page .antibody-table th:nth-child(2){width:46%}
.antibody-service-page .antibody-table th:nth-child(3){width:32%}

.antibody-service-page .antibody-cases{padding-bottom:72px}
.antibody-service-page .antibody-cases .case-gallery{grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
.antibody-service-page .antibody-cases .case-gallery img{width:100%;height:auto;aspect-ratio:4/3;object-fit:contain;background:#fff}
.antibody-service-page .antibody-cases figcaption a{color:#008f8c;text-decoration:underline;text-underline-offset:2px}

.antibody-service-page .contact-section{margin-top:0;background:linear-gradient(135deg,#eef8f7,#f7fafc)}
.antibody-service-page .contact-copy img{filter:saturate(.8)}
.antibody-service-page .antibody-faq-section{padding:64px 0;background:#fff}
.antibody-service-page .antibody-faq-section .section-heading{max-width:none;margin:0 0 24px}
.antibody-service-page .antibody-faq-section .section-heading h2{margin:0}
.antibody-service-page .faq-list{border-top:1px solid #d9e2e8}
.antibody-service-page .faq-list details{border-bottom:1px solid #d9e2e8;background:#fff}
.antibody-service-page .faq-list summary{display:flex;min-height:58px;align-items:center;padding:16px 4px;color:#092742;font-size:16px;font-weight:500;line-height:1.45;cursor:pointer;list-style:none}
.antibody-service-page .faq-list summary::-webkit-details-marker{display:none}
.antibody-service-page .faq-list summary span{margin-right:5px}
.antibody-service-page .faq-list summary::after{content:"\2303";margin-left:auto;padding-left:24px;color:#092742;font-size:19px;line-height:1;transform:translateY(3px)}
.antibody-service-page .faq-list details:not([open]) summary::after{transform:rotate(180deg) translateY(3px)}
.antibody-service-page .faq-answer{padding:0 42px 24px 4px}
.antibody-service-page .faq-answer p{max-width:1080px;margin:0;color:#243746;font-size:16px;line-height:1.65}
.antibody-service-page .ordering{padding:64px 0}

@media(max-width:1080px){
	.antibody-service-page .workflow-map{grid-template-columns:repeat(5,minmax(0,1fr))}
	.antibody-service-page .workflow-map li{grid-template-columns:48px minmax(0,1fr);gap:10px}
	.antibody-service-page .workflow-icon{width:48px;height:48px}
	.antibody-service-page .workflow-link{right:-15px}
}
@media(max-width:900px){
	.antibody-service-page .hero{height:300px;background-position:56% center}
	.antibody-service-page .hero-copy{width:66%;padding-top:48px}
	.antibody-service-page .hero h1{font-size:40px}
	.antibody-service-page .section{padding-top:56px}
	.antibody-service-page .highlights,.antibody-service-page .workflow,.antibody-service-page .service,.antibody-service-page .cases{padding-top:64px}
	.antibody-service-page .workflow-map{grid-template-columns:1fr}
	.antibody-service-page .antibody-table{width:860px;min-width:860px}
}
@media(max-width:600px){
	.antibody-service-page .hero{height:300px;background-position:58% center}
	.antibody-service-page .hero-copy{width:74%;padding-top:42px}
	.antibody-service-page .hero h1{font-size:38px}
	.antibody-service-page .hero p{font-size:16px}
	.antibody-service-page .antibody-faq-section,.antibody-service-page .ordering{padding:56px 0}
	.antibody-service-page .antibody-cases .case-gallery{grid-template-columns:1fr;gap:16px}
	.antibody-service-page .faq-list summary{min-height:64px;padding:16px 0;font-size:16px}
	.antibody-service-page .faq-answer{padding:0 28px 20px 0}
}
