/* Process and quality narratives; functional relationships replace icon grids. */
.refine-heading { max-width: 760px; margin-bottom: 30px; }
.refine-heading h2 { margin: 0; font-family: Georgia, 'Times New Roman', serif; font-size: var(--type-h2,40px); font-weight: 400; line-height: 1.12; letter-spacing: -.025em; }
.refine-heading .eyebrow { margin: 0 0 15px; }
.refine-manufacturing-hero .split-hero-image { overflow: hidden; background: #ecf1f5; }
.refine-manufacturing-hero .split-hero-image img { object-fit: cover; transform: scale(1.11); }
.refine-route { background: #fff; }
.refine-route-layout { display:grid; grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr); gap:64px; align-items:start; }
.refine-route-intro>p:first-child { margin:0 0 22px; max-width:360px; font-size:22px; line-height:1.45; }
.refine-product-diptych { position:relative; display:grid; grid-template-columns:1fr 1fr; margin:0 0 24px; padding-bottom:72px; }
.refine-sample { position:relative; overflow:hidden; background:#edf3f7; }
.refine-sample img { width:100%; height:100%; display:block; object-fit:cover; }
.refine-product-large { grid-column:1/-1; width:83%; aspect-ratio:1.23; }
.refine-product-large img { transform:scale(1.18); }
.refine-product-small { position:absolute; right:0; bottom:7px; width:49%; aspect-ratio:1.04; border:8px solid #fff; background:#fff; }
.refine-product-small img { transform:scale(1.15); }
.refine-diptych-caption { display:block; position:absolute; bottom:9px; left:0; width:47%; color:#47637b; font:14px/1.5 Source Serif 4 Local,sans-serif; }
.refine-route-note { margin:0 0 20px; max-width:430px; color:#506b80; font:14px/1.65 Source Serif 4 Local,sans-serif; }
.refine-route-steps { border-top:1px solid #b5ccdc; }
.refine-route-step { border-bottom:1px solid #b5ccdc; scroll-margin-top:115px; }
.refine-route-step summary,.refine-control summary { display:grid; grid-template-columns:32px minmax(0,1fr) 16px; align-items:center; column-gap:18px; padding:19px 0; cursor:pointer; list-style:none; }
.refine-route-step summary::-webkit-details-marker,.refine-control summary::-webkit-details-marker,.refine-review-step summary::-webkit-details-marker,.refine-release-option summary::-webkit-details-marker { display:none; }
.refine-route-step summary::marker,.refine-control summary::marker,.refine-review-step summary::marker,.refine-release-option summary::marker { content:''; }
.refine-route-step summary:focus-visible,.refine-control summary:focus-visible,.refine-review-step summary:focus-visible,.refine-release-option summary:focus-visible { outline:2px solid #246c9b; outline-offset:5px; }
.refine-sequence { font:14px/1.3 Source Serif 4 Local,sans-serif; font-variant-numeric:tabular-nums; color:#507e9e; }
.refine-route-step summary strong,.refine-control summary strong { display:block; color:#082b48; font:500 22px/1.3 Source Serif 4 Local,sans-serif; letter-spacing:-.02em; }
.refine-route-step summary small,.refine-control summary small { display:block; margin-top:5px; color:#506b80; font:14px/1.45 Source Serif 4 Local,sans-serif; }
.refine-disclosure { display:block; width:14px; height:14px; position:relative; }
.refine-disclosure::before,.refine-disclosure::after { content:''; position:absolute; top:6px; left:1px; width:12px; height:1px; background:#20587e; }
.refine-disclosure::after { transform:rotate(90deg); transition:transform .15s; }
details[open]>summary .refine-disclosure::after { transform:rotate(0); }
.refine-route-detail { display:grid; grid-template-columns:150px minmax(0,1fr); gap:24px; padding:4px 0 24px 50px; }
.refine-route-detail .refine-sample { height:152px; }
.refine-route-detail .refine-sample:not(.refine-route-photo) img { object-fit:cover; transform:scale(1.12); }
.refine-route-detail .refine-route-photo img { object-position:50% 61%; }
.refine-route-detail p { margin:0 0 13px; font:16px/1.55 Source Serif 4 Local,sans-serif; }
.refine-route-detail .refine-applicability { color:#50718a; font:14px/1.45 Source Serif 4 Local,sans-serif; }
.refine-route-detail .text-link { font-size:14px; display:inline-flex; min-height:44px; align-items:center; text-decoration:underline; text-underline-offset:5px; }
.refine-review { background:#e9f2f8; }
.refine-review-line { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); border-top:1px solid #91b4ca; gap:32px; }
.refine-review-step { position:relative; }
.refine-review-step::before { content:''; position:absolute; left:0; top:-4px; width:7px; height:7px; background:#20587e; }
.refine-review-step summary { list-style:none; cursor:pointer; padding:21px 0 12px; display:flex; align-items:baseline; gap:12px; }
.refine-review-step summary span { font-size:14px; color:#50718a; }
.refine-review-step summary strong { font:500 19px/1.4 Source Serif 4 Local,sans-serif; letter-spacing:-.02em; }
.refine-review-step p { margin:0; font:16px/1.6 Source Serif 4 Local,sans-serif; color:#45647b; }
.refine-review-step summary::after { content:'+'; margin-left:auto; font:18px Source Serif 4 Local,sans-serif; }
.refine-review-step[open] summary::after { content:'−'; }
.refine-quality-invitation { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:64px; align-items:center; }
.refine-quality-image { height:340px; overflow:hidden; }
.refine-quality-image img { width:100%; height:100%; object-fit:cover; object-position:50% 54%; }
.refine-quality-invitation .refine-heading { margin-bottom:22px; }
.refine-quality-invitation p:not(.eyebrow) { max-width:440px; margin-bottom:26px; }
.refine-quality-stages { display:grid; position:static; inset:auto; z-index:auto; padding:0; background:transparent; grid-template-columns:repeat(3,minmax(0,1fr)); border-top:1px solid #abc7da; gap:36px; margin:40px 0; }
.refine-quality-stages a { display:flex; gap:16px; padding-top:20px; min-height:60px; align-items:baseline; text-decoration:none; }
.refine-quality-stages b { color:#6d91ab; font:14px/1.4 Source Serif 4 Local,sans-serif; }
.refine-quality-stages span { font:500 20px/1.4 Source Serif 4 Local,sans-serif; }
.refine-quality-stages a:hover span { text-decoration:underline; text-underline-offset:6px; }
.refine-verification-layout { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:64px; align-items:center; }
.refine-definition-graphic { background:linear-gradient(140deg,#f1f7fb,#e1edf5); padding:15px 20px 22px; }
.refine-definition-graphic svg { display:block; width:100%; height:auto; }
.refine-definition-key { border-top:1px solid #bfd3e1; padding-top:15px; display:flex; justify-content:space-between; flex-wrap:wrap; gap:8px 14px; font:14px/1.5 Source Serif 4 Local,sans-serif; color:#426782; }
.refine-control-list { border-top:1px solid #b5ccdc; }
.refine-control { border-bottom:1px solid #b5ccdc; scroll-margin-top:115px; }
.refine-control>div { padding:0 25px 20px 50px; }
.refine-control p { margin:0; font:16px/1.65 Source Serif 4 Local,sans-serif; color:#45647b; }
.refine-release { background:#082b48; color:#fff; display:grid; grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr); gap:70px; align-items:center; scroll-margin-top:100px; }
.refine-release .eyebrow { color:#98c1de; }
.refine-release .refine-heading h2 { color:#fff; }
.refine-release>div>p { color:#d0e0ec; max-width:440px; font:18px/1.65 Source Serif 4 Local,sans-serif; }
.refine-release-option { margin:28px 0; border-top:1px solid #456580; border-bottom:1px solid #456580; max-width:440px; }
.refine-release-option summary { padding:15px 0; list-style:none; cursor:pointer; font:16px/1.5 Source Serif 4 Local,sans-serif; }
.refine-release-option summary::after { content:'+'; float:right; }
.refine-release-option[open] summary::after { content:'−'; }
.refine-release-option p { margin:0 0 20px; font:14px/1.65 Source Serif 4 Local,sans-serif; color:#c5dbe9; }
.refine-release .site-button { background:#fff; color:#082b48; border-color:#fff; }
.refine-evidence-register { background:#fff; padding:28px 34px 8px; color:#082b48; }
.refine-register-heading { border-bottom:1px solid #aec8da; padding:0 0 21px; display:flex; justify-content:space-between; gap:15px; font:14px/1.4 Source Serif 4 Local,sans-serif; color:#4b6c84; }
.refine-register-heading span:last-child { text-align:right; }
.refine-evidence-row { display:grid; grid-template-columns:24px minmax(0,1fr); gap:17px; padding:23px 0; border-bottom:1px solid #d8e4ec; }
.refine-evidence-row:last-child { border:0; }
.refine-evidence-row .refine-sequence { margin-top:5px; }
.refine-evidence-row h3 { margin:0 0 7px; font:500 21px/1.4 Source Serif 4 Local,sans-serif; }
.refine-evidence-row p { margin:0; font:16px/1.6 Source Serif 4 Local,sans-serif; color:#47657d; }
.refine-qualification { grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:64px; align-items:start; }
.refine-qualification .site-button { margin:0 0 23px; }
@media(min-width:1600px) { .refine-product-large { aspect-ratio:1.18; } }
@media(max-width:1100px) {
 .refine-route-layout,.refine-verification-layout,.refine-release,.refine-quality-invitation { gap:35px; }
 .refine-route-detail { padding-left:0; grid-template-columns:120px minmax(0,1fr); gap:17px; }
 .refine-route-detail .refine-sample { height:130px; }
 .refine-review-line { gap:20px; }
 .refine-review-step summary { display:block; }
 .refine-review-step summary span { display:block; margin-bottom:9px; }
 .refine-review-step summary::after { position:absolute; right:0; top:20px; }
 .refine-evidence-register { padding:24px 25px 5px; }
}
@media(max-width:760px) {
 .refine-route-layout,.refine-verification-layout,.refine-release,.refine-quality-invitation { grid-template-columns:1fr; gap:32px; }
 .refine-route-intro>p:first-child { font-size:20px; max-width:none; }
 .refine-route-intro .refine-product-diptych { max-width:560px; padding-bottom:58px; margin-bottom:20px; }
 .refine-route-intro .refine-product-large { aspect-ratio:1.6; }
 .refine-route-intro .refine-product-small { width:43%; }
 .refine-diptych-caption { width:54%; }
 .refine-route-note { max-width:none; }
 .refine-route-step summary,.refine-control summary { padding:18px 0; gap:12px; grid-template-columns:24px minmax(0,1fr) 14px; }
 .refine-route-step summary strong,.refine-control summary strong { font-size:19px; }
 .refine-route-detail { padding:4px 0 21px; grid-template-columns:110px minmax(0,1fr); gap:18px; }
 .refine-route-detail .refine-sample { height:127px; }
 .refine-route-detail p { font-size:16px; }
 .refine-review-line { grid-template-columns:1fr 1fr; gap:21px 26px; }
 .refine-review-step:nth-child(n+3) { border-top:1px solid #91b4ca; }
 .refine-review-step summary strong { font-size:18px; }
 .refine-quality-image { height:260px; }
 .refine-quality-stages { gap:14px; margin:28px 0; }
 .refine-quality-stages a { display:block; padding-top:15px; }
 .refine-quality-stages b { display:block; margin-bottom:8px; }
 .refine-quality-stages span { font-size:16px; }
 .refine-definition-graphic { padding:5px 8px 18px; }
 .refine-definition-graphic svg text { font-size:26px; }
 .refine-definition-graphic svg text:nth-child(2) { transform:translate(-14px,60px); }
 .refine-definition-key { margin:0 10px; }
 .refine-control>div { padding-left:36px; padding-right:0; }
 .refine-release .refine-heading { margin-bottom:20px; }
 .refine-release>div>p { font-size:16px; }
 .refine-evidence-register { padding:23px 21px 5px; }
 .refine-evidence-row { padding:20px 0; gap:12px; }
 .refine-evidence-row h3 { font-size:19px; }
 .refine-register-heading { font-size:14px; }
 .refine-qualification { grid-template-columns:1fr; gap:22px; }
}
@media(max-width:360px) {
 .refine-definition-graphic svg text { font-size:30px; }
 .refine-route-detail { grid-template-columns:1fr; }
 .refine-route-detail .refine-sample { width:100%; height:170px; }
 .refine-route-detail .refine-sample img { object-fit:contain; transform:none; }
 .refine-review-line { gap:20px 18px; }
}

/* Match the current two-child summaries and single-child evidence rows. */
#manufacturing-route .refine-route-step > summary,
#verification-plan .refine-control > summary { grid-template-columns:minmax(0,1fr) 16px; }
#manufacturing-route .refine-route-step > summary > span:first-child,
#verification-plan .refine-control > summary > span:first-child { min-width:0; }
#manufacturing-route .refine-route-step > summary > .refine-disclosure,
#verification-plan .refine-control > summary > .refine-disclosure { justify-self:end; }
#release-evidence .refine-evidence-row { grid-template-columns:minmax(0,1fr); }
#release-evidence .refine-evidence-row > div { min-width:0; }
