/* The em dimensions and motion below come from the supplied Bustar
 * widgets/button/button.css, style1 and anim-dir-angle. Scoped to DSD links.
 * Existing SVGs/glyphs and all section layouts are retained. */
.dsd-page .dsd-link-button .dsd-source-arrow{display:inline-block;overflow:hidden;position:relative;width:18px;height:18px;line-height:20px;flex-shrink:0;font-style:normal}
.dsd-page .dsd-link-button .dsd-source-arrow>*{height:inherit;width:inherit;line-height:inherit;font-size:18px;position:absolute;top:0;left:0;transition:transform .3s ease-in-out;color:inherit}
.dsd-page .dsd-link-button .dsd-source-arrow>*:last-child{transform:translateX(-150%)}
.dsd-page .dsd-node-button:is(:hover,:focus-within) .dsd-source-arrow>*{transform:translateX(150%)}
.dsd-page .dsd-node-button:is(:hover,:focus-within) .dsd-source-arrow>*:last-child{transform:translateX(0)!important}
.dsd-page .dsd-link-button .dsd-source-arrow-angle>*:last-child{transform:translate(-150%,150%)}
.dsd-page .dsd-node-button:is(:hover,:focus-within) .dsd-source-arrow-angle>*{transform:translate(150%,-150%)}
.dsd-page .dsd-source-text-link:is(:hover,:focus-visible,:focus-within){background:transparent!important;color:inherit!important;color:var(--dsd-line-color,#ab052d)!important}
@media(prefers-reduced-motion:reduce){.dsd-page .dsd-link-button .dsd-source-arrow>*{transition:none}}

.dsd-page [data-dsd-text-link="true"]{background:transparent!important;box-shadow:none!important}
.dsd-page [data-dsd-text-link="true"]:is(:hover,:focus-within){background:transparent!important;color:var(--dsd-hover-ink,#2b3944)!important}
.dsd-page .dsd-source-arrow svg{fill:currentColor;stroke:none}

/* Original portfolio spacing, scoped to its editable preset. Swiper still owns
   movement; the filter band has its own width independently of the cards. */
.dsd-page [data-dsd-source-layout="featured-projects"][data-dsd-content-width="full"]{width:var(--dsd-project-width,100%);max-width:none;margin-left:var(--dsd-project-left,0)}
.dsd-page [data-dsd-source-layout="project-carousel"] .dsd-carousel-filters{max-width:978px;margin:0 auto 56px;padding:24px 0;gap:28px}
.dsd-page [data-dsd-source-layout="project-arrow"] .dsd-source-arrow{width:28px;height:28px;line-height:28px}
.dsd-page [data-dsd-source-layout="project-arrow"]:is(:hover,:focus-within){background:transparent}
.dsd-page [data-dsd-source-layout="project-carousel"] .dsd-carousel-card :is(.dsd-node-heading,.dsd-node-button){transition:color .3s ease}
.dsd-page [data-dsd-source-layout="project-carousel"] .dsd-carousel-card:is(:hover,:focus-within) :is(.dsd-node-heading,.dsd-node-button){color:#AB052D!important}
.dsd-page [data-dsd-source-layout="project-carousel"] .dsd-carousel-card .dsd-node-heading a{color:inherit;text-decoration:none}
.dsd-page [data-dsd-source-layout="project-backdrop"]{pointer-events:none}
.dsd-page [data-dsd-source-layout="faq-contact"]{white-space:nowrap;justify-self:end}
.dsd-page [data-dsd-source-layout="faq-contact"] .dsd-link-button{gap:8px;white-space:nowrap}
.dsd-page .dsd-accordion-item[data-dsd-expanded="false"] > summary::after{content:'+'}
.dsd-page .dsd-accordion-answer{will-change:auto}
@container dsd-page (max-width:680px){
 .dsd-page [data-dsd-source-layout="project-carousel"] .dsd-carousel-filters{gap:8px;margin-bottom:28px;padding:18px 0}
 .dsd-page [data-dsd-source-layout="project-carousel"] .dsd-carousel-card{flex-basis:100%}
 .dsd-page [data-dsd-source-layout="project-carousel"] .dsd-node-columns{grid-template-columns:minmax(0,1fr) 28px!important}
 .dsd-page [data-dsd-source-layout="faq-contact"]{justify-self:start}
}
