/* Motion has one job: make the design and the next action easier to follow. */
.hero-first-line{display:block}.hero h1{overflow:visible}
.brand-star{display:inline-block;transform-origin:50% 50%}
.button,.icon-button,.header-phone,[data-filter],.preview-directions button{transform-origin:center}
.button>span[aria-hidden],.text-button>span[aria-hidden],.service-directory-group>a>span:last-child{display:inline-block}
.site-header{transition:box-shadow .25s ease}
.site-header.has-scrolled{box-shadow:0 6px 24px #163e3210}
.reading-progress{position:absolute;left:0;bottom:-1px;height:2px;width:100%;background:#70904a;transform:scaleX(0);transform-origin:left;pointer-events:none}
.service-directory-group>a{transition:background-color .2s,border-color .2s}
.service-directory-group>a:hover{border-color:#9bb58c;background:#ffffff05}
.site-header nav>a,.contact-context-links>a{position:relative;text-underline-offset:5px}
.site-header nav>a:after{content:'';position:absolute;bottom:-5px;left:0;right:0;height:1px;background:currentColor;transform:scaleX(0);transform-origin:left;transition:transform .25s ease}
.site-header nav>a:hover:after,.site-header nav>a:focus-visible:after{transform:scaleX(1)}
.design-grid{align-items:start}.design-card{transform-origin:50% 0;transition:box-shadow .25s ease,border-color .25s ease}
.design-card:hover{box-shadow:0 14px 36px #19392f13;border-color:#b6c8a8}
.card-art{overflow:hidden}.card-art img{transition:none!important;transform-origin:center}
.view-cue{transition:background-color .2s,color .2s}
.card-art:hover .view-cue{background:var(--green);color:white}
.preview-carousel.preview-art{display:block;overflow:hidden;position:relative;padding:0;touch-action:pan-y pinch-zoom;cursor:grab;outline-offset:4px;border-radius:8px}
.preview-carousel.is-dragging{cursor:grabbing;user-select:none}
.preview-track{display:flex;width:100%;align-items:center;will-change:transform}
.preview-slide{flex:0 0 100%;width:100%;min-width:0;display:flex;justify-content:center;align-items:center;aspect-ratio:4/3;padding:6px}
.preview-slide img{display:block;width:100%;height:100%;max-height:62dvh;object-fit:contain!important;pointer-events:none;user-select:none}
.preview-controls{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:16px}
.preview-controls .icon-button{flex:none;width:44px;height:44px;min-height:44px;font-size:1.15rem;background:#fff;border:1px solid var(--line);border-radius:50%}
.preview-controls .icon-button:disabled{opacity:.35;cursor:default}
.preview-controls>span{font-size:.8125rem;text-align:center;line-height:1.5}
.swipe-hint{font-size:.75rem!important;color:var(--muted);text-align:center;margin:10px 0 16px}
.preview-directions button{transition:border-color .2s,background-color .2s}
.preview-dialog .preview-info{min-width:0}
.faq-motion-content{display:flow-root}
.motion-preference{font:inherit;font-size:.75rem;color:var(--muted,#506458);background:transparent;border:1px solid var(--line,#dce2d8);border-radius:24px;padding:10px 16px;min-height:44px;cursor:pointer;width:max-content;max-width:100%;text-align:left}
.motion-preference:hover{color:var(--ink,#19392f);background:#f3f5f1}.motion-preference[aria-pressed=true]{background:#eaf1df;color:#19392f}.motion-preference:disabled{cursor:default}
.motion-reduced{scroll-behavior:auto!important}.motion-reduced *, .motion-reduced *:before,.motion-reduced *:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}
@media(hover:none){.swipe-hint{font-size:.8125rem}.site-header nav>a:after{display:none}}
@media(max-width:599px){.preview-slide{padding:2px}.preview-controls{margin-top:12px}.preview-directions{gap:6px}.preview-directions span{font-size:.75rem}.preview-info{padding-top:24px}.preview-controls>span{max-width:24ch}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
