/* A single clock drives card resizing and horizontal travel. Native swipe stays available. */
.case-rail{scroll-behavior:auto;scroll-snap-type:none}
.case-card{transition:flex-basis 650ms cubic-bezier(.215,.61,.355,1),height 650ms cubic-bezier(.215,.61,.355,1)}
.case-photo{transition:transform 800ms cubic-bezier(.215,.61,.355,1);transform:scale(1.025)}
.case-card.is-active .case-photo{transform:scale(1)}
.case-content{z-index:3}
.case-copy{transition:opacity 160ms,transform 200ms;transform:translateY(18px)}
.case-card.is-active .case-copy{transition:opacity 400ms 160ms,transform 500ms 120ms}
.case-contact{pointer-events:auto;display:inline-flex;align-items:center;gap:16px;color:white;font-size:14px;font-weight:600;line-height:20px;min-height:44px;padding:8px 0;margin-top:16px;text-decoration:underline;text-underline-offset:5px}
.case-contact::after{content:'↗';font-size:20px;font-weight:400}
.case-contact:hover{color:#e0ead9}.case-contact:focus-visible{outline-color:#fff;outline-offset:3px}
.case-contact[hidden]{display:none}
.lead-inline{display:inline-flex;align-items:center;gap:12px;font-size:14px;line-height:22px;color:#38634e;text-decoration:underline;text-underline-offset:4px;padding:8px 0}
.readiness .lead-inline{margin-top:8px}
.lead-dialog{width:min(600px,calc(100% - 32px));max-width:none;max-height:calc(100dvh - 32px);padding:0;border:1px solid #e8ebe5;border-radius:24px;background:#fff;color:#191919;box-shadow:0 24px 100px #0003;overflow-y:auto;overscroll-behavior:contain;scroll-padding:24px;animation:none}
.lead-dialog[open]{animation:lead-enter 220ms cubic-bezier(.2,.65,.3,1)}
.lead-dialog::backdrop{background:#17211b4d;backdrop-filter:blur(6px)}
.lead-top{display:flex;justify-content:space-between;align-items:center;padding:20px 32px 0}
.lead-wordmark{font-size:30px;line-height:1;font-weight:700;letter-spacing:-2px}
.lead-close{display:grid;place-items:center;width:44px;height:44px;border-radius:50%;background:#f4f5f2;color:#384232;flex-shrink:0}
.lead-close:hover{background:#e9ede6}.lead-close svg{width:22px;height:22px}
.lead-inner{padding:24px 40px 32px}
.lead-eyebrow{font-size:11px;line-height:16px;font-weight:600;letter-spacing:.08em;color:#68745f;margin:0 0 12px}
.lead-dialog h2{font-size:36px;line-height:40px;letter-spacing:-.04em;font-weight:700;margin:0;text-wrap:balance}
.lead-description{font-size:16px;line-height:24px;color:#687063;margin:16px 0 24px;text-wrap:pretty}
.lead-context{display:inline-block;border:1px solid #dbe1d5;border-radius:99px;background:#f5f7f1;color:#526744;font-size:12px;line-height:18px;margin:0 0 24px;padding:5px 12px}
.lead-context[hidden]{display:none}
.lead-fields{display:grid;grid-template-columns:1fr 1fr;gap:20px 16px}
.lead-field{display:flex;flex-direction:column;gap:8px;min-width:0;font-size:14px;line-height:20px;font-weight:400}
.lead-field[data-field=name],.lead-project{grid-column:1/-1}
.lead-field[hidden]{display:none}
.lead-field[data-field=email]:has(+[hidden]){grid-column:1/-1}
.lead-field small{font-size:11px;color:#747d6d;margin-left:4px;white-space:nowrap}
.lead-project-label{font-weight:400}
.lead-field input,.lead-field textarea{display:block;box-sizing:border-box;width:100%;min-height:48px;border:1px solid #d5dcd0;border-radius:8px;padding:12px;font:400 16px/24px Arial,'Helvetica Neue',sans-serif;color:#20261d;background:#fff;transition:border-color 150ms,box-shadow 150ms}
.lead-field textarea{resize:vertical;min-height:100px;max-height:220px}
.lead-field input::placeholder,.lead-field textarea::placeholder{color:#8b9284;opacity:1}
.lead-field input:focus,.lead-field textarea:focus{outline:2px solid #658776;outline-offset:2px;border-color:#658776}
.lead-field [aria-invalid=true]{border-color:#b24635;box-shadow:0 0 0 1px #b24635}
.lead-field-error{font-size:12px;line-height:18px;color:#a23525}
.lead-form-error{background:#fbf1ed;border:1px solid #edcfc3;border-radius:8px;padding:12px 14px;font-size:14px;line-height:22px;color:#963923;margin:20px 0 0}
.lead-field-error[hidden],.lead-form-error[hidden]{display:none}
.lead-submit{width:100%;justify-content:space-between;margin-top:24px;min-height:52px;padding-inline:20px;font-size:14px}
.lead-submit svg{width:22px;height:22px;flex-shrink:0}
.lead-submit:disabled{opacity:.6;cursor:wait}
.lead-note{font-size:12px;line-height:18px;color:#727b69;margin:12px 0 0;text-align:center}
.lead-dialog :focus-visible{outline:2px solid #658776;outline-offset:3px}
@keyframes lead-enter{from{opacity:0;transform:translateY(16px) scale(.98)}to{opacity:1;transform:none}}
@media(max-width:600px){.case-contact{font-size:13px;margin-top:12px}.case-copy{font-size:25px}.case-content{bottom:20px}}
@media(max-width:480px){
  .lead-dialog{width:calc(100% - 24px);max-height:calc(100dvh - 24px);border-radius:20px}
  .lead-top{padding:16px 20px 0}.lead-inner{padding:16px 20px 24px}
  .lead-dialog h2{font-size:30px;line-height:34px}.lead-fields{grid-template-columns:1fr;gap:16px}
  .lead-description{font-size:14px;line-height:22px;margin-bottom:24px}.lead-context{margin-bottom:20px}
  .lead-submit{margin-top:24px}.lead-field input{min-height:48px}
}
@media(prefers-reduced-motion:reduce){.case-card,.case-photo,.case-copy,.case-card.is-active .case-copy{transition:none}.lead-dialog[open]{animation:none}}
