@font-face{font-family:Manrope;src:url('assets/fonts/manrope-400.woff2') format('woff2');font-weight:200 800;font-display:swap}
@font-face{font-family:'DM Sans';src:url('assets/fonts/dm-sans-400.woff2') format('woff2');font-weight:100 1000;font-display:swap}
:root{--ink:#17334c;--paper:#faf8f1;--white:#fff;--yellow:#e8f544;--muted:#526574;--line:#b8c8d3;--head:Manrope,sans-serif;--body:'DM Sans',sans-serif;--focus:#936600}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:24px}body{margin:0;background:var(--paper);color:var(--ink);font:18px/1.6 var(--body)}[hidden]{display:none!important}a{color:inherit;text-underline-offset:4px}a,button{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible,summary:focus-visible,iframe:focus-visible{outline:3px solid var(--focus);outline-offset:5px}h1,h2,h3,p,figure,dl,dd{margin:0}h1,h2,h3{font-family:var(--head);line-height:1.1;letter-spacing:-.045em}h1{font-size:clamp(48px,5.7vw,84px);font-weight:650;letter-spacing:-.055em}h2{font-size:clamp(38px,4.2vw,62px);font-weight:650}h3{font-size:25px;font-weight:650;letter-spacing:-.025em}img{display:block;width:100%;max-width:100%;height:auto}button,input,textarea{font:inherit}button{cursor:pointer}.wrap{width:min(1280px,calc(100% - 96px));margin-inline:auto}.eyebrow{font-size:13px;font-weight:700;letter-spacing:.04em;margin-bottom:18px}.review-bar{padding:9px 24px;display:flex;gap:18px;justify-content:space-between;background:var(--ink);color:var(--paper);font-size:12px;--focus:var(--yellow)}.review-bar a{text-decoration:none}.skip{position:absolute;top:-100px;left:16px;z-index:20;padding:12px 18px;background:var(--white)}.skip:focus{top:52px}.nav{min-height:98px;display:flex;justify-content:space-between;align-items:center;gap:24px}.wordmark{font:800 30px/.9 var(--head);letter-spacing:-.09em;text-decoration:none}.wordmark span{display:block;text-align:right;font:500 11px/1.8 var(--body);letter-spacing:.16em}.nav nav{display:flex;gap:30px;font-size:15px}.nav nav a{text-decoration:none}.button{display:inline-flex;align-items:center;justify-content:center;min-height:56px;padding:15px 24px;border:1px solid var(--ink);border-radius:999px;background:var(--ink);color:var(--white);font-size:15px;font-weight:700;text-decoration:none;text-align:center;line-height:1.4}.button:hover{background:#254b6a}.text-link{font-size:15px;font-weight:600}.actions{display:flex;flex-wrap:wrap;gap:20px;align-items:center}.portrait-frame{overflow:hidden;border:1px solid var(--line);border-radius:30px;background:var(--white)}
.hero{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:30px;align-items:center;padding:52px 0 78px}.hero-copy h1{max-width:740px}.lede{max-width:555px;margin:26px 0;font-size:20px;line-height:1.6}.support{margin-top:22px;font-size:13px;max-width:470px;color:var(--muted)}.hero-bob{width:100%;max-width:550px;justify-self:end}
.meet{padding:74px 0 82px;border-top:1px solid var(--line)}.meet-story{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(230px,.7fr);grid-template-areas:'heading bob' 'body bob';gap:22px 70px;align-items:center}.meet-heading{grid-area:heading;align-self:end}.meet-body{grid-area:body;max-width:600px;color:var(--muted);align-self:start}.meet-bob{grid-area:bob;width:min(100%,340px);justify-self:end}.jobs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;list-style:none;margin:34px 0 0;padding:0}.jobs li{padding:26px;border:1px solid var(--line);border-radius:24px;background:rgba(255,255,255,.6)}.jobs p{font-size:17px;color:var(--muted);margin-top:13px}
.work{padding:76px 0 72px;background:var(--ink);color:var(--paper);--focus:var(--yellow)}.work-intro{display:grid;grid-template-columns:200px minmax(0,1fr);grid-template-areas:'bob heading' 'bob body';gap:18px 52px;align-items:center}.work-heading{grid-area:heading;align-self:end}.work-body{grid-area:body;align-self:start;max-width:670px;color:#d4dee5}.work-bob{grid-area:bob;align-self:center}.demo-shell{margin-top:34px;padding:28px;border:1px solid #60778a;border-radius:28px;background:#102a40}.demo-toolbar{display:flex;justify-content:space-between;gap:24px;align-items:center}.demo-position{font-size:14px;font-weight:700;color:var(--yellow);margin-bottom:10px}.demo-controls{display:flex;gap:10px;flex-shrink:0}.demo-controls button{min-width:92px;min-height:48px;padding:12px 20px;border:1px solid #96a9b8;border-radius:999px;background:transparent;color:var(--white);font-size:15px;font-weight:700}.demo-controls button:hover:not(:disabled){background:#27445b;border-color:var(--yellow)}.demo-controls button:disabled{opacity:.4;cursor:not-allowed}.demo-caption{margin:20px 0 22px;max-width:900px;color:#d4dee5;font-size:18px}.demo-frame,.service-frame{overflow:hidden;border-radius:18px;border:1px solid var(--line);background:var(--white)}.demo-frame iframe,.service-frame iframe{display:block;width:100%;height:640px;border:0;background:var(--white)}.frame-status{font-size:14px;margin:0 0 12px}.demo-result{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:22px 0 4px}.demo-result p{font-weight:600;max-width:690px}.demo-result a{color:var(--yellow);flex-shrink:0}.demo-summary{padding-top:20px;font-size:16px;color:#d4dee5}.demo-summary summary{cursor:pointer;min-height:44px;padding:8px 0;font-weight:600}.demo-summary ol{padding-left:24px;max-width:870px}.demo-summary li+li{margin-top:8px}.boundary{margin-top:20px;font-size:14px;color:var(--muted)}.work .boundary{color:#c5d0d8}
.service{padding:78px 0 84px}.service-intro>p:last-child{max-width:820px;margin-top:24px;color:var(--muted)}.proof-takeaway{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px;list-style:none;margin:32px 0 28px;padding:0}.proof-takeaway li{border-top:2px solid var(--ink);padding-top:16px}.proof-takeaway strong{display:block;font-size:19px}.proof-takeaway span{display:block;margin-top:7px;font-size:17px;color:var(--muted)}.service-frame iframe{height:670px}
.pilot{background:var(--yellow);padding:74px 0 72px}.pilot-grid{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr);grid-template-areas:'heading bob' 'summary bob' 'details details';gap:24px 72px;align-items:center}.pilot-heading{grid-area:heading;align-self:end}.pilot-summary{grid-area:summary;align-self:start}.large-copy{font-size:26px;line-height:1.4;font-weight:600}.pilot-bob{grid-area:bob;width:min(100%,340px);justify-self:end;border-color:#627028;background:#e8f544}.pilot-details{grid-area:details;padding-top:12px}.pilot-details>p:first-child{max-width:840px;font-size:20px}.pilot-steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:26px;margin:28px 0;border-top:1px solid #85934a;padding-top:24px}.pilot-steps dt{font:700 23px/1.3 var(--head);letter-spacing:-.02em}.pilot-steps dd{margin-top:10px;font-size:17px}.pilot-note{max-width:960px;font-size:14px;margin-bottom:20px}
.events{padding:72px 0;border-bottom:1px solid var(--line);display:grid;grid-template-columns:1fr 1fr;gap:64px}.event-links{display:grid;gap:0}.event-links a{padding:20px 0;border-bottom:1px solid var(--line);text-decoration:none}.event-links a:first-child{padding-top:0}.event-links strong{font:650 23px/1.35 var(--head);letter-spacing:-.02em}.event-links span{display:block;font-size:16px;color:var(--muted);margin-top:8px}
.closing{padding:68px 0 72px}.closing-grid{display:grid;grid-template-columns:minmax(240px,.75fr) minmax(0,1.25fr);grid-template-areas:'bob copy';gap:68px;align-items:center}.closing-bob{grid-area:bob;width:min(100%,375px);justify-self:start;background:#faf8f1}.closing-copy{grid-area:copy}.closing-copy>p:not(.eyebrow){max-width:570px;margin:24px 0 28px}.footer{padding:28px 0 38px;border-top:1px solid var(--line);font-size:13px}.footer nav{display:flex;flex-wrap:wrap;gap:12px 24px;margin-top:18px}.footer nav a{min-height:30px}
.page-intro{padding:48px 0 54px;max-width:900px}.page-intro>p:last-child{max-width:750px;margin-top:24px;font-size:20px;color:var(--muted)}.page-body{padding-bottom:72px}.content-grid{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:64px;align-items:start}.content-grid h2{font-size:36px}.content-grid p+p{margin-top:18px}.content-grid ol,.content-grid ul{padding-left:23px}.inquiry-form{display:grid;gap:20px;padding:28px;border:1px solid var(--line);border-radius:24px;background:var(--white)}.inquiry-fields{display:grid;grid-template-columns:1fr 1fr;gap:18px}.inquiry-form label{display:block;font-size:16px;font-weight:600}.inquiry-form label>span{font-weight:400;color:var(--muted)}.inquiry-form input:not([type=checkbox]),.inquiry-form textarea{width:100%;display:block;margin-top:8px;border:1px solid #8295a4;border-radius:10px;padding:13px;background:white;color:var(--ink);font-size:17px}.inquiry-form textarea{resize:vertical;min-height:132px}.inquiry-form .consent{display:flex;align-items:flex-start;gap:12px;font-size:15px;line-height:1.5}.consent input{flex:0 0 auto;width:22px;height:22px;margin-top:2px;accent-color:var(--ink)}.form-help{font-size:14px;color:var(--muted)}.form-status{font-size:16px;padding:14px;border-left:3px solid var(--ink);background:var(--paper)}.inquiry-form button{justify-self:start}.trap{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}.request-preview{margin-top:20px;padding:24px;border:1px solid var(--line);border-radius:20px;background:#fff}.request-preview h3{font-size:24px;margin-bottom:14px}.request-preview p{white-space:pre-wrap;overflow-wrap:anywhere}.resource-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin:28px 0}.resource-grid a{display:block;padding:24px;border:1px solid var(--line);border-radius:20px;text-decoration:none;background:#fff}.resource-grid strong{display:block;font:650 24px/1.3 var(--head)}.resource-grid span{display:block;margin-top:8px;color:var(--muted);font-size:15px}.prose{max-width:800px;padding-bottom:70px}.prose h2{font-size:29px;margin:36px 0 16px;letter-spacing:-.02em}.prose p{margin-bottom:18px}.prose li{margin:8px 0}.prose a{overflow-wrap:anywhere}.legal-note{font-size:14px;color:var(--muted);margin-top:16px}
@media(max-width:1000px){.wrap{width:calc(100% - 64px)}.hero{grid-template-columns:minmax(0,1.22fr) minmax(0,.78fr);gap:22px}.hero h1{font-size:clamp(48px,6.2vw,66px)}.meet-story{gap:20px 38px}.work-intro{grid-template-columns:160px minmax(0,1fr);gap:18px 32px}.pilot-grid{gap:24px 38px}.closing-grid{gap:38px}.events{gap:38px}.content-grid{gap:36px}.demo-toolbar{align-items:flex-start}.demo-result{display:block}.demo-result a{display:inline-block;margin-top:12px}}
@media(max-width:760px){body{font-size:17px}.wrap{width:calc(100% - 40px)}.review-bar{padding:8px 14px;gap:10px;font-size:10px;flex-wrap:wrap}.nav{min-height:92px;gap:14px;flex-wrap:wrap;padding:17px 0}.wordmark{font-size:25px}.nav nav{gap:16px;font-size:13px}.nav nav a{display:flex;align-items:center;min-height:32px}.eyebrow{font-size:12px;margin-bottom:14px}h1{font-size:clamp(42px,10.7vw,66px)}h2{font-size:clamp(34px,8.7vw,48px)}h3{font-size:23px}.hero{display:grid;grid-template-columns:minmax(0,1fr) clamp(96px,28vw,170px);grid-template-areas:'eyebrow eyebrow' 'headline headline' 'lede lede' 'actions bob' 'support support';gap:20px 18px;padding:28px 0 48px}.hero-copy{display:contents}.hero-copy>.eyebrow{grid-area:eyebrow;margin:0}.hero h1{grid-area:headline;font-size:clamp(34px,10.7vw,66px)}.lede{grid-area:lede;margin:0;font-size:18px}.actions{grid-area:actions;flex-direction:column;align-items:stretch;gap:15px}.actions .button{padding:14px 16px;font-size:14px}.actions .text-link{font-size:14px}.hero-bob{grid-area:bob;width:100%;align-self:center}.support{grid-area:support;margin:0;font-size:12px}.meet{padding:48px 0 54px}.meet-story{grid-template-columns:minmax(0,1fr) clamp(100px,30vw,175px);grid-template-areas:'heading heading' 'body bob';gap:23px 18px}.meet-body{font-size:17px}.meet-bob{border-radius:20px;align-self:center}.jobs{grid-template-columns:1fr;gap:12px;margin-top:28px}.jobs li{padding:22px;border-radius:20px}.jobs p{font-size:16px;margin-top:9px}.work{padding:52px 0}.work-intro{grid-template-columns:clamp(100px,30vw,160px) minmax(0,1fr);grid-template-areas:'heading heading' 'bob body';gap:23px 18px}.work-body{font-size:16px;align-self:center}.work-bob{border-radius:20px}.demo-shell{padding:18px;border-radius:22px;margin-top:28px}.demo-toolbar{display:block}.demo-controls{margin-top:18px;display:grid;grid-template-columns:1fr 1fr}.demo-controls button{min-width:0;padding:12px 16px}.demo-position{font-size:13px}.demo-caption{font-size:16px;margin:18px 0}.demo-frame,.service-frame{border-radius:14px}.demo-frame iframe{height:700px}.demo-summary{font-size:15px}.boundary{font-size:13px}.demo-result{font-size:17px}.service{padding:52px 0 56px}.service-intro>p:last-child{margin-top:20px}.proof-takeaway{grid-template-columns:1fr;gap:18px;margin:26px 0}.proof-takeaway li{padding-top:12px}.proof-takeaway strong{font-size:18px}.proof-takeaway span{font-size:16px}.service-frame iframe{height:1100px}.pilot{padding:52px 0}.pilot-grid{grid-template-columns:minmax(0,1fr) clamp(110px,32vw,185px);grid-template-areas:'heading heading' 'summary bob' 'details details';gap:24px 18px}.large-copy{font-size:23px}.pilot-bob{border-radius:20px;align-self:center}.pilot-summary{align-self:center}.pilot-details{padding:0}.pilot-details>p:first-child{font-size:18px}.pilot-steps{grid-template-columns:1fr;gap:22px;padding-top:22px}.pilot-steps dt{font-size:23px}.pilot-steps dd{font-size:16px;margin-top:5px}.pilot-note{font-size:14px}.events{padding:52px 0;grid-template-columns:1fr;gap:28px}.event-links strong{font-size:23px}.closing{padding:50px 0 52px}.closing-grid{grid-template-columns:clamp(112px,34vw,185px) minmax(0,1fr);grid-template-areas:'eyebrow eyebrow' 'headline headline' 'body body' 'bob action';gap:21px 20px}.closing-copy{display:contents}.closing-copy>.eyebrow{grid-area:eyebrow;margin:0}.closing-copy h2{grid-area:headline}.closing-copy>p:not(.eyebrow){grid-area:body;margin:0;font-size:17px}.closing-copy>.button{grid-area:action;min-height:56px;padding:16px;font-size:15px}.closing-bob{width:100%;border-radius:20px}.footer{font-size:12px;padding:23px 0 30px}.footer nav{gap:10px 20px}.page-intro{padding:30px 0 38px}.page-intro>p:last-child{font-size:18px;margin-top:20px}.page-body{padding-bottom:52px}.content-grid{grid-template-columns:1fr;gap:28px}.content-grid h2{font-size:32px}.inquiry-form{padding:22px;border-radius:20px}.inquiry-fields{grid-template-columns:1fr}.inquiry-form button{width:100%}.resource-grid{grid-template-columns:1fr}.prose h2{font-size:26px}.prose{padding-bottom:50px}}
@media(max-width:400px){.nav{display:block}.nav nav{justify-content:space-between;margin-top:16px}.review-bar span{font-size:10px}.hero{column-gap:14px}.closing-grid{column-gap:16px}.closing-copy>.button{font-size:14px;padding:14px 12px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}}

/* Review 4.3. Robert's retained choices are in ROBERT-DESIGN-CHOICES.md.
   Replaces the 4.2 override; do not load both files. */
:root { --blue-paper: #e4edf2; }
.site-header { background: var(--ink); color: var(--paper); --focus: var(--yellow); }
.site-logo { display: block; width: 224px; flex: 0 0 auto; }
.site-logo img { width: 100%; height: auto; }
.site-header .nav { min-height: 100px; }

#meet { background: #dfecf3; border: 0; padding: 56px 0 60px; }
/* Build 4.8: keep the introduction together; the job cards still span the full row. */
#meet .meet-story {
  grid-template-columns: minmax(0, 650px) 280px minmax(0, 1fr);
  grid-template-areas: 'heading bob .' 'body bob .' 'jobs jobs jobs';
  gap: 22px 32px;
  align-items: center;
}
#meet .meet-heading { align-self: end; }
#meet .meet-description { display: contents; }
#meet h2 { font-size: clamp(36px, 3.5vw, 50px); line-height: 1.15; }
#meet h2 span { display: block; }
#meet .meet-body { max-width: 650px; align-self: start; font-size: 19px; }
#meet .meet-bob {
  width: 280px;
  justify-self: end;
  border: 0;
  border-radius: 0;
  background: transparent;
  overflow: visible;
}
/* This RGB image has a blue matte. Bob is fully inside the central 80%.
   Only the outside 6% fades: no character edge enters the mask.
   The inspected asset has complete paws; page-level visual review is still open. */
#meet .meet-bob img {
  border: 0;
  border-radius: 0;
  mask-image: linear-gradient(to right, transparent, #000 6%, #000 94%, transparent), linear-gradient(to bottom, transparent, #000 6%, #000 94%, transparent);
  mask-composite: intersect;
  -webkit-mask-image: linear-gradient(to right, transparent, #000 6%, #000 94%, transparent), linear-gradient(to bottom, transparent, #000 6%, #000 94%, transparent);
  -webkit-mask-composite: source-in;
}
#meet .jobs { grid-area: jobs; margin: 8px 0 0; gap: 20px; grid-template-columns: repeat(3, minmax(0, 1fr)); }
#meet .jobs li { padding: 24px; border: 0; border-radius: 20px; background: var(--paper); }
#meet .jobs h3 { font-size: 24px; line-height: 1.2; }
#meet .jobs p { margin-top: 10px; font-size: 17px; }

/* Section 3 retains the liked navy background and tablet portrait from R4.
   No work-section color overrides belong in this stylesheet. */
.service { padding-top: 76px; padding-bottom: 76px; }

/* Yellow has a defined role in the opening panel. The steps sit on cream. */
#pilot { background: var(--paper); border-top: 1px solid var(--line); padding: 64px 0; }
#pilot .pilot-grid { display: block; }
.pilot-feature {
  display: grid;
  grid-template-columns: minmax(0, 1.2fr) minmax(0, .8fr);
  grid-template-areas: 'heading bob' 'summary bob';
  gap: 24px 56px;
  align-items: center;
  padding: 40px;
  border-radius: 28px;
  background: var(--yellow);
}
#pilot .pilot-bob { width: min(100%, 285px); border: 0; border-radius: 0; }
#pilot .pilot-details { padding: 32px 0 0; }
#pilot .pilot-steps { border-top-color: var(--line); }
#pilot .pilot-note { max-width: 940px; }

/* The closing action remains a separate navy section. */
#start { background: var(--ink); color: var(--paper); padding: 64px 0; --focus: var(--yellow); }
#start .eyebrow { color: var(--yellow); }
#start .closing-copy > p:not(.eyebrow) { color: #d4dee5; }
#start .button { background: var(--yellow); color: var(--ink); border-color: var(--yellow); }
#start .button:hover { background: #f0fc65; }
.footer { border-top: 0; }
.footer-logo { display: block; width: 224px; padding: 6px 10px; margin-bottom: 18px; background: var(--ink); border-radius: 10px; }
.footer-logo img { width: 100%; height: auto; }

@media (max-width: 1000px) {
  #meet .meet-story {
    grid-template-columns: minmax(0, 1fr) 280px;
    grid-template-areas: 'heading bob' 'body bob' 'jobs jobs';
    column-gap: 32px;
  }
  #meet .jobs li { padding: 20px; }
  #meet .jobs h3 { font-size: 22px; }
  .pilot-feature { padding: 32px; gap: 24px 36px; }
}
@media (max-width: 760px) {
  .site-header .nav { min-height: 94px; }
  .site-logo { width: 176px; }
  #meet { padding: 44px 0 48px; }
  #meet .meet-story {
    grid-template-columns: minmax(0, 1fr) clamp(120px, 32vw, 180px);
    grid-template-areas: 'heading heading' 'body bob' 'jobs jobs';
    gap: 22px 20px;
  }
  #meet h2 { font-size: clamp(32px, 8.1vw, 44px); }
  #meet .meet-body { font-size: 17px; }
  #meet .meet-bob { width: 100%; }
  #meet .jobs { grid-template-columns: minmax(0, 1fr); margin-top: 4px; gap: 12px; }
  #meet .jobs h3 { font-size: 23px; }
  #meet .jobs p { font-size: 16px; }
  #pilot { padding: 44px 0; }
  .pilot-feature {
    padding: 24px;
    grid-template-columns: minmax(0, 1fr) clamp(90px, 27vw, 150px);
    grid-template-areas: 'heading heading' 'summary bob';
    gap: 24px 16px;
    border-radius: 22px;
  }
  #pilot .large-copy { font-size: 21px; }
  #pilot .pilot-details { padding-top: 26px; }
  #pilot .pilot-details > .button { width: 100%; }
  #start { padding: 48px 0; }
}

/* Build 4.4: retained direction, one active stylesheet.
   Focus also covers the targets reached after a local form preview. */
.request-preview:focus, .form-status:focus {
  outline: 3px solid var(--focus);
  outline-offset: 5px;
}
.footer nav a { display: inline-flex; align-items: center; min-height: 44px; }
.site-header nav a:hover, .event-links a:hover strong { text-decoration: underline; }
.resource-grid a:hover { border-color: var(--ink); }
.pilot-feature > *, .meet-story > * { min-width: 0; }

/* Build 4.5: Robert's outlined header action and distinct events section. */
.site-header .nav nav { align-items: center; }
.site-header .nav nav a { min-height: 44px; display: inline-flex; align-items: center; }
.site-header .nav nav .header-cta {
  padding: 11px 18px;
  border: 1px solid var(--ink);
  border-radius: 999px;
  background: var(--paper);
  color: var(--ink);
  font-size: 15px;
  font-weight: 700;
  line-height: 1.4;
  text-decoration: none;
  white-space: nowrap;
}
.site-header .nav nav .header-cta:hover { background: var(--yellow); }
.site-header .nav nav .header-cta:active { background: #d8e43b; }
.events { display: block; background: var(--blue-paper); border: 0; padding: 60px 0; }
.events-grid { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 64px; }
.events h2 { font-size: clamp(34px, 3.2vw, 46px); line-height: 1.15; }
.event-links a { border-bottom-color: #a4b9c7; }
.page-intro { max-width: none; }
.page-intro h1 { max-width: 950px; }
/* Build 4.18: approved speaking copy and a link to the existing form. */
.speaking-intro > .speaking-lede { max-width: 750px; margin-top: 24px; font-size: 20px; color: var(--muted); }
.speaking-intro > .speaking-action { margin-top: 24px; }
@media (max-width: 760px) {
  .speaking-intro > .speaking-lede { font-size: 18px; margin-top: 20px; }
}
@media (max-width: 760px) {
  /* The late 4.3 desktop rule otherwise overrides the original phone spacing. */
  .service { padding: 52px 0 56px; }
  .nav nav a { min-height: 44px; }
  .site-header .nav nav { width: 100%; justify-content: space-between; gap: 10px; flex-wrap: wrap; }
  .site-header .nav nav .header-cta { padding: 10px 14px; font-size: 14px; }
  .events { padding: 44px 0 48px; }
  .events-grid { grid-template-columns: minmax(0, 1fr); gap: 26px; }
}
@media (max-width: 480px) {
  /* Let the paragraph use the full row after Bob, instead of a long narrow column. */
  #meet .meet-story { grid-template-columns: minmax(0, 1fr); grid-template-areas: 'heading' 'description' 'jobs'; }
  #meet .meet-description { display: flow-root; grid-area: description; }
  #meet .meet-bob { float: right; width: clamp(120px, 32vw, 154px); margin: 0 0 10px 16px; }
}

/* Review closeout: clear examples, complete focus rings and support-page edges. */
.demo-sample { color: #d4dee5; font-size: 14px; margin-bottom: 10px; }
.sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; border: 0; }
.demo-frame:focus-within, .service-frame:focus-within { outline: 3px solid var(--focus); outline-offset: 4px; }
iframe:focus-visible { outline-offset: -3px; }
.support-page .footer { border-top: 1px solid var(--line); }
nav a[aria-current="page"] { font-weight: 700; text-decoration: underline; }
.resource-action { margin-top: 28px; }
@media (max-width: 760px) { .hero h1, main h2 { text-wrap: balance; } main h2 br { display: none; } }

/* Build 4.6: seven use cases in the retained Bob direction. */
.case-jump { grid-column: 1 / -1; margin: 6px 0 0; font-size: 15px; }
.case-jump a { display: inline-flex; align-items: center; min-height: 44px; font-weight: 700; }
.connected-data { padding: 76px 0; background: var(--blue-paper); }
.case-heading { display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(0, .9fr); gap: 56px; align-items: end; }
.case-heading > p { max-width: 550px; color: var(--muted); font-size: 20px; }
.case-heading h2 { font-size: clamp(38px, 4.1vw, 60px); line-height: 1.13; }
.source-chips { display: flex; flex-wrap: wrap; gap: 8px; padding: 0; margin: 30px 0 24px; list-style: none; }
.source-chips li { padding: 6px 16px; border: 1px solid #9aafbd; border-radius: 999px; font-size: 14px; font-weight: 600; }
.data-story { display: grid; grid-template-columns: minmax(0, 1.04fr) minmax(0, .96fr); gap: 32px; align-items: start; }
.data-art { background: #17334c; border-radius: 24px; color: var(--paper); overflow: hidden; }
.data-art img { width: 100%; height: auto; object-fit: contain; }
.data-art figcaption { border-top: 1px solid #60778a; padding: 18px 24px; font-size: 15px; }
.data-questions { padding: 26px; background: var(--paper); border: 1px solid #a6bac8; border-radius: 24px; }
.sample-label { font-size: 12px; font-weight: 700; letter-spacing: .02em; line-height: 1.5; }
.data-questions > h3 { font-size: 24px; line-height: 1.2; margin: 10px 0 22px; }
.data-question + .data-question { border-top: 1px solid var(--line); margin-top: 20px; padding-top: 20px; }
.data-question h4 { margin: 0 0 10px; font: 700 17px/1.35 var(--body); }
.record-pair { display: flex; flex-wrap: wrap; gap: 6px; font-size: 12px; }
.record-pair span { background: #e4edf2; border: 1px solid #9aafbd; padding: 4px 8px; border-radius: 4px; }
.data-question .next-step { margin-top: 9px; font-size: 15px; line-height: 1.5; color: var(--muted); }
.case-close { display: flex; align-items: center; justify-content: space-between; gap: 40px; margin-top: 32px; }
.case-close p { max-width: 760px; font-size: 16px; color: var(--muted); }
.case-close .button { flex-shrink: 0; }
.three-layer-website { background: var(--paper); padding: 76px 0; }
.website-diagram { display: flex; flex-direction: column; margin-top: 34px; isolation: isolate; }
.audience-scenes { order: 0; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 24px; list-style: none; padding: 0; margin: 0; }
.audience-scene { min-width: 0; text-align: center; }
.audience-scene > img { width: 100%; max-width: 340px; height: auto; aspect-ratio: 1; object-fit: contain; margin-inline: auto; mix-blend-mode: darken; }
.audience-scene h3 { font-size: 25px; line-height: 1.2; margin-top: 8px; }
.scene-caption { font-size: 19px; font-weight: 600; line-height: 1.4; margin-top: 10px; }
.scene-detail { max-width: 330px; margin: 18px auto 0; }
.scene-detail .sample-label { color: var(--muted); margin-bottom: 6px; }
.scene-detail > p:last-child { font-size: 16px; line-height: 1.55; color: var(--muted); }
.website-paths { order: 1; width: 100%; height: 70px; display: block; margin-top: 24px; color: #c4e3ed; overflow: visible; }
.website-source { order: 2; display: flex; flex-direction: column; align-items: center; text-align: center; gap: 0; max-width: 640px; margin: -30px auto 0; }
.website-source img { width: 280px; height: auto; object-fit: contain; mix-blend-mode: darken; }
.website-source h3 { margin-top: -14px; font-size: 25px; line-height: 1.2; }
.website-source p { font-size: 14px; line-height: 1.6; color: var(--muted); margin-top: 12px; }
.three-layer-website .case-close { border-top: 1px solid var(--line); padding-top: 28px; }

.everyday-jobs { background: var(--ink); color: var(--paper); padding: 76px 0 64px; --focus: var(--yellow); }
.everyday-intro { display: grid; grid-template-columns: minmax(0, 720px) 320px; gap: 24px; align-items: center; max-width: 1064px; }
.everyday-intro > * { min-width: 0; }
.everyday-bob { width: 320px; margin: 0; justify-self: start; }
/* Remove the baked blue rectangle with a soft mask around the complete figure.
   The opaque area includes Bob, the book, the papers, and a clear margin. */
.everyday-bob img {
  width: 100%; height: auto; object-fit: contain;
  -webkit-mask-image: url("assets/web-r410/bob-organizing-edge-mask.svg");
  mask-image: url("assets/web-r410/bob-organizing-edge-mask.svg");
  -webkit-mask-size: 100% 100%;
  mask-size: 100% 100%;
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
}
.everyday-heading { max-width: 830px; }
.everyday-heading .eyebrow { color: var(--yellow); }
.everyday-heading > p:last-child { margin-top: 24px; max-width: 630px; color: #d4dee5; font-size: 20px; }
.everyday-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); margin-top: 44px; }
.everyday-case { display: flex; flex-direction: column; padding-inline: 28px; min-width: 0; }
.everyday-case:first-child { padding-left: 0; }
.everyday-case:last-child { padding-right: 0; }
.everyday-case + .everyday-case { border-left: 1px solid #60778a; }
.everyday-case .eyebrow { font-size: 12px; color: #d4dee5; }
.everyday-case h3 { font-size: 29px; line-height: 1.15; margin-bottom: 20px; }
.everyday-case > p:not(.eyebrow) { font-size: 16px; color: #d4dee5; }
.mini-example { background: #e4edf2; color: var(--ink); padding: 20px; border-radius: 14px; margin-top: 24px; font-size: 15px; }
.mini-example .sample-label { margin-bottom: 16px; }
.mini-example blockquote { margin: 0 0 18px; }
.mini-example blockquote p { font-size: 18px; line-height: 1.4; }
.mini-example cite { display: block; font-style: normal; font-size: 12px; margin-top: 8px; color: var(--muted); }
.task-record { border-top: 1px solid #a4b9c7; padding-top: 14px; }
.task-record > * { display: block; }
.task-record > span { font-size: 13px; margin-top: 7px; }
.review-state { font-size: 12px; line-height: 1.5; color: #395367; border-left: 3px solid #6d8799; padding-left: 9px; margin-top: 16px; }
.source-note { border: 1px solid #a4b9c7; border-radius: 8px; padding: 12px; }
.source-note > * { display: block; }
.source-note span { font-size: 12px; margin-top: 7px; }
.draft-outputs { margin: 16px 0 0; padding: 0; display: flex; flex-wrap: wrap; gap: 6px; list-style: none; }
.draft-outputs li { font-size: 12px; padding: 6px 8px; border: 1px solid #93aabc; border-radius: 5px; background: var(--paper); }
.knowledge-question { font-weight: 700; font-size: 17px; }
.knowledge-answer { margin-top: 10px; }
.knowledge-source { margin-top: 14px; font-size: 12px; color: #395367; }
.everyday-case > .case-basis { padding-top: 22px; margin-top: auto; font-size: 13px !important; }
.choose-job { border-top: 1px solid #60778a; margin-top: 48px; padding-top: 34px; }
.choose-job h3 { font-size: 30px; }
.choose-job > p { font-size: 16px; color: #d4dee5; margin-top: 12px; }
.job-choice-controls { display: flex; flex-wrap: wrap; gap: 10px; margin: 24px 0; }
.job-choice-controls button { border: 1px solid #91a8b9; border-radius: 999px; background: transparent; color: var(--paper); padding: 11px 18px; min-height: 46px; font-size: 15px; font-weight: 600; }
.job-choice-controls button:hover { border-color: var(--yellow); background: #25465f; }
.job-choice-controls button[aria-pressed="true"] { background: var(--yellow); border-color: var(--yellow); color: var(--ink); }
.job-choice-controls button:active { border-color: var(--paper); }
.choose-job .button { margin-top: 22px; background: var(--paper); color: var(--ink); border-color: var(--paper); }
.choose-job .button:hover { background: var(--yellow); border-color: var(--yellow); }
.data-story > *, .case-heading > *, .audience-scenes > * { min-width: 0; }
/* Build4.11: selected interest is a separate, visible contact field. */
.inquiry-form select { display: block; width: 100%; min-height: 52px; margin-top: 8px; border: 1px solid #8295a4; border-radius: 10px; padding: 13px 36px 13px 13px; background: var(--white); color: var(--ink); font: inherit; font-size: 17px; }
.inquiry-form select:focus-visible { outline: 3px solid var(--focus); outline-offset: 5px; }

/* Build4.16: the Pilot reads as one ordered path to the next-step action. */
#pilot .pilot-process {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: clamp(24px, 3vw, 40px);
  list-style: none;
  border: 0;
  padding: 0;
  margin: 32px 0;
}
.pilot-step { min-width: 0; }
.pilot-stage-art {
  position: relative;
  display: flex;
  align-items: center;
  gap: 16px;
  height: 88px;
  margin-bottom: 18px;
  color: var(--ink);
}
.pilot-step-number {
  display: grid;
  place-items: center;
  flex: 0 0 44px;
  width: 44px;
  height: 44px;
  border: 2px solid var(--ink);
  border-radius: 50%;
  background: var(--ink);
  color: var(--paper);
  font: 700 20px/1 var(--head);
}
.pilot-stage-art svg { display: block; flex: none; width: 96px; height: 64px; }
.pilot-step:not(:last-child) .pilot-stage-art::after {
  content: "";
  position: absolute;
  top: 43px;
  left: 176px;
  right: -12px;
  height: 2px;
  background: var(--ink);
}
.pilot-step:not(:last-child) .pilot-stage-art::before {
  content: "";
  position: absolute;
  top: 40px;
  right: -12px;
  width: 8px;
  height: 8px;
  border-top: 2px solid var(--ink);
  border-right: 2px solid var(--ink);
  transform: rotate(45deg);
}
.pilot-step h3 { font-size: 23px; font-weight: 700; line-height: 1.3; letter-spacing: -.02em; }
.pilot-step p { margin-top: 10px; font-size: 17px; }
.pilot-process-close {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: clamp(24px, 3vw, 40px);
  align-items: start;
}
#pilot .pilot-process-close .pilot-note { grid-column: span 2; margin: 0; }
.pilot-process-close .button { grid-column: 3; justify-self: start; }
@media (max-width: 900px) {
  #pilot .pilot-process { grid-template-columns: minmax(0, 1fr); gap: 0; }
  .pilot-step {
    display: grid;
    grid-template-columns: 64px minmax(0, 1fr);
    column-gap: 20px;
    padding-bottom: 36px;
  }
  .pilot-step:last-child { padding-bottom: 0; }
  .pilot-stage-art {
    grid-column: 1;
    grid-row: 1 / span 2;
    flex-direction: column;
    gap: 12px;
    height: auto;
    margin: 0;
  }
  .pilot-step-number { flex-basis: 44px; }
  .pilot-stage-art svg { width: 64px; height: 48px; }
  .pilot-step h3 { grid-column: 2; grid-row: 1; align-self: end; }
  .pilot-step p { grid-column: 2; grid-row: 2; align-self: start; margin-top: 8px; }
  .pilot-step:not(:last-child) .pilot-stage-art::after {
    top: 116px;
    left: 31px;
    right: auto;
    bottom: -24px;
    width: 2px;
    height: auto;
  }
  .pilot-step:not(:last-child) .pilot-stage-art::before {
    top: auto;
    right: auto;
    bottom: -24px;
    left: 28px;
    transform: rotate(135deg);
  }
  .pilot-process-close { grid-template-columns: minmax(0, 1fr); gap: 20px; }
  #pilot .pilot-process-close .pilot-note, .pilot-process-close .button { grid-column: 1; }
}
@media (max-width: 760px) {
  .pilot-process-close .button { width: 100%; }
}
@media (max-width: 560px) {
  .pilot-step { column-gap: 16px; }
  .pilot-step h3 { font-size: 22px; }
  .pilot-step p { font-size: 16px; }
}

/* Build4.15: Contact opens with the offer and form beside each other. */
.contact-hero {
  display: grid;
  grid-template-columns: minmax(0, .95fr) minmax(0, 1.05fr);
  grid-template-rows: min-content minmax(0, 1fr);
  grid-template-areas: "intro form" "details form";
  column-gap: clamp(36px, 4vw, 64px);
  row-gap: 32px;
  align-items: start;
  padding-block: 48px 72px;
}
.contact-hero > * { min-width: 0; }
.contact-intro { grid-area: intro; padding: 0; }
.contact-intro h1 {
  max-width: 13ch;
  font-size: clamp(44px, 4.3vw, 64px);
  line-height: 1.08;
  text-wrap: balance;
}
.contact-intro > p:not(.eyebrow) { max-width: 48ch; }
.contact-form { grid-area: form; }
.contact-form .request-preview h2 { font-size: 24px; margin-bottom: 14px; }
/* Build4.17: keep the luncheon status with its form, with room below the title. */
.luncheon-form-intro h2 { font-size: 28px; line-height: 1.2; margin-bottom: 20px; }
.luncheon-form-intro p { font-size: 18px; line-height: 1.6; }
.contact-details {
  grid-area: details;
  max-width: 52ch;
  padding-top: 24px;
  border-top: 1px solid var(--line);
}
.contact-details h2 { font-size: 28px; margin-bottom: 12px; }
.contact-details p + p { margin-top: 18px; }
.contact-details ol { margin-block: 20px; padding-left: 23px; }
@media (max-width: 960px) {
  .contact-hero {
    max-width: 760px;
    grid-template-columns: minmax(0, 1fr);
    grid-template-rows: auto;
    grid-template-areas: "intro" "form" "details";
    gap: 28px;
    padding-block: 36px 56px;
  }
  .contact-intro h1 { max-width: 14ch; font-size: clamp(40px, 6.5vw, 60px); }
}
@media (max-width: 560px) {
  .contact-hero { gap: 24px; padding-block: 30px 48px; }
  .contact-intro h1 { font-size: clamp(38px, 10.3vw, 52px); }
}
@media (max-width: 1000px) {
  .case-heading { gap: 30px; }
  .everyday-intro { grid-template-columns: minmax(0, 1fr) 260px; }
  .everyday-bob { width: 260px; }
  .case-heading > p { font-size: 18px; }
  .data-questions { padding: 22px; }
  .audience-scene h3 { font-size: 23px; }
  .scene-caption { font-size: 18px; }
  .everyday-case { padding-inline: 20px; }
  .everyday-case h3 { font-size: 26px; }
  .mini-example { padding: 16px; }
  .case-close { align-items: start; gap: 24px; }
}
@media (max-width: 900px) {
  .everyday-intro { grid-template-columns: minmax(0, 1fr); gap: 16px; }
  .everyday-bob { width: 210px; justify-self: end; }
}
@media (max-width: 760px) {
  .connected-data, .three-layer-website, .everyday-jobs { padding: 50px 0; }
  .everyday-bob { width: 200px; }
  .case-jump { margin-top: 4px; font-size: 14px; }
  .case-heading { grid-template-columns: minmax(0, 1fr); gap: 22px; }
  .case-heading h2 { font-size: clamp(34px, 8.7vw, 48px); }
  .case-heading > p { font-size: 18px; }
  .source-chips { margin: 24px 0 20px; }
  .source-chips li { font-size: 12px; padding: 5px 12px; }
  .data-story { grid-template-columns: minmax(0, 1fr); gap: 22px; }
  .data-art figcaption { padding: 16px 20px; font-size: 14px; }
  .data-art, .data-questions { border-radius: 20px; }
  .data-questions { padding: 22px; }
  .case-close { flex-direction: column; gap: 22px; margin-top: 26px; }
  .case-close .button { width: 100%; }
  .website-diagram { margin-top: 24px; }
  .website-source { order: 0; width: 100%; margin: 0 auto 24px; padding-bottom: 24px; border-bottom: 1px solid var(--line); }
  .website-source img { width: 220px; }
  .website-source h3 { font-size: 24px; }
  .website-source p { max-width: 300px; font-size: 14px; margin-inline: auto; }
  .audience-scenes { order: 1; grid-template-columns: minmax(0, 1fr); gap: 30px; }
  .audience-scene > img { max-width: 380px; }
  .audience-scene h3 { font-size: 25px; }
  .scene-caption { font-size: 20px; }
  .scene-detail { margin-top: 14px; max-width: 340px; }
  .audience-scene + .audience-scene { border-top: 1px solid var(--line); padding-top: 24px; }
  .website-paths { display: none; }
  .everyday-heading > p:last-child { font-size: 18px; margin-top: 22px; }
  .everyday-grid { grid-template-columns: minmax(0, 1fr); margin-top: 32px; gap: 32px; }
  .everyday-case { padding: 0; }
  .everyday-case + .everyday-case { border-left: 0; border-top: 1px solid #60778a; padding-top: 32px; }
  .everyday-case h3 { font-size: 30px; }
  .mini-example { padding: 22px; }
  .choose-job { margin-top: 34px; padding-top: 28px; }
  .choose-job h3 { font-size: 28px; }
  .job-choice-controls { gap: 8px; }
  .job-choice-controls button { padding: 10px 14px; font-size: 14px; }
  .choose-job .button { width: 100%; }
}
