/* Portrait-led testimonials: a sequence of conversations, distinct from process. */
.entry-ready{opacity:0;translate:0 22px}
.entry-ready.entry-visible{opacity:1;translate:0 0;transition:opacity .8s cubic-bezier(.2,.65,.3,1) var(--entry-delay,0ms),translate .95s cubic-bezier(.2,.65,.3,1) var(--entry-delay,0ms)}
.entry-ready.entry-instant,.motion-off .entry-ready{opacity:1;translate:none;transition:none}
@media(prefers-reduced-motion:reduce){.entry-ready{opacity:1;translate:none;transition:none}}
.testimonials .agency-track{gap:48px}
.testimonial-card{position:relative;display:grid;grid-template-columns:minmax(150px,.7fr) 1.3fr;grid-template-rows:auto 1fr auto;column-gap:40px;width:min(1000px,82vw);padding:28px 0;background:transparent;border:0;border-radius:0;min-height:400px}
.testimonial-top{grid-column:2;font-size:12px;text-transform:uppercase;letter-spacing:.08em}
.testimonial-top svg{display:none}
.testimonial-card blockquote{grid-column:2;margin:24px 0;align-self:center;font-size:clamp(23px,2.7vw,40px);line-height:1.28;max-width:28ch}
.testimonial-person{display:contents}
.testimonial-person>img{grid-column:1;grid-row:1/4;width:100%;height:100%;min-height:0;max-height:500px;border-radius:2px 48px 2px 2px;filter:saturate(.25);object-position:center}
.testimonial-person>div{grid-column:2;grid-row:3;border-top:1px solid #b6c5dd;padding-top:18px}
.testimonial-person span{color:#2349ce}
.testimonials-enhanced .testimonials .agency-track{position:relative;width:100%;height:100%;display:block}
.testimonials-enhanced .testimonial-card{position:absolute;inset:0;width:100%;height:100%;opacity:0;visibility:hidden;transform:translateY(18px);filter:blur(5px);transition:opacity .5s,transform .65s cubic-bezier(.16,1,.3,1),filter .5s,visibility .5s;padding:8px 0}
.testimonials-enhanced .testimonial-card.quote-active{opacity:1;visibility:visible;transform:none;filter:none}
.testimonials .agency-controls{border-top:1px solid #bac9e2;padding-top:16px}
.project-modal[open]{animation:modal-enter .5s cubic-bezier(.16,1,.3,1) both}
.project-modal[open]::backdrop{animation:backdrop-enter .4s both}
.project-modal[open] .project-copy>*{animation:content-enter .6s cubic-bezier(.16,1,.3,1) both}
.project-modal[open] .project-copy>:nth-child(2){animation-delay:.08s}
.project-modal[open] .project-copy>:nth-child(3){animation-delay:.16s}
.project-modal[open] .project-copy>:nth-child(4){animation-delay:.23s}
@keyframes modal-enter{from{opacity:0;transform:translateY(24px) scale(.98)}to{opacity:1;transform:none}}
@keyframes backdrop-enter{from{opacity:0}to{opacity:1}}
.project-modal[open].is-closing{animation:modal-exit .28s cubic-bezier(.4,0,1,1) both;pointer-events:none}
.project-modal[open].is-closing::backdrop{animation:backdrop-exit .28s ease-in both}
@keyframes modal-exit{from{opacity:1;transform:none;filter:blur(0)}to{opacity:0;transform:translateY(16px) scale(.985);filter:blur(3px)}}
@keyframes backdrop-exit{from{opacity:1}to{opacity:0}}
@keyframes content-enter{from{opacity:0;transform:translateY(14px);filter:blur(5px)}to{opacity:1;transform:none;filter:none}}
.contact-section{position:relative;z-index:9;padding:110px var(--gutter) 130px;background:#e8eef9;color:#14203a;border-radius:28px 28px 0 0;scroll-margin-top:100px}
.contact-layout{display:grid;grid-template-columns:1fr 1.1fr;gap:80px;max-width:1300px;margin:auto}
.contact-section h2{font-size:clamp(38px,4.5vw,64px);font-weight:500;letter-spacing:-.04em;line-height:1.07;margin:24px 0}
.contact-intro>p:last-child{max-width:34ch;color:#4b5d7b;line-height:1.7}
.contact-form{display:grid;grid-template-columns:1fr 1fr;gap:28px 24px;align-content:start}
.contact-field{display:flex;flex-direction:column;gap:10px;font-size:13px;font-weight:500;color:#324866}
.contact-wide{grid-column:1/-1}
.contact-field input,.contact-field textarea,.contact-field select{width:100%;min-width:0;font:inherit;font-size:16px;color:#14203a;background:#f5f8ff;border:1px solid #99aecf;border-radius:3px;padding:14px;outline-offset:3px;transition:border-color .2s,background .2s}
.contact-field textarea{resize:vertical;min-height:130px;line-height:1.6}
.contact-field :focus-visible{outline:2px solid #315bff;background:#fff}
.contact-field input::placeholder,.contact-field textarea::placeholder{color:#62718a}
.contact-submit{display:flex;align-items:center;justify-content:space-between;gap:20px;min-height:56px;padding:16px 24px;background:#315bff;color:white;border:0;border-radius:3px 18px 3px 18px;font:inherit;text-align:left;transition:background .2s}
.contact-submit:hover{background:#2048df}.contact-submit svg{width:22px;height:22px}
.contact-result{grid-column:1/-1;animation:content-enter .5s both;padding:36px 0;border-top:1px solid #9db4ed}
.contact-result[hidden],.contact-form[hidden]{display:none}
.contact-result h3{font-size:32px;font-weight:500;margin:0 0 18px;letter-spacing:-.03em}.contact-result p{line-height:1.7;color:#4b5d7b;margin-bottom:24px}
.contact-result button{font:inherit;color:#2349ce;background:none;border:0;border-bottom:1px solid currentColor;padding:10px 0}
/* A cobalt chapter separates the invitation from the quiet FAQ surface. */
.contact-section{background:#2449d8;color:#fff}
.contact-intro>p:last-child,.contact-result p,.contact-field{color:#e1e9ff}
.contact-section .studio-eyebrow{color:#e1e9ff}
.contact-section .studio-eyebrow-mark::before{border-color:#9fb7ff;background:#ffffff12}
.contact-section .studio-eyebrow-line{background:linear-gradient(90deg,#a9bfff,transparent)}
.contact-field input,.contact-field textarea,.contact-field select{background:#f5f8ff;border-color:#d3dfff}
.contact-field :focus-visible{outline-color:#fff}
.contact-submit{background:#101c38;color:#fff;border:1px solid #7997ed}
.contact-submit:hover{background:#192d58}
.contact-result{border-top-color:#8ba8ff}.contact-result button{color:#fff}
@media(max-width:760px){.testimonial-card{grid-template-columns:100px 1fr;gap:16px;width:calc(100vw - 48px);min-height:400px}.testimonial-person>img{max-height:220px;border-radius:2px 24px 2px 2px}.testimonial-card blockquote{font-size:22px;margin:12px 0}.testimonial-top{font-size:10px}.testimonial-person>div{padding-top:12px}.contact-layout{grid-template-columns:1fr;gap:40px}.contact-section{padding:80px 24px 100px}.contact-form{gap:22px}.contact-field{grid-column:1/-1}}
@media(prefers-reduced-motion:reduce){.project-modal[open],.project-modal[open]::backdrop,.project-modal[open] .project-copy>*,.contact-result{animation:none}.testimonials-enhanced .testimonial-card{transition:none}}
.motion-off .project-modal,.motion-off .project-modal::backdrop,.motion-off .project-copy>*,.motion-off .contact-result{animation:none!important}
