/* A service blueprint: customer experience above, the work that supports it below.
   Retains Crux's poster palette and leaves existing portfolio pages untouched. */
.connected-home .hero-actions { display:grid; gap:16px; flex-shrink:0; }
.hero-secondary { font:500 13px/1.5 var(--display); text-decoration:underline; text-underline-offset:5px; }
.blueprint-intro { display:grid; grid-template-columns:1.2fr 1fr; align-items:end; gap:10%; margin-bottom:36px; }
.blueprint-intro h2 { margin:0; font:600 clamp(54px,7.7vw,112px)/.92 var(--poster); text-transform:uppercase; letter-spacing:-.02em; }
.blueprint-intro > div:last-child { max-width:420px; }
.blueprint-intro > div:last-child > p:first-child { font-size:23px; line-height:1.4; }
.blueprint-intro .workflow-examples-note { margin-bottom:0; }
.blueprint-explorer { background:var(--ink); color:var(--white); }
.blueprint-explorer details + details { border-top:1px solid #665249; }
.blueprint-explorer summary { display:grid; grid-template-columns:200px 1fr 28px; align-items:center; gap:26px; list-style:none; padding:28px 34px; cursor:pointer; }
.blueprint-explorer summary::-webkit-details-marker { display:none; }
.blueprint-explorer summary:focus-visible { outline:3px solid var(--signal); outline-offset:5px; position:relative; z-index:1; }
.blueprint-explorer summary:hover { background:#382923; }
.blueprint-explorer details[open] > summary { background:var(--ink); }
.workflow-context { color:#ffb49b; font:500 12px/1.5 var(--display); }
.workflow-question { font:600 clamp(18px,2.1vw,29px)/1.3 var(--display); letter-spacing:-.03em; }
.workflow-toggle { position:relative; width:24px; height:24px; }
.workflow-toggle::before,.workflow-toggle::after { content:''; position:absolute; background:currentColor; width:20px; height:2px; left:2px; top:11px; }
.workflow-toggle::after { transform:rotate(90deg); }
details[open] .workflow-toggle::after { transform:none; }
.blueprint-panel { padding:0 34px 28px; }
.blueprint-problem { display:grid; grid-template-columns:200px 1fr; gap:26px; margin-bottom:27px; padding-top:7px; }
.blueprint-label { font:500 12px/1.5 var(--display); color:#d4c3b9; }
.blueprint-problem p { color:#d4c3b9; font-size:18px; line-height:1.4; margin:0; max-width:690px; }
.blueprint-map { background:var(--white); color:var(--ink); padding:28px; }
.map-heading { display:flex; justify-content:space-between; align-items:center; gap:20px; padding-bottom:24px; }
.map-heading h3 { font:600 clamp(19px,2vw,27px)/1.25 var(--display); letter-spacing:-.035em; margin:0; }
.map-heading > span { font-size:12px; color:var(--muted); }
.journey-lane { display:grid; grid-template-columns:135px 1fr; gap:24px; align-items:center; }
.journey-lane h4 { font:600 12px/1.5 var(--display); margin:0; max-width:110px; }
.journey-steps { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:24px; padding:0; margin:0; list-style:none; }
.journey-steps li { position:relative; padding:19px 16px; background:#f0e5d8; min-width:0; border-top:3px solid var(--signal); }
.journey-steps li:not(:last-child)::after { content:'→'; position:absolute; top:38%; right:-21px; color:var(--wine); font-size:21px; line-height:1; }
.journey-steps li > span { display:block; font:600 15px/1.4 var(--display); }
.journey-steps small { display:block; font-size:14px; line-height:1.4; margin-top:8px; color:#62534c; }
.team-lane { margin-top:24px; padding-top:24px; border-top:1px dashed #b3a094; }
.team-lane .journey-steps li { border-top-color:var(--ink); background:#eee9e0; }
.blueprint-check { display:grid; grid-template-columns:200px 1fr; gap:26px; color:#d4c3b9; font-size:15px; line-height:1.5; margin:24px 0 0; }
.blueprint-check strong { color:var(--white); font:500 12px/1.5 var(--display); }
.blueprint-footer { display:flex; align-items:center; justify-content:space-between; gap:40px; margin-top:27px; }
.blueprint-footer p { max-width:570px; margin:0; font-size:17px; color:var(--muted); }
.blueprint-footer a { flex-shrink:0; }
.connected-home .work-heading { align-items:end; margin-bottom:15px; }
.connected-home .work-heading h2 { max-width:710px; font:500 clamp(32px,4vw,56px)/1.13 var(--display); letter-spacing:-.05em; }
.project-purpose { margin:20px 0 0; padding-top:17px; border-top:1px solid #ddcbbf; color:var(--muted); font-size:16px; line-height:1.5; max-width:600px; }
.connected-home .statement { padding-block:90px; }
.delivery-section { background:var(--ink); color:var(--white); padding-block:80px 45px; }
.delivery-heading { display:grid; grid-template-columns:1.5fr 1fr; gap:10%; align-items:end; margin-bottom:55px; }
.delivery-heading .descriptor { color:#ffb49b; }
.delivery-heading h2 { font:500 clamp(34px,4.1vw,65px)/1.1 var(--display); letter-spacing:-.05em; margin:0; }
.delivery-heading > p { color:#d4c3b9; font-size:19px; margin:0; max-width:370px; }
.delivery-steps { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:30px; padding:0; margin:0; list-style:none; }
.delivery-steps li { display:flex; flex-direction:column; position:relative; border-top:1px solid #786258; padding-top:22px; }
.delivery-number { color:#ffb49b; font:600 55px/.95 var(--poster); margin-bottom:26px; }
.delivery-steps h3 { font:600 23px/1.2 var(--display); letter-spacing:-.035em; margin-bottom:18px; }
.delivery-steps p { font-size:17px; color:#d4c3b9; line-height:1.5; margin-bottom:26px; }
.delivery-output { display:flex; justify-content:space-between; gap:10px; padding:13px 0; margin-top:auto; border-top:1px solid #786258; font:500 12px/1.4 var(--display); }
.delivery-output > span { color:#ffb49b; }
.delivery-note { margin:35px 0 0; max-width:690px; font-size:14px; color:#d4c3b9; }
.connected-home .starting-point { border-top:0; padding-top:90px; }
.starting-detail { display:block; width:fit-content; margin-top:22px; font-size:15px; text-decoration:underline; text-underline-offset:4px; }
.review-route { padding-block:42px; border-bottom:1px solid #ddcbbf; }
.review-route ol { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); list-style:none; gap:25px; margin:0; padding:0; }
.review-route li { border-left:2px solid var(--signal); padding-left:18px; }
.review-route span { display:block; font:600 16px/1.4 var(--display); margin-bottom:8px; }
.review-route small { display:block; font-size:15px; color:var(--muted); }
@media(max-width:1000px) {
  .blueprint-explorer summary { grid-template-columns:160px 1fr 24px; gap:18px; padding-inline:25px; }
  .blueprint-panel { padding-inline:25px; }
  .blueprint-problem,.blueprint-check { grid-template-columns:160px 1fr; gap:18px; }
  .journey-lane { grid-template-columns:100px 1fr; gap:16px; }
  .blueprint-map { padding:22px; }
  .journey-steps li { padding:15px 12px; }
  .delivery-steps { gap:22px; }
  .delivery-steps h3 { font-size:20px; }
}
@media(max-width:760px) {
  .blueprint-intro,.delivery-heading { grid-template-columns:1fr; gap:25px; }
  .blueprint-intro > div:last-child { max-width:560px; }
  .blueprint-intro > div:last-child > p:first-child { font-size:21px; }
  .blueprint-explorer summary { grid-template-columns:1fr 24px; gap:9px 18px; }
  .workflow-context { grid-column:1; }
  .workflow-question { grid-column:1; }
  .workflow-toggle { grid-column:2; grid-row:1 / 3; }
  .blueprint-problem,.blueprint-check { grid-template-columns:1fr; gap:9px; }
  .blueprint-problem p { font-size:17px; }
  .map-heading { display:block; }
  .map-heading > span { display:block; margin-top:7px; }
  .journey-lane { display:block; }
  .journey-lane h4 { margin-bottom:14px; max-width:none; }
  .journey-steps { gap:20px; }
  .journey-steps li > span { font-size:13px; }
  .blueprint-footer { display:block; }
  .blueprint-footer a { margin-top:16px; }
  .delivery-heading > p { max-width:540px; }
  .delivery-steps,.review-route ol { grid-template-columns:repeat(2,minmax(0,1fr)); gap:32px; }
  .connected-home .header nav a[href='#how-we-work'] { display:none; }
}
@media(max-width:480px) {
  .blueprint-explorer summary { padding:22px 18px; }
  .blueprint-panel { padding:0 14px 23px; }
  .blueprint-problem,.blueprint-check { padding-inline:4px; }
  .blueprint-map { padding:20px 16px; }
  .journey-steps { grid-template-columns:1fr; gap:18px; }
  .journey-steps li { padding:12px 14px; }
  .journey-steps li > span { font-size:15px; }
  .journey-steps small { margin-top:3px; }
  .journey-steps li:not(:last-child)::after { content:'↓'; right:auto; left:calc(50% - 5px); top:auto; bottom:-19px; font-size:18px; }
  .team-lane { margin-top:22px; padding-top:22px; }
  .delivery-section { padding-block:55px 35px; }
  .delivery-heading { margin-bottom:34px; }
  .delivery-heading h2 br { display:none; }
  .delivery-steps { grid-template-columns:1fr; gap:26px; }
  .delivery-steps li { display:grid; grid-template-columns:45px 1fr; gap:0 19px; }
  .delivery-number { grid-row:1 / 4; font-size:42px; margin:0; }
  .delivery-steps h3 { font-size:21px; }
  .delivery-steps p,.delivery-output { grid-column:2; }
  .delivery-output { margin-top:0; }
  .review-route ol { gap:25px 18px; }
  .connected-home .starting-point { padding-block:60px; }
}
