.ft-icon { display:inline-block; width:22px; height:22px; flex:0 0 auto; vertical-align:middle; overflow:visible; transition:transform .45s cubic-bezier(.22,1,.36,1),opacity .3s ease; }
.direction-navigation b, .process-steps article > b, .faq-list summary > b { display:flex; align-items:center; justify-content:center; }
.direction-navigation .ft-icon { width:23px; height:23px; }
.project-arrows button, .lead-modal__close { display:inline-flex; align-items:center; justify-content:center; }
.project-arrows .ft-icon { width:24px; height:24px; }
:is(a,button):focus-visible .ft-icon--arrow-right { transform:translateX(4px); }
:is(a,button):focus-visible .ft-icon--arrow-left { transform:translateX(-4px); }
:is(a,button):focus-visible .ft-icon--arrow-up-right { transform:translate(3px,-3px); }
:is(a,button):focus-visible .ft-icon--arrow-down { transform:translateY(4px); }
@media (hover:hover) {
 :is(a,button):hover .ft-icon--arrow-right { transform:translateX(4px); }
 :is(a,button):hover .ft-icon--arrow-left { transform:translateX(-4px); }
 :is(a,button):hover .ft-icon--arrow-up-right { transform:translate(3px,-3px); }
 :is(a,button):hover .ft-icon--arrow-down { transform:translateY(4px); }
 .process-steps article:hover .ft-icon--check path { animation:ft-check-draw .55s ease both; }
 .process-steps article:hover .ft-icon--check { color:var(--fire-orange); }
 .direction-navigation a:hover .ft-icon { transition-duration:.65s; }
}
:is(.primary-cta,.fire-order,.process-cta,.calc-submit,.lead-submit,.text-button,.text-link,.one-team-actions a,.one-team-actions button,.mobile-order-bar button,.studio-gallery-more summary,.project-arrows button,.studio-lightbox button) { transition:background .25s ease,color .25s ease,border-color .25s ease,transform .3s cubic-bezier(.22,1,.36,1); }
:is(.primary-cta,.fire-order,.process-cta,.calc-submit,.lead-submit,.text-button,.text-link,.one-team-actions a,.one-team-actions button,.mobile-order-bar button,.project-arrows button,.studio-lightbox button):active { transform:scale(.96); }
.direction-navigation a:active .ft-icon { transform:translate(2px,-2px) scale(.85); }
.faq-list summary .ft-icon--chevron-down { transition:transform .45s cubic-bezier(.22,1,.36,1),color .25s; }
.faq-list details[open] summary .ft-icon--chevron-down { transform:rotate(180deg); color:var(--fire-orange); }
.faq-list summary:hover .ft-icon, .faq-list summary:focus-visible .ft-icon { color:var(--fire-orange); }
.faq-list details[open] > p, .studio-faq details[open] > p, .work-card-details[open] > p { animation:ft-answer-in .4s ease both; }
.studio-checklist li::before { content:''; width:20px; height:20px; top:21px; background:#c34a28; mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='m5 12 4.5 4.5L19 7' fill='none' stroke='black' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/contain no-repeat; }
.studio-checklist li:first-child::before { top:4px; }
.studio-faq summary::after, .studio-gallery-more summary::after { content:''; display:inline-block; width:22px; height:22px; background:currentColor; mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 5v14M5 12h14' fill='none' stroke='black' stroke-width='1.7' stroke-linecap='round'/%3E%3C/svg%3E") center/contain no-repeat; transition:transform .4s cubic-bezier(.22,1,.36,1); }
.studio-faq details[open] summary::after, .studio-gallery-more[open] summary::after { content:''; transform:rotate(45deg); }
.studio-faq summary::after { top:26px; }
.studio-gallery-more summary { display:flex; align-items:center; gap:18px; }
.studio-gallery-more summary::after { padding:0; }
.studio-gallery-more summary:active { transform:scale(.98); }
.studio-photo a::after { content:''; font-size:0; }
.studio-photo a::before { content:''; position:absolute; z-index:1; right:22px; bottom:22px; width:20px; height:20px; background:#fff; mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 5v14M5 12h14' fill='none' stroke='black' stroke-width='1.7' stroke-linecap='round'/%3E%3C/svg%3E") center/contain no-repeat; transition:transform .4s cubic-bezier(.22,1,.36,1); }
.studio-photo a:hover::before, .studio-photo a:focus-visible::before { transform:rotate(90deg); }
.work-card-details summary > span { display:flex; }
.direction-preview-panels.ft-gesture-surface { cursor:grab; }
.direction-preview-panels.is-pointer-dragging { cursor:grabbing; }
.direction-preview-panels:focus-visible { outline:2px solid #ff8b69; outline-offset:6px; }
.direction-preview-panels .direction-preview-image { transition:opacity .6s cubic-bezier(.22,1,.36,1); }
@keyframes ft-check-draw { from { stroke-dasharray:24; stroke-dashoffset:24; } to { stroke-dasharray:24; stroke-dashoffset:0; } }
@keyframes ft-answer-in { from { opacity:0; transform:translateY(-6px); } to { opacity:1; transform:translateY(0); } }
@media(prefers-reduced-motion:reduce) {
 .ft-icon, .faq-list summary .ft-icon, .studio-gallery-more summary::after, .studio-faq summary::after, .studio-photo a::before { transition:none; }
 .direction-preview-panels .direction-preview-image { transition:none; }
 .process-steps article:hover .ft-icon--check path, .faq-list details[open] > p, .studio-faq details[open] > p, .work-card-details[open] > p { animation:none; }
 :is(.primary-cta,.fire-order,.process-cta,.calc-submit,.lead-submit,.text-button,.text-link,.one-team-actions a,.one-team-actions button,.mobile-order-bar button,.studio-gallery-more summary,.project-arrows button,.studio-lightbox button) { transition:none; }
}
