/* Supplier evidence pages. Scope deliberately excludes the home page. */
.factory-detail-page{--detail-space:64px;overflow-wrap:break-word}
.factory-detail-page h1{font-size:clamp(42px,4.15vw,62px);line-height:1.06;letter-spacing:-.045em}
.factory-detail-page h2{font-size:clamp(32px,3.2vw,46px);line-height:1.12;letter-spacing:-.035em}
.factory-detail-page h3{font-size:23px;line-height:1.25;letter-spacing:-.025em}
.factory-detail-page p{max-width:75ch;line-height:1.65}
.factory-detail-page figure{margin:0;min-width:0}
.factory-detail-page img{width:100%;object-fit:cover;display:block}
.factory-detail-page figcaption{font-size:12px;color:var(--muted);padding:10px 0;line-height:1.5}
.factory-detail-page .text-link{display:inline-flex;align-items:center;min-height:44px;margin-top:5px;font-size:14px;line-height:1.4}
.factory-detail-page .button{min-height:48px;white-space:normal;text-align:center;line-height:1.5}
.factory-detail-page :is(a,summary,[tabindex]):focus-visible{outline:3px solid var(--accent);outline-offset:4px}
.factory-topic-nav{display:flex;gap:6px;border-bottom:1px solid var(--line);padding:0 0 12px;flex-wrap:wrap}
.factory-topic-nav a{padding:10px 18px;min-height:44px;display:flex;align-items:center;font-size:14px;border:1px solid transparent}
.factory-topic-nav a[aria-current]{background:var(--dark);color:white}
.factory-topic-nav a:hover{border-color:var(--ink)}
.factory-detail-hero{display:grid;grid-template-columns:1fr 1fr;gap:7%;align-items:center;padding:42px 0 32px}
.factory-detail-hero .lead{font-size:18px;line-height:1.6;margin:24px 0;color:var(--muted)}
.factory-detail-hero img{aspect-ratio:4/3;height:auto}
.factory-hero-actions{display:flex;gap:14px 22px;align-items:center;flex-wrap:wrap}
.factory-hero-actions .text-link{margin:0}
.factory-jumps{border-top:1px solid var(--line);border-bottom:1px solid var(--line);display:flex;flex-wrap:wrap;gap:6px 30px;padding:9px 0}
.factory-jumps a{min-height:44px;display:flex;align-items:center;font-size:14px;text-decoration:underline;text-underline-offset:5px}
.factory-section{padding-top:var(--detail-space);padding-bottom:var(--detail-space);border-bottom:1px solid var(--line);scroll-margin-top:125px}
.factory-section-heading{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:10%;align-items:end;margin-bottom:30px}
.factory-section-heading>p{color:var(--muted);font-size:16px;margin:0}
.factory-two-column{display:grid;grid-template-columns:1fr 1fr;gap:7%;min-width:0}
.factory-two-column h3:not(:first-child){margin-top:25px}
.factory-two-column p{margin:13px 0;font-size:16px}
.factory-detail-page address{font-style:normal;font-size:18px;line-height:1.6;max-width:38ch;margin-top:12px}
.factory-contact-links,.factory-inline-links{display:flex;gap:5px 24px;flex-wrap:wrap;align-items:center}
.factory-proof-note{background:var(--soft);border-top:2px solid var(--accent);padding:28px}
.factory-proof-note h3{font-size:28px}
.factory-facts{margin:0;border-top:1px solid var(--line)}
.factory-facts>div{display:grid;grid-template-columns:1fr 1.6fr;gap:20px;padding:16px 0;border-bottom:1px solid var(--line);font-size:15px}
.factory-facts dt{color:var(--muted)}
.factory-facts dd{margin:0}
.factory-photo-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px}
.factory-photo-grid:has(>article:nth-child(2):last-child){grid-template-columns:repeat(2,minmax(0,1fr))}
.factory-photo-grid img{aspect-ratio:3/2}
.factory-photo-grid h3{margin-top:14px}
.factory-photo-grid p{font-size:15px;margin:14px 0 3px;color:var(--muted)}
.factory-detail-page .faq-list{max-width:940px}
.factory-detail-page .faq-list details{padding:0}
.factory-detail-page .faq-list details[open]{padding-bottom:12px}
.factory-detail-page .faq-list p a{display:inline-flex;align-items:center;min-height:44px;text-decoration:underline}
.factory-detail-page .faq-list summary{font-size:18px;line-height:1.5;min-height:56px;padding:20px 0;gap:16px}
.factory-detail-page .faq-list p{font-size:16px;padding-bottom:16px}
.factory-next{display:grid;grid-template-columns:1.6fr 1fr;align-items:center;gap:8%;padding:50px 0 65px}
.factory-next p{font-size:16px;margin:18px 0 0;color:var(--muted)}
.factory-next>div:last-child{display:flex;flex-direction:column;align-items:flex-start;gap:12px}
.factory-next .text-link{overflow-wrap:anywhere}
.factory-record-types{display:grid;grid-template-columns:repeat(auto-fit,minmax(235px,1fr));gap:24px;margin-top:30px}
.factory-record-types article{border:1px solid var(--line);padding:24px}
.factory-card-label{color:var(--muted);font-size:11px;letter-spacing:.12em;display:block;margin-bottom:16px}
.factory-record-types p{font-size:15px;color:var(--muted);margin-top:16px}
.factory-inspection-layout{display:grid;grid-template-columns:1fr 1fr;gap:7%;align-items:center}
.factory-inspection-layout img{aspect-ratio:3/2}
.factory-inspection-layout p{font-size:16px;margin-top:18px}
.factory-table-scroll{overflow-x:auto;max-width:100%;margin-top:25px}
.factory-table-scroll table{width:100%;min-width:680px}
.factory-detail-page th,.factory-detail-page td{padding:18px 16px;font-size:15px;vertical-align:top;line-height:1.55}
.factory-detail-page thead th{font-size:12px;background:var(--soft);color:var(--ink)}
.factory-detail-page .quality-certificates{padding-top:var(--detail-space);padding-bottom:var(--detail-space)}
.factory-detail-page .certificate-layout{gap:5%;grid-template-columns:minmax(180px,.55fr) minmax(0,1.45fr)}
.factory-detail-page .certificate-preview{display:block;max-width:320px;align-self:start}
.factory-detail-page .certificate-preview img{height:auto;object-fit:contain}
.factory-detail-page .evidence-facts>div{padding:12px 0;gap:20px}
.factory-detail-page .evidence-facts dd{font-size:14px;overflow-wrap:anywhere}
.factory-detail-page .evidence-facts dt{font-size:12px}
.factory-detail-page .calibration-section{padding-top:var(--detail-space);padding-bottom:var(--detail-space)}
.factory-detail-page .calibration-record{gap:7%;margin-top:28px}
.factory-equipment-intro{padding:42px 0 28px;max-width:880px}
.factory-equipment-intro .lead{font-size:20px;line-height:1.55;margin-top:25px}
.factory-equipment-intro>p:not(.lead):not(.eyebrow){color:var(--muted);font-size:16px;margin:12px 0 20px}
.factory-count-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.factory-count-grid a{padding:22px 18px;border-right:1px solid var(--line);min-height:100px}
.factory-count-grid a:last-child{border:0}
.factory-count-grid a:hover{background:var(--soft)}
.factory-count-grid strong{display:block;font-size:38px;font-weight:500;line-height:1.2}
.factory-count-grid span{font-size:14px;display:block;margin-top:5px}
.factory-inventory-note{border-left:2px solid var(--accent);padding:2px 22px;margin:30px 0}
.factory-inventory-note p{font-size:14px;max-width:95ch;color:var(--muted)}
.factory-inventory-note strong{color:var(--ink)}
.factory-detail-page .equipment-groups{padding-top:5px;padding-bottom:0}
.factory-detail-page .equipment-group{margin:0 0 30px;padding:20px 0;scroll-margin-top:125px}
.factory-detail-page .equipment-group-heading{align-items:center;gap:20px;flex-wrap:wrap;margin-bottom:15px}
.factory-scroll-hint{display:none}
.factory-detail-page .equipment-group h2{font-size:28px;text-transform:none}
.factory-detail-page .equipment-count{font-size:14px;white-space:nowrap}
.factory-detail-page .inventory-table{min-width:590px}
.factory-detail-page .inventory-table th:first-child{width:32%}
.factory-detail-page .inventory-table td:nth-child(2){width:23%}
.factory-detail-page .inventory-table td:nth-child(3){width:28%}
.factory-review-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:30px;list-style:none;padding:0;counter-reset:review}
.factory-review-list li{border-top:1px solid var(--line);padding-top:20px;counter-increment:review}
.factory-review-list li:before{content:'0' counter(review);display:block;color:var(--muted);font-size:13px;margin-bottom:15px}
.factory-review-list p{font-size:15px;color:var(--muted);margin-top:13px}
@media(max-width:850px){
 .factory-detail-hero{gap:30px}.factory-detail-page h1{font-size:43px}
 .factory-section-heading{gap:25px;grid-template-columns:1fr 1fr}
 .factory-photo-grid{gap:18px}.factory-photo-grid h3{font-size:20px}
 .factory-record-types{gap:16px}.factory-record-types article{padding:20px}
 .factory-count-grid a{padding:20px 12px}.factory-count-grid span{font-size:13px}
}
@media(max-width:600px){
 .factory-detail-page{--detail-space:38px}
 .factory-detail-page h1{font-size:42px}.factory-detail-page h2{font-size:32px}.factory-detail-page h3{font-size:23px}
 .factory-topic-nav{gap:2px;padding-bottom:10px}.factory-topic-nav a{padding:10px 8px;font-size:12px}
 .factory-detail-hero{grid-template-columns:1fr;padding:30px 0 20px;gap:25px}
 .factory-detail-hero .lead{font-size:17px;margin:20px 0}
 .factory-detail-hero img{aspect-ratio:3/2}
 .factory-hero-actions{gap:10px 18px}.factory-hero-actions .button{width:100%;padding:12px 18px}
 .factory-jumps{gap:0 20px}.factory-jumps a{font-size:13px;min-height:44px}
 .factory-section-heading,.factory-two-column,.factory-inspection-layout,.factory-next{grid-template-columns:1fr;gap:24px}
 .factory-section-heading{margin-bottom:25px}.factory-section-heading>p{font-size:15px}
 .factory-proof-note{padding:22px}.factory-contact-links{gap:3px 18px}
 .factory-facts>div{grid-template-columns:1fr 1.5fr;gap:14px;font-size:14px}
 .factory-photo-grid,.factory-photo-grid:has(>article:nth-child(2):last-child){grid-template-columns:1fr;gap:30px}
 .factory-photo-grid article{display:grid;grid-template-columns:112px minmax(0,1fr);gap:0 18px;align-items:start}
 .factory-photo-grid article figure{grid-row:1/4}
 .factory-photo-grid article h3{margin-top:0}
 .factory-photo-grid article p,.factory-photo-grid article>a{grid-column:2}
 .factory-photo-grid article figcaption{font-size:11px;line-height:1.45}
 .factory-photo-grid h3{font-size:24px}.factory-photo-grid img{aspect-ratio:3/2}
 .factory-next{padding:38px 0 45px}.factory-next>div:last-child{align-items:stretch}.factory-next .text-link{align-self:flex-start}
 .factory-record-types{grid-template-columns:1fr}
 .factory-detail-page .certificate-layout{grid-template-columns:1fr;gap:25px}
 .factory-detail-page .certificate-preview{width:180px;max-width:100%}
 .factory-detail-page .evidence-facts>div{grid-template-columns:1fr;gap:5px}
 .factory-detail-page .calibration-record{grid-template-columns:1fr;gap:20px}
 .factory-detail-page th,.factory-detail-page td{font-size:14px;padding:14px 12px}
 .factory-equipment-intro{padding:30px 0 25px}.factory-equipment-intro .lead{font-size:17px;margin-top:20px}
 .factory-count-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
 .factory-count-grid a{border-bottom:1px solid var(--line);min-height:100px}.factory-count-grid a:nth-child(2n){border-right:0}
 .factory-count-grid a:last-child{grid-column:1/-1;min-height:72px;display:flex;gap:16px;align-items:center;border-bottom:0}
 .factory-count-grid strong{font-size:32px}.factory-count-grid span{font-size:14px}
 .factory-inventory-note{padding-left:16px;margin:24px 0}
 .factory-scroll-hint{display:block;font-size:12px;color:var(--muted);margin:14px 0}
 .factory-detail-page .equipment-group h2{font-size:25px}.factory-detail-page .equipment-group{margin-bottom:14px}
 .factory-detail-page .equipment-group-heading{gap:10px;margin-bottom:12px}
 .factory-review-list{grid-template-columns:1fr;gap:20px}
 .factory-detail-page .faq-list summary{font-size:17px}.factory-detail-page .faq-list p{font-size:15px}
}
/* Confirmed quality supervisor; identity only, no inferred duties. */
.quality-person-layout{display:flex;gap:28px;align-items:center;margin-top:24px}
.quality-person-layout .quality-person-photo{display:block;width:200px;height:auto;flex:none}
.quality-person-layout h3{font-size:30px;line-height:1.2;margin:0 0 12px}
.quality-person-layout p{margin:8px 0}
.quality-practices ul{padding-left:22px;margin-top:20px;max-width:850px;line-height:1.7}
@media(max-width:600px){.quality-person-layout{gap:18px;align-items:start}.quality-person-layout .quality-person-photo{width:112px}.quality-person-layout h3{font-size:24px}.quality-person-layout p{font-size:14px}}
