/* The existing deck supplies the font, type roles, headings and controls.
   White / ink; existing surface colours group the stories and research invitation. */
.page{--content-top:6.6cqw}
/* Use the established team-slide reading line for all content slides. */
@media screen and (min-width:1001px),print{
 .thesis-copy{top:var(--content-top)}
 .spec-intro,.spec-col,.contact-content{padding-top:var(--content-top)}
 .spec-details{top:calc(var(--content-top) + 8.4cqw)}
 .team{padding-top:var(--content-top)}
}
body.presentation-mode .thesis-copy{top:var(--content-top)}
body.presentation-mode .spec-intro,body.presentation-mode .spec-col,body.presentation-mode .contact-content,body.presentation-mode .team{padding-top:var(--content-top)}
body.presentation-mode .spec-details{top:calc(var(--content-top) + 8.4cqw)}

/* Selected designer refinements; the established typeface and layouts remain. */
.thesis-copy{width:47cqw;bottom:var(--content-top);display:flex;flex-direction:column;justify-content:center}
.thesis-copy p{font-size:var(--body);line-height:1.45}
.thesis-copy .thesis-lede{font-size:3cqw;line-height:1.15;font-weight:500;letter-spacing:-.025em;max-width:22ch}
.thesis-copy .thesis-supporting{margin-top:2.4cqw}
.thesis-copy .thesis-closing{margin-top:1.65cqw}
.thesis-stack{width:44%;top:3cqw;bottom:1.5cqw;overflow:visible}
.thesis-stack>img,.thesis-stack-live{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;object-position:center}
.thesis-stack-live{visibility:hidden;fill:none;stroke:none}
.thesis-stack.is-live .thesis-stack-live{pointer-events:auto;cursor:pointer}
.thesis-stack.is-live>img{visibility:hidden}
.thesis-stack.is-live .thesis-stack-live{visibility:visible}
.spec-intro>p{font-size:var(--body);line-height:1.45}
img.spec-figure{object-fit:contain;object-position:left bottom}
.founder-row{position:relative;isolation:isolate}
.founder-row::before{content:"";position:absolute;inset:-1.2cqw -1.5cqw -.8cqw;background:#f5f5f5;z-index:-1;pointer-events:none}
.team .team-statement{font-size:var(--body);line-height:1.45;margin:2cqw 0 1.8cqw}
.map-office-label{position:absolute;right:calc(100% + 10px);top:46%;transform:translateY(-50%);width:max-content;max-width:calc(72cqw - 28px);padding:5px 8px;background:#fffffff0;border:1px solid #646464;font-size:clamp(10.5px,1.55cqw,13px);line-height:1.4;text-align:right}
.map-office-label strong,.map-office-label>span{display:block}
.map-office-label strong{font-weight:500}
.map-office-label>span{color:var(--muted)}
.page .sequence-body{font-size:var(--compact);line-height:1.5;font-weight:400;letter-spacing:normal}
.page .sequence-premise{font-size:1.9cqw;line-height:1.48;font-weight:400;letter-spacing:normal}
.sequence-body strong{font-weight:500}
.sequence-link{display:inline;font:inherit;white-space:nowrap}
.sequence-link span{text-decoration:underline;text-decoration-thickness:1px;text-decoration-color:#a7b2b7;text-underline-offset:4px}
.sequence-link svg{display:inline-block;width:.84em;height:.84em;margin-left:.24em;vertical-align:-.07em;stroke-width:1.6;opacity:.75}
.sequence-link:hover span{text-decoration-color:currentColor}
.sequence-resources h3{font-size:var(--compact);font-weight:500;line-height:1.5;letter-spacing:normal;margin:0 0 .55cqw}
.sequence-resources a{font-size:var(--compact);line-height:1.5}

/* Three tinted panels on the white page. Name line, then context, approach and outcome in shared grid rows,
   so the three paragraphs align across the panels. No illustrations, no rules, one text size. */
.story-cards{position:absolute;left:var(--gutter);right:var(--gutter);top:var(--content-top);display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-template-rows:auto auto auto auto;column-gap:2cqw;row-gap:0}
.story-card{min-width:0;display:grid;grid-row:span 4;grid-template-rows:subgrid;padding:2.1cqw 2cqw 2.6cqw}
.story-card:nth-child(1){background:var(--surface-training)}.story-card:nth-child(2){background:var(--surface-tooling)}.story-card:nth-child(3){background:var(--surface-workflow)}
.story-card h3{font-size:var(--body);font-weight:500;line-height:1.3;letter-spacing:-.01em;margin:0}
.story-category{white-space:nowrap}
.story-client{font-weight:400;color:var(--muted);white-space:nowrap}
.story-separator{margin:0 .45cqw;font-weight:300;color:#a4a4a4}
.page .story-card p{font-size:var(--body);line-height:1.45;font-weight:400;letter-spacing:normal}
.story-context{margin-top:1.7cqw}
.story-approach,.story-outcome{margin-top:1.4cqw}

/* Evidence infrastructure: reading on the left, one large live graph on the right. */
.infrastructure-copy{position:absolute;left:var(--gutter);top:var(--content-top);width:42cqw;z-index:2;text-shadow:0 0 4px #fff,0 0 10px #fff}
.infrastructure-example{margin-top:2.5cqw;max-width:54ch}
.page.infrastructure .sequence-premise{font-size:var(--body);line-height:1.45}
.page .infrastructure-example .sequence-body{font-size:var(--body);line-height:1.45}
.infrastructure-visual{position:absolute;left:38cqw;right:-12cqw;top:-6.6cqw;bottom:-6.6cqw;overflow:hidden;pointer-events:none}
.infrastructure-visual img,.infrastructure-visual iframe{position:absolute;width:100%;height:100%;inset:0;border:0;object-fit:cover;object-position:center;pointer-events:none}
.infrastructure-visual iframe{opacity:0}
.infrastructure-visual.is-ready iframe{opacity:1;pointer-events:auto}
.infrastructure-visual.is-ready .infrastructure-poster{visibility:hidden}
.infrastructure-resources{position:absolute;left:var(--gutter);width:42cqw;bottom:5.3cqw;padding-top:1.3cqw;border-top:1px solid var(--line);z-index:2;text-shadow:0 0 4px #fff,0 0 10px #fff}
.resource-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.2cqw 2cqw}
.resource-grid p{font-size:var(--small);color:var(--muted);line-height:1.4;margin-top:.35cqw}
.infrastructure-resources h3,.infrastructure-resources a,.infrastructure-resources .resource-grid p{font-size:var(--compact);line-height:1.45}

/* A position and its applied example support one clear research invitation. */
.evaluation-layout{position:absolute;left:var(--gutter);right:var(--gutter);top:var(--content-top);bottom:5.3cqw;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,.92fr);gap:6cqw}
.evaluation-position{display:flex;flex-direction:column;min-width:0;padding-top:.2cqw}
.evaluation-position>.sequence-body{margin-top:1.55cqw;max-width:46ch}
.evaluation-story{margin-top:2.6cqw;padding:1.6cqw;border:1px solid var(--line)}
.evaluation-story h3{font-size:var(--body);line-height:1.3;font-weight:500;letter-spacing:-.01em;margin:0 0 1.2cqw}
.evaluation-story p+p{margin-top:1.2cqw}
.evaluation-link{display:inline-flex;align-items:center;margin-top:1.4cqw;font-size:var(--compact);line-height:1.5}
.evaluation-resources{margin-top:auto;padding-top:1.8cqw}
.evaluation-resources nav{display:flex;align-items:baseline;flex-wrap:wrap;gap:.55cqw 1.6cqw}
.research-invitation{background:#eff6f9;padding:2.6cqw;display:flex;flex-direction:column;min-width:0;align-self:start}
.research-invitation h3{margin:0 0 1.4cqw}
.research-invitation ul{font-size:var(--compact);line-height:1.5;padding-left:1.1em;margin:1.5cqw 0 0;display:grid;gap:1cqw}
.research-invitation li{padding-left:.3em}
.research-invitation li::marker{color:#667781;font-size:.65em}
.research-invitation .partnership-outcome{margin-top:1.6cqw}
.research-invitation .partnership-data{margin-top:1.2cqw}
.page .research-invitation .partnership-data{font-size:var(--small);line-height:1.5;color:var(--muted)}
.research-invitation .conversation{align-self:flex-start;margin-top:2cqw;white-space:nowrap}

/* One action group: booking is primary, the address is a direct email action. */
.contact{--content-top:8.6cqw}
.contact-actions{display:flex;flex-direction:column;align-items:flex-start;gap:1.2cqw;margin-top:2cqw}
.contact-actions .conversation{margin-top:0}
.contact-actions .contact-email-line{font-size:var(--compact);line-height:1.45;margin:0}
.contact-actions .contact-email{font:inherit}

@media screen and (max-width:1000px){
 :where(body:not(.presentation-mode)) .thesis-copy{width:100%;bottom:auto;display:block}
 :where(body:not(.presentation-mode)) .thesis-copy .thesis-lede{font-size:clamp(30px,5vw,38px);line-height:1.16;max-width:24ch}
 :where(body:not(.presentation-mode)) .thesis-copy .thesis-supporting,:where(body:not(.presentation-mode)) .thesis-copy .thesis-closing{font-size:21px;line-height:1.5;margin-top:26px}
 :where(body:not(.presentation-mode)) .thesis-stack{position:relative;inset:auto;width:100%;height:290px;margin:16px 0 -28px;opacity:1;mask-image:none;order:2}
 :where(body:not(.presentation-mode)) .thesis{display:flex;flex-direction:column}
 :where(body:not(.presentation-mode)) .thesis-stack>img{object-fit:contain;object-position:center}
 :where(body:not(.presentation-mode)) .spec-intro>p{font-size:21px;line-height:1.45}
 :where(body:not(.presentation-mode)) .founder-row::before{inset:-14px -14px -12px}
 :where(body:not(.presentation-mode)) .team .team-statement{margin:30px 0 24px}
 :where(body:not(.presentation-mode)) .page.stories,:where(body:not(.presentation-mode)) .page.infrastructure,:where(body:not(.presentation-mode)) .page.evaluations{padding-top:80px}
 :where(body:not(.presentation-mode)) .stories>.page-heading,:where(body:not(.presentation-mode)) .infrastructure>.page-heading,:where(body:not(.presentation-mode)) .evaluations>.page-heading{position:static;margin-bottom:32px}
 :where(body:not(.presentation-mode)) .page .sequence-premise{font-size:21px;line-height:1.5}
 :where(body:not(.presentation-mode)) .page .sequence-body{font-size:18px;line-height:1.5}
 :where(body:not(.presentation-mode)) .story-cards{position:static;display:grid;grid-template-columns:1fr;grid-template-rows:none;gap:20px}
 :where(body:not(.presentation-mode)) .story-card{display:block;grid-row:auto;grid-template-rows:none;padding:26px 26px 30px}
 :where(body:not(.presentation-mode)) .story-card h3{font-size:21px;line-height:1.3}
 :where(body:not(.presentation-mode)) .story-client{display:block;white-space:normal;margin-top:2px}
 :where(body:not(.presentation-mode)) .story-separator{display:none}
 :where(body:not(.presentation-mode)) .page .story-card p{font-size:18px;line-height:1.5;max-width:55ch}
 :where(body:not(.presentation-mode)) .story-context{margin-top:18px}
 :where(body:not(.presentation-mode)) .story-approach,:where(body:not(.presentation-mode)) .story-outcome{margin-top:14px}
 :where(body:not(.presentation-mode)) .infrastructure-copy{position:static;width:auto;text-shadow:none}
 :where(body:not(.presentation-mode)) .infrastructure-example{margin-top:32px;max-width:55ch}
 :where(body:not(.presentation-mode)) .infrastructure-visual{position:relative;inset:auto;width:100%;height:350px;margin:18px 0 24px}
 :where(body:not(.presentation-mode)) .infrastructure-resources{position:static;width:auto;padding-top:24px;text-shadow:none}
 :where(body:not(.presentation-mode)) .sequence-resources h3{font-size:18px;margin-bottom:10px}
 :where(body:not(.presentation-mode)) .sequence-resources a{font-size:18px}
 :where(body:not(.presentation-mode)) .resource-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:22px 18px}
 :where(body:not(.presentation-mode)) .resource-grid p{font-size:14px;margin-top:5px}
 :where(body:not(.presentation-mode)) .evaluation-layout{position:static;display:flex;flex-direction:column;gap:34px}
 :where(body:not(.presentation-mode)) .evaluation-position{padding:0}
 :where(body:not(.presentation-mode)) .evaluation-position>.sequence-body{margin-top:22px;max-width:55ch}
 :where(body:not(.presentation-mode)) .evaluation-story{margin-top:30px;padding:22px}
 :where(body:not(.presentation-mode)) .evaluation-story h3{font-size:18px;margin-bottom:18px}
 :where(body:not(.presentation-mode)) .evaluation-story p+p{margin-top:18px}
 :where(body:not(.presentation-mode)) .evaluation-link{margin-top:20px;font-size:18px}
 :where(body:not(.presentation-mode)) .evaluation-resources{margin-top:30px;padding-top:0}
 :where(body:not(.presentation-mode)) .evaluation-resources nav{gap:8px 22px}
 :where(body:not(.presentation-mode)) .research-invitation{padding:28px 26px;align-self:stretch}
 :where(body:not(.presentation-mode)) .research-invitation h3{margin-bottom:20px}
 :where(body:not(.presentation-mode)) .research-invitation ul{font-size:18px;gap:16px;margin-top:24px}
 :where(body:not(.presentation-mode)) .research-invitation .partnership-outcome{margin-top:24px}
 :where(body:not(.presentation-mode)) .research-invitation .partnership-data{margin-top:18px}
 :where(body:not(.presentation-mode)) .research-invitation .conversation{margin-top:28px;white-space:normal}
 :where(body:not(.presentation-mode)) .contact-actions{gap:18px;margin-top:24px}
 :where(body:not(.presentation-mode)) .contact-actions .conversation{margin-top:0}
 :where(body:not(.presentation-mode)) .contact-actions .contact-email-line{font-size:17px}
}
@media screen and (max-width:599px){
 :where(body:not(.presentation-mode)) .resource-grid{grid-template-columns:1fr}
}
@media print{
 .thesis-stack-live{display:none!important}
 .thesis-stack>img{visibility:visible!important}
 .infrastructure-visual iframe{display:none!important}
 .infrastructure-visual .infrastructure-poster{visibility:visible!important}
}
