﻿/* Portal reuses the shared case width, rhythm and responsive navigation. */
.portal-goals{margin-top:45px;padding:30px;background:var(--case-soft)}
.portal-goals ul,.portal-summary ul{margin:0;padding:0;list-style:none;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:30px}
.portal-goals li{font-size:16px;line-height:1.6;padding-top:18px;border-top:1px solid #bc9991}
.portal-research{background:#eee9e4}
.portal-audiences,.portal-pair,.portal-services{display:grid;grid-template-columns:1fr 1fr;gap:28px}
.portal-audiences article{padding:32px;background:var(--paper);border-top:3px solid var(--case-accent)}
.portal-audiences p,.portal-pair p,.portal-services p{font-size:16px;color:#514d49;margin:0}
.portal-research-focus{margin-top:35px;max-width:780px}
.portal-research-focus p{color:#514d49;font-size:17px;margin:0}
.portal-mapping{overflow-x:auto}
.portal-mapping:focus-visible{outline:3px solid var(--pink);outline-offset:4px}
.portal-mapping table{width:100%;border-collapse:collapse;text-align:left;table-layout:fixed}
.portal-mapping caption{text-align:left;font-size:12px;line-height:1.6;margin-bottom:24px}
.portal-mapping th,.portal-mapping td{padding:24px 20px;border-bottom:1px solid var(--line);font-size:15px;line-height:1.6;vertical-align:top;overflow-wrap:anywhere}
.portal-mapping thead th{background:var(--case-soft);font-size:12px;font-weight:600}
.portal-mapping tbody th{font-weight:500}
.portal-mapping td{color:#514d49}
.portal-reimbursement{background:#eee5df}
.portal-decisions{border-top:1px solid #c0aca0}
.portal-decisions article{display:grid;grid-template-columns:60px 1fr;gap:25px;padding:32px 0;border-bottom:1px solid #c0aca0}
.portal-decisions article>span{font:700 38px/1 'Barlow Condensed',sans-serif;color:var(--case-accent)}
.portal-decisions p{max-width:820px;margin:0;color:#514d49}
.portal-journey{margin:45px 0 0}
.portal-journey figcaption{font-size:12px;line-height:1.6;margin-bottom:24px}
.portal-additional{margin-top:45px;padding:30px;border:1px solid #c0aca0}
.portal-services article{padding:32px;background:var(--case-soft)}
.portal-validation{background:#eee9e4}
.portal-summary{margin-top:40px}
.portal-summary ul{gap:24px}
.portal-summary li{font-size:15px;border-top:1px solid #776d67;padding-top:18px;line-height:1.6;color:#e0d8d1}
body[data-page=portal] .languages button[aria-pressed=true]{color:#8d514d}
@media(max-width:650px){.portal-goals{padding:24px}.portal-goals ul,.portal-summary ul,.portal-audiences,.portal-pair,.portal-services{grid-template-columns:1fr;gap:24px}.portal-audiences article,.portal-services article{padding:25px}.portal-mapping th,.portal-mapping td{padding:16px 8px;font-size:13px}.portal-mapping thead th{font-size:11px}.portal-decisions article{grid-template-columns:30px 1fr;gap:15px}.portal-decisions article>span{font-size:28px}.portal-additional{padding:24px}}
@media(max-width:650px){.portal-mapping thead{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}.portal-mapping table,.portal-mapping tbody,.portal-mapping tr,.portal-mapping th,.portal-mapping td{display:block;width:100%}.portal-mapping tbody tr{border:1px solid var(--line);margin-bottom:20px;padding:20px}.portal-mapping tbody th,.portal-mapping tbody td{font-size:15px;padding:12px 0;border:0;overflow-wrap:normal}.portal-mapping tbody th{padding-top:0}.portal-mapping tbody td:last-child{padding-bottom:0}.portal-mapping [data-label]:before{content:attr(data-label);display:block;font-size:10px;letter-spacing:.5px;color:var(--case-accent);margin-bottom:5px;font-weight:500}}

.portal-case .case-split>*{min-width:0}
@media(max-width:650px){.portal-mapping caption{display:block;width:100%}.portal-case .case-opening h1{font-size:clamp(40px,12vw,48px)}}

.portal-presentation{margin-top:28px}
.portal-presentation a{display:inline-flex;align-items:center;justify-content:space-between;gap:20px;padding:16px 22px;background:var(--case-accent);color:var(--paper);font-size:15px;font-weight:600;text-decoration:none;border:1px solid var(--case-accent);transition:background .2s,color .2s}
.portal-presentation a:hover{background:var(--case-soft);color:var(--case-accent)}
.portal-presentation a:focus-visible{outline:3px solid var(--pink);outline-offset:4px}
.portal-presentation p{margin:12px 0 0;font-size:14px;line-height:1.6;color:#514d49}
@media(max-width:650px){.portal-presentation a{width:100%;font-size:14px}}
