/* Supporting pages (Security, About, How we use AI, Contact, Guides, legal).
   Loaded after site.css on page.html only. Monolith ink: #1d1d1f text, #6e6e73
   secondary (4.6:1 on white), #e2e2e2 hairlines, #f5f5f5 paper; the secondary ink
   for line marks. Black, white and grey only: no blue (founder, 29 Sep 2026).
   Motion: blocks marked data-page-reveal fade and lift in once (site-pages.js
   revealPage, the homepage's timing); reduced motion skips it. */

/* Centre subpage sections at every width. At 1440px and below the base gutter
   rule set a fixed left margin, so 1140px content sat off-centre. */
body:not([data-page=home]):not([data-page=pricing]) .site-section:not(.page-intro):not(.page-start):not(.legal-document){--page-gutter:54px;margin-inline:max(var(--page-gutter),calc((100% - 1140px)/2))}

/* Shared subpage palette: neutral greys in place of the older green-tinted ones. */
.page-breadcrumb{color:#6e6e73}
body:not([data-page=home]) .page-intro>p:not(.section-eyebrow){color:#6e6e73}
body:not([data-page=home]) .page-intro h1,body:not([data-page=home]) .site-section>h2{color:#1d1d1f}
body:not([data-page=home]) .section-eyebrow{color:#6e6e73}
body:not([data-page=home]) main a:focus-visible,body:not([data-page=home]) main button:focus-visible,body:not([data-page=home]) input:focus-visible,body:not([data-page=home]) textarea:focus-visible,body:not([data-page=home]) select:focus-visible{outline-color:#1d1d1f}
body:not([data-page=home]) .panel{border-color:#e2e2e2}
body:not([data-page=home]) .panel p{color:#6e6e73}
.trust-card,.guide-card{border-top-color:#e2e2e2}
.trust-card p,.guide-card p{color:#6e6e73}
/* A button inside prose keeps its own colours (it inherited #3b3b3b on #161616, 1.62:1). */
.prose a.solid-link{color:#fff;text-decoration:none}
.prose a.outline-link{color:#1d1d1f;text-decoration:none}

/* Closing band on every subpage. */
.page-start{background:#f5f5f5;border-top-color:#e2e2e2}
.page-start-copy h2{color:#1d1d1f}
.page-start-copy>p,.page-start-note{color:#6e6e73}
.page-start-actions>.text-link{min-height:36px;font-size:13px;gap:16px}

/* Guides and contact. */
.guide-toc{border-bottom-color:#e2e2e2}
.guide-toc a{color:#424245}
.guide-grid .guide-meta,.guide-layout .guide-meta{color:#6e6e73}
/* The checklist on the page (CNT-5), above its download, and the Sources list a
   reviewed guide ends with. The sticky panel scrolls on its own when the checklist
   makes it taller than the window, so its end is never out of reach. */
.guide-checklist{margin:0 0 22px;padding-left:20px;display:grid;gap:8px;font-size:14px;line-height:1.5;color:#424245}
.guide-checklist li::marker{color:#6e6e73;font-size:12px}
.guide-sources{margin-top:45px;padding-top:26px;border-top:1px solid #e2e2e2}
.guide-layout .prose .guide-sources h2{font-size:22px;letter-spacing:-.4px;margin:0 0 14px}
.guide-sources ol{padding-left:20px;margin:0;display:grid;gap:8px}
@media(min-width:801px){.guide-layout>.panel{max-height:calc(100vh - 128px);overflow-y:auto;overscroll-behavior:contain}}
.contact-form .field>p,.contact-form label>span{color:#6e6e73}
.contact-direct{border-bottom-color:#e2e2e2}

/* Legal documents (privacy, terms). */
.legal-status{background:#f5f5f5;border-color:#e2e2e2;color:#424245}
.legal-status strong,.legal-status b{color:#1d1d1f}
.legal-document table{color:#424245}
.legal-document th,.legal-document td{border-bottom-color:#e2e2e2}
.legal-document th{background:#f5f5f5;color:#1d1d1f}
.legal-aside{border-top-color:#e2e2e2;color:#6e6e73}

/* Cards with a distinct line mark (Security, About, How we use AI). */
.site-section>h2+.pages-grid,.site-section>h2+.pages-pair,.site-section>h2+.pages-steps{margin-top:36px}
.pages-card>svg{width:28px;height:28px;color:#6e6e73;margin-bottom:20px}
.pages-card h3{font-size:23px;line-height:1.2;letter-spacing:-.6px;font-weight:500;color:#1d1d1f;margin-bottom:14px}
.pages-card p a,.pages-audience p a,.pages-details a{color:#1d1d1f;text-decoration:underline;text-underline-offset:3px}
.pages-card .text-link{margin-top:12px;gap:16px}
.pages-grid-2{grid-template-columns:repeat(2,minmax(0,1fr));gap:26px 56px}
.pages-limits .pages-card h3{font-size:20px;letter-spacing:-.4px;margin-bottom:10px}

/* One-line callout (AI with people in charge). */
body:not([data-page=home]) .site-section.pages-tight{padding-block:8px}
.pages-callout{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:28px;align-items:center;padding:32px 36px;border:1px solid #e2e2e2;border-radius:16px;background:#f5f5f5}
.pages-callout>svg{width:32px;height:32px;color:#6e6e73}
.site-section .pages-callout h2{font-size:26px;letter-spacing:-.7px;line-height:1.2;color:#1d1d1f;margin-bottom:8px}
.pages-callout p{font-size:15px;line-height:1.6;color:#6e6e73;max-width:640px}
.pages-callout .text-link{gap:16px;white-space:nowrap}

/* Organisation review band (Security). */
.pages-review{display:flex;justify-content:space-between;align-items:flex-end;gap:48px;border-top:1px solid #e2e2e2;padding-top:44px}
.site-section .pages-review h2{font-size:clamp(30px,3vw,40px);letter-spacing:-1.3px;line-height:1.1;color:#1d1d1f}
.pages-review .section-eyebrow{margin-bottom:16px}
.pages-review p:not(.section-eyebrow){font-size:16px;line-height:1.6;color:#6e6e73;max-width:560px;margin-top:16px}
.pages-review-actions{display:flex;flex-wrap:wrap;gap:12px;flex:none}
.pages-review-actions>a{gap:20px}

/* About: audiences, principles, company details. */
.pages-pair{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:26px}
.pages-audience{border:1px solid #e2e2e2;border-radius:16px;padding:32px 34px 22px;background:#fff}
.pages-audience .section-eyebrow{margin-bottom:16px}
.pages-audience h3{font-size:26px;line-height:1.15;letter-spacing:-.8px;font-weight:500;color:#1d1d1f;margin-bottom:14px}
.pages-audience p:not(.section-eyebrow){font-size:15px;line-height:1.65;color:#6e6e73}
.pages-audience .text-link{margin-top:10px;gap:16px}
.pages-aside-line{margin-top:28px;font-size:15px;line-height:1.6;color:#6e6e73;max-width:720px}
.pages-ai-line{font-size:18px;line-height:1.5;color:#1d1d1f;font-weight:500;letter-spacing:-.2px;margin-top:36px;padding-top:24px;border-top:1px solid #e2e2e2;max-width:none}
.pages-more{display:flex;flex-wrap:wrap;gap:0 34px;margin-top:30px;padding-top:8px;border-top:1px solid #e2e2e2}
.pages-more .text-link{gap:16px}
.pages-company{grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:56px}
.site-section .pages-company-copy h2{font-size:clamp(32px,3vw,42px);letter-spacing:-1.3px;line-height:1.1;color:#1d1d1f}
.pages-company-copy .section-eyebrow{margin-bottom:16px}
.pages-company-copy p:not(.section-eyebrow){font-size:16px;line-height:1.65;color:#6e6e73;margin-top:18px;max-width:440px}
.pages-company-copy .pages-external a{display:inline-flex;align-items:center;min-height:44px;font-size:14px;font-weight:500;color:#1d1d1f;text-decoration:underline;text-underline-offset:4px}
.pages-details{margin:0;padding:6px 32px}
.pages-details>div{display:grid;grid-template-columns:minmax(0,170px) minmax(0,1fr);gap:6px 20px;padding:16px 0;border-bottom:1px solid #e2e2e2}
.pages-details>div:last-child{border-bottom:0}
.pages-details dt{font-size:13px;line-height:1.6;color:#6e6e73}
.pages-details dd{margin:0;font-size:15px;line-height:1.6;color:#1d1d1f;overflow-wrap:anywhere}

/* How we use AI: step list and split sections. */
.pages-steps{list-style:none;margin:0;padding:0;border-top:1px solid #e2e2e2;counter-reset:pages-step}
.pages-steps>li{display:grid;grid-template-columns:44px minmax(0,250px) minmax(0,1fr) minmax(0,180px);gap:6px 28px;align-items:start;padding:22px 0;border-bottom:1px solid #e2e2e2;counter-increment:pages-step}
.pages-steps>li::before{content:counter(pages-step,decimal-leading-zero);font:11px/1.9 'JetBrains Mono',monospace;letter-spacing:1px;color:#6e6e73}
.pages-steps h3{font-size:17px;line-height:1.45;font-weight:550;letter-spacing:-.2px;color:#1d1d1f}
.pages-steps p{font-size:15px;line-height:1.65;color:#6e6e73}
.pages-steps .pages-who{justify-self:end;font-size:12px;line-height:1.4;font-weight:500;color:#1d1d1f;border:1px solid #e2e2e2;border-radius:999px;padding:5px 11px;white-space:nowrap}
.pages-split{grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:56px}
.site-section .pages-split h2{font-size:clamp(32px,3vw,42px);letter-spacing:-1.3px;line-height:1.1;color:#1d1d1f}
.pages-list{list-style:none;margin:0;padding:0;border-top:1px solid #e2e2e2}
.pages-list>li{position:relative;padding:16px 0 16px 30px;border-bottom:1px solid #e2e2e2;font-size:16px;line-height:1.6;color:#1d1d1f}
.pages-list>li::before{content:"";position:absolute;left:4px;top:28px;width:12px;height:1.5px;background:#6e6e73}
.pages-split-copy p{font-size:16px;line-height:1.7;color:#6e6e73;margin-bottom:14px}
.pages-split-copy .text-link{gap:16px}

@media(max-width:1100px){
  body:not([data-page=home]):not([data-page=pricing]) .site-section:not(.page-intro):not(.page-start):not(.legal-document){--page-gutter:36px}
  .pages-steps>li{grid-template-columns:40px minmax(0,1fr) auto;gap:6px 24px}
  .pages-steps>li>p:not(.pages-who){grid-column:2/-1}
  .pages-steps .pages-who{grid-column:3;grid-row:1}
}
@media(max-width:800px){
  .pages-pair,.pages-grid-2{grid-template-columns:1fr}
  .pages-grid{gap:0}
  /* Phone cards: the mark sits beside the heading, so each card is one short block. */
  .trust-card.pages-card{display:grid;grid-template-columns:28px minmax(0,1fr);gap:0 16px;padding:24px 0}
  .pages-card>svg{grid-row:1/span 3;width:24px;height:24px;margin:1px 0 0}
  .pages-card>:not(svg){grid-column:2}
  .pages-card h3{margin-bottom:8px}
  .pages-limits .trust-card.pages-card{grid-template-columns:minmax(0,1fr)}
  .pages-limits .pages-card>*{grid-column:1}
  .pages-callout{grid-template-columns:auto minmax(0,1fr);gap:18px 22px}
  .pages-callout>.text-link{grid-column:2}
  .pages-review{flex-direction:column;align-items:flex-start;gap:26px}
  .pages-company,.pages-split{grid-template-columns:1fr;gap:28px}
}
@media(max-width:540px){
  body:not([data-page=home]):not([data-page=pricing]) .site-section:not(.page-intro):not(.page-start):not(.legal-document){--page-gutter:22px}
  .site-section>h2+.pages-grid,.site-section>h2+.pages-pair,.site-section>h2+.pages-steps{margin-top:26px}
  .pages-card h3{font-size:21px}
  .pages-audience{padding:24px 22px 16px}
  .pages-audience h3{font-size:23px}
  .pages-callout{grid-template-columns:1fr;padding:26px 22px}
  .pages-callout>.text-link{grid-column:auto}
  .site-section .pages-callout h2{font-size:23px}
  .pages-review{padding-top:34px}
  .pages-review-actions,.pages-review-actions>a{width:100%}
  .pages-details{padding:4px 20px}
  .pages-details>div{grid-template-columns:1fr;gap:2px;padding:13px 0}
  .pages-steps>li{grid-template-columns:32px minmax(0,1fr);gap:6px 14px;padding:18px 0}
  .pages-steps>li>p:not(.pages-who){grid-column:2}
  .pages-steps .pages-who{grid-column:2;grid-row:auto;justify-self:start;white-space:normal}
  .pages-list>li{font-size:15px;padding-left:26px}
  .pages-ai-line{font-size:17px}
  .page-start-actions>.text-link{align-self:center}
  .page-start-actions>.page-start-note{align-self:stretch;text-align:center}
}
@media(max-width:400px){
  body:not([data-page=home]) .page-intro h1{font-size:37px;letter-spacing:-1.4px}
}

/* Page reveal (site-pages.js revealPage): only blocks below the fold are ever
   marked pending, and only by JS, so nothing is hidden without it. */
[data-page-reveal=pending]{opacity:0;transform:translateY(18px)}
@media(prefers-reduced-motion:reduce){[data-page-reveal=pending]{opacity:1;transform:none}}
@media print{[data-page-reveal=pending]{opacity:1;transform:none}}

/* Phones: the running total steps aside while the full estimate is on screen. */
/* Guide cards: the title links to its guide as well as "Read the guide" (CNT-4). */
.guide-card h2 a{color:inherit;text-decoration:none}
.guide-card h2 a:hover{text-decoration:underline;text-underline-offset:5px;text-decoration-thickness:1.5px}
.guide-card h2 a:focus-visible{outline:2px solid #35483d;outline-offset:4px;border-radius:3px}
.guide-layout .prose .guide-related{margin-top:40px;padding-top:22px;border-top:1px solid #e2e2e2;font-size:15px;color:#6e6e73}
