/* Page families for the SAI platform. Brand tokens and navigation live in the shared files. */
.platform-main{min-height:65vh}.platform-main h1,.platform-main h2,.platform-main h3{color:var(--sai-ink);word-break:keep-all;overflow-wrap:break-word}.platform-main h1{font-size:var(--sai-text-h1);font-weight:730;line-height:var(--sai-leading-heading);letter-spacing:var(--sai-tracking-display)}.platform-main h2{font-size:var(--sai-text-h2);font-weight:700;line-height:1.25;letter-spacing:-.04em}.platform-main h3{font-size:var(--sai-text-h3);font-weight:650;line-height:1.4;letter-spacing:-.025em}.platform-main p{word-break:keep-all;overflow-wrap:break-word}.platform-hero{padding-block:var(--sai-hero-y)}.platform-hero-grid{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);gap:64px;align-items:end}.platform-kicker{display:block;color:var(--sai-action);font-size:var(--sai-text-small);font-weight:600;margin-bottom:20px}.platform-lead{font-size:var(--sai-text-body);line-height:1.8;color:var(--sai-body);max-width:480px}.platform-lead p+p{margin-top:16px}.platform-actions{display:flex;align-items:center;flex-wrap:wrap;gap:12px 24px;margin-top:28px}.platform-main .button{border-radius:var(--sai-radius);font-size:var(--sai-text-small);background:var(--sai-action);border-color:var(--sai-action);color:white;min-height:52px}.platform-main .button:hover{background:var(--sai-action-hover);border-color:var(--sai-action-hover)}.platform-main .button-outline{background:white;color:var(--sai-ink);border-color:var(--sai-line)}.platform-main .button-outline:hover{color:var(--sai-action);background:var(--sai-selected)}.platform-section{padding-block:var(--sai-section-y)}.platform-section+.platform-section{border-top:1px solid var(--sai-line)}.platform-section-heading{display:flex;justify-content:space-between;align-items:end;gap:40px;margin-bottom:32px}.platform-section-heading p{color:var(--sai-muted);font-size:var(--sai-text-body);max-width:430px}.platform-split{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.8fr);gap:80px}.platform-aside>p{color:var(--sai-muted);margin-top:20px;font-size:var(--sai-text-body);max-width:340px}.platform-rows{border-top:2px solid var(--sai-ink)}.platform-row{display:grid;grid-template-columns:minmax(0,.95fr) minmax(0,1.4fr) auto;gap:32px;align-items:start;padding:32px 0;border-bottom:1px solid var(--sai-line)}.platform-row p{font-size:var(--sai-text-body);color:var(--sai-muted);line-height:1.8}.platform-row .row-index{display:block;font-size:var(--sai-text-caption);color:var(--sai-muted);margin-bottom:12px;font-variant-numeric:tabular-nums}.platform-row .arrow-link{white-space:nowrap}.platform-bullets{list-style:none;padding:0;margin:16px 0 0;display:grid;gap:8px;color:var(--sai-body);font-size:var(--sai-text-small)}.platform-bullets li{padding-left:14px;position:relative}.platform-bullets li::before{content:'·';position:absolute;left:0}.platform-notice{padding:16px 0;font-size:var(--sai-text-small);color:var(--sai-muted);border-bottom:1px solid var(--sai-line)}.platform-facts{margin:0;border-top:2px solid var(--sai-ink)}.platform-facts>div{display:grid;grid-template-columns:132px minmax(0,1fr);gap:24px;border-bottom:1px solid var(--sai-line);padding:24px 0}.platform-facts dt{font-size:var(--sai-text-small);color:var(--sai-muted)}.platform-facts dd{margin:0;color:var(--sai-ink);font-size:var(--sai-text-body);line-height:1.7}.platform-facts dd small{display:block;color:var(--sai-muted);font-size:var(--sai-text-small);margin-top:8px}.platform-caption{font-size:var(--sai-text-caption);color:var(--sai-muted);margin-top:12px}.profile-columns{display:grid;grid-template-columns:minmax(0,1.8fr) minmax(0,1fr);gap:64px}.sample-label{font-size:var(--sai-text-small);color:var(--sai-body);display:block;margin-bottom:20px}.profile-status{font-size:var(--sai-text-small);color:var(--sai-muted);margin-top:20px;min-height:24px}.profile-missing{padding:80px 0}.profile-missing p{margin:20px 0 28px}.platform-tabs{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:32px}.platform-tabs button{min-height:48px;padding:10px 18px;border:1px solid var(--sai-line);background:white;font-size:var(--sai-text-small);border-radius:0}.platform-tabs button[aria-pressed=true]{background:var(--sai-ink);color:white;border-color:var(--sai-ink)}.platform-tabs button:hover{border-color:var(--sai-action)}.platform-filter{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:24px;padding:24px;background:var(--sai-field);margin-bottom:32px}.platform-filter label{display:grid;gap:8px;font-size:var(--sai-text-small);font-weight:600;min-width:0}.opportunity-list{border-top:2px solid var(--sai-ink)}.opportunity-item{padding:28px 0;border-bottom:1px solid var(--sai-line)}.opportunity-item summary{list-style:none;display:grid;grid-template-columns:1fr 1.7fr auto;gap:32px;align-items:center;cursor:pointer;min-height:60px}.opportunity-item summary::-webkit-details-marker{display:none}.opportunity-type{font-size:var(--sai-text-small);color:var(--sai-muted)}.opportunity-item h3{font-size:var(--sai-text-h3)}.opportunity-item summary p{font-size:var(--sai-text-small);color:var(--sai-muted);margin-top:6px}.opportunity-sign{font-size:var(--sai-text-h3);font-weight:400}.opportunity-item[open] .opportunity-sign{transform:rotate(45deg)}.opportunity-body{margin:28px 0 4px;padding:24px;background:var(--sai-field)}.opportunity-body dl{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin:0 0 24px}.opportunity-body dt{font-size:var(--sai-text-small);color:var(--sai-muted);margin-bottom:4px}.opportunity-body dd{margin:0;font-size:var(--sai-text-body)}.results-caption{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:16px;font-size:var(--sai-text-small);color:var(--sai-muted)}.results-caption button{min-height:44px;padding:8px 0;color:var(--sai-action);text-decoration:underline;text-underline-offset:4px}.platform-empty{padding:56px 24px;border-bottom:1px solid var(--sai-line);text-align:center}.platform-empty p{color:var(--sai-muted);margin:12px 0 24px}.resource-list{border-top:2px solid var(--sai-ink)}.resource-item{border-bottom:1px solid var(--sai-line)}.resource-item summary{list-style:none;display:grid;grid-template-columns:160px 1fr auto;gap:32px;padding:28px 0;align-items:center;cursor:pointer}.resource-item summary::-webkit-details-marker{display:none}.resource-tag{font-size:var(--sai-text-small);color:var(--sai-action)}.resource-item h3{font-size:var(--sai-text-h3)}.resource-body{max-width:860px;margin-left:192px;padding-bottom:32px}.resource-body>p{font-size:var(--sai-text-body);color:var(--sai-muted);line-height:1.85}.resource-body ol{padding-left:22px;margin:24px 0;display:grid;gap:14px;line-height:1.8;color:var(--sai-body)}.resource-body .arrow-link{margin-top:16px}.about-photo{margin:0}.about-photo img{width:100%;aspect-ratio:1.1;object-fit:cover;object-position:center 35%}.about-photo figcaption{font-size:var(--sai-text-caption);color:var(--sai-muted);margin-top:10px}.principle-list{counter-reset:principle;padding:0;margin:0;list-style:none}.principle-list li{padding:24px 0;border-top:1px solid var(--sai-line)}.principle-list p{color:var(--sai-muted);margin-top:10px;font-size:var(--sai-text-body)}.phase-list{padding:0;margin:0;list-style:none;display:grid;gap:0}.phase-list li{display:grid;grid-template-columns:130px 1fr;gap:24px;border-top:1px solid var(--sai-line);padding:24px 0}.phase-list span{font-size:var(--sai-text-small);color:var(--sai-action)}.phase-list p{font-size:var(--sai-text-body);color:var(--sai-muted);margin-top:8px}.platform-muted{color:var(--sai-muted)}
@media(max-width:1023px){.platform-hero-grid{gap:40px}.platform-split{gap:40px;grid-template-columns:1fr 1.5fr}.platform-row{gap:24px;grid-template-columns:1fr 1.5fr}.platform-row>.arrow-link{grid-column:2}.profile-columns{gap:32px;grid-template-columns:1.5fr 1fr}.resource-item summary{grid-template-columns:120px 1fr auto;gap:24px}.resource-body{margin-left:144px}.platform-filter{gap:16px}}
@media(max-width:760px){.platform-hero-grid{grid-template-columns:1fr;gap:24px}.platform-kicker{font-size:var(--sai-text-small);margin-bottom:16px}.platform-lead{font-size:var(--sai-text-body)}.platform-section{padding-block:var(--sai-section-y)}.platform-split,.profile-columns{grid-template-columns:1fr;gap:32px}.platform-section-heading{display:block;margin-bottom:24px}.platform-section-heading p{margin-top:16px}.platform-row{grid-template-columns:1fr;gap:16px;padding:24px 0}.platform-row>.arrow-link{grid-column:auto}.platform-row .row-index{margin-bottom:8px}.platform-row h3{font-size:var(--sai-text-h3)}.platform-facts>div{grid-template-columns:88px 1fr;gap:16px;padding:20px 0}.platform-facts dd{font-size:var(--sai-text-body)}.platform-filter{grid-template-columns:1fr 1fr;padding:20px 16px;gap:16px 12px}.platform-filter label:first-child{grid-column:1/-1}.opportunity-item summary{grid-template-columns:1fr auto;gap:12px}.opportunity-type{grid-column:1/-1}.opportunity-item h3{font-size:var(--sai-text-h3)}.opportunity-body{padding:20px 16px}.opportunity-body dl{grid-template-columns:1fr;gap:20px}.resource-item summary{grid-template-columns:1fr auto;gap:12px;padding:24px 0}.resource-tag{grid-column:1/-1}.resource-item h3{font-size:var(--sai-text-h3)}.resource-body{margin-left:0}.about-photo img{aspect-ratio:1.5;object-position:center 40%}.phase-list li{grid-template-columns:1fr;gap:12px}.platform-tabs{gap:8px}.platform-tabs button{padding-inline:13px;font-size:var(--sai-text-small)}.platform-main .button{max-width:100%;white-space:normal;text-align:center}}
@media(prefers-reduced-motion:reduce){.platform-main *{transition:none!important;scroll-behavior:auto}}

/* Keep every page family aligned with the common shell. */
.platform-main .container{width:min(var(--sai-max),calc(100% - 2 * var(--sai-gutter)));min-width:0}
.platform-main :is(.platform-hero-grid,.platform-split,.profile-columns)>*{min-width:0}
#save-profile{margin-top:12px}.resource-list{margin-top:20px}.resource-item{scroll-margin-top:24px}.resource-item[open] .opportunity-sign{transform:rotate(45deg)}

.my-profile-list{margin-top:32px}

/* /my/: per-profile actions and the delete confirmation dialog */
.my-row-actions{display:grid;gap:8px;justify-items:start;align-content:start}
.my-delete{min-height:44px;padding:8px 0;border:0;background:none;color:var(--sai-danger);font:600 var(--sai-text-small)/1.5 var(--sai-font);text-decoration:underline;text-underline-offset:4px;cursor:pointer}
.my-delete:focus-visible{outline:2px solid var(--sai-action);outline-offset:2px}
.confirm-dialog{width:min(480px,calc(100% - 32px));padding:32px;border:1px solid var(--sai-line);border-radius:12px;background:var(--sai-surface);color:var(--sai-ink);box-shadow:var(--sai-shadow-1)}
/* v4a-exception: the dialog scrim is a dimming overlay (content overlay, not a palette colour). */
.confirm-dialog::backdrop{background:rgb(0 0 0 / .5)}
.platform-main .confirm-dialog h2{margin:0 0 16px;font-size:var(--sai-text-h3);line-height:1.4}
.confirm-dialog p{font-size:var(--sai-text-body);line-height:1.75;color:var(--sai-body)}
.confirm-dialog .confirm-dialog-error{margin-top:16px;font-size:var(--sai-text-small);font-weight:600;color:var(--sai-danger)}
.confirm-dialog .confirm-dialog-error::before{content:'⚠ '}
.confirm-dialog-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:12px;margin-top:24px}
.platform-main .button.button-danger{background:var(--sai-danger);border-color:var(--sai-danger);color:var(--sai-surface)}
.platform-main .button.button-danger:hover{background:var(--sai-danger);border-color:var(--sai-danger);text-decoration:underline}

.confirm-dialog :is(button,a):focus-visible{outline:2px solid var(--sai-action);outline-offset:2px}
@media(max-width:480px){.confirm-dialog{padding:24px 16px}.confirm-dialog-actions .button{flex:1 1 100%}}

/* /services/: request example and FAQ (merged from the former /organizations/ page) */
.request-example{border:1px solid var(--sai-line);padding:32px;background:var(--sai-field)}
.request-example-top{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:8px}
.request-example-top strong{font-size:var(--sai-text-lead);font-weight:650}
.request-example dl{margin:0}
.request-example dl>div{display:grid;grid-template-columns:104px minmax(0,1fr);gap:16px;padding:16px 0;border-bottom:1px solid var(--sai-line);font-size:var(--sai-text-body)}
.request-example dt{font-size:var(--sai-text-small);color:var(--sai-muted)}
.request-example dd{margin:0;word-break:keep-all}
.request-example>a{display:inline-flex;align-items:center;min-height:48px;margin-top:16px;font-size:var(--sai-text-body);font-weight:600;color:var(--sai-action)}
@media(max-width:760px){.request-example{padding:24px 16px}.request-example dl>div{grid-template-columns:88px minmax(0,1fr);gap:12px}}
@media(max-width:480px){.request-example dl>div{grid-template-columns:1fr;gap:4px}}
/* Keep the retained 404 heading on one line at the 320px minimum width. */
@media(max-width:399px){.platform-main .profile-missing h1{font-size:24px}}
