/* Review three: less chrome, tighter footer, connected sequence. */
.start-wide{max-width:none!important;width:100%}.start-wide>div{max-width:none}.start-wide h2{max-width:32ch}.start-wide .lede{max-width:85ch}
.page-what-we-build{display:flow-root}.page-what-we-build+.expanded-foot{margin-top:0}.page-what-we-build .toolkit-band{margin-bottom:0;padding-bottom:32px}.page-what-we-build .toolkit-note{margin-bottom:0}
.page-people{--people-gap:clamp(48px,6vw,76px)}.page-people>section{margin-block:0}.page-people>section+section{margin-top:var(--people-gap)}.page-people>.people-opening{margin-top:40px}.page-people>.profile-layout{margin-top:32px}.page-people>.broch-story{margin-bottom:var(--people-gap)}
.page-people .familiarity-editorial{display:block}.familiarity-editorial>div:first-child{margin-bottom:26px}.familiarity-editorial h2 br{display:none}.familiarity-editorial .possibility-list{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.familiarity-editorial .possibility-list article{display:block;border:0;border-left:2px solid var(--deep);padding:8px 0 8px 20px}.familiarity-editorial .possibility-list h3{font-size:1.25rem}.familiarity-editorial .possibility-list p{font-size:1rem;line-height:1.65}
.case-arrow:empty{display:none}
.eform-vector{display:block;width:190px;height:44px;background:#075c80}.logo-track .eform-vector img{width:190px;height:44px;object-fit:contain}
.logo-track img[src*="microsoft-traced"],.logo-track img[src*="onesource-traced"]{mix-blend-mode:multiply}
#inquiry-form input[type=file]{padding:14px;background:rgba(112,25,42,.025);border:1px dashed var(--deep);font-size:.875rem;cursor:pointer}#inquiry-form input[type=file]::file-selector-button{font:600 .875rem Arial,sans-serif;background:var(--deep);color:#fff;border:1px solid var(--deep);padding:11px 16px;margin-right:16px;cursor:pointer;transition:background .2s}#inquiry-form input[type=file]::file-selector-button:hover{background:var(--ink)}
@media(max-width:760px){.familiarity-editorial .possibility-list{grid-template-columns:1fr}.start-wide h2{max-width:none}}
@media(prefers-reduced-motion:reduce){.commitments-panel .stack li{transition:none}}
/* Review five: varied editorial rhythm without changing the brand palette. */
[hidden]{display:none!important}
.core-values{display:block!important}.core-values>div:last-child{counter-reset:value}
.core-values article{counter-increment:value;position:relative;padding:28px 24px 28px 100px!important;margin-top:14px;background:rgba(112,25,42,.035);border-top:0!important;border-left:2px solid var(--deep)}
.core-values article::before{content:counter(value,decimal-leading-zero);position:absolute;left:22px;top:24px;font:2.8rem/1 var(--display);color:var(--deep)}
.core-values article p{max-width:78ch}.detail-marker{font-size:1.4rem;color:var(--deep);padding-top:5px}
.founder-editorial{border-left:3px solid var(--deep);padding-left:30px;gap:35px}.founder-editorial .editorial-link{border-bottom:1px solid var(--deep)}
.commitments-panel{background:var(--ground);color:var(--ink);padding:20px 0}.commitments-panel h2,.commitments-panel h4,.commitments-panel p{color:inherit}.commitments-panel .stack{display:grid;grid-template-columns:1fr 1fr;gap:22px;border-top:0;padding-top:12px}.commitments-panel .stack li{display:block;border:1px solid var(--line);padding:28px;transition:border-color .2s,box-shadow .2s}.commitments-panel .stack li:hover{border-color:var(--deep);box-shadow:0 6px 20px #32121a0a}.commitments-panel .stack h4{color:var(--deep);line-height:1.35}.commitments-panel .stack p{font-size:1rem;margin-top:16px}
.deployment-options .split{display:block}.deployment-options .stack{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin-top:28px;padding-top:28px}.deployment-options .stack li{display:block;padding:24px;border:1px solid var(--line)}
.infrastructure-note,.confidentiality{border-top:1px solid var(--line);padding-top:32px}.infrastructure-note h2,.confidentiality h2{font-size:2rem;margin-bottom:20px}.infrastructure-note p,.confidentiality p{max-width:78ch;margin-bottom:16px}
.toolkit-band{border-top:3px solid var(--deep);background:rgba(112,25,42,.035);padding:32px 0;margin-top:42px}.toolkit-band .shell{margin-top:20px}
.resource-browser{display:grid;grid-template-columns:220px minmax(0,1fr);gap:44px;align-items:start}.resource-sidebar{border-left:2px solid var(--deep);padding-left:20px}.resource-sidebar h2{font-size:1.3rem;margin-bottom:22px}.resource-sidebar p{font-size:.875rem;margin-top:12px}.resource-browser label{display:block;font-size:.875rem}.resource-browser input,.resource-browser select,#suggest-dialog input:not([type=checkbox]),#suggest-dialog textarea{display:block;width:100%;padding:12px;margin:8px 0 18px;border:1px solid var(--line);background:var(--ground);font:inherit;color:var(--ink)}
#resource-count{font-size:.875rem;margin:12px 0}.resource-browser .article-collection{margin:0;padding:0}
#suggest-dialog{width:min(560px,calc(100% - 32px));max-height:85vh;overflow:auto;border:1px solid var(--line);padding:30px;background:var(--ground);color:var(--ink)}
#suggest-dialog::backdrop{background:rgba(20,18,18,.6)}#suggest-close{display:block;margin-left:auto;background:none;border:0;color:var(--deep);padding:10px;font:inherit;cursor:pointer}#suggest-dialog h2{font-size:2rem;margin:12px 0}#suggest-dialog label{display:block;margin-top:18px}.checkbox-label{font-size:.875rem}#suggest-status{margin-top:18px}
@media(max-width:760px){.resource-browser{grid-template-columns:1fr;gap:24px}.commitments-panel .stack,.deployment-options .stack{grid-template-columns:1fr}.core-values article{padding-left:72px!important}.core-values article::before{font-size:2rem;left:16px}.founder-editorial{padding-left:18px}}
.shell[id]{scroll-margin-top:100px}
.core-values{display:grid;grid-template-columns:.7fr 1.3fr;gap:50px;align-items:start}
.core-values h2{font-size:2rem}.core-values article{border-top:1px solid var(--line);padding:24px 0}
.core-values h3{font-size:1.4rem;margin-bottom:12px}.core-values article p{font-size:1rem;line-height:1.65;color:var(--ink-2)}
.founder-portrait{margin:0}.founder-portrait img{width:100%;height:auto;aspect-ratio:4/5;object-fit:cover;object-position:50% 35%;display:block}
@media(max-width:820px){.core-values{grid-template-columns:1fr;gap:20px}}
.eform-mark{display:block;position:relative;width:190px;height:44px;overflow:hidden;background:#075c80}
.logo-track .eform-mark img{position:absolute;max-width:none;width:845px;height:210px;left:-21px;top:-24px}
.tech-section .logo-window.full-color img{filter:none}
.broch-story img,.approach-art img{mask-image:linear-gradient(to right,transparent,#000 8%,#000 92%,transparent),linear-gradient(to bottom,transparent,#000 8%,#000 92%,transparent);mask-composite:intersect;-webkit-mask-image:linear-gradient(to right,transparent,#000 8%,#000 92%,transparent),linear-gradient(to bottom,transparent,#000 8%,#000 92%,transparent);-webkit-mask-composite:source-in}
.article-collection{display:flex;flex-direction:column;gap:0}
.article-collection .resource-card{width:100%;padding:30px 0;background:none;border-top:1px solid var(--line)}
.article-collection .resource-card h2{max-width:none;font-size:clamp(27px,3vw,37px)}
.article-collection .resource-card>p:not(.eyebrow){max-width:80ch}
.footer-location .footer-phone{display:block;margin-top:6px}
.inquiry-layout{display:grid;grid-template-columns:.9fr 1.1fr;gap:60px;align-items:start}
.inquiry-layout h1{font-size:clamp(38px,4.5vw,56px);line-height:1.1;margin:20px 0}
.inquiry-layout .lede{margin-bottom:20px}.contact-direct{margin-top:28px;line-height:2;overflow-wrap:anywhere}
#inquiry-form{border-top:2px solid var(--deep);padding-top:18px}
#inquiry-form label{display:block;font-size:.875rem;color:var(--ink);margin-bottom:20px}
#inquiry-form label span{color:var(--ink-2)}
#inquiry-form input,#inquiry-form textarea,#inquiry-form select{display:block;width:100%;max-width:100%;margin-top:8px;padding:12px;border:1px solid var(--ink-2);border-radius:0;background:var(--ground);color:var(--ink);font:1rem/1.4 Arial,sans-serif}
#inquiry-form textarea{resize:vertical;min-height:150px}
#inquiry-form :is(input,textarea,select):focus-visible{outline:2px solid var(--deep);outline-offset:2px}
.form-pair{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.form-preview,.form-note{font-size:.8125rem;line-height:1.5;color:var(--ink-2);margin-bottom:20px}
#inquiry-status{font-size:.875rem;line-height:1.5;margin-top:18px;color:var(--deep)}
#inquiry-form button:disabled{opacity:.6;cursor:wait}
@media(max-width:820px){.inquiry-layout{grid-template-columns:1fr;gap:30px}}
@media(max-width:480px){.form-pair{grid-template-columns:1fr;gap:0}}
.logo-window{scrollbar-width:none;-ms-overflow-style:none}
.logo-window::-webkit-scrollbar{display:none}
.home-vendor-section{width:100%;max-width:none;padding-inline:0}
.resource-actions{display:flex;align-items:center;flex-wrap:wrap;gap:12px 22px;margin-top:22px}
.resource-actions .article-action{margin:0}
.worksheet-download{display:inline-flex;align-items:center;min-height:44px;padding:9px 15px;border:1px solid var(--deep);color:var(--deep);text-decoration:none;font-size:.9375rem}
.worksheet-download:hover{background:var(--wash)}
.worksheet-download:focus-visible{outline:2px solid var(--deep);outline-offset:4px}
.worksheet-meta{font-size:.8125rem;color:var(--ink-2)}
.resources-illustrated{display:grid;grid-template-columns:1.1fr .9fr;align-items:center;gap:36px}
.resources-illustrated figure{margin:0;min-width:0}
.resources-illustrated img{display:block;width:100%;height:auto;max-height:300px;object-fit:contain;mix-blend-mode:multiply}
@media(min-width:761px){.resource-sidebar{position:sticky;top:calc(var(--resources-header-height,100px) + 20px);max-height:calc(100dvh - var(--resources-header-height,100px) - 40px);overflow-y:auto;align-self:start;padding-right:6px}}
@media(max-width:760px){.resources-illustrated{grid-template-columns:1fr;gap:20px}.resources-illustrated figure{max-width:420px;width:100%;justify-self:center}.resources-illustrated img{max-height:220px}.resource-sidebar{position:static;max-height:none}}
.full-width-tech-section{width:100%;max-width:none;padding-inline:0}
.toolkit-band .full-width-tech-section>h2.shell{margin-top:0}
.home-vendor-section>.vendor-disclaimer{max-width:1280px}
.logo-window:focus-visible{outline:2px solid var(--deep);outline-offset:6px}
.logo-track li{width:205px}.logo-track span{text-align:center;line-height:1.4}
.vendor-disclaimer{font-size:.75rem;line-height:1.45;margin-top:12px;max-width:none;color:var(--ink-2)}
.vendor-disclaimer span{display:block}
.editorial-link{display:inline-block;color:var(--deep);font-size:.9375rem;font-weight:600;text-decoration:none;padding:10px 0;margin-top:15px;border:0}
.editorial-link:hover{text-decoration:underline;text-underline-offset:5px}
.editorial-link:focus-visible{outline:2px solid var(--deep);outline-offset:5px}
.section-heading>.editorial-link{align-self:end;margin:0}
.resource-invitation>.editorial-link{margin:0}
.article-action{border:0;padding:10px 0;font-weight:600}
.approach-timeline{list-style:none;counter-reset:step;margin:0;padding:0;border:0}
.approach-timeline>li{position:relative;padding:0 0 30px 48px;counter-increment:step}
.approach-timeline>li::before{content:counter(step,upper-alpha);position:absolute;left:0;top:0;display:grid;place-items:center;width:28px;height:28px;border:1px solid var(--deep);color:var(--deep);font-size:.8125rem;background:var(--ground);z-index:1}
.approach-timeline>li:not(:last-child)::after{content:"";position:absolute;left:14px;top:28px;bottom:0;border-left:1px solid var(--deep)}
.approach-timeline h4{font-family:var(--display);font-size:1.35rem;padding-top:2px;margin-bottom:12px}
.approach-timeline p{font-size:1rem;color:var(--ink-2);line-height:1.6}
.expanded-foot{padding-block:25px 18px;margin-top:48px;border-top-width:3px}
.footer-intro{padding-bottom:18px;gap:24px;grid-template-columns:1fr 1.2fr;align-items:center}
.footer-brand{display:block;width:180px;height:48px;overflow:hidden;position:relative}
.footer-brand img{position:absolute;width:300px;max-width:none;height:auto;left:-58px;top:-15px}
.footer-intro p{font-size:.875rem;margin-top:6px;max-width:none}
.footer-location h2{font-size:1.15rem;line-height:1.3}.footer-location h2 br{display:none}.footer-location h2 br::after{content:" "}
.footer-location>a{font-size:.875rem;margin-top:7px}
.footer-navigation{padding:16px 0 8px;gap:22px}.footer-navigation h3{margin-bottom:8px}.footer-navigation a{font-size:.875rem;margin:6px 0}
.footer-notice{font-size:.75rem;line-height:1.5}
.expanded-foot .foot-bottom{margin-top:8px;padding-top:12px;font-size:.75rem}
.build-opening h1{font-size:clamp(36px,4.5vw,58px);line-height:1.1;margin:18px 0 24px}.build-opening .lede{max-width:55ch}
.build-examples>article{display:grid;grid-template-columns:1fr 1.2fr;gap:50px;border-top:1px solid var(--line);padding:28px 0;align-items:start}
.build-examples h2{font-size:1.75rem;line-height:1.2;max-width:25ch}.build-examples article>.eyebrow{margin-bottom:12px}.build-examples article>p{font-size:1rem;color:var(--ink-2);max-width:55ch}
.toolkit-intro{display:grid;grid-template-columns:1fr 1fr;gap:16px 50px}.toolkit-intro>.eyebrow{grid-column:1/-1;margin:0}.toolkit-intro h2{font-size:2rem}.toolkit-intro>p:last-child{font-size:1rem;color:var(--ink-2)}
.tech-section h2{font-size:1.25rem;margin-bottom:24px}.tech-section .logo-track li{width:130px}.tech-section .logo-track img{width:52px;height:52px;filter:brightness(0)}
.tech-section{border-bottom:0;margin-block:28px;padding-block:25px 0}.toolkit-note{margin-top:20px}
@media(max-width:820px){.footer-intro{grid-template-columns:1fr;gap:14px}.footer-navigation{grid-template-columns:1fr 1fr 1fr;gap:16px}.footer-notice{grid-column:1/-1}.build-examples>article,.toolkit-intro{grid-template-columns:1fr;gap:16px}.build-opening h1 br{display:none}.logo-track li{width:185px}.vendor-disclaimer span{display:inline}.vendor-disclaimer span+span::before{content:" "}.approach-timeline>li{padding-left:42px}.build-examples h2{max-width:none}.footer-location p br{display:none}}
@media(max-width:420px){.footer-navigation{grid-template-columns:1fr 1fr}.footer-navigation>div:last-of-type{grid-column:1/-1}}

/* Review seven: integrated chapters and a quiet attachment surface. */
.build-illustrated .targe-watercolor{mix-blend-mode:multiply;mask-image:linear-gradient(to right,transparent,#000 4%,#000 96%,transparent),linear-gradient(to bottom,transparent,#000 3%,#000 97%,transparent);mask-composite:intersect}
.founder-editorial{border-left:0;padding-inline:var(--gutter)}
.deployment-options .split>.col-head{position:static;top:auto}.deployment-options .col-head .lede{max-width:75ch}
.deployment-data{margin-top:30px;padding:24px 28px;background:var(--wash);border-left:2px solid var(--deep);display:grid;grid-template-columns:1fr 1.5fr;gap:12px 32px}.deployment-data .eyebrow{grid-column:1/-1;margin:0}.deployment-data h3{font-size:1.5rem}.deployment-data p{font-size:1rem;line-height:1.65;margin:0}.deployment-data p:last-child{grid-column:2}
.build-illustrated{display:grid;grid-template-columns:1.5fr .65fr;gap:36px;align-items:center}.build-illustrated figure{margin:0}.build-illustrated img{display:block;width:100%;height:auto}
.application-chapters>.eyebrow{margin-bottom:26px}.application-chapter{margin:0;padding:32px 0}.application-chapter>h2{font-size:1.8rem;margin:0 0 24px}.application-pair{display:grid;grid-template-columns:1fr 1fr;gap:32px}.application-pair article{padding:24px;border-top:2px solid var(--deep);background:var(--wash)}.application-pair h3{font-size:1.5rem;margin-bottom:14px;line-height:1.25}.application-pair p:last-child{font-size:1rem;line-height:1.65;color:var(--ink-2)}.chapter-1{border-block:1px solid var(--line)}.chapter-1 .application-pair article{border:0;background:none;padding:0}.chapter-2 .application-pair{grid-template-columns:.8fr 1.2fr}.chapter-2 .application-pair article{background:none;border-top:0;border-left:2px solid var(--deep)}
.core-values article{background:var(--ground);border-left:1px solid var(--line)}.core-values h3{color:var(--ink)}.core-values article:nth-child(3n+1)::before{color:var(--deep)}.core-values article:nth-child(3n+2)::before{color:#816423}.core-values article:nth-child(3n)::before{color:#42413e}
.attachment-field{margin:24px 0 16px}#attachment-label{font-size:.875rem;margin-bottom:10px}#attachment-label span{color:var(--ink-2)}#file-dropzone{padding:30px 22px;text-align:center;border:1px dashed #897a7b;background:var(--ground);transition:background .15s,border-color .15s}#file-dropzone.drag-active{background:#f3e8eb;border:2px solid var(--deep);padding:29px 21px}#file-dropzone .drop-title{font:1.25rem var(--display);margin:0 0 8px}#file-dropzone p{margin:8px 0;font-size:.875rem}#file-dropzone .drop-limit{font-size:.8125rem;color:var(--ink-2)}#browse-files,#attachment-list button{font:inherit;color:var(--deep);background:none;border:0;text-decoration:underline;text-underline-offset:3px;cursor:pointer;padding:4px}#browse-files:focus-visible,#attachment-list button:focus-visible{outline:2px solid var(--deep);outline-offset:3px}#attachment-list{list-style:none;margin:16px 0 0;padding:0;text-align:left}#attachment-list:empty{margin:0}#attachment-list li{display:flex;gap:16px;align-items:center;justify-content:space-between;padding:10px 0;border-top:1px solid var(--line);font-size:.875rem}#attachment-list span{overflow-wrap:anywhere;min-width:0}#attachment-list button{flex-shrink:0}#attachment-status:empty{display:none}#attachment-status{color:var(--deep)}
@media(max-width:760px){.build-illustrated,.application-pair,.chapter-2 .application-pair,.deployment-data{grid-template-columns:1fr}.build-illustrated figure{max-width:240px;margin:auto}.deployment-data p:last-child{grid-column:auto}.application-chapter{padding:24px 0}.founder-editorial{padding-inline:var(--gutter)}}

#suggest-open{display:inline-flex;justify-content:center;align-items:center;border:1px solid var(--deep);cursor:pointer;margin-top:8px}
#suggest-close{width:44px;height:44px;display:grid;place-items:center;font-size:1.5rem;line-height:1;border-radius:2px}
#suggest-close:hover{background:var(--wash)}

/* Complete rows: 15 providers divide evenly into 5, 3 or 1 columns. */
.provider-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:0;list-style:none;padding:0;margin:24px 0 0}
.provider-grid li{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;padding:24px 8px;min-height:136px;text-align:center;font-size:.875rem;border-bottom:1px solid var(--line)}
.provider-grid img{width:44px;height:44px;object-fit:contain;filter:grayscale(1) brightness(0)}
.artifact-link{display:block;text-decoration:none;border:0}
.artifact-link:focus-visible{outline:2px solid var(--deep);outline-offset:5px}
.broch-story figure{overflow:hidden;aspect-ratio:1/1;mask-image:linear-gradient(to bottom,transparent,#000 7%,#000 93%,transparent)}
.broch-story figure img{width:100%;height:100%;max-height:none;object-fit:cover;object-position:50% 64%;transform:scale(1.18)}
.resource-browser input,.resource-browser select,#suggest-dialog input:not([type=checkbox]),#suggest-dialog textarea{border-color:var(--line-ctl)}
.article-hero{margin:28px 0 40px}.article-hero img{display:block;width:100%;height:auto;max-height:360px;object-fit:contain;mix-blend-mode:multiply}
.article-body figure{margin:28px 0}.article-body figure img{width:100%;height:auto;display:block}.article-body figcaption{font-size:.875rem;line-height:1.5;color:var(--ink-2);margin-top:12px}
.article-body ol,.article-body ul{padding-left:1.5em;margin:20px 0}.article-body li{margin:8px 0}.article-meta{font-size:.875rem;color:var(--ink-2);margin:16px 0}
.legal-nav{display:flex;flex-wrap:wrap;gap:12px 24px;margin:24px 0}.legal-nav a{font-size:.875rem}.article-body h2[id]{scroll-margin-top:110px}
@media(max-width:900px){.provider-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:480px){.provider-grid{grid-template-columns:1fr}.provider-grid li{flex-direction:row;justify-content:flex-start;gap:24px;min-height:84px;padding:18px 24px}.broch-story figure{aspect-ratio:1.1/1}.article-hero img{max-height:260px}}

/* --- Upload progress, and the challenge -----------------------------------
   The attachment row grows a progress track while a file is in flight. The
   site is the firm's main evidence of software ability, so a stalled upload
   with no feedback is a substantive failure, not a cosmetic one. */
#attachment-list li{flex-wrap:wrap}
.attachment-name{flex:1 1 auto;min-width:0;overflow-wrap:anywhere}
.upload-track{
  flex:1 1 120px;
  height:4px;
  background:var(--line);
  border-radius:2px;
  overflow:hidden;
  min-width:80px;
}
.upload-bar{
  display:block;
  height:100%;
  width:0;
  background:var(--deep);
  transition:width .18s linear;
}
.upload-track.is-done .upload-bar{background:#2F6B47}
.upload-percent{
  flex:0 0 auto;
  font-variant-numeric:tabular-nums;
  font-size:.8125rem;
  color:var(--ink-2);
  min-width:5.5em;
  text-align:right;
}
.upload-failed{flex:0 0 auto;font-size:.8125rem;color:var(--deep)}

.turnstile-field{margin:0 0 20px}
/* Reserve the widget's height so the submit button does not jump when the
   challenge finishes loading. */
.turnstile-field .cf-turnstile{min-height:65px}

@media (prefers-reduced-motion:reduce){
  .upload-bar{transition:none}
}

/* --- Mobile review, 2026-09-15 -------------------------------------------- */

/* Footer links were 23px tall. WCAG 2.5.8 asks for 24 as a minimum and a phone
   wants considerably more, so the spacing moves from margin, which does nothing
   for a thumb, into the target itself. */
.footer-navigation a{margin:0;padding:7px 0}

@media (max-width:820px){
  .footer-navigation a{
    display:flex;
    align-items:center;
    min-height:44px;
    padding:0;
  }
  .footer-location a,
  .footer-phone{
    display:inline-flex;
    align-items:center;
    min-height:44px;
  }
}

/* The open menu used to float over live text with nothing behind it, so the
   page read as two things at once. The scrim sits under the header, which
   carries the panel, and over everything else. */
html.nav-open{overflow:hidden}
html.nav-open body::after{
  content:"";
  position:fixed;
  inset:0;
  z-index:40;
  background:rgba(41,39,37,.42);
  animation:rb-scrim .16s ease-out;
}
@keyframes rb-scrim{from{opacity:0}to{opacity:1}}
@media (prefers-reduced-motion:reduce){
  html.nav-open body::after{animation:none}
}
