/* An illustrative design canvas; no raster hero or fictional client claims. */
.site-rebrand .website-showcase { width: 100%; min-width: 0; margin: 0; }
.showcase-stage { position: relative; padding: 45px 26px 62px 0; }
.showcase-desktop { overflow: hidden; border: 1px solid #d6d8df; border-radius: 12px; background: #fafaff; box-shadow: 0 25px 60px #10131a18; transform: rotate(-3deg); }
.canvas-header { display: flex; justify-content: space-between; align-items: center; padding: 20px 24px; border-bottom: 1px solid #dedfe7; }
.canvas-header > span:first-child { font-size: 21px; font-weight: 800; letter-spacing: -.06em; }
.canvas-dot { color: #3155f5; }
.canvas-header > span:last-child, .canvas-label { color: #575e70; font-size: 10px; }
.canvas-layout { display: grid; grid-template-columns: .85fr 1.15fr; min-height: 285px; }
.canvas-identity { padding: 24px; border-right: 1px solid #dedfe7; }
.canvas-label { display: block; letter-spacing: .03em; }
.canvas-identity > strong { display: block; color: #3155f5; font: 500 84px/1.15 'Source Serif 4', Georgia, serif; letter-spacing: -.08em; margin: 15px 0; }
.canvas-identity p { font-size: 11px; color: #535b6b; line-height: 1.6; margin: 0 0 24px; }
.canvas-swatches { display: flex; gap: 6px; }
.canvas-swatches i { width: 26px; height: 26px; border-radius: 50%; background: #3155f5; border: 1px solid #10131a12; }
.canvas-swatches i:nth-child(2) { background: #121727; }
.canvas-swatches i:nth-child(3) { background: #bde6ca; }
.canvas-swatches i:nth-child(4) { background: #f4dab5; }
.canvas-page { padding: 24px 22px; }
.canvas-mini-nav { display: flex; align-items: center; gap: 8px; margin: 25px 0 20px; }
.canvas-mini-nav i { width: 28px; height: 7px; background: #202639; margin-right: auto; }
.canvas-mini-nav span { width: 15px; height: 3px; background: #9198aa; }
.canvas-mini-hero { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
.canvas-mini-hero > div:first-child { padding-top: 15px; }
.canvas-mini-hero b, .canvas-phone-title b { display: block; height: 10px; background: #202639; margin-bottom: 8px; border-radius: 2px; }
.canvas-mini-hero b:nth-child(2) { width: 85%; }
.canvas-mini-hero b:nth-child(3) { width: 64%; background: #3155f5; }
.canvas-mini-hero > div:first-child > i { display: block; width: 44px; height: 14px; margin-top: 20px; background: #3155f5; border-radius: 3px; }
.canvas-sculpture { height: 142px; position: relative; background: #e4e9ff; border-radius: 60px 60px 6px 6px; overflow: hidden; }
.canvas-sculpture i { position: absolute; width: 65%; height: 44%; background: #3155f5; border-radius: 50%; left: 17%; top: 17%; transform: rotate(-35deg); }
.canvas-sculpture i:nth-child(2) { background: #94a5ff; top: 34%; left: 32%; }
.canvas-sculpture i:nth-child(3) { background: #c9d2ff; top: 52%; left: 7%; }
.canvas-mini-content { display: grid; grid-template-columns: repeat(3,1fr); gap: 8px; margin-top: 18px; }
.canvas-mini-content span { height: 35px; border-top: 3px solid #b1b9ce; background: #eceef5; }
.canvas-footer { display: flex; justify-content: space-between; border-top: 1px solid #dedfe7; padding: 18px 24px; color: #535b6b; font-size: 9px; }
.showcase-phone { position: absolute; right: 0; bottom: 27px; width: 120px; padding: 28px 12px 18px; border: 5px solid #151a25; border-radius: 22px; background: #fafaff; box-shadow: 0 20px 40px #10131a25; transform: rotate(5deg); }
.showcase-phone-speaker { position: absolute; top: 8px; left: 40%; width: 20%; height: 3px; border-radius: 3px; background: #151a25; }
.canvas-phone-header { display: flex; justify-content: space-between; align-items: center; margin-bottom: 23px; }
.canvas-phone-header i { width: 25px; height: 6px; background: #202639; }
.canvas-phone-header span { width: 9px; height: 6px; border-block: 1px solid #202639; }
.canvas-phone-title b { height: 6px; margin-bottom: 5px; }
.canvas-phone-title b:nth-child(2) { width: 83%; }
.canvas-phone-title b:nth-child(3) { width: 64%; background: #3155f5; }
.canvas-phone-art { position: relative; height: 80px; margin: 15px 0; background: #e4e9ff; overflow: hidden; border-radius: 40px 40px 3px 3px; }
.canvas-phone-art i { position: absolute; width: 40px; height: 45px; border-radius: 50%; background: #3155f5; left: 12px; top: 12px; transform: rotate(-35deg); }
.canvas-phone-art i:nth-child(2) { background: #94a5ff; left: 35px; top: 25px; }
.canvas-phone-art i:nth-child(3) { background: #c9d2ff; left: 9px; top: 45px; }
.canvas-phone-lines span { display: block; height: 3px; margin-bottom: 5px; background: #b1b9ce; }
.canvas-phone-action { height: 16px; width: 60%; margin-top: 15px; border-radius: 3px; background: #3155f5; }
.showcase-note { position: absolute; top: 8px; right: 12px; font-size: 11px; color: #29384d; background: #fff; border: 1px solid #d7d9de; padding: 12px 16px; border-radius: 5px; transform: rotate(3deg); box-shadow: 0 8px 18px #10131a0a; }
.showcase-note i { font-style: normal; color: #196b40; margin-right: 6px; }
.website-showcase figcaption { display: flex; gap: 12px; justify-content: space-between; align-items: baseline; color: #535b6b; font-size: 11px; line-height: 1.5; }
.website-showcase figcaption small { white-space: nowrap; font-size: 9px; }
.brand-ribbon { padding: 20px 0 24px; border-block: 1px solid #deded8; background: #f2f1ec; overflow: hidden; }
.brand-ribbon-heading { display: flex; justify-content: space-between; align-items: center; gap: 20px; }
.brand-ribbon-heading p { margin: 0; color: #535b6b; font-size: 12px; }
.brand-ribbon-window { overflow: hidden; max-width: 1240px; margin: 12px auto 0; mix-blend-mode: multiply; mask-image: linear-gradient(to right, transparent, #000 6%, #000 94%, transparent); }
.brand-ribbon-track { display: flex; width: max-content; }
.brand-ribbon-group { flex-shrink: 0; display: flex; justify-content: space-around; align-items: center; width: 1420px; gap: 70px; padding: 0 35px; }
.brand-ribbon-group > a, .brand-ribbon-group > span { display: flex; flex-shrink: 0; width: 210px; height: 82px; align-items: center; justify-content: center; }
.brand-ribbon-group img { width: 100%; max-width: 210px; height: 52px; object-fit: contain; filter: grayscale(1); opacity: .65; mix-blend-mode: multiply; }
.brand-ribbon-group .brand-teton img { height: 82px; }
.brand-ribbon-group .brand-progressive img { height: 46px; }
.brand-ribbon:not(.is-moving) .brand-ribbon-track { width: 100%; }
.brand-ribbon:not(.is-moving) .brand-ribbon-group { width: 100%; gap: 20px; flex-wrap: wrap; }
.brand-ribbon:not(.is-moving) .brand-ribbon-group > a { min-width: 110px; flex: 1 1 110px; }
.brand-ribbon:not(.is-moving) .brand-ribbon-group[aria-hidden] { display: none; }
.brand-ribbon.is-moving .brand-ribbon-track { animation: brands-left 32s linear infinite; }
.brand-ribbon:hover .brand-ribbon-track, .brand-ribbon:focus-within .brand-ribbon-track { animation-play-state: paused; }
.brand-ribbon a:focus-visible { outline: 2px solid #213fd1; outline-offset: 5px; }
@keyframes brands-left { to { transform: translateX(-50%); } }

@keyframes website-arrive { from { opacity: 0; transform: translateY(24px) rotate(0deg); } }
@keyframes canvas-reveal { from { opacity: 0; transform: translateY(10px); } }
@media (prefers-reduced-motion: no-preference) {
  .showcase-desktop { animation: website-arrive 900ms both; }
  .showcase-phone { animation: website-arrive 900ms 450ms both; }
  .showcase-note { animation: website-arrive 700ms 1000ms both; }
  .canvas-swatches, .canvas-mini-hero, .canvas-mini-content { animation: canvas-reveal 800ms 500ms both; }
  .canvas-mini-content { animation-delay: 850ms; }
}
@media (max-width: 720px) {
  .site-rebrand .website-showcase { max-width: 490px; margin: 0 auto; }
  .showcase-stage { padding: 42px 20px 52px 0; }
  .canvas-header { padding: 16px; }
  .canvas-layout { min-height: 230px; }
  .canvas-identity, .canvas-page { padding: 18px 14px; }
  .canvas-identity > strong { font-size: 64px; }
  .canvas-identity p { font-size: 9px; }
  .canvas-label, .canvas-header > span:last-child { font-size: 8px; }
  .canvas-swatches { gap: 4px; }
  .canvas-swatches i { width: 19px; height: 19px; }
  .canvas-sculpture { height: 110px; }
  .canvas-mini-hero { gap: 6px; }
  .canvas-mini-hero b { height: 7px; margin-bottom: 6px; }
  .canvas-mini-hero > div:first-child > i { width: 30px; height: 10px; }
  .canvas-footer { font-size: 7px; padding: 14px; }
  .showcase-phone { width: 96px; padding: 25px 9px 14px; }
  .canvas-phone-art { height: 65px; }
  .canvas-phone-art i { width: 30px; height: 34px; }
  .canvas-phone-header { margin-bottom: 18px; }
  .website-showcase figcaption { font-size: 9px; gap: 12px; }
  .website-showcase figcaption small { font-size: 8px; }
  .brand-ribbon-group { width: 1251px; gap: 55px; padding: 0 28px; }
  .brand-ribbon-group > a, .brand-ribbon-group > span { width: 195px; }
}
@media (prefers-reduced-motion: reduce) {
  .brand-ribbon.is-moving .brand-ribbon-track { animation: none; }
  .brand-ribbon-window { mask-image: none; }
  .brand-ribbon-group { width: 100%; gap: 20px; padding: 0 24px; flex-wrap: wrap; }
  .brand-ribbon-group > a { min-width: 110px; flex: 1 1 110px; }
  .brand-ribbon-group[aria-hidden] { display: none; }
}
/* All process decisions are readable at once. */
.site-rebrand .process-overview { margin: 0; padding: clamp(24px, 4vw, 48px); background: #10131a; color: #fff; border-radius: 6px; }
.process-overview > p { margin: 0 0 24px; font-size: 12px; color: #b9c5ec; }
.process-overview ol { list-style: none; padding: 0; margin: 0; }
.process-overview li { display: grid; grid-template-columns: 28px 1fr; gap: 15px; padding: 20px 0; border-top: 1px solid #343a46; }
.process-overview li > span { color: #b9c5ec; font-size: 11px; padding-top: 5px; }
.process-overview strong { display: block; font: 500 clamp(22px, 2.4vw, 30px)/1.15 'Source Serif 4', Georgia, serif; letter-spacing: -.025em; }
.process-overview li p { color: #c1c6d0; font-size: 13px; line-height: 1.6; margin: 8px 0 0; }
.site-rebrand :is(.process-page-hero, .process-story-intro, .handoff-heading) .section-label { color: #2548d9; }
.site-rebrand .process-spine > span { color: #626976; }
