/* Shared tracks align categories, titles, quotes and attribution across each row. */
.testimonials{padding-block:60px 64px;font-family:var(--gsv-font-prose)}
.testimonials-heading,.testimonials-notes{max-width:1320px}
.home .testimonials h2{font-size:clamp(32px,3.5vw,42px);line-height:1.12;max-width:26ch}
.testimonials-notes{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:repeat(8,auto);gap:0 clamp(40px,6vw,80px);margin-top:28px}
.testimonials-primary,.testimonials-secondary{display:grid;grid-row:span 8;grid-template-rows:subgrid;row-gap:0;min-width:0}
.testimonial-note{display:grid;grid-row:span 4;grid-template-rows:subgrid;row-gap:0;min-width:0;overflow-wrap:break-word}
.testimonial-note>.testimonial-category{grid-row:1}
.testimonial-note>h3{grid-row:2}
.testimonial-note>figure{display:grid;grid-row:3 / span 2;grid-template-rows:subgrid;row-gap:0;min-width:0}
.testimonial-category{font:10px/1.5 var(--gsv-font-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--text-dim);margin-bottom:8px}
.home .testimonial-note h3{font-size:20px;line-height:1.3;letter-spacing:-.015em;margin-bottom:14px}
.home .testimonial-note.is-featured h3{max-width:none}
.testimonial-note blockquote{font-size:19.8px;font-style:italic;line-height:1.4;color:var(--text);text-wrap:pretty}
.testimonial-note.is-featured blockquote{color:var(--accent)}
.testimonials-primary .testimonial-note+.testimonial-note,.testimonials-secondary .testimonial-note+.testimonial-note{border-top:1px solid var(--rule-inner);margin-top:28px;padding-top:28px}
.testimonial-note figcaption{display:grid;grid-template-columns:minmax(84px,1fr) auto;align-items:start;gap:20px;margin-top:12px}
.testimonial-person{display:flex;flex-direction:row-reverse;align-items:flex-start;gap:12px;max-width:250px;min-width:0;text-align:right}
.testimonial-person .testimonial-portrait,.testimonial-person .testimonial-photo{width:48px;height:48px}
.testimonial-portrait{display:block;flex:none;width:56px;height:56px;overflow:hidden;border-radius:2px}
.testimonial-photo{display:block;width:56px;height:56px;object-fit:cover}
.testimonial-portrait.is-close .testimonial-photo{transform:scale(1.45);transform-origin:50% 40%}
.testimonial-portrait.is-close .testimonial-photo[src$="/anwar.jpeg"]{transform:scale(1.8);transform-origin:50% 25%}
.testimonial-attribution{display:grid;gap:3px;min-width:0;flex:1}
.testimonial-person .testimonial-attribution{display:flex;flex-direction:column;gap:2px;line-height:1.35}
.testimonial-person .testimonial-identity{display:contents}
.testimonial-person .testimonial-descriptor{order:1}
.testimonial-person .testimonial-address{order:2;font-size:11px}
.testimonial-identity{display:flex;align-items:baseline;flex-wrap:wrap;gap:2px 8px}
.testimonial-address{font-size:12px;color:var(--text-dim);overflow-wrap:anywhere}
.testimonial-name{font-size:15px;font-weight:500;color:var(--text)}
.testimonial-descriptor{font-size:13px;line-height:1.4;color:var(--label)}
.testimonial-story-action{display:flex;align-items:center;justify-self:start;gap:8px;min-width:0;min-height:44px;color:var(--accent);font:13px/1.4 var(--gsv-font-prose);text-align:left;text-decoration:underline;text-decoration-color:color-mix(in srgb,var(--accent) 35%,transparent);text-underline-offset:4px}
.testimonial-story-action:hover{text-decoration-color:currentColor}
.testimonial-story-action>span[aria-hidden]{flex:none;text-decoration:none}
.testimonial-story-action:disabled{opacity:.55}
.testimonial-prose{max-width:64ch;margin-top:18px;font-size:17px;line-height:1.7;color:var(--text)}
.testimonial-prose p+p{margin-top:1.25em}
.testimonial-prose strong{font-family:inherit;font-size:inherit;font-weight:700;color:inherit;background:none}
@media(max-width:1100px){.testimonial-note figcaption{gap:14px}.testimonial-person{gap:10px}}
@media(max-width:400px){.testimonial-note figcaption{gap:12px}.testimonial-person{gap:8px;max-width:190px}.testimonial-person .testimonial-portrait,.testimonial-person .testimonial-photo{width:40px;height:40px}}
@media(max-width:900px){.testimonials-notes{column-gap:36px}}
@media(max-width:720px){
  .testimonials{padding-block:44px 48px}
  .testimonials-notes{grid-template-columns:1fr;grid-template-rows:none;gap:28px;margin-top:24px}
  .testimonials-primary,.testimonials-secondary{grid-row:auto;grid-template-rows:none}
  .testimonial-note,.testimonial-note>figure{display:block}
  .testimonials-secondary .testimonial-note{border-top:1px solid var(--rule-inner);padding-top:28px}
}

/* A single reading surface; the homepage keeps its height and scroll position. */
html:has(.testimonial-dialog[open]){overflow:hidden}
.testimonial-dialog{position:fixed;inset:0;margin:auto;width:min(720px,calc(100% - 40px));max-height:calc(100dvh - 24px);padding:0;border:1px solid var(--rule-inner);background:var(--panel);color:var(--text);font-family:var(--gsv-font-prose);overflow-y:auto;overscroll-behavior:contain;scrollbar-gutter:stable}
.testimonial-dialog::backdrop{background:color-mix(in srgb,var(--void) 76%,transparent)}
.testimonial-dialog-toolbar{position:sticky;top:0;z-index:1;display:flex;justify-content:flex-end;padding:4px 12px;background:var(--panel)}
.testimonial-dialog-close{display:grid;place-items:center;width:44px;height:44px;color:var(--label);font-size:28px;line-height:1}
.testimonial-dialog-close:hover{color:var(--accent)}
.testimonial-dialog-reading{max-width:680px;margin-inline:auto;padding:0 36px 24px}
.home .testimonial-dialog h2{font-size:28px;line-height:1.2;max-width:none;margin:0 0 22px}
.testimonial-dialog-person{display:flex;align-items:center;gap:14px}
.testimonial-dialog .testimonial-prose{margin-top:28px}
@media(max-width:600px){
  .testimonial-dialog{width:100%;max-width:none;height:100dvh;max-height:none;margin:0;border:0;scrollbar-gutter:auto}
  .testimonial-dialog-toolbar{padding-top:max(8px,env(safe-area-inset-top));padding-right:max(12px,env(safe-area-inset-right))}
  .testimonial-dialog-reading{padding:0 max(22px,env(safe-area-inset-right)) max(28px,env(safe-area-inset-bottom)) max(22px,env(safe-area-inset-left))}
}
