/* RKA visual layer (October 2026). Loaded after styles.css; uses its tokens. */

/* Shared outer gutters match the homepage; reading text keeps its own measure. */
.wrap,.visual-lede .wrap{width:calc(100% - 4rem);max-width:none}
@media(min-width:851px){.home-page .practice-section>.wrap,.home-page .section.soft>.wrap{width:min(var(--max),calc(100% - 4rem))}}
@media(max-width:850px){.wrap,.visual-lede .wrap{width:calc(100% - 2rem)}}

/* Line icons on cards */
.rka-icon{display:block;width:28px;height:28px;flex:none}
.service-card .card-icon,.practice-tile .card-icon{position:absolute;top:1.9rem;right:1.9rem}
.service-card .card-icon{color:var(--blue)}
.practice-tile{position:relative}
.practice-tile .card-icon{color:#e4c77e}
.plain-panel .card-icon{color:var(--blue);margin-bottom:1rem}
.practice-section .practice-tile:hover .card-icon{color:#fff}

/* Homepage hero: original RKA material illustration */
.hero-visual>.rka-hero-video,.hero-visual>.rka-hero-still,.hero-visual>.rka-hero-art{display:block;width:100%;height:100%;min-height:620px;object-fit:cover;object-position:62% center}
.hero-visual>.rka-hero-art{object-position:68% center;background:#f7f9fc}
.hero-visual>.rka-hero-still{display:block}
.hero-visual:after{background:linear-gradient(180deg,rgba(8,30,72,.04) 20%,rgba(8,30,72,.72))}

/* Keep the complete desktop introduction and credentials in the landing view. */
@media(min-width:1101px){
 .home-page .hero-grid{min-height:calc(100svh - 280px)}
 .home-page .hero-copy{align-self:center;padding:1.5rem 2.5rem 1.5rem 0}
 .home-page .hero h1{font-size:3.75rem;line-height:1.04;letter-spacing:0;max-width:480px;margin-bottom:1.1rem}
 .home-page .hero-copy>.eyebrow{font-size:.85rem;margin-bottom:.8rem}
 .home-page .hero-copy>p:not(.eyebrow):not(.hero-location){font-size:.95rem;line-height:1.6;margin-bottom:0}
 .home-page .hero .actions{margin-top:1.5rem}
 .home-page .hero .hero-location{margin-top:1.8rem}
 .home-page .hero-visual{min-height:0}
 .home-page .hero-visual>.rka-hero-video,.home-page .hero-visual>.rka-hero-still{position:absolute;inset:0;min-height:0;height:100%}
 .home-page .hero-visual .hero-note{left:1.5rem;right:1.5rem;bottom:1.5rem;padding:1.6rem 1.8rem}
 .home-page .hero-note h2{font-size:2.1rem;line-height:1.12;letter-spacing:0}
 .home-page .hero-note .eyebrow{font-size:.85rem;margin-bottom:1rem}
 .home-page .hero-note a{font-size:.9rem;padding:.85rem 0}
 .home-page .hero-note .focus-foot{font-size:.75rem;line-height:1.5;margin-top:1.3rem}
 .home-page .firm-band{padding:1.4rem 0}
 .home-page .rka-cred>div{padding-top:.9rem;padding-bottom:.9rem}
 .home-page .rka-cred strong{font-size:.9rem}
 .home-page .rka-cred span{font-size:.65rem}
}
@media(min-width:1101px) and (max-height:820px){
 .header-inner{min-height:80px}
 .home-page .hero-grid{min-height:calc(100svh - 250px)}
 .home-page .hero-copy{padding-top:1.2rem;padding-bottom:1.2rem}
 .home-page .hero h1{font-size:3rem;max-width:400px;margin-bottom:.8rem}
 .home-page .hero-copy>.eyebrow{margin-bottom:.6rem}
 .home-page .hero .actions{margin-top:1.1rem}
 .home-page .hero .hero-location{margin-top:1.2rem}
 .home-page .hero-visual .hero-note{padding:1.3rem 1.5rem}
 .home-page .hero-note h2{font-size:1.9rem;margin-bottom:.8rem}
 .home-page .hero-note .eyebrow{margin-bottom:.7rem}
 .home-page .hero-note a{padding:.65rem 0}
 .home-page .hero-note .focus-foot{margin-top:1rem}
 .home-page .firm-band{padding:1.1rem 0}
}

/* Credentials strip */
.firm-band,.rka-cred-band{width:min(var(--max),calc(100% - 4rem));margin-inline:auto}
.firm-band>.wrap,.rka-cred-band>.wrap{width:100%}
.firm-band .wrap{gap:0;grid-template-columns:repeat(4,minmax(0,1fr))}
.firm-band .wrap>div{min-width:0;padding-inline:1.4rem;gap:1.3rem}
.firm-band .wrap>div:first-child{padding-left:1.4rem}
.rka-cred-band{background:var(--pale);border-bottom:1px solid var(--line)}
.rka-cred{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border-top:3px solid var(--gold)}
.rka-cred>div{padding:1.15rem 1.4rem;display:grid;gap:.35rem;border-left:1px solid var(--line)}
.rka-cred>div:first-child{border-left:0}
.rka-cred span{font-size:.72rem;letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}
.rka-cred strong{font-size:1.02rem;font-weight:600;color:var(--ink);font-variant-numeric:tabular-nums}
.rka-foot-cred{font-size:.8rem!important;color:#9fb0cc!important;letter-spacing:.02em}

/* Homepage advisory introduction: blended photo and copy */
.home-page .site-header>.wrap,.home-page .home-wide>.wrap,.home-page .contact-strip>.wrap,.home-page .footer>.wrap,.home-page .firm-band,.home-page .rka-cred-band{width:calc(100% - 4rem);max-width:none}
@media(max-width:850px){.home-page .home-wide>.wrap,.home-page .firm-band,.home-page .rka-cred-band{width:calc(100% - 2.5rem)}}
@media(max-width:540px){.home-page .home-wide>.wrap,.home-page .firm-band,.home-page .rka-cred-band{width:calc(100% - 2rem)}}
.advisory-banner{position:relative;isolation:isolate;overflow:hidden;background:var(--navy);border-bottom:5px solid #c99a32;margin-bottom:2.2rem}
.advisory-banner-copy{position:relative;z-index:1;width:53%;padding:3rem;min-height:380px;display:flex;flex-direction:column;justify-content:center}
.advisory-banner-copy .eyebrow{color:#e4c77e;letter-spacing:0}
.advisory-banner-copy h2{color:#fff;font-size:3rem;letter-spacing:0;line-height:1.12}
.advisory-banner-copy>p:last-child{color:#d5def0;margin-bottom:0;max-width:480px}
.advisory-banner-photo{position:absolute;inset:0 0 0 auto;width:60%;margin:0;z-index:0}
.advisory-banner-photo img{display:block;width:100%;height:100%;object-fit:cover;object-position:65% center;-webkit-mask-image:linear-gradient(to right,transparent 0%,rgba(0,0,0,.15) 12%,rgba(0,0,0,.65) 28%,#000 52%);mask-image:linear-gradient(to right,transparent 0%,rgba(0,0,0,.15) 12%,rgba(0,0,0,.65) 28%,#000 52%)}
@media(max-width:980px){.advisory-banner-copy{width:57%;padding:2rem}.advisory-banner-copy h2{font-size:2.4rem}}
@media(max-width:640px){.advisory-banner-copy{width:100%;padding:2rem 1.5rem;min-height:0}.advisory-banner-copy h2{font-size:2.35rem}.advisory-banner-photo{position:relative;inset:auto;width:100%;aspect-ratio:16/9}.advisory-banner-photo img{-webkit-mask-image:linear-gradient(to bottom,transparent 0%,rgba(0,0,0,.65) 16%,#000 36%);mask-image:linear-gradient(to bottom,transparent 0%,rgba(0,0,0,.65) 16%,#000 36%)}}

/* Homepage offices: animation beside the office list */
.rka-offices-grid{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);gap:2.5rem;align-items:start}
.rka-office-film{margin:0;background:var(--navy);border-bottom:5px solid #c99a32}
.rka-office-film video,.rka-office-film img{display:block;width:100%;height:auto;aspect-ratio:3/2}
.rka-office-film .rka-still{display:block}
.rka-office-map-stage{position:relative;overflow:hidden;aspect-ratio:3/2}
.rka-office-map-stage img{height:100%;object-fit:contain}
.rka-office-film figcaption{background:var(--navy);color:#c6d0e2;font-size:.8rem;padding:.8rem 1.2rem}
.rka-offices-grid .office-index>a{grid-template-columns:48px 1fr 150px;padding:1.15rem .6rem}
.rka-offices-grid .office-index strong{font-size:1.3rem}

/* Banners on practice and service pages */
.rka-banner img{object-position:72% center}

/* Inline diagrams */
.rka-figure{margin:1.8rem 0 0;padding:1.4rem;border:1px solid var(--line);background:#fff}
.rka-figure figcaption{font-size:.85rem;color:var(--muted);margin-top:.8rem}
.rka-diagram{display:block;width:100%;height:auto}
.rka-figure:has(.rka-timeline){margin-bottom:1.5rem}

/* "How the work begins": numbered cards instead of a plain list */
.article-body .process:not(.rka-journey-list){display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem;margin-top:1.2rem}
.article-body .process:not(.rka-journey-list) li{border:1px solid var(--line);border-top:3px solid var(--navy);background:#fff;padding:1.2rem 1.3rem 1.3rem;color:var(--muted);font-size:.95rem}
.article-body .process:not(.rka-journey-list) li:before{content:'Step ' counter(steps);position:static;display:block;font-size:.72rem;letter-spacing:.12em;text-transform:uppercase;margin-bottom:.7rem}
.article-body .process:not(.rka-journey-list) li strong{display:block;color:var(--ink);font-size:1.05rem;margin-bottom:.35rem}

/* Offices page: map lede keeps the whole map in view */
.visual-lede .rka-map-lede{object-position:60% center}

/* Insights: cover thumbnails */
.rka-has-cover{display:grid;grid-template-columns:260px minmax(0,1fr);gap:2rem;align-items:start}
.rka-cover{display:block;border:1px solid var(--line)}
.rka-cover img{display:block;width:100%;height:auto}

/* Insights hub */
.page-intro.insights-intro,.page-intro.photo-intro{padding:0}
.insights-intro-grid,.photo-intro-grid{--insights-gutter:2rem;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:3rem;align-items:stretch;width:100%;margin:0;padding-left:var(--insights-gutter)}
.insights-intro-copy,.photo-intro-copy{min-width:0;align-self:center;padding:3rem 0}
.insights-intro h1,.photo-intro h1{font-size:3rem;line-height:1.12;letter-spacing:0}
.insights-intro .eyebrow,.photo-intro .eyebrow{letter-spacing:0}
.insights-intro-copy>p:last-child,.photo-intro-copy>p:last-child{margin-bottom:0}
.insights-intro-photo,.photo-intro-photo{position:relative;min-width:0;min-height:360px;overflow:hidden}
.insights-intro-photo img,.photo-intro-photo img{position:absolute;inset:0;display:block;width:100%;height:100%;object-fit:cover;object-position:65% center;-webkit-mask-image:linear-gradient(to right,transparent 0%,rgba(0,0,0,.15) 12%,rgba(0,0,0,.65) 28%,#000 52%);mask-image:linear-gradient(to right,transparent 0%,rgba(0,0,0,.15) 12%,rgba(0,0,0,.65) 28%,#000 52%)}
.insights-intro-photo img{height:120%;object-position:56% top}
.service-intro .photo-intro-copy{padding-block:2.5rem}
.service-intro h1{font-size:2.65rem;line-height:1.12;letter-spacing:0}
.service-intro .photo-intro-photo{min-height:400px}
.service-intro .photo-intro-photo img{object-position:58% center}
@media(max-width:980px){.service-intro h1{font-size:2.4rem}}
@media(max-width:640px){.service-intro .photo-intro-copy{padding-block:2rem}.service-intro h1{font-size:2.25rem}.service-intro .photo-intro-photo{min-height:0}}
.insights-hub{background:#fff}
.insights-layout{display:grid;grid-template-columns:minmax(0,1fr) 285px;grid-template-areas:"feature feature" "stack panel";gap:1.5rem;align-items:start}
.insight-feature{grid-area:feature;align-self:start;display:grid;grid-template-columns:minmax(0,1.1fr) minmax(360px,.9fr);background:var(--navy);color:#fff;border-bottom:5px solid var(--rka-gold)}
.insight-photo{display:block;overflow:hidden;background:var(--navy)}
.insight-photo img{display:block;width:100%;height:100%;min-height:360px;object-fit:cover;object-position:center 54%;transition:transform .55s ease}
.insight-feature:hover .insight-photo img{transform:scale(1.035)}
.insight-copy{padding:2.1rem 2.3rem 2.3rem}
.insight-copy .eyebrow{color:#e4c77e}
.insight-copy h2{font-family:Arial,Helvetica,sans-serif;font-size:clamp(2rem,3.2vw,3.1rem);font-weight:600;letter-spacing:-.055em;margin-bottom:1rem}
.insight-copy h2 a{color:#fff;text-decoration:none}
.insight-copy p{color:#d8e1ef;max-width:720px}
.insight-copy .text-link{color:#e4c77e}
.insight-stack{grid-area:stack;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.5rem}
.insight-card{border:1px solid var(--line);border-top:4px solid var(--blue);background:#fff;min-height:250px;overflow:hidden}
.insight-card>*:not(.insight-thumb){margin-left:1.8rem;margin-right:1.8rem}
.insight-card>.text-link{margin-bottom:1.8rem}
.insight-thumb{display:block;overflow:hidden;margin-bottom:1.5rem;background:var(--pale)}
.insight-thumb img{display:block;width:100%;height:180px;object-fit:cover;object-position:center 54%;transition:transform .55s ease}
.insight-card:hover .insight-thumb img{transform:scale(1.04)}
.insight-card h3{font-size:1.55rem;font-weight:600;letter-spacing:-.035em;margin-bottom:.8rem}
.insight-card h3 a{color:var(--ink);text-decoration:none}
.insight-card p{color:var(--muted)}
.insight-panel{grid-area:panel}
@media(max-width:980px){
 .insights-intro-grid,.photo-intro-grid{gap:1.5rem}
 .insights-intro h1,.photo-intro h1{font-size:2.4rem}
 .insights-layout{grid-template-columns:1fr}
 .insights-layout{grid-template-areas:"feature" "stack" "panel"}
 .insight-feature{grid-template-columns:1fr}
 .insight-panel{grid-area:panel}
 .insight-stack{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:640px){
 .insights-intro-grid,.photo-intro-grid{grid-template-columns:1fr;gap:0;padding-left:0}
 .insights-intro-copy,.photo-intro-copy{padding:2rem var(--insights-gutter)}
 .insights-intro h1,.photo-intro h1{font-size:2.35rem}
 .insights-intro-photo,.photo-intro-photo{min-height:0;aspect-ratio:16/9}
 .insights-intro-photo img,.photo-intro-photo img{height:100%;-webkit-mask-image:linear-gradient(to bottom,transparent 0%,rgba(0,0,0,.65) 16%,#000 36%);mask-image:linear-gradient(to bottom,transparent 0%,rgba(0,0,0,.65) 16%,#000 36%)}
 .insight-stack{grid-template-columns:1fr}
 .insight-copy{padding:1.45rem}
 .insight-card>*:not(.insight-thumb){margin-left:1.45rem;margin-right:1.45rem}
 .insight-photo img{height:250px}
 .insight-thumb img{height:185px}
 .insight-card{min-height:0}
}

/* Timeline: diagram on wide screens, list on phones */
@media(min-width:768px){
 .rka-journey-list{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
}
@media(max-width:767px){
 .rka-wide-only{display:none}
}

@media(max-width:1100px){
 .firm-band .wrap{grid-template-columns:repeat(2,minmax(0,1fr));gap:1.5rem 0}
 .firm-band .wrap>div:nth-child(3){border-left:0;padding-left:1.4rem}
 .hero-visual>.rka-hero-video,.hero-visual>.rka-hero-still,.hero-visual>.rka-hero-art{height:420px;min-height:0}
 .rka-cred{grid-template-columns:repeat(2,minmax(0,1fr))}
 .rka-cred>div:nth-child(3){border-left:0}
 .rka-cred>div:nth-child(n+3){border-top:1px solid var(--line)}
 .rka-offices-grid{grid-template-columns:1fr}
}
@media(max-width:850px){.hero-visual>.rka-hero-video,.hero-visual>.rka-hero-still,.hero-visual>.rka-hero-art{height:360px}}
@media(max-width:850px){.insights-intro-grid,.photo-intro-grid{--insights-gutter:1rem}.firm-band,.rka-cred-band{width:calc(100% - 2rem)}}
@media(max-width:640px){
 .rka-has-cover{grid-template-columns:1fr;gap:1rem}
 .rka-figure{padding:.8rem}
}
@media(max-width:540px){
 .firm-band,.rka-cred-band{width:calc(100% - 2rem)}
 .insights-intro-grid,.photo-intro-grid{--insights-gutter:1rem}
 .hero-visual>.rka-hero-video,.hero-visual>.rka-hero-still,.hero-visual>.rka-hero-art{height:280px}
 .service-card .card-icon,.practice-tile .card-icon{top:1.5rem;right:1.5rem}
 .rka-cred{grid-template-columns:1fr}
 .rka-cred>div{border-left:0;border-top:1px solid var(--line)}
 .rka-cred>div:first-child{border-top:0}
 .rka-offices-grid .office-index>a{grid-template-columns:30px 1fr}
}

/* Visitors who prefer less motion see still images */
@media(prefers-reduced-motion:reduce){
 .rka-hero-video,.rka-office-film video{display:none!important}
 .hero-visual>.rka-hero-still,.rka-office-film .rka-still{display:block}
}
@media print{.rka-hero-video,.rka-office-film video{display:none}.rka-cred-band{background:none}}

/* Phones: diagrams keep a readable size and scroll sideways inside their frame */
@media(max-width:640px){
 .rka-figure{overflow-x:auto;-webkit-overflow-scrolling:touch}
 .rka-figure .rka-diagram{min-width:560px}
}
/* Keep the space between "Start with" and "your next decision" when the line break is hidden */
.hero-note h2 br{display:inline}
.detail-grid>*,.article-body,.legal{min-width:0}
.rka-figure{max-width:100%}

/* ===== Motion layer: pointer reactions (rka-motion.js) ===== */
.rka-spot{isolation:isolate}
.rka-spot::after{content:'';position:absolute;inset:0;pointer-events:none;z-index:-1;opacity:0;transition:opacity .35s ease;background:radial-gradient(380px circle at var(--mx,50%) var(--my,50%),rgba(20,63,186,.09),transparent 65%)}
.rka-spot-dark::after{background:radial-gradient(480px circle at var(--mx,50%) var(--my,50%),rgba(228,199,126,.17),transparent 65%)}
.rka-spot:hover::after{opacity:1}
.rka-tilt{transition:transform .25s ease,box-shadow .25s ease;will-change:transform}
.rka-tilt:hover{box-shadow:0 22px 44px -26px rgba(8,30,72,.55)}
.card-icon{transition:transform .3s ease}
.card-icon *{stroke-dasharray:1;stroke-dashoffset:0}
.service-card:hover .card-icon,.practice-tile:hover .card-icon,.plain-panel:hover .card-icon{transform:scale(1.18)}
.service-card:hover .card-icon *,.practice-tile:hover .card-icon *,.plain-panel:hover .card-icon *{animation:rka-draw 1s ease both}
@keyframes rka-draw{from{stroke-dashoffset:1}to{stroke-dashoffset:0}}

.rka-pending{opacity:0;transform:translateY(24px)}
.rka-pending.rka-in{opacity:1;transform:none;transition:opacity .8s ease var(--d,0ms),transform .8s cubic-bezier(.2,.7,.2,1) var(--d,0ms)}

/* Live canvases */
.rka-canvas{position:absolute;inset:0;width:100%;height:100%;display:block;pointer-events:none}
.hero-visual.rka-live>.rka-hero-still,.rka-office-map-stage.rka-has-canvas>.rka-still{visibility:hidden}
.page-intro{position:relative;overflow:hidden}
.page-intro>.wrap{position:relative;z-index:1}
.page-intro>.rka-canvas{-webkit-mask-image:linear-gradient(90deg,transparent 22%,#000 72%);mask-image:linear-gradient(90deg,transparent 22%,#000 72%)}
.rka-live-wrap{position:relative;overflow:hidden}
.rka-banner{cursor:crosshair}

/* Banner photos drift with the pointer */
.rka-parallax .wrap{overflow:hidden}
.rka-parallax img{transition:transform .7s cubic-bezier(.2,.7,.2,1);transform:scale(1.06) translate(calc(var(--px,0) * -22px),calc(var(--py,0) * -14px))}

/* Timeline plays in */
.rka-tl-wait circle,.rka-tl-wait text{opacity:0}
.rka-tl-wait>path[stroke-width="2"]{stroke-dasharray:920;stroke-dashoffset:920}
.rka-tl-play>path[stroke-width="2"]{transition:stroke-dashoffset 1.8s cubic-bezier(.4,0,.2,1);stroke-dashoffset:0}
.rka-tl-play circle{transform-box:fill-box;transform-origin:center;animation:rka-pop .55s cubic-bezier(.3,1.6,.5,1) var(--d,0ms) both}
.rka-tl-play text{animation:rka-fade .6s ease var(--d,0ms) both}
@keyframes rka-pop{from{opacity:0;transform:scale(0)}to{opacity:1;transform:scale(1)}}
@keyframes rka-fade{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}

/* Team chart segments respond to hover */
.rka-team rect[height="36"]{cursor:pointer;transition:opacity .2s ease,transform .25s ease;transform-box:fill-box;transform-origin:center bottom}
.rka-team.is-focus rect[height="36"]:not(.is-on){opacity:.28}
.rka-team rect.is-on{transform:scaleY(1.18)}

/* Interactive office map */
.rka-live-map{display:block;width:100%;height:auto;aspect-ratio:2400/860}
@media(max-width:640px){.rka-live-map{height:300px;aspect-ratio:auto}}
.rka-office{cursor:pointer;outline:none}
.rka-office .rka-dot{transform-box:fill-box;transform-origin:center;transition:transform .25s ease}
.rka-office .rka-ring{transform-box:fill-box;transform-origin:center;opacity:0}
.rka-office .rka-tip{opacity:0;transition:opacity .2s ease;pointer-events:none}
.rka-office:hover .rka-dot,.rka-office.is-active .rka-dot,.rka-office:focus .rka-dot{transform:scale(1.8)}
.rka-office:hover .rka-tip,.rka-office.is-active .rka-tip,.rka-office:focus .rka-tip{opacity:1}
.rka-office:hover .rka-ring,.rka-office.is-active .rka-ring,.rka-office:focus .rka-ring{animation:rka-ripple 1.4s ease-out infinite}
@keyframes rka-ripple{from{opacity:.8;transform:scale(.6)}to{opacity:0;transform:scale(2.6)}}
.rka-map-ambient{animation:rka-breathe 3.2s ease-in-out infinite;transform-box:fill-box;transform-origin:center}
@keyframes rka-breathe{0%,100%{opacity:.35;transform:scale(1)}50%{opacity:.8;transform:scale(1.35)}}

@media(prefers-reduced-motion:reduce){
 .rka-map-ambient,.rka-office .rka-ring{animation:none!important}
 .rka-parallax img{transform:none!important}
 .hero-visual.rka-live>.rka-hero-still,.rka-office-map-stage.rka-has-canvas>.rka-still{visibility:visible}
 .rka-canvas{display:none!important}
}
@media print{.rka-canvas{display:none!important}.hero-visual.rka-live>.rka-hero-still,.rka-office-map-stage.rka-has-canvas>.rka-still{visibility:visible}}

/* ===== Alignment: reading pages line up with banners and headings ===== */
.wrap.legal{max-width:none}
.wrap.legal>*{max-width:820px}

/* ===== Sticky header that tightens and gains a shadow once the page scrolls ===== */
html{scroll-padding-top:110px}
.site-header{position:sticky;top:0;z-index:60;background:rgba(255,255,255,.97);transition:box-shadow .3s ease,background .3s ease}
.site-header .header-inner{transition:min-height .3s ease,padding .3s ease}
.site-header .brand{transition:max-width .3s ease,width .3s ease}
.rka-scrolled .site-header{box-shadow:0 10px 30px -18px rgba(8,30,72,.45);background:rgba(255,255,255,.92);-webkit-backdrop-filter:saturate(1.4) blur(10px);backdrop-filter:saturate(1.4) blur(10px)}
.rka-scrolled .site-header .header-inner{min-height:72px}
.rka-scrolled .site-header .brand{max-width:290px}
.rka-progress{position:absolute;left:0;bottom:-1px;height:2px;width:100%;transform-origin:0 50%;transform:scaleX(var(--p,0));background:linear-gradient(90deg,var(--blue),#c99a32)}
@media(max-width:850px){.rka-scrolled .site-header .header-inner{min-height:64px;padding:.5rem 0}.rka-scrolled .site-header .brand{max-width:260px}}

/* ===== Links and buttons: colour change plus a moving accent ===== */
:root{--rka-gold:#c99a32;--rka-gold-dark:#8f6a1b}

.text-link{position:relative;border-bottom-color:transparent!important;background-image:linear-gradient(currentColor,currentColor);background-size:100% 1px;background-repeat:no-repeat;background-position:0 100%;transition:color .25s ease,background-size .35s ease}
.text-link::after{content:'\2192';display:inline-block;margin-left:.35em;opacity:0;transform:translateX(-6px);transition:opacity .25s ease,transform .25s ease}
.text-link:hover,.text-link:focus-visible{color:var(--rka-gold-dark);background-size:100% 2px;background-image:linear-gradient(var(--rka-gold),var(--rka-gold))}
.text-link:hover::after,.text-link:focus-visible::after{opacity:1;transform:none}
.practice-tile .text-link:hover,.practice-tile .text-link:focus-visible{color:#fff}

#main-navigation a{background-image:linear-gradient(var(--rka-gold),var(--rka-gold));background-size:0% 2px;background-repeat:no-repeat;background-position:0 100%;transition:color .2s ease,background-size .3s ease}
#main-navigation a:hover,#main-navigation a:focus-visible{color:var(--blue);background-size:100% 2px}

.service-card h3 a,.practice-tile h3 a,.plain-panel h3 a,.article-row h2 a{background-image:linear-gradient(currentColor,currentColor);background-size:0% 1px;background-repeat:no-repeat;background-position:0 100%;transition:color .25s ease,background-size .35s ease;text-decoration:none!important}
.service-card:hover h3 a,.plain-panel:hover h3 a,.article-row:hover h2 a,.service-card h3 a:focus-visible{color:var(--blue);background-size:100% 1px}
.practice-tile:hover h3 a{color:#e4c77e;background-size:100% 1px}

.footer a{transition:color .2s ease,transform .2s ease}
.footer a:hover,.footer a:focus-visible{color:#e4c77e;transform:translateX(4px);text-decoration:none}
.side-panel a,.breadcrumb a{transition:color .2s ease,padding-left .25s ease,box-shadow .25s ease}
.side-panel a:hover,.side-panel a:focus-visible{color:var(--rka-gold-dark);padding-left:.7rem;box-shadow:inset 3px 0 0 var(--rka-gold)}
.breadcrumb a:hover{color:var(--rka-gold-dark)}
.hero-note .focus-list a{transition:color .2s ease,padding-left .25s ease}
.hero-note .focus-list a:hover{padding-left:.6rem}
.office-index>a strong{transition:color .2s ease}
.office-index>a:hover strong{color:var(--blue)}
.office-index>a:hover .number{color:var(--rka-gold-dark)}
.office-card a:not(.text-link),.article-body a:not([class]),.legal a:not([class]),.profile-facts a{transition:color .2s ease,text-decoration-color .2s ease}
.office-card a:not(.text-link):hover,.article-body a:not([class]):hover,.legal a:not([class]):hover{color:var(--rka-gold-dark);text-decoration-color:var(--rka-gold)}
.brand img{transition:transform .3s ease,filter .3s ease}
.brand:hover img{transform:scale(1.02)}
:focus-visible{outline:2px solid var(--rka-gold);outline-offset:3px}

/* Click ripple */
.rka-ripple{position:absolute;border-radius:50%;pointer-events:none;background:rgba(255,255,255,.55);transform:scale(0);animation:rka-ripple-out .6s ease-out forwards}
@keyframes rka-ripple-out{to{transform:scale(1);opacity:0}}
@media(prefers-reduced-motion:reduce){.rka-ripple{display:none}.text-link::after{transition:none}}

/* ===== Founder portrait card (homepage) ===== */
.rka-founder{margin:0;position:relative;max-width:460px;width:100%;justify-self:start}
.rka-founder-stage{position:relative;overflow:hidden;aspect-ratio:1/0.88;background:#fff;border:1px solid var(--line);border-bottom:0}
.rka-founder-stage img{position:absolute;left:50%;bottom:0;width:80%;height:auto;margin-left:-40%;transform-origin:50% 100%;transition:transform .5s cubic-bezier(.2,.7,.2,1)}
.rka-founder-stage img.rka-founder-photo{left:0;width:100%;height:100%;margin-left:0;object-fit:cover;object-position:center 5%}
.rka-founder:hover .rka-founder-stage img{transform:scale(1.035)}
.rka-founder figcaption{position:relative;z-index:2;background:var(--navy);color:#fff;padding:1.3rem 1.5rem}
.rka-founder figcaption strong,.rka-founder figcaption span{display:block}
.rka-founder figcaption span{font-size:.83rem;color:#cbd7e9;margin-top:.2rem}
.rka-founder figcaption .text-link{color:#e4c77e;margin-top:.8rem}
.rka-founder figcaption .text-link:hover{color:#fff}
@media(max-width:850px){.rka-founder{max-width:420px}}

/* Button colours stay fixed; mouse hover adds a gentle tilt without reflow. */
.button,.button.light,.button.secondary,.button.outline,.contact-nav,#main-navigation a.contact-nav,.menu-toggle,.filter,.filter[aria-pressed=true]{background:var(--navy);border-color:var(--navy);color:#fff;background-image:none;transition:transform .2s ease}
.button:hover,.button:focus-visible,.button.light:hover,.button.light:focus-visible,.button.secondary:hover,.button.secondary:focus-visible,.button.outline:hover,.button.outline:focus-visible,.contact-nav:hover,.contact-nav:focus-visible,#main-navigation a.contact-nav:hover,#main-navigation a.contact-nav:focus-visible,.menu-toggle:hover,.menu-toggle:focus-visible,.filter:hover,.filter:focus-visible,.filter[aria-pressed=true]:hover,.filter[aria-pressed=true]:focus-visible{background:var(--navy);border-color:var(--navy);color:#fff;background-image:none;text-decoration:none}
.filter[aria-pressed=true]{box-shadow:inset 0 -3px 0 var(--rka-gold)}
@media(hover:hover) and (pointer:fine) and (prefers-reduced-motion:no-preference){
 .button:hover,.contact-nav:hover,.menu-toggle:hover,.filter:hover{transform:perspective(700px) rotateX(4deg) rotateY(-6deg) translateY(-2px)}
}

/* Equal-height cards keep their action on the same baseline in each row. */
.service-card,.practice-tile,article.plain-panel,.person-card,.office-card{display:flex;flex-direction:column;align-items:flex-start}
.service-card>.text-link,.practice-tile>.text-link,article.plain-panel>.text-link,.person-card>.text-link{margin-top:auto}
.insight-card{display:flex;flex-direction:column}
.insight-card>.text-link{margin-top:auto;align-self:flex-start}
.office-card>br{display:none}
.office-card>p:last-child:has(>.text-link){display:flex;align-items:flex-end;flex:1}
.contact-strip .button{flex-shrink:0}
@media(min-width:851px){.office-card>.eyebrow{min-height:3.4em}}
@media(max-width:540px){.page-intro h1,h2{overflow-wrap:anywhere}}
/* Keep card edges steady even when a browser retains the older tilt script. */
.service-card.rka-tilt,.practice-tile.rka-tilt,.plain-panel.rka-tilt,.office-card.rka-tilt{transform:none!important;will-change:auto}

/* Mobile homepage sections reach the edges; text keeps an internal inset. */
@media(max-width:850px){
 .home-page .site-header>.wrap,.home-page main>.section>.wrap,.home-page .hero>.wrap,.home-page .contact-strip>.wrap,.home-page .footer>.wrap,.home-page .firm-band,.home-page .rka-cred-band{width:100%;max-width:none;margin-inline:0}
 .home-page .site-header>.wrap,.home-page .contact-strip>.wrap,.home-page .footer>.wrap{padding-inline:1rem}
 .home-page .hero-copy{padding-inline:1rem}
 .home-page .hero-grid>*,.home-page .section-head>*,.home-page .footer-grid>*{min-width:0}
 .home-page .firm-band>.wrap,.home-page .rka-cred-band>.wrap{width:100%;padding-inline:0}
 .home-page .firm-band .wrap>div,.home-page .rka-cred>div{padding-inline:1rem}
 .home-page .home-advisory .service-grid{padding-inline:1rem}
 .home-page .practice-section .section-head,.home-page .section.soft .section-head,.home-page .home-offices .section-head{padding-inline:1rem}
 .home-page .story-copy,.home-page .home-offices .office-index{padding-inline:1rem}
}
