/* Inner pages (D060): the homepage's paper ground and type, without its photographs.
 * Loads after tokens.css; the header and footer come from chrome.css, the homepage's own
 * surfaces from home.css. Headings are a serif claim with a grey lead under a short berry
 * rule; the deep-slate section with faint dots is the homepage's Technical depth. */

:root {
  --pad:clamp(1.25rem,5.2vw,5rem);
  --edge:max(var(--pad),calc((100% - 1600px) / 2 + var(--pad)));
  --ground:#f5f7f8;
  --quiet:#687984;
  --rule-light:#d4dadd;
  --dusk-muted:#a7b0b5;
  --berry-dusk:#c96a83;
}
*,*::before,*::after { box-sizing:border-box; }
html { scroll-behavior:smooth; scroll-padding-top:2rem; }
body { margin:0; background:var(--ground); color:var(--ink); font:16px/1.6 var(--sans); -webkit-font-smoothing:antialiased; }
a { color:inherit; text-underline-offset:5px; }
:focus-visible { outline:3px solid var(--berry-deep); outline-offset:5px; }
.skip { position:absolute; left:-9999px; top:0; z-index:5; padding:.6rem 1rem; background:var(--ink); color:#fff; }
.skip:focus { left:1rem; top:1rem; }
h1,h2,h3,p { margin-top:0; }

.eyebrow { display:block; margin:0; font-size:12px; font-weight:600; letter-spacing:.14em; text-transform:uppercase; color:var(--muted); }
.rule { display:block; width:56px; border-top:2px solid var(--berry); margin:18px 0; }
.claim { margin:0; font:400 clamp(28px,2.8vw,40px)/1.15 var(--serif); letter-spacing:-.012em; text-wrap:balance; }
.claim .lead { color:var(--quiet); }
h1.claim { font-size:clamp(34px,3.8vw,56px); line-height:1.1; }
.small-label { margin:0 0 12px; font-size:13px; font-weight:600; letter-spacing:.06em; text-transform:uppercase; color:var(--quiet); }
.button { display:inline-block; justify-self:start; font:600 14px var(--sans); padding:12px 20px; background:var(--berry-deep); color:#fff; text-decoration:none; }
.button:hover { background:#6f3243; }
dt { font-size:15px; font-weight:600; line-height:1.5; }
dd { margin:0; font-size:15px; color:var(--muted); }

/* page intro */
.page-intro { padding:clamp(56px,7vw,96px) var(--edge) 56px; border-bottom:1px solid var(--rule-light); }
.page-intro .claim { max-width:900px; }
.page-lede { max-width:62ch; margin:28px 0 0; font-size:17px; color:var(--muted); }
.page-lede a { color:var(--ink); }
.page-index { display:flex; flex-wrap:wrap; gap:8px 32px; margin-top:40px; padding-top:16px; border-top:1px solid var(--rule-light); font-size:14px; }
.page-index a { color:var(--muted); text-decoration:none; }
.page-index a:hover { color:var(--ink); text-decoration:underline; }

/* sections */
.section { padding:96px var(--edge); }
.head { display:grid; max-width:780px; margin-bottom:48px; }
.section-lede { margin:24px 0 0; max-width:62ch; color:var(--muted); }

/* an intro with a photograph from the building beside it (who we work with, insights) */
.page-intro.has-figure { display:grid; grid-template-columns:minmax(0,1.1fr) minmax(0,1fr); padding:0 0 0 var(--edge); }
.has-figure .intro-text { align-self:center; padding:clamp(56px,7vw,96px) 56px 56px 0; }
.has-figure figure { margin:0; position:relative; min-height:480px; overflow:hidden; }
.has-figure figure img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; display:block; }

/* chart icons on the Capabilities rows (the homepage's What we build set, plus two) */
.ico { width:92px; height:92px; margin:-6px 0 14px -6px; padding:6px; border-radius:50%; background:var(--ground); }
.ico img { display:block; width:80px; height:80px; }

/* ruled lists: what we build (capabilities), kinds of firm, articles */
.surface { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,2fr); gap:48px; padding:32px 0 36px; border-top:1px solid var(--rule-light); }
.surface:first-child { border-top-color:var(--muted); }
.surface-name h3 { margin:0 0 12px; font:400 26px/1.2 var(--serif); text-wrap:balance; }
.surface-name p { margin:0; max-width:40ch; color:var(--muted); }
.surface-detail { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:24px 40px; margin:0; }
.surface-detail-3 { grid-template-columns:repeat(3,minmax(0,1fr)); }
.surface-detail dt { margin-bottom:6px; }
.section-foot { margin:40px 0 0; padding-top:16px; border-top:1px solid var(--rule-light); font-size:15px; color:var(--muted); }
.section-foot a { color:var(--ink); white-space:nowrap; }

/* ways to work together */
.offer-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:40px; }
.offer { border-top:1px solid var(--muted); padding-top:28px; min-width:0; }
.offer h3 { margin:0 0 20px; font:400 26px/1.2 var(--serif); }
.offer dl { margin:0; }
.offer dl>div { border-top:1px solid var(--rule-light); padding:14px 0; }
.offer dt { margin-bottom:4px; }

/* how it is built, how a project runs: deep slate, as the homepage's Technical depth */
.approach { color:#eef1f2; background-color:var(--deep);
  background-image:radial-gradient(circle,rgba(241,238,229,.10) 1px,transparent 1.25px); background-size:24px 24px; background-position:12px 12px; }
.approach .eyebrow,.approach .claim .lead,.approach .section-lede { color:var(--dusk-muted); }
.approach .rule { border-color:var(--berry-dusk); }
.approach :focus-visible { outline-color:var(--bone); }
.strip { display:block; width:100%; height:260px; margin:0 0 40px; object-fit:cover; object-position:center 50%; }
/* how a project runs: the copy's two, four and eight weeks on one week scale */
.weeks { margin:0 0 48px; }
.week-axis { list-style:none; margin:0; padding:0; display:grid; grid-template-columns:repeat(8,minmax(0,1fr));
  font-size:12px; color:var(--dusk-muted); font-variant-numeric:tabular-nums; }
.week-axis li { border-left:1px solid #4a5862; padding:0 0 10px 8px; }
.week-axis li:first-child::before { content:"Week "; }
.week-bars { display:grid; grid-template-columns:repeat(8,minmax(0,1fr)); column-gap:4px; }
.bar { margin:0; border-top:10px solid; padding:12px 8px 0 0; min-width:0; }
.bar span { display:block; font-size:15px; font-weight:600; }
.bar small { display:block; font-size:14px; color:var(--dusk-muted); }
.b1 { grid-column:1 / 3; border-color:#6f7d86; }
.b2 { grid-column:3 / 5; border-color:var(--dusk-muted); }
.b3 { grid-column:5 / 9; border-color:var(--bone); }
.capabilities { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:28px; margin:0; }
.capabilities>div { border-top:1px solid #4a5862; padding-top:12px; min-width:0; }
.capabilities dt { margin-bottom:4px; font-size:16px; text-wrap:balance; }
.capabilities dd { color:var(--dusk-muted); }

/* contact, closing the inner pages */
.contact { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:40px 64px; align-items:start;
  padding:96px var(--edge); border-top:1px solid var(--rule-light); }
.contact .head { margin:0; }
.contact-body { display:grid; gap:22px; }
.contact-body p { margin:0; max-width:56ch; color:var(--muted); }
.email { justify-self:start; font-size:15px; color:var(--ink); }
.approach + .contact { border-top:0; }

/* the contact page: the homepage's contact block, dome beside it */
.split { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); border-bottom:1px solid var(--rule-light); }
.split .text { display:grid; align-content:center; gap:22px; padding:72px 56px 72px var(--edge); }
.split p { margin:0; max-width:56ch; color:var(--muted); }
.split figure { margin:0; position:relative; min-height:560px; overflow:hidden; }
.split figure img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; display:block; }

/* insights */
.writing .surface { grid-template-columns:minmax(0,1fr) minmax(0,1.35fr); align-items:start; }
.writing-cover { display:block; line-height:0; }
.writing-cover img { width:100%; height:auto; border:1px solid var(--rule-light); }
.writing-entry h2 { margin:0 0 14px; font:400 clamp(26px,2.3vw,34px)/1.15 var(--serif); text-wrap:balance; }
.writing-entry h2 a { text-decoration:none; }
.writing-entry h2 a:hover { text-decoration:underline; text-decoration-thickness:1px; text-underline-offset:.15em; }
.writing .surface-name p { max-width:60ch; }
.writing .surface-name .writing-read { margin-top:20px; font-size:15px; }
.writing-read a { color:var(--ink); }

/* privacy: running text */
.prose { max-width:720px; }
.prose .privacy-updated { margin:16px 0 40px; font-size:14px; color:var(--quiet); }
.prose section { border-top:1px solid var(--rule-light); padding-top:24px; margin-top:28px; }
.prose section:first-of-type { border-top-color:var(--muted); }
.prose h2 { margin:0 0 12px; font:400 24px/1.25 var(--serif); }
.prose p,.prose dd { color:var(--muted); }
.prose code { font-size:.85em; }
.prose .cookie-list { margin:20px 0; }
.prose .cookie-list dt { margin-top:12px; }

@media (max-width:1050px) {
  .surface { gap:32px; }
  .surface-detail-3,.capabilities { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media (max-width:860px) {
  .section,.contact { padding-block:60px; }
  .page-intro { padding-top:48px; padding-bottom:40px; }
  .page-intro.has-figure { grid-template-columns:minmax(0,1fr); padding:0; }
  .has-figure .intro-text { padding:48px var(--edge) 40px; }
  .has-figure figure { min-height:260px; }
  .strip { height:180px; }
  .surface,.writing .surface { grid-template-columns:minmax(0,1fr); gap:20px; }
  .offer-grid { grid-template-columns:minmax(0,1fr); gap:32px; }
  .contact { grid-template-columns:minmax(0,1fr); }
  .split { grid-template-columns:minmax(0,1fr); }
  .split .text { padding:36px var(--edge) 44px; }
  .split figure { min-height:260px; order:-1; }
}
@media (max-width:600px) {
  .surface-detail,.surface-detail-3,.capabilities { grid-template-columns:minmax(0,1fr); }
  .page-index { flex-direction:column; gap:8px; }
  .week-axis li:first-child::before { content:none; }
}
@media (prefers-reduced-motion:reduce) { html { scroll-behavior:auto; } }

/* Anthropic S-1 model sign-up: the split's second column is the contents list, not a photograph. */
.s1 .s1-inside { display:grid; align-content:center; gap:18px; padding:72px var(--edge) 72px 56px; border-left:1px solid var(--rule-light); }
.s1-inside ul { margin:0; padding:0; list-style:none; max-width:44ch; }
.s1-inside li { padding:12px 0; border-top:1px solid var(--rule-light); color:var(--ink); }
.s1-inside li:last-child { border-bottom:1px solid var(--rule-light); }
.s1-pair { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:12px; margin-top:6px; }
.s1-pair > div { display:grid; gap:8px; }
.s1-optional { font-weight:400; color:var(--muted); }
.s1-submit { justify-self:start; margin-top:10px; }
.s1-submit:disabled { opacity:.6; cursor:wait; }
.s1-thanks:not([hidden]) { display:grid; gap:18px; }
.s1-thanks-lede { font:400 clamp(24px,2.4vw,32px)/1.2 var(--serif); color:var(--ink); }
@media (max-width:860px) {
  .s1 .s1-inside { order:0; padding:36px var(--edge) 44px; border-left:0; border-top:1px solid var(--rule-light); }
  .s1-pair { grid-template-columns:minmax(0,1fr); }
}
.s1-nowrap { white-space:nowrap; }
.s1-download { display:grid; gap:8px; }
.s1-download p { margin:0; }
.s1 .s1-inside .s1-inside-next { margin-top:18px; }
