/* A visual continuation of the existing idea carousel. */
.product-story { padding-block:90px 80px; scroll-margin-top:28px; }
.product-story-heading { display:grid; grid-template-columns:1.35fr 1fr; gap:64px; align-items:end; margin-bottom:38px; }
.product-story-heading h2 { max-width:720px; font-size:clamp(38px,4.5vw,64px); }
.product-story-heading > p { margin:0 0 5px; max-width:440px; font-size:18px; line-height:1.65; color:var(--muted); }
.ps-intro { display:flex; align-items:center; justify-content:space-between; gap:24px; margin-bottom:24px; padding-top:20px; border-top:1px solid var(--line); }
.ps-intro p { margin:0; font-size:14px; color:var(--muted); }
.ps-intro strong { color:var(--ink); }
.ps-example { flex-shrink:0; background:#f7edc8; padding:6px 12px; font-size:11px; font-weight:750; border-radius:30px; }
.ps-grid { list-style:none; padding:0; margin:0; display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:28px; }
.product-story-card { position:relative; min-width:0; overflow:hidden; border:1.5px solid #d9d4c0; border-radius:12px; background:#fffdf7; }
.ps-card-top { display:flex; align-items:center; justify-content:space-between; gap:15px; padding:22px 26px 0; }
.ps-step { display:inline-flex; align-items:center; gap:10px; font-size:10px; font-weight:800; letter-spacing:.12em; white-space:nowrap; }
.ps-step b { display:grid; place-items:center; width:34px; height:34px; border:1px solid var(--ink); border-radius:50%; background:var(--yellow); font-size:14px; letter-spacing:0; }
.ps-card-top > span:last-child { color:#706b5a; font-family:'Marker Felt','Segoe Print','Comic Sans MS',cursive; font-size:18px; transform:rotate(-3deg); }
.ps-art { margin:8px 0 0; background:#fff8e4; aspect-ratio:3/2; overflow:hidden; }
.ps-art img { width:100%; height:100%; object-fit:contain; mix-blend-mode:multiply; }
.ps-copy { padding:26px 30px 30px; }
.ps-copy h3 { font-size:clamp(25px,2.5vw,33px); line-height:1.16; margin-bottom:15px; max-width:460px; }
.ps-copy > p { color:#626354; font-size:17px; line-height:1.65; margin:0; }
.ps-result { display:flex; gap:10px; align-items:start; margin-top:22px; padding-top:16px; border-top:1px solid var(--line); font-size:13px; line-height:1.5; font-weight:750; }
.ps-result > span:first-child { color:#3c7453; font-size:17px; line-height:1.2; }
.ps-solution-note { display:block; margin-top:18px; padding:11px 14px; border-left:3px solid #f0b745; background:#fff5c8; font-size:14px; line-height:1.5; }
.ps-prompt { margin:20px 0 0; padding:16px 18px; border-radius:12px 12px 3px 12px; border:1px solid #ddd4b8; background:#f4efdf; }
.ps-prompt > span { display:block; font-size:9px; letter-spacing:.1em; font-weight:800; margin-bottom:7px; color:#6f6b5a; }
.ps-prompt p { font-size:14px; line-height:1.5; margin:0; color:#35372e; }
.ps-drafts { display:flex; flex-wrap:wrap; gap:7px; margin-top:12px; }
.ps-drafts > span { display:flex; gap:7px; align-items:center; padding:7px 10px; border:1px solid #d8d4c3; background:white; border-radius:4px; font-size:11px; font-weight:700; }
.ps-drafts i { width:7px; height:7px; border-radius:50%; background:var(--pink); }
.ps-drafts > span:nth-child(2) i { background:var(--yellow); }
.ps-drafts > span:nth-child(3) i { background:var(--orange); }
.ps-connected { background:#fbf5df; }
.ps-reach { grid-column:1/-1; display:grid; grid-template-columns:1fr 1fr; align-items:center; background:#fbf5df; }
.ps-reach .ps-card-top { grid-column:1/-1; }
.ps-reach .ps-art { margin:14px 0 16px 20px; background:transparent; }
.ps-reach .ps-copy { padding:24px 36px 34px 28px; }
.ps-connections { display:grid; grid-template-columns:1fr auto 1fr auto 1fr; align-items:center; gap:7px; margin-top:22px; }
.ps-connections > span { display:flex; align-items:center; justify-content:center; gap:7px; min-height:56px; padding:8px 6px; border:1px solid #d4caa6; border-radius:7px; background:#fffdf6; font-size:11px; line-height:1.35; font-weight:750; text-align:center; }
.ps-connections svg { flex-shrink:0; width:20px; height:20px; stroke:currentColor; fill:none; stroke-width:1.8; stroke-linecap:round; stroke-linejoin:round; }
.ps-connections > b { font-size:18px; font-weight:400; }
.ps-toolkit { display:grid; grid-template-columns:1.1fr 1fr; gap:36px; align-items:center; margin-top:28px; padding:34px 38px; border-radius:10px; background:var(--ink); color:var(--paper); }
.ps-toolkit .eyebrow { color:var(--yellow); font-size:10px; margin-bottom:12px; }
.ps-toolkit h3 { font-size:30px; line-height:1.2; margin-bottom:13px; }
.ps-toolkit p:not(.eyebrow) { color:#d5d7ca; font-size:16px; line-height:1.6; margin:0; }
.ps-toolkit-list { list-style:none; margin:0; padding:0; display:grid; gap:10px; }
.ps-toolkit-list li { display:flex; align-items:center; gap:13px; padding:13px 16px; border:1px solid #53554a; border-radius:5px; background:#24261f; }
.ps-toolkit-list li > span { display:grid; place-items:center; width:39px; height:39px; flex-shrink:0; border:1px solid #767363; border-radius:4px; color:var(--yellow); font-size:11px; font-weight:800; }
.ps-toolkit-list strong { display:block; font-size:14px; }
.ps-toolkit-list small { display:block; font-size:11px; color:#c4c7b8; line-height:1.5; margin-top:3px; }
.ps-next { text-align:center; margin:27px 0 0; font-family:'Marker Felt','Segoe Print','Comic Sans MS',cursive; font-size:22px; transform:rotate(-1deg); }
.ps-next a { text-decoration:underline; text-decoration-color:var(--pink); text-decoration-thickness:3px; text-underline-offset:6px; }
.offer-copy .offer-story-summary { padding:18px 20px; margin:24px 0; background:#fff5c8; border-left:3px solid var(--yellow); }
.offer-story-summary > a { display:inline-block; margin-top:8px; color:var(--ink); font-size:13px; font-weight:800; text-decoration:underline; text-underline-offset:4px; }
@media(max-width:900px) {
 .product-story-heading { grid-template-columns:1fr; gap:22px; }
 .product-story-heading > p { max-width:660px; }
 .ps-card-top { padding-inline:20px; }
 .ps-card-top > span:last-child { font-size:15px; }
 .ps-copy { padding:23px; }
 .ps-reach .ps-copy { padding:24px; }
 .ps-connections { grid-template-columns:1fr; gap:5px; }
 .ps-connections > b { text-align:center; transform:rotate(90deg); }
 .ps-connections > span { min-height:42px; }
 .ps-toolkit { gap:24px; padding:30px; }
}
@media(max-width:650px) {
 .product-story { padding-block:58px; }
 .product-story-heading { margin-bottom:26px; }
 .product-story-heading h2 { font-size:39px; }
 .product-story-heading > p { font-size:17px; }
 .ps-intro { display:block; }
 .ps-example { display:inline-block; margin-top:12px; }
 .ps-grid { grid-template-columns:1fr; gap:24px; }
 .ps-card-top { padding:20px 21px 0; }
 .ps-card-top > span:last-child { font-size:15px; max-width:44%; text-align:right; }
 .ps-step { font-size:9px; letter-spacing:.08em; gap:7px; }
 .ps-step b { width:30px; height:30px; font-size:13px; }
 .ps-art { margin-top:10px; }
 .ps-copy { padding:23px 23px 26px; }
 .ps-copy h3 { font-size:29px; }
 .ps-copy > p { font-size:16px; }
 .ps-reach { display:block; }
 .ps-reach .ps-art { margin:10px 0 0; }
 .ps-reach .ps-copy { padding:23px; }
 .ps-connections { grid-template-columns:1fr auto 1fr auto 1fr; gap:5px; }
 .ps-connections > b { transform:none; font-size:16px; }
 .ps-connections > span { flex-direction:column; min-height:76px; font-size:10px; }
 .ps-toolkit { grid-template-columns:1fr; gap:25px; padding:28px 23px; }
 .ps-toolkit h3 { font-size:28px; }
 .ps-next { font-size:20px; line-height:1.5; }
}
/* Entry, scope and support complete the illustrated journey. */
.ps-start { margin:0 0 42px; padding:32px 34px 25px; border:1.5px solid #ded5af; border-radius:12px; background:#fbf3d6; scroll-margin-top:30px; }
.ps-start-heading { display:flex; align-items:end; justify-content:space-between; gap:32px; margin-bottom:25px; }
.ps-start-heading .eyebrow,.ps-delivery .eyebrow { font-size:10px; margin:0 0 10px; }
.ps-start h3 { font-size:32px; line-height:1.12; margin:0; }
.ps-start-heading > p { max-width:340px; font-size:15px; line-height:1.6; color:var(--muted); margin:0; }
.ps-start-timeline { list-style:none; padding:0; margin:0; display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:24px; }
.ps-start-timeline li { min-width:0; position:relative; }
.ps-start-timeline li:not(:last-child)::after { content:''; position:absolute; top:17px; left:44px; right:-12px; border-top:1.5px dashed #c8b978; }
.ps-start-number { display:grid; place-items:center; position:relative; z-index:1; width:36px; height:36px; border:1px solid var(--ink); border-radius:50%; background:var(--paper); font-size:15px; font-weight:800; }
.ps-start h4 { font-size:16px; line-height:1.3; margin:15px 0 8px; }
.ps-start-timeline p { font-size:13px; line-height:1.6; color:#626354; margin:0; }
.ps-start-link { display:inline-block; margin-top:23px; font-size:12px; font-weight:750; text-underline-offset:4px; }
.ps-customer-path { display:flex; flex-wrap:wrap; align-items:center; gap:7px; margin:20px 0; }
.ps-customer-path span { padding:7px 10px; background:#fffdf7; border:1px solid #d5c998; border-radius:4px; font-size:11px; font-weight:750; }
.ps-customer-path b { font-weight:400; }
.ps-copy > p.ps-first-customer { font-size:15px; }
.ps-delivery { display:grid; grid-template-columns:1.1fr 1fr; gap:28px; margin-top:28px; }
.ps-included,.ps-support { min-width:0; padding:30px; border:1px solid #d9d4c0; border-radius:10px; background:#fffdf7; }
.ps-delivery h3 { font-size:31px; line-height:1.17; margin-bottom:20px; }
.ps-included ul { list-style:none; padding:0; margin:0; }
.ps-included li { position:relative; padding:0 0 15px 23px; margin-bottom:15px; border-bottom:1px solid var(--line); }
.ps-included li::before { content:'✓'; position:absolute; top:0; left:0; color:#3c7453; font-weight:800; }
.ps-included li b { display:block; font-size:14px; line-height:1.4; }
.ps-included li span { display:block; margin-top:5px; font-size:13px; line-height:1.5; color:#626354; }
.ps-digital-option { margin:18px 0 0; padding:15px; background:#f7edc8; border-radius:5px; font-size:13px; line-height:1.6; color:#626354; }
.ps-digital-option strong { color:var(--ink); display:block; margin-bottom:5px; }
.ps-support { background:#eef2e9; scroll-margin-top:30px; }
.ps-support > p:not(.eyebrow) { margin:0; color:#626354; font-size:15px; line-height:1.65; }
.ps-support blockquote { margin:21px 0; padding:18px 20px; border:1px solid #cbd3c3; border-radius:14px 14px 3px 14px; background:#fffdf7; }
.ps-support blockquote > span { display:block; font-size:9px; letter-spacing:.08em; font-weight:800; color:#626354; margin-bottom:8px; }
.ps-support blockquote p { margin:0; font-size:14px; line-height:1.6; }
.ps-support > a { display:inline-block; margin-top:20px; font-size:12px; font-weight:750; text-underline-offset:4px; }
@media(max-width:900px) {
 .ps-start-timeline { grid-template-columns:repeat(2,minmax(0,1fr)); gap:25px; }
 .ps-start-timeline li:nth-child(2)::after { display:none; }
 .ps-start-heading { display:block; }
 .ps-start-heading > p { max-width:600px; margin-top:17px; }
 .ps-delivery { gap:20px; }
 .ps-included,.ps-support { padding:25px; }
}
@media(max-width:650px) {
 .ps-start { padding:25px 22px; margin-bottom:30px; }
 .ps-start h3 { font-size:30px; }
 .ps-start-timeline { grid-template-columns:1fr; gap:0; }
 .ps-start-timeline li { padding:0 0 24px 49px; }
 .ps-start-timeline li:last-child { padding-bottom:0; }
 .ps-start-timeline li:not(:last-child)::after { display:block; top:38px; bottom:3px; left:17px; right:auto; border-top:0; border-left:1.5px dashed #c8b978; }
 .ps-start-number { position:absolute; top:0; left:0; }
 .ps-start h4 { margin:0 0 7px; padding-top:5px; }
 .ps-start-timeline p { font-size:14px; }
 .ps-delivery { grid-template-columns:1fr; }
 .ps-included,.ps-support { padding:25px 23px; }
 .ps-delivery h3 { font-size:29px; }
 .ps-included li b { font-size:15px; }
 .ps-included li span,.ps-digital-option { font-size:14px; }
 .ps-customer-path { gap:5px; }
 .ps-customer-path span { padding:7px; font-size:10px; }
}
