/* Homepage motion: brief entrances and deliberate interaction, with quiet reading areas. */
.index-page[data-home-motion]{--home-ease:cubic-bezier(.2,.65,.3,1)}
.index-page[data-home-motion] [data-home-reveal]{opacity:1}
.index-page[data-home-motion] .home-section>.section-top,
.index-page[data-home-motion] .home-section>.contact-section-heading{position:relative;padding-bottom:22px}
.index-page[data-home-motion] .home-section>.section-top::after,
.index-page[data-home-motion] .home-section>.contact-section-heading::after,
.index-page[data-home-motion] .firm-statement h2::after{
 content:"";display:block;width:90px;height:2px;border-radius:2px;
 background:linear-gradient(90deg,#b18b4b,#a283b5 70%,#d9c8e3);
 transform:scaleX(1);transform-origin:left;opacity:.85;
 transition:transform .65s var(--home-ease),opacity .65s ease;
}
.index-page[data-home-motion] .home-section>.section-top::after,
.index-page[data-home-motion] .home-section>.contact-section-heading::after{position:absolute;left:0;bottom:0}
.index-page[data-home-motion] .firm-statement h2::after{margin-top:28px}
.index-page.home-motion-enabled .home-section>.section-top:not(.home-revealed)::after,
.index-page.home-motion-enabled .home-section>.contact-section-heading:not(.home-revealed)::after,
.index-page.home-motion-enabled .firm-statement h2:not(.home-revealed)::after{transform:scaleX(.12);opacity:.2}

/* Practice areas settle into place once, then respond to the visitor. */
.index-page[data-home-motion] .practice-card{transition:border-color .3s,box-shadow .35s,transform .4s var(--home-ease),background .35s}
.index-page[data-home-motion] .practice-card .card-link{transition:color .25s,border-color .35s}
.index-page[data-home-motion] .practice-card .card-link .icon{transition:transform .35s var(--home-ease)}
.index-page[data-home-motion] .practice-graphic>.icon{transition:transform .5s var(--home-ease),background .4s,border-color .4s,box-shadow .4s}
.index-page[data-home-motion] .practice-graphic i{transition:transform .65s var(--home-ease),border-color .4s}
.index-page[data-home-motion] .practice-card:focus-visible{outline:2px solid #805699;outline-offset:5px;border-color:#ad89bd;box-shadow:0 12px 30px #60367813}
.index-page[data-home-motion] .practice-card:focus-visible .card-link .icon{transform:translate(2px,-2px)}
.index-page[data-home-motion] .practice-card:focus-visible .practice-graphic>.icon{background:#f3eaf8;border-color:#b798c9}

/* Concern finder: one result entrance, not overlapping CSS and JS entrances. */
.index-page[data-home-motion] #finder-result,
.index-page[data-home-motion] .records-panels>[role=tabpanel],
.index-page[data-home-motion] .process-panels>[role=tabpanel]{animation:none!important}
.index-page[data-home-motion] .concern-choices>button{transition:background .25s,border-color .25s,box-shadow .3s,transform .3s var(--home-ease)}
.index-page[data-home-motion] .concern-choices>button::before{content:"";position:absolute;left:17px;right:17px;bottom:0;height:2px;border-radius:2px;background:linear-gradient(90deg,#9471a8,#bb9a64);transform:scaleX(0);transform-origin:left;transition:transform .3s var(--home-ease);pointer-events:none}
.index-page[data-home-motion] .concern-choices>button[aria-pressed=true]::before{transform:scaleX(1)}
.index-page[data-home-motion] .concern-choices>button>.icon:last-child{transition:transform .3s var(--home-ease),opacity .25s,color .25s}
.index-page[data-home-motion] .concern-choices>button:focus-visible{outline:2px solid #805699;outline-offset:3px;background:#f1e8f7}
.index-page[data-home-motion] .signal-lines i{animation:none!important;transform-origin:left;transform:scaleX(1);opacity:.55;transition:transform .65s var(--home-ease),opacity .65s ease}
.index-page[data-home-motion] .signal-lines i:nth-child(2){transition-delay:70ms}
.index-page[data-home-motion] .signal-lines i:nth-child(3){transition-delay:140ms}
.index-page[data-home-motion] .signal-lines i:nth-child(4){transition-delay:210ms}
.index-page.home-motion-enabled .finder-shell:not(.home-revealed) .signal-lines i{transform:scaleX(.12);opacity:.15}

/* Records and review steps change only when the visitor makes a selection. */
.index-page[data-home-motion] .records-tabs::before{transform:scaleX(1);transform-origin:left;transition:transform .7s var(--home-ease),opacity .5s;opacity:.9}
.index-page.home-motion-enabled .records-workspace:not(.home-revealed) .records-tabs::before{transform:scaleX(.08);opacity:.25}
.index-page[data-home-motion] .records-tabs .map-node{transition:background .3s,border-color .3s,box-shadow .35s,transform .35s var(--home-ease)}
.index-page[data-home-motion] .records-tabs>button{transition:color .25s}
.index-page[data-home-motion] .records-tabs>button>span:last-child{position:relative;padding-bottom:7px}
.index-page[data-home-motion] .records-tabs>button>span:last-child::after{content:"";height:2px;position:absolute;left:15%;right:15%;bottom:0;background:#b39563;border-radius:2px;transform:scaleX(0);transition:transform .3s var(--home-ease)}
.index-page[data-home-motion] .records-tabs>button[aria-selected=true]>span:last-child::after{transform:scaleX(1)}
.index-page[data-home-motion] .records-tabs>button:focus-visible{outline:2px solid #805699;outline-offset:6px;border-radius:10px}
.index-page[data-home-motion] .process-tabs button{transition:background .3s,border-color .3s,box-shadow .3s,color .3s}
.index-page[data-home-motion] .process-tabs button::after{content:"";height:2px;position:absolute;bottom:0;left:18px;right:18px;background:linear-gradient(90deg,#9471a8,#bb9a64);border-radius:2px;transform:scaleX(0);transform-origin:left;transition:transform .3s var(--home-ease)}
.index-page[data-home-motion] .process-tabs button[aria-selected=true]::after{transform:scaleX(1)}
.index-page[data-home-motion] .process-tabs button>span{transition:border-color .3s,box-shadow .3s,color .3s,background .3s}
.index-page[data-home-motion] .process-tabs button:focus-visible{outline:2px solid #805699;outline-offset:3px}

/* The firm statement and contact area keep their reading and input surfaces still. */
.index-page[data-home-motion] .firm-statement-bottom .button{transition:color .25s,border-color .3s}
.index-page[data-home-motion] .firm-statement-bottom .button:hover{transform:none}
.index-page[data-home-motion] .firm-statement-bottom .button .icon{transition:transform .3s var(--home-ease)}
.index-page[data-home-motion] .page-contact-info .contact-options>a{transition:background .3s,border-color .3s,box-shadow .3s}
.index-page[data-home-motion] .page-contact-info .contact-options>a>.icon:last-child{transition:transform .3s var(--home-ease)}
.index-page[data-home-motion] .page-contact-info .contact-options>a:focus-visible{outline:2px solid #805699;outline-offset:3px;background:#f5edf9;box-shadow:0 6px 17px #633d850d}
.index-page[data-home-motion] .page-contact-info .contact-options>a:focus-visible>.icon:last-child{transform:translate(2px,-2px)}
.index-page[data-home-motion] .review-form-panel:focus-within{border-color:#c6acd7;box-shadow:0 20px 50px #633d850d}
.index-page[data-home-motion] .review-form-panel{transition:border-color .3s,box-shadow .3s}
.index-page[data-home-motion] .completion-track>span{transition:width .3s var(--home-ease)}
.index-page[data-home-motion] .site-footer a{transition:color .25s,border-color .25s}
@media(hover:hover) and (pointer:fine){
 .index-page[data-home-motion] .practice-card:hover{transform:translateY(-3px);box-shadow:0 17px 35px #61387b10}
 .index-page[data-home-motion] .practice-card:hover .practice-graphic>.icon{transform:translateY(-2px);background:#f8f1fc;border-color:#bb9ecd}
 .index-page[data-home-motion] .practice-card:hover .practice-graphic i:nth-of-type(1){transform:rotate(-14deg)}
 .index-page[data-home-motion] .practice-card:hover .practice-graphic i:nth-of-type(2){transform:rotate(12deg);border-color:#b7946263}
 .index-page[data-home-motion] .practice-card:hover .card-link .icon{transform:translate(2px,-2px)}
 .index-page[data-home-motion] .concern-choices>button:hover{transform:translateY(-2px)}
 .index-page[data-home-motion] .records-tabs>button:hover .map-node{transform:translateY(-2px)}
 .index-page[data-home-motion] .firm-statement-bottom .button:hover .icon{transform:translate(2px,-2px)}
 .index-page[data-home-motion] .page-contact-info .contact-options>a:hover{transform:none;background:#f7f0fb;box-shadow:0 6px 17px #633d850d}
 .index-page[data-home-motion] .page-contact-info .contact-options>a:hover>.icon:last-child{transform:translate(2px,-2px)}
}
@media(max-width:700px){
 .index-page[data-home-motion] .home-section>.section-top,
 .index-page[data-home-motion] .home-section>.contact-section-heading{padding-bottom:18px}
 .index-page[data-home-motion] .home-section>.section-top::after,
 .index-page[data-home-motion] .home-section>.contact-section-heading::after,
 .index-page[data-home-motion] .firm-statement h2::after{width:70px}
 .index-page[data-home-motion] .firm-statement h2::after{margin-top:22px}
}
/* Removing the runtime or switching motion off never removes content. */
.index-page[data-home-motion]:not(.home-motion-enabled) .home-section *,
.index-page[data-home-motion]:not(.home-motion-enabled) .home-section *::before,
.index-page[data-home-motion]:not(.home-motion-enabled) .home-section *::after{animation:none!important;transition:none!important}
html.motion-off .index-page[data-home-motion] .home-section *,
html.motion-off .index-page[data-home-motion] .home-section *::before,
html.motion-off .index-page[data-home-motion] .home-section *::after{animation:none!important;transition:none!important}
html.motion-off .index-page[data-home-motion] [data-home-reveal]{opacity:1;transform:none}
@media(prefers-reduced-motion:reduce){
 .index-page[data-home-motion] .home-section *,
 .index-page[data-home-motion] .home-section *::before,
 .index-page[data-home-motion] .home-section *::after{animation:none!important;transition:none!important}
 .index-page[data-home-motion] [data-home-reveal]{opacity:1;transform:none}
}
@media print{
 .index-page[data-home-motion] .home-section *,
 .index-page[data-home-motion] .home-section *::before,
 .index-page[data-home-motion] .home-section *::after{animation:none!important;transition:none!important}
 .index-page[data-home-motion] [data-home-reveal]{opacity:1;transform:none}
}
