/* Original brand, enhanced with restrained movement and team portraits. */
.site-header{transition:box-shadow .25s,background .25s}.site-header.is-scrolled{box-shadow:0 7px 24px #10233310}.site-header nav{gap:23px}.hero-description{max-width:420px}.service-card{transition:background .25s}.service-card:hover{background:#8c193104}.service-icon{transition:transform .35s}.service-card:hover .service-icon{transform:translateY(-4px)}.button:hover span[aria-hidden],.service-link:hover span{transform:translate(2px,-2px)}.button span,.service-link span{transition:transform .25s}
.portfolio-section{background:var(--soft);padding-bottom:72px;margin-top:-35px}.portfolio-stories{border:1px solid #ccd2ce;padding:30px 33px;display:flex;justify-content:space-between;gap:35px;align-items:center;background:#f7f8f5}.portfolio-stories .eyebrow{margin-bottom:9px}.portfolio-stories h3{font-family:var(--serif);font-size:2rem;line-height:1.15;margin-bottom:12px}.portfolio-stories p:not(.eyebrow){font-size:1rem;color:var(--muted);max-width:500px}.portfolio-stories .text-link{flex-shrink:0}.portfolio-updates{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px;margin-top:40px}.portfolio-update img{width:100%;aspect-ratio:4/3;object-fit:cover}.portfolio-update h3{font-size:1.35rem;margin:17px 0 8px}.portfolio-update p{font-size:1rem;color:var(--muted)}.portfolio-update .eyebrow{margin-top:16px;margin-bottom:5px;color:var(--wine)}
.people-section{background:#f0f1ed}.people-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:30px}.person-card{min-width:0}.person-photo{position:relative;overflow:hidden;background:#655f58}.person-photo img{width:100%;aspect-ratio:3/4;object-fit:contain;transition:transform .6s cubic-bezier(.2,.65,.3,1)}.person-card:hover .person-photo img{transform:scale(1.025)}.person-index{position:absolute;bottom:17px;left:18px;border:1px solid #ffffff70;color:#fff;width:34px;height:34px;display:grid;place-items:center;font-size:.75rem;backdrop-filter:blur(8px)}.person-info{padding:24px 0 19px;border-bottom:1px solid #cdd2cc}.person-role{font-size:.75rem;letter-spacing:.08em;color:var(--wine);font-weight:600;margin-bottom:9px}.person-info h3{font-family:var(--serif);font-size:1.8rem;letter-spacing:-.035em;line-height:1.25;margin-bottom:9px}.person-note{font-size:.875rem;color:#616b70;line-height:1.7}.people-disclosure{font-size:.75rem;color:#5d686d;line-height:1.8;max-width:870px;margin-top:24px}.contact-online{display:grid;gap:0;margin-top:27px;border-top:1px solid #3a4954}.contact-online>a{position:relative;padding:20px 35px 18px 0;border-bottom:1px solid #3a4954}.contact-online>a>span{display:block;font-size:.75rem;letter-spacing:.1em;color:#b9c3ca;margin-bottom:7px}.contact-online strong{font-size:1.1rem;font-weight:400;color:#f0c2ce;overflow-wrap:anywhere}.contact-online i{position:absolute;right:2px;top:28px;font-style:normal;font-size:1.5rem;transition:transform .2s}.contact-online a:hover i{transform:translate(3px,-3px)}
@keyframes jkn-enter{from{opacity:0;transform:translateY(22px)}to{opacity:1;transform:translateY(0)}}
@keyframes jkn-image-enter{from{opacity:0;transform:translateY(14px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}
@media(prefers-reduced-motion:no-preference){.hero-copy>.eyebrow{animation:jkn-enter .75s both .05s}.hero-copy h1{animation:jkn-enter .85s both .15s}.hero-description{animation:jkn-enter .85s both .25s}.hero-actions{animation:jkn-enter .85s both .35s}.hero-footnote{animation:jkn-enter .85s both .45s}.hero-visual{animation:jkn-image-enter 1s both .2s}.motion-reveal{transition:opacity .7s ease,transform .7s cubic-bezier(.2,.65,.3,1)}.motion-reveal.is-motion-pending{opacity:0;transform:translateY(24px)}.motion-reveal.is-visible{opacity:1;transform:none}.people-grid>.person-card:nth-child(2),.service-grid>.service-card:nth-child(2){transition-delay:70ms}.people-grid>.person-card:nth-child(3),.service-grid>.service-card:nth-child(3){transition-delay:140ms}}
@media(max-width:1100px){.site-header nav{gap:16px}.person-role{min-height:38px;display:flex;align-items:flex-end}.person-info h3{font-size:1.6rem}.people-grid{gap:24px}}
@media(max-width:700px){.people-grid,.portfolio-updates{grid-template-columns:1fr;gap:35px}.person-role{min-height:0;font-size:.75rem}.person-info h3{font-size:2rem}.person-note{font-size:1rem}.portfolio-section{margin-top:-20px;padding-bottom:52px}.portfolio-stories{display:block;padding:25px}.portfolio-stories .text-link{margin-top:22px}.portfolio-stories h3{font-size:1.8rem}.contact-online strong{font-size:1.05rem}.site-header nav{gap:0}}
@media(prefers-reduced-motion:reduce){.motion-reveal.is-motion-pending{opacity:1;transform:none}*,*:before,*:after{animation:none!important;transition:none!important}.person-card:hover .person-photo img,.service-card:hover .service-icon{transform:none}}
