.project-hero{padding:22px 0 26px;background:#fff}.project-hero-grid{display:grid;grid-template-columns:1.2fr .8fr;gap:36px;align-items:center}.project-hero h1{margin:10px 0;color:#102a55;font:800 clamp(34px,4vw,48px)/1.1 Manrope,Inter,Arial,sans-serif;letter-spacing:-1.3px}.project-hero h1 span{color:#0873f9}.project-hero p{max-width:700px;margin:0;color:#4b607d;font-size:16px;line-height:1.6}.project-art{height:180px;background:linear-gradient(140deg,#e4f3ff,#fafdff 55%,#c5e2fb)!important}.project-art .wave-art{color:#0a83ed}.project-flow{display:grid;grid-template-columns:150px repeat(4,1fr);gap:10px;align-items:stretch;margin:8px auto 24px;padding:18px;border-radius:14px;background:#eff8ff}.project-flow h2{align-self:center;margin:0;color:#102a55;font-size:16px;line-height:1.4}.flow-step{position:relative;display:grid;place-items:center;min-height:90px;padding:12px;border:1px solid #d8e9f6;border-radius:12px;background:#fff;text-align:center}.flow-step strong{color:#102a55;font-size:14px}.flow-step small{display:block;margin-top:5px;color:#607895;font-size:12px}.flow-step:not(:last-child)::after{position:absolute;right:-14px;z-index:1;content:"→";color:#0873f9;font-size:20px;font-weight:800}.project-table-wrap{overflow-x:auto;border:1px solid #dce8f5;border-radius:12px}.project-table{width:100%;border-collapse:collapse;font-size:14px}.project-table caption{padding:13px 16px;background:#eff7ff;color:#102a55;text-align:left;font-weight:750}.project-table th,.project-table td{padding:9px 14px;border-bottom:1px solid #e7eef5;text-align:left}.project-table th{background:#f7fbff;color:#102a55}.project-table td:first-child{width:50px;color:#0873f9;font-weight:750}.project-table tr:last-child td{border-bottom:0}.project-category-links{display:flex;gap:12px;flex-wrap:wrap;margin:22px 0}.project-category-links a{color:#0873f9;font-weight:700;text-decoration:none}.project-category-links a:hover{text-decoration:underline}
@media(max-width:820px){.project-flow{grid-template-columns:repeat(4,1fr)}.project-flow h2{grid-column:1/-1}.project-flow .flow-step:after{display:none}}
@media(max-width:600px){.project-hero-grid{grid-template-columns:1fr}.project-art{height:145px}.project-flow{grid-template-columns:1fr 1fr;padding:12px}.project-flow h2{grid-column:1/-1}.project-table{min-width:560px}}

/* Part 3 / Physical Design reference correction. */
.project-page.physical-projects .project-hero{padding:10px 0 18px}
.project-page.physical-projects .project-hero .breadcrumbs{margin-bottom:12px}
.project-page.physical-projects .project-hero-grid{grid-template-columns:minmax(0,1fr)}
.project-page.physical-projects .project-hero h1{margin:8px 0 4px;font-size:clamp(38px,4vw,48px);letter-spacing:-1.2px}
.project-page.physical-projects .project-hero p{max-width:760px;font-size:16px;line-height:1.6}
.project-page.physical-projects .project-flow{grid-template-columns:145px minmax(0,1fr);gap:16px;margin:12px auto 16px;padding:12px 14px;border-radius:12px}
.project-page.physical-projects .project-flow h2{grid-column:1;align-self:center;font-size:15px;line-height:1.35}
.project-page.physical-projects .flow-steps{grid-column:2;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px;margin:0;padding:0;list-style:none}
.project-page.physical-projects .flow-step{grid-template-rows:34px auto auto;gap:5px;min-width:0;min-height:106px;padding:9px 8px;border-radius:11px}
.project-page.physical-projects .flow-step:nth-child(1){border-color:#d6e5fb;background:#e8f1ff}
.project-page.physical-projects .flow-step:nth-child(2){border-color:#d8efd9;background:#eaf7e9}
.project-page.physical-projects .flow-step:nth-child(3){border-color:#f7e5c3;background:#fff3de}
.project-page.physical-projects .flow-step:nth-child(4){border-color:#e6d9fb;background:#f2ebff}
.project-page.physical-projects .flow-step strong{font-size:13px}
.project-page.physical-projects .flow-step small{margin-top:0;font-size:11px;line-height:1.35}
.project-page.physical-projects .flow-icon-placeholder{display:block;width:34px;height:34px;border:1px dashed #7ca8e4;border-radius:9px;background:rgba(255,255,255,.65)}
.project-page.physical-projects .flow-step:nth-child(2) .flow-icon-placeholder{border-color:#83bd86}
.project-page.physical-projects .flow-step:nth-child(3) .flow-icon-placeholder{border-color:#e5aa4d}
.project-page.physical-projects .flow-step:nth-child(4) .flow-icon-placeholder{border-color:#a98bd8}
.project-page.physical-projects .flow-step:not(:last-child)::after{top:50%;right:-19px;transform:translateY(-50%);font-size:18px}
.project-page.physical-projects .project-table-wrap{border-radius:10px}
.project-page.physical-projects .project-table{font-size:13px}
.project-page.physical-projects .project-table caption{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}
.project-page.physical-projects .project-table th,.project-page.physical-projects .project-table td{padding:7px 12px}
.project-page.physical-projects .project-table tbody tr:hover td{background:#f7fbff}
.project-page.physical-projects .project-table td:last-child{width:125px}
.project-page.physical-projects .project-table .project-number{display:inline-grid;place-items:center;min-width:25px;height:25px;padding:0 4px;border-radius:7px;background:#e7f3ff;color:#0873f9;font-size:12px;font-weight:750}
.project-page.physical-projects .project-detail summary{color:#0873f9;cursor:pointer;white-space:nowrap}
.project-page.physical-projects .project-detail summary:hover{text-decoration:underline}
.project-page.physical-projects .project-detail p{max-width:560px;margin:8px 0;color:#4b607d;line-height:1.55;white-space:normal}
.project-page.physical-projects .project-table-wrap:focus-visible{outline:3px solid #ffb21f;outline-offset:3px}
@media(max-width:1020px){.project-page.physical-projects .project-flow{grid-template-columns:1fr}.project-page.physical-projects .project-flow h2{grid-column:1}.project-page.physical-projects .flow-steps{grid-column:1;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.project-page.physical-projects .flow-step:nth-child(2)::after{top:auto;right:50%;bottom:-21px;transform:translateX(50%) rotate(90deg)}.project-page.physical-projects .flow-step:nth-child(3)::after{right:-18px}.project-page.physical-projects .flow-step:nth-child(4)::after{display:none}}
@media(max-width:600px){.project-page.physical-projects .project-hero h1{font-size:34px}.project-page.physical-projects .project-flow{padding:12px}.project-page.physical-projects .flow-steps{grid-template-columns:1fr;gap:16px}.project-page.physical-projects .flow-step{grid-template-columns:38px minmax(0,1fr);grid-template-rows:auto auto;justify-items:start;min-height:0;padding:10px 12px;text-align:left}.project-page.physical-projects .flow-icon-placeholder{grid-column:1;grid-row:1/3}.project-page.physical-projects .flow-step strong{grid-column:2}.project-page.physical-projects .flow-step small{grid-column:2}.project-page.physical-projects .flow-step:not(:last-child)::after{top:auto;right:50%;bottom:-19px;transform:translateX(50%) rotate(90deg)}.project-page.physical-projects .project-table{min-width:560px}}

/* Part 3 / Design Verification reference correction. */
.project-page.verification-projects .project-hero{padding:10px 0 18px}
.project-page.verification-projects .project-hero .breadcrumbs{margin-bottom:12px}
.project-page.verification-projects .project-hero-grid{grid-template-columns:minmax(0,1fr) 230px;gap:30px}
.project-page.verification-projects .project-hero h1{margin:8px 0 4px;font-size:clamp(38px,4vw,48px);letter-spacing:-1.2px}
.project-page.verification-projects .project-hero p{max-width:700px;font-size:16px;line-height:1.6}
.project-page.verification-projects .project-flow{grid-template-columns:145px minmax(0,1fr);gap:16px;margin:12px auto 16px;padding:12px 14px;border-radius:12px}
.project-page.verification-projects .project-art{width:230px;height:auto;aspect-ratio:1.65/1;margin-left:auto;border-radius:12px;background:#edf6fd!important;color:#607895}
.project-page.verification-projects .project-art .asset-caption{padding:8px 12px;border:1px solid #d4e6f5;border-radius:999px;background:rgba(255,255,255,.9);font-size:12px;font-weight:650;text-align:center}
.project-page.verification-projects .project-flow h2{grid-column:1;align-self:center;font-size:15px;line-height:1.35}
.project-page.verification-projects .flow-steps{grid-column:2;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px;margin:0;padding:0;list-style:none}
.project-page.verification-projects .flow-step{grid-template-rows:34px auto auto;gap:5px;min-width:0;min-height:106px;padding:9px 8px;border-radius:11px}
.project-page.verification-projects .flow-step:nth-child(1){border-color:#d8e9f6;background:#fff}
.project-page.verification-projects .flow-step:nth-child(2){border-color:#d8e9f6;background:#fff}
.project-page.verification-projects .flow-step:nth-child(3){border-color:#d8e9f6;background:#fff}
.project-page.verification-projects .flow-step:nth-child(4){border-color:#d8e9f6;background:#fff}
.project-page.verification-projects .flow-step strong{font-size:13px}
.project-page.verification-projects .flow-step small{margin-top:0;font-size:11px;line-height:1.35}
.project-page.verification-projects .flow-icon-placeholder{display:block;width:34px;height:34px;border:1px dashed #7ca8e4;border-radius:9px;background:#f5faff}
.project-page.verification-projects .flow-step:nth-child(2) .flow-icon-placeholder{border-color:#83bd86}
.project-page.verification-projects .flow-step:nth-child(3) .flow-icon-placeholder{border-color:#e5aa4d}
.project-page.verification-projects .flow-step:nth-child(4) .flow-icon-placeholder{border-color:#a98bd8}
.project-page.verification-projects .flow-step:not(:last-child)::after{top:50%;right:-19px;transform:translateY(-50%);font-size:18px}
.project-page.verification-projects .project-table-wrap{border-radius:10px}
.project-page.verification-projects .project-table{font-size:13px}
.project-page.verification-projects .project-table caption{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}
.project-page.verification-projects .project-table th,.project-page.verification-projects .project-table td{padding:7px 12px}
.project-page.verification-projects .project-table tbody tr:hover td{background:#f7fbff}
.project-page.verification-projects .project-table td:last-child{width:125px}
.project-page.verification-projects .project-table .project-number{display:inline-grid;place-items:center;min-width:25px;height:25px;padding:0 4px;border-radius:7px;background:#e7f3ff;color:#0873f9;font-size:12px;font-weight:750}
.project-page.verification-projects .project-detail summary{color:#0873f9;cursor:pointer;white-space:nowrap}
.project-page.verification-projects .project-detail summary:hover{text-decoration:underline}
.project-page.verification-projects .project-detail p{max-width:560px;margin:8px 0;color:#4b607d;line-height:1.55;white-space:normal}
.project-page.verification-projects .project-table-wrap:focus-visible{outline:3px solid #ffb21f;outline-offset:3px}
@media(max-width:1020px){.project-page.verification-projects .project-flow{grid-template-columns:1fr}.project-page.verification-projects .project-flow h2{grid-column:1}.project-page.verification-projects .flow-steps{grid-column:1;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.project-page.verification-projects .flow-step:nth-child(2)::after{top:auto;right:50%;bottom:-21px;transform:translateX(50%) rotate(90deg)}.project-page.verification-projects .flow-step:nth-child(3)::after{right:-18px}.project-page.verification-projects .flow-step:nth-child(4)::after{display:none}}
@media(max-width:600px){.project-page.verification-projects .project-hero h1{font-size:34px}.project-page.verification-projects .project-flow{padding:12px}.project-page.verification-projects .flow-steps{grid-template-columns:1fr;gap:16px}.project-page.verification-projects .flow-step{grid-template-columns:38px minmax(0,1fr);grid-template-rows:auto auto;justify-items:start;min-height:0;padding:10px 12px;text-align:left}.project-page.verification-projects .flow-icon-placeholder{grid-column:1;grid-row:1/3}.project-page.verification-projects .flow-step strong{grid-column:2}.project-page.verification-projects .flow-step small{grid-column:2}.project-page.verification-projects .flow-step:not(:last-child)::after{top:auto;right:50%;bottom:-19px;transform:translateX(50%) rotate(90deg)}.project-page.verification-projects .project-table{min-width:560px}}

@media(max-width:600px){.project-page.verification-projects .project-hero-grid{grid-template-columns:1fr;gap:16px}.project-page.verification-projects .project-art{width:100%;aspect-ratio:1.65/1;height:auto;margin-left:0}.project-page.verification-projects .project-hero h1{font-size:34px}}

/* Shared, static project directory and reading sections. */
.project-page .project-directory{margin:26px 0 52px;scroll-margin-top:94px}
.project-page .project-section-heading{display:flex;align-items:end;justify-content:space-between;gap:18px;padding:0 0 17px;border-bottom:1px solid var(--ip-line)}
.project-page .project-section-eyebrow{margin:0 0 5px;color:var(--ip-blue);font-size:12px;font-weight:800;letter-spacing:1.4px;text-transform:uppercase}
.project-page .project-section-heading h2,.project-page .project-details-intro h2{margin:0;color:var(--ip-navy);font:800 clamp(25px,2.4vw,32px)/1.2 Manrope,Inter,Arial,sans-serif;letter-spacing:-.6px}
.project-page .project-count{flex:none;padding:7px 11px;border:1px solid var(--ip-line);border-radius:999px;background:var(--ip-pale);color:var(--ip-navy);font-size:13px;font-weight:700}
.project-page .project-directory-intro{margin:15px 0 8px;color:#4b607d;font-size:15px;line-height:1.55}
.project-page .project-overview-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:32px;margin:0;padding:0;list-style:none}
.project-page .project-overview-item{min-width:0}
.project-page .project-overview-link{display:grid;grid-template-columns:36px minmax(0,1fr) 20px;align-items:start;gap:14px;min-height:106px;padding:18px 10px;border-bottom:1px solid var(--ip-line);border-radius:10px;color:var(--ip-ink);text-decoration:none;transition:background-color .18s ease,box-shadow .18s ease,color .18s ease}
.project-page .project-overview-item--no-excerpt .project-overview-link{min-height:0}
.project-page .project-overview-link:hover{background:#f3f8fe;box-shadow:inset 3px 0 0 #1456b8}
.project-page .project-overview-link:hover .project-overview-title{text-decoration:underline;text-decoration-color:var(--ip-blue);text-underline-offset:3px}
.project-page .project-overview-number{display:grid;width:34px;height:34px;place-items:center;border-radius:9px;background:#e8f3ff;color:var(--ip-blue);font-size:13px;font-weight:800;font-variant-numeric:tabular-nums}
.project-page .project-overview-copy{min-width:0}
.project-page .project-overview-title{display:block;color:var(--ip-navy);font:750 16px/1.35 Manrope,Inter,Arial,sans-serif;overflow-wrap:break-word}
.project-page .project-overview-excerpt{display:block;margin-top:6px;color:#4b607d;font-size:14px;line-height:1.5;overflow-wrap:break-word}
.project-page .project-overview-arrow{color:var(--ip-blue);font-size:19px;line-height:1.25}
.project-page .project-details{padding-bottom:22px}
.project-page .project-details-intro{margin:0 0 9px;padding:28px 0 14px;border-top:1px solid var(--ip-line)}
.project-page .project-details-intro p:last-child{margin:8px 0 0;color:#4b607d;font-size:15px}
.project-page .project-detail-section{max-width:980px;margin-inline:auto;padding:29px 26px 27px;border-top:1px solid var(--ip-line);border-radius:7px;scroll-margin-top:92px}
.project-page .project-detail-heading{display:flex;align-items:flex-start;gap:18px}
.project-page .project-detail-number{display:grid;flex:none;width:37px;height:37px;place-items:center;border-radius:10px;background:#e8f3ff;color:var(--ip-blue);font-size:13px;font-weight:800;font-variant-numeric:tabular-nums}
.project-page .project-detail-heading h3{max-width:32ch;margin:2px 0 0;color:var(--ip-navy);font:750 clamp(20px,2vw,25px)/1.3 Manrope,Inter,Arial,sans-serif;letter-spacing:-.35px;overflow-wrap:break-word}
.project-page .project-detail-description{max-width:72ch;margin:13px 0 13px 55px;color:var(--ip-ink);font-size:16px;line-height:1.65;overflow-wrap:break-word}
.project-page .project-back-link{display:inline-flex;min-height:44px;align-items:center;gap:8px;margin-left:55px;padding:8px 12px;border:1px solid #c5d5e8;border-radius:8px;background:#f2f6fb;color:#173b68;font-size:14px;font-weight:750;text-decoration:none;transition:background-color .16s ease,border-color .16s ease,color .16s ease,box-shadow .16s ease;border-color:#cbd9e8}
.project-page .project-back-link:hover{border-color:#a9bfd9;background:#e8f1fb;box-shadow:none;color:#12365f}
.project-page .project-detail-section:target{background:#f3f9ff;box-shadow:inset 4px 0 0 var(--ip-blue)}
.project-page .project-directory:target .project-section-heading{border-bottom-color:var(--ip-blue)}
.project-page .project-directory:focus,.project-page .project-detail-section:focus{outline:none}
.project-page .project-overview-link:focus-visible,.project-page .project-back-link:focus-visible{outline:2px solid #fff;outline-offset:2px;box-shadow:0 0 0 5px #145dc4}.project-page .project-overview-link:active,.project-page .project-back-link:active{background:#e5eff9;transform:translateY(1px)}
.project-page .project-detail-section:focus-visible .project-detail-heading,.project-page .project-directory:focus-visible .project-section-heading{outline:2px solid #fff;outline-offset:2px;border-radius:4px;box-shadow:0 0 0 5px #145dc4}
@media(max-width:820px){.project-page .project-overview-list{grid-template-columns:1fr}.project-page .project-directory{margin-bottom:42px}.project-page .project-detail-section{padding-inline:18px}}
@media(max-width:600px){.project-page .project-directory{margin-top:20px;margin-bottom:36px;scroll-margin-top:94px}.project-page .project-section-heading{align-items:start}.project-page .project-count{font-size:12px}.project-page .project-overview-link{grid-template-columns:34px minmax(0,1fr) 16px;gap:11px;min-height:0;padding:15px 3px}.project-page .project-overview-title{font-size:15px}.project-page .project-overview-excerpt{font-size:13.5px}.project-page .project-details-intro{padding-top:22px}.project-page .project-detail-section{padding:23px 8px 20px;scroll-margin-top:96px}.project-page .project-detail-heading{gap:12px}.project-page .project-detail-number{width:34px;height:34px}.project-page .project-detail-heading h3{font-size:20px}.project-page .project-detail-description{margin:13px 0 11px;font-size:16px;line-height:1.6}.project-page .project-back-link{margin-left:0;border-color:#cbd9e8;border-radius:8px;background:#f2f6fb;color:#173b68;transition:background-color .16s ease,border-color .16s ease,color .16s ease,box-shadow .16s ease}}
@media(prefers-reduced-motion:reduce){.project-page .project-overview-link,.project-page .project-back-link{transition:none}}
.project-page.verification-projects .flow-step{grid-template-rows:34px auto;min-height:90px}
.project-page.verification-projects .flow-step small{display:none}

/* Part 3 vector asset integration: keep assets inside the existing reserved slots. */
.project-page .flow-icon-placeholder{display:grid;place-items:center;border:0!important;background:transparent!important}
.project-page .flow-icon-placeholder img{display:block;width:34px;height:34px;object-fit:contain}
.project-page .project-art .project-waveform{display:block;width:100%;height:100%;object-fit:cover;border-radius:inherit}


