@font-face{font-family:'Inter';font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/fonts/inter-latin-ext.woff2) format('woff2-variations');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:'Inter';font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/fonts/inter-latin.woff2) format('woff2-variations');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'Source Serif 4';font-style:normal;font-display:swap;font-weight:200 900;src:url(/assets/fonts/source-serif-4-latin-ext.woff2) format('woff2-variations');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:'Source Serif 4';font-style:normal;font-display:swap;font-weight:200 900;src:url(/assets/fonts/source-serif-4-latin.woff2) format('woff2-variations');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
/* KMT Solicitors brand tokens, from 05_Guidelines/brand-colours.css */
:root{
  --kmt-plum:#571C4B; --kmt-ivory:#F7F3EF; --kmt-white:#FFFFFF;
  --kmt-ink:#262128; --kmt-muted-plum:#77496D; --kmt-pale-plum:#E4D8E0;
  --serif:"Source Serif 4",Georgia,serif;
  --sans:"Inter",Arial,system-ui,sans-serif;
  --wrap:1220px; --gut:clamp(20px,5vw,56px);
}
*,*::before,*::after{box-sizing:border-box}
body{margin:0;background:var(--kmt-white);color:var(--kmt-ink);font-family:var(--sans);
  font-size:17px;line-height:1.55;-webkit-font-smoothing:antialiased}
img{max-width:100%;display:block}a{color:inherit;text-decoration:none}
h1,h2,h3,h4{margin:0;font-family:var(--serif);color:var(--kmt-ink);font-weight:600;line-height:1.16;letter-spacing:-.012em}
h1{font-size:clamp(2.2rem,4.6vw,3.5rem)}
h2{font-size:clamp(1.7rem,3vw,2.4rem)}
h3{font-size:1.22rem}h4{font-size:1.08rem}
p{margin:0 0 1em}
.wrap{max-width:var(--wrap);margin-inline:auto;padding-inline:var(--gut)}
.kicker{display:block;font-size:.7rem;font-weight:600;letter-spacing:.15em;text-transform:uppercase;
  color:var(--kmt-plum);margin-bottom:.7rem}
.kicker--rev{color:rgba(255,255,255,.75)}
.lede{font-size:clamp(1.02rem,1.4vw,1.18rem);color:var(--kmt-ink);opacity:.82;max-width:62ch;line-height:1.6}
.btn{display:inline-block;background:var(--kmt-plum);color:#fff;padding:.9rem 1.8rem;font-weight:600;
  font-size:.95rem;border:1px solid var(--kmt-plum);cursor:pointer;font-family:var(--sans);transition:140ms}
.btn:hover{background:#43153A;border-color:#43153A}
.btn--light{background:#fff;color:var(--kmt-plum);border-color:#fff}
.btn--light:hover{background:var(--kmt-ivory);color:#43153A}
.more{color:var(--kmt-plum);font-weight:600;font-size:.92rem;border-bottom:1px solid currentColor;padding-bottom:2px}
.more:hover{color:#43153A}

/* logo lockups, sized per brand pack minimums */
.lg{display:block;height:auto}
.lg--primary{width:360px}   /* pack minimum 360 */
.lg--word{width:280px}      /* pack minimum 280 */
.lg--letter{width:130px}    /* pack minimum 120 */
.lg--icon{width:44px}       /* pack minimum 32 */
.lg--reverse{width:300px}
/* one lockup visible at a time, stepping down with viewport width */
.hdr__logo .lg--word,.hdr__logo .lg--letter{display:none}
@media(max-width:1023px){
  .hdr__logo .lg--primary{display:none}
  .hdr__logo .lg--word{display:block}
}
@media(max-width:620px){
  .hdr__logo .lg--word{display:none}
  .hdr__logo .lg--letter{display:block}
}

/* header: generous masthead so the primary lockup keeps its clear space */
.hdr{background:#fff;border-bottom:1px solid var(--kmt-pale-plum);position:sticky;top:0;z-index:70}
.hdr__in{display:flex;align-items:center;justify-content:space-between;gap:2rem;padding-block:1.5rem}
.hdr__logo{display:flex;align-items:center;gap:.8rem}
.hdr__mobile{display:none;align-items:center;gap:.7rem}
.hdr__mobile b{font-family:var(--serif);font-size:1.15rem;color:var(--kmt-plum);font-weight:600}
.nav{display:flex;align-items:center;gap:1.7rem}
.nav>a,.drop>a{font-size:.92rem;font-weight:500;color:var(--kmt-ink);padding:.4rem 0;position:relative}
.nav>a::after,.drop>a::after{content:"";position:absolute;left:0;bottom:-3px;height:2px;width:0;
  background:var(--kmt-plum);transition:140ms}
.nav>a:hover::after,.drop:hover>a::after{width:100%}
.drop{position:relative}
.drop__menu{position:absolute;left:50%;transform:translateX(-50%) translateY(6px);top:calc(100% + 18px);
  background:#fff;border:1px solid var(--kmt-pale-plum);box-shadow:0 26px 54px -22px rgba(38,33,40,.3);
  min-width:580px;padding:1.5rem;display:grid;grid-template-columns:1fr 1fr;gap:.1rem 1.8rem;
  opacity:0;visibility:hidden;transition:150ms;z-index:80}
.drop:hover .drop__menu{opacity:1;visibility:visible;transform:translateX(-50%) translateY(0)}
.drop__menu a{font-size:.9rem;padding:.42rem 0}
.drop__menu a:hover{color:var(--kmt-plum)}
.lang{position:relative}
.lang>button{background:none;border:1px solid var(--kmt-pale-plum);padding:.42rem .72rem;font-size:.82rem;
  font-weight:600;color:var(--kmt-ink);cursor:pointer;font-family:var(--sans)}
.lang>button:hover{border-color:var(--kmt-plum);color:var(--kmt-plum)}
.lang__m{position:absolute;right:0;top:calc(100% + 8px);background:#fff;border:1px solid var(--kmt-pale-plum);
  min-width:160px;padding:.35rem;display:none;z-index:90;box-shadow:0 18px 36px -16px rgba(38,33,40,.26)}
.lang__m.open{display:block}
.lang__m a{display:block;padding:.45rem .65rem;font-size:.89rem}
.lang__m a:hover{background:var(--kmt-ivory);color:var(--kmt-plum)}
/* nav collapses, logo never does */
.nav-toggle{display:none;background:none;border:0;cursor:pointer;flex-direction:column;gap:5px;padding:8px}
.nav-toggle span{width:24px;height:2px;background:var(--kmt-plum);display:block;transition:140ms}
@media(max-width:1180px){
  .nav-toggle{display:flex}
  .nav{position:absolute;left:0;right:0;top:100%;flex-direction:column;align-items:flex-start;gap:0;
    background:#fff;border-bottom:1px solid var(--kmt-pale-plum);padding:var(--gut);
    box-shadow:0 22px 40px -24px rgba(38,33,40,.3);display:none}
  .nav.open{display:flex}
  .nav>a{width:100%;padding:.85rem 0;border-bottom:1px solid var(--kmt-pale-plum);font-size:1rem}
  .drop{width:100%}
  .drop>a{display:block;width:100%;padding:.85rem 0;border-bottom:1px solid var(--kmt-pale-plum);font-size:1rem}
  .drop__menu{position:static;transform:none;opacity:1;visibility:visible;min-width:0;border:0;
    box-shadow:none;padding:.4rem 0 .8rem;grid-template-columns:1fr;display:none}
  .drop.open .drop__menu{display:grid}
  .lang{margin-top:1rem}
}
.hdr{position:sticky;top:0}
.hdr__in{position:relative}

/* hero, plum with the brand pattern held well back from the logo area */
.hero{background:var(--kmt-plum);color:#fff;padding-block:clamp(66px,9vw,124px);position:relative;overflow:hidden}
.hero .wrap{position:relative;z-index:2}
.hero h1{color:#fff;max-width:15ch;font-size:clamp(2.4rem,5.4vw,4.2rem)}
.hero .lede{color:rgba(255,255,255,.9);opacity:1;margin-top:1.4rem}
.hero .btn{margin-top:2.2rem}
.hero__pat{position:absolute;inset:0;opacity:.13;background-repeat:repeat;background-size:240px 240px;z-index:1}

.entries{border-bottom:1px solid var(--kmt-pale-plum)}
.grid3{display:grid;grid-template-columns:repeat(3,1fr)}
@media(max-width:900px){.grid3{grid-template-columns:1fr}}
.entry{padding:2.7rem 2rem;border-right:1px solid var(--kmt-pale-plum);transition:140ms}
.entry:last-child{border-right:0}
.entry:hover{background:var(--kmt-ivory)}
.entry h3{margin-bottom:.7rem}.entry p{font-size:.95rem;margin:0;opacity:.85}
@media(max-width:900px){.entry{border-right:0;border-bottom:1px solid var(--kmt-pale-plum)}}

.sec{padding-block:clamp(56px,7vw,96px)}
.sec--tint{background:var(--kmt-ivory)}
.band{background:var(--kmt-ivory);padding-block:clamp(48px,6vw,80px)}
.approach{gap:2.4rem;margin-top:2rem}
.pt h4{margin-bottom:.45rem}.pt p{font-size:.95rem;margin:0;opacity:.85}
.head{display:flex;justify-content:space-between;align-items:baseline;gap:2rem;margin-bottom:2.2rem;flex-wrap:wrap}
.cards{gap:0}
.ic,.fc{padding:2rem;border:1px solid var(--kmt-pale-plum);margin-right:-1px;transition:140ms;display:block}
.ic:hover,.fc:hover{background:var(--kmt-ivory);border-color:var(--kmt-plum)}
.ic h3,.fc h3{margin-bottom:.6rem}.ic p,.fc p{font-size:.95rem;opacity:.85}
.ic time{font-size:.8rem;color:var(--kmt-plum);font-weight:600}
.ic--alt{background:var(--kmt-plum);border-color:var(--kmt-plum)}
.ic--alt h3{color:#fff}.ic--alt p{color:rgba(255,255,255,.88);opacity:1}
.ic--alt time{color:rgba(255,255,255,.78)}
.ic--alt:hover{background:#43153A;border-color:#43153A}

.cta{background:var(--kmt-plum);color:#fff;padding-block:clamp(56px,7vw,92px);text-align:center}
.cta h2{color:#fff}.cta p{color:rgba(255,255,255,.88);max-width:56ch;margin:1rem auto 2rem}

.phead{padding-block:clamp(48px,6vw,84px) clamp(28px,3vw,44px);border-bottom:1px solid var(--kmt-pale-plum)}
.crumb{font-size:.82rem;color:var(--kmt-plum);margin-bottom:1.2rem;font-weight:600}
.crumb a:hover{text-decoration:underline}

.people{display:grid;grid-template-columns:repeat(4,1fr);gap:2rem 1.6rem}
@media(max-width:1000px){.people{grid-template-columns:repeat(3,1fr)}}
@media(max-width:640px){.people{grid-template-columns:repeat(2,1fr)}}
.pc .ph{aspect-ratio:3/4;background:var(--kmt-ivory);border:1px solid var(--kmt-pale-plum);overflow:hidden;
  display:flex;align-items:center;justify-content:center;font-family:var(--serif);font-size:2.4rem;color:var(--kmt-pale-plum)}
.pc .ph img{width:100%;height:100%;object-fit:cover}
.pc h3{margin:.9rem 0 .2rem;font-size:1.06rem}
.pc:hover h3{color:var(--kmt-plum)}
.pc span{font-size:.83rem;opacity:.75}
.prof{display:grid;grid-template-columns:300px 1fr;gap:clamp(2rem,4vw,3.4rem);align-items:start;margin-top:1rem}
@media(max-width:760px){.prof{grid-template-columns:1fr;max-width:380px}}
.prof__img{aspect-ratio:3/4;border:1px solid var(--kmt-pale-plum);background:var(--kmt-ivory);overflow:hidden}
.prof__img img{width:100%;height:100%;object-fit:cover}
.pm{display:flex;flex-direction:column;gap:.5rem;margin-top:1.2rem}
.pm a{font-size:.95rem;color:var(--kmt-plum);font-weight:500}
.pm a:hover{text-decoration:underline}

.explore{display:grid;grid-template-columns:240px 1fr;border:1px solid var(--kmt-pale-plum)}
@media(max-width:860px){.explore{grid-template-columns:1fr}}
.explore__nav{border-right:1px solid var(--kmt-pale-plum);background:var(--kmt-ivory)}
.explore__nav button{display:block;width:100%;text-align:left;background:none;border:0;
  border-bottom:1px solid var(--kmt-pale-plum);padding:1.05rem 1.3rem;font-size:.93rem;font-weight:600;
  color:var(--kmt-ink);cursor:pointer;font-family:var(--sans);transition:140ms}
.explore__nav button:hover{color:var(--kmt-plum)}
.explore__nav button.on{background:var(--kmt-plum);color:#fff}
.explore__body{padding:1.5rem}
.cpanel{display:none}.cpanel.on{display:block}
.boxes{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--kmt-pale-plum);border:1px solid var(--kmt-pale-plum)}
@media(max-width:900px){.boxes{grid-template-columns:repeat(2,1fr)}}
@media(max-width:520px){.boxes{grid-template-columns:1fr}}
.box{background:#fff;border:0;padding:1.3rem 1.2rem;text-align:left;cursor:pointer;
  font-family:var(--sans);min-height:84px;transition:140ms}
.box:hover{background:var(--kmt-ivory)}
.box.on{background:var(--kmt-plum)}.box.on h3{color:#fff}
.box h3{font-size:1rem;margin:0}
.detail{display:none;border:1px solid var(--kmt-pale-plum);border-top:0;background:var(--kmt-ivory);padding:1.8rem 1.6rem}
.detail.open{display:block}
.detail h4{margin-bottom:.8rem;color:var(--kmt-plum)}

.prose{max-width:74ch}
.prose h2{font-size:1.6rem;margin:2rem 0 .7rem}
.prose h3{font-size:1.24rem;margin:1.6rem 0 .5rem}
.prose p,.prose li{font-size:1.05rem;line-height:1.6;opacity:.88}
.prose a{color:var(--kmt-plum);text-decoration:underline;text-underline-offset:3px}
.prose img{margin:1.4rem 0}

.cv{display:grid;gap:.9rem;max-width:520px;margin-top:1.6rem}
.cv label{display:block;font-size:.85rem;font-weight:600;margin-bottom:.3rem}
.cv input{width:100%;border:1px solid var(--kmt-pale-plum);padding:.8rem 1rem;font-family:var(--sans);font-size:.95rem;background:#fff}
.cv input:focus{outline:none;border-color:var(--kmt-plum)}

.ftr{background:var(--kmt-plum);color:rgba(255,255,255,.8);padding-block:clamp(48px,6vw,76px) 1.8rem}
.ftr__logo{margin-bottom:1.8rem}
.ftr__grid{display:grid;grid-template-columns:1.3fr 1fr 1fr 1fr;gap:2rem}
@media(max-width:860px){.ftr__grid{grid-template-columns:1fr 1fr}}
.ftr h5{color:#fff;font-family:var(--sans);font-size:.7rem;letter-spacing:.15em;text-transform:uppercase;
  margin:0 0 1rem;font-weight:600}
.ftr ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.6rem;font-size:.92rem}
.ftr a:hover{color:#fff}
.ftr address{font-style:normal;font-size:.92rem;line-height:1.75}
.sra{display:flex;align-items:center;gap:1rem;border:1px solid rgba(255,255,255,.2);
  padding:1rem 1.2rem;max-width:400px;margin-top:2.4rem}
.sra small{display:block;font-size:.78rem;line-height:1.5}
.ftr__btm{border-top:1px solid rgba(255,255,255,.18);margin-top:2.2rem;padding-top:1.4rem;
  display:flex;justify-content:space-between;gap:1rem;flex-wrap:wrap;font-size:.83rem}
/* ---- image placeholders: labelled slots awaiting client photography ---- */
.imgslot{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;
  gap:.5rem;background:var(--kmt-ivory);border:1px dashed var(--kmt-muted-plum);color:var(--kmt-muted-plum);
  text-align:center;padding:1.4rem;min-height:120px}
.imgslot svg{opacity:.55}
.imgslot b{font-family:var(--sans);font-size:.8rem;font-weight:600;letter-spacing:.04em;
  text-transform:uppercase;color:var(--kmt-plum)}
.imgslot span{font-size:.78rem;line-height:1.45;max-width:34ch;opacity:.9}
.imgslot--wide{aspect-ratio:16/9}
.imgslot--card{aspect-ratio:3/2}
.imgslot--sq{aspect-ratio:1/1}
.imgslot--tall{aspect-ratio:3/4}
.imgslot--hero{aspect-ratio:4/3;background:rgba(255,255,255,.08);border-color:rgba(255,255,255,.4);color:rgba(255,255,255,.85)}
.imgslot--hero b{color:#fff}
.imgslot--ftr{aspect-ratio:4/3;background:rgba(255,255,255,.07);border-color:rgba(255,255,255,.32);
  color:rgba(255,255,255,.8);min-height:0;padding:1rem}
.imgslot--ftr b{color:#fff;font-size:.72rem}
.imgslot--ftr span{font-size:.72rem}
.hero__grid{display:grid;grid-template-columns:1.15fr .85fr;gap:clamp(2rem,5vw,4.5rem);align-items:center}
@media(max-width:900px){.hero__grid{grid-template-columns:1fr}}

/* ============================================================
   FRAMEWORK v2 — motion, rhythm, and richer page furniture
   ============================================================ */


/* Scroll reveal */
[data-rv]{opacity:0;transform:translateY(20px);transition:opacity .75s ease,transform .75s cubic-bezier(.16,.84,.44,1)}
[data-rv].in{opacity:1;transform:none}
[data-rv-d="1"]{transition-delay:.08s}[data-rv-d="2"]{transition-delay:.16s}[data-rv-d="3"]{transition-delay:.24s}
@media(prefers-reduced-motion:reduce){[data-rv]{opacity:1;transform:none;transition:none}}

/* Header shrinks on scroll */
.hdr{transition:box-shadow .25s ease,padding .25s ease}
.hdr.stuck{box-shadow:0 10px 30px -22px rgba(38,33,40,.45)}
.hdr.stuck .hdr__in{padding-block:.85rem}
.hdr.stuck .lg--primary{width:290px}
.hdr__in{transition:padding .25s ease}
.lg--primary{transition:width .25s ease}

/* Mega menu with descriptions */
.drop__menu{min-width:660px;grid-template-columns:1fr 1fr;gap:.2rem 2rem}
.drop__menu h6{grid-column:1/-1;margin:0 0 .5rem;font-family:var(--sans);font-size:.68rem;
  letter-spacing:.15em;text-transform:uppercase;color:var(--kmt-muted-plum);font-weight:600}
.drop__menu a{display:block;padding:.5rem .6rem;margin-inline:-.6rem;border-radius:2px}
.drop__menu a:hover{background:var(--kmt-ivory)}
.drop__menu a small{display:block;font-size:.76rem;opacity:.7;margin-top:.1rem;font-weight:400}
.drop__foot{grid-column:1/-1;border-top:1px solid var(--kmt-pale-plum);margin-top:.8rem;padding-top:.9rem}

/* Page intro pattern, used on every inner page */
.phead{position:relative}
.phead--plum{background:var(--kmt-plum);color:#fff;border-bottom:0}
.phead--plum h1,.phead--plum .crumb a,.phead--plum .crumb{color:#fff}
.phead--plum .lede{color:rgba(255,255,255,.88);opacity:1}
.phead--plum .kicker{color:rgba(255,255,255,.72)}
.phead__pat{position:absolute;inset:0;opacity:.1;background-repeat:repeat;background-size:240px 240px}
.phead--plum .wrap{position:relative;z-index:2}

/* Section sub-navigation, sticky under the header on long pages */
.subnav{position:sticky;top:0;z-index:60;background:var(--kmt-ivory);
  border-bottom:1px solid var(--kmt-pale-plum)}
.subnav__in{display:flex;gap:1.6rem;overflow-x:auto;padding-block:.9rem;scrollbar-width:none}
.subnav__in::-webkit-scrollbar{display:none}
.subnav a{font-size:.88rem;font-weight:600;color:var(--kmt-ink);white-space:nowrap;opacity:.7;
  padding-bottom:.25rem;border-bottom:2px solid transparent;transition:140ms}
.subnav a:hover,.subnav a.on{opacity:1;color:var(--kmt-plum);border-bottom-color:var(--kmt-plum)}

/* Split layouts */
.split{display:grid;grid-template-columns:1.05fr .95fr;gap:clamp(2rem,5vw,4.5rem);align-items:start}
.split--wide{grid-template-columns:1fr 1fr}
@media(max-width:900px){.split,.split--wide{grid-template-columns:1fr}}
.stack{display:grid;gap:1.2rem}

/* Definition rows, used for fees and contact detail */
.drow{display:grid;grid-template-columns:230px 1fr;gap:1.4rem;padding:1.15rem 0;
  border-bottom:1px solid var(--kmt-pale-plum)}
.drow:first-of-type{border-top:1px solid var(--kmt-pale-plum)}
.drow dt{font-weight:600;color:var(--kmt-ink)}
.drow dd{margin:0;opacity:.85}
@media(max-width:640px){.drow{grid-template-columns:1fr;gap:.3rem}}

/* Rate table */
.rates{width:100%;border-collapse:collapse;margin:1.4rem 0;font-size:.96rem}
.rates caption{text-align:left;font-size:.8rem;letter-spacing:.1em;text-transform:uppercase;
  color:var(--kmt-muted-plum);font-weight:600;padding-bottom:.8rem}
.rates th,.rates td{text-align:left;padding:.85rem 1rem;border-bottom:1px solid var(--kmt-pale-plum)}
.rates thead th{background:var(--kmt-ivory);font-size:.78rem;letter-spacing:.08em;text-transform:uppercase;
  color:var(--kmt-plum);font-weight:600;border-bottom:1px solid var(--kmt-pale-plum)}
.rates td:last-child,.rates th:last-child{text-align:right;white-space:nowrap}
.rates tbody tr:hover{background:var(--kmt-ivory)}
.tablewrap{overflow-x:auto}

/* Callout */
.note{border-left:3px solid var(--kmt-plum);background:var(--kmt-ivory);padding:1.3rem 1.5rem;margin:1.6rem 0}
.note h4{margin-bottom:.4rem}
.note p:last-child{margin-bottom:0}
.note p{font-size:.95rem}

/* Contact cards */
.ccards{display:grid;grid-template-columns:repeat(4,1fr);gap:0}
@media(max-width:980px){.ccards{grid-template-columns:repeat(2,1fr)}}
@media(max-width:560px){.ccards{grid-template-columns:1fr}}
.ccard{padding:1.9rem 1.6rem;border:1px solid var(--kmt-pale-plum);margin-right:-1px;margin-bottom:-1px;
  transition:140ms;display:block}
.ccard:hover{background:var(--kmt-ivory);border-color:var(--kmt-plum)}
.ccard h3{font-size:1.1rem;margin-bottom:.4rem}
.ccard p{font-size:.9rem;margin:0 0 .7rem;opacity:.82}
.ccard .go{font-size:.86rem;font-weight:600;color:var(--kmt-plum)}

/* Form */
.form{display:grid;gap:1.1rem}
.form .row2{display:grid;grid-template-columns:1fr 1fr;gap:1.1rem}
@media(max-width:640px){.form .row2{grid-template-columns:1fr}}
.field label{display:block;font-size:.84rem;font-weight:600;margin-bottom:.35rem}
.field input,.field select,.field textarea{width:100%;border:1px solid var(--kmt-pale-plum);
  padding:.82rem 1rem;font-family:var(--sans);font-size:.95rem;background:#fff;color:var(--kmt-ink)}
.field input:focus,.field select:focus,.field textarea:focus{outline:none;border-color:var(--kmt-plum);
  box-shadow:0 0 0 3px rgba(87,28,75,.1)}
.field textarea{min-height:140px;resize:vertical}
.field .hint{font-size:.78rem;opacity:.68;margin-top:.3rem}
.consent{display:flex;gap:.7rem;align-items:flex-start;font-size:.86rem;opacity:.85}
.consent input{width:auto;margin-top:.25rem}

/* Desk cards for International */
.desk{border:1px solid var(--kmt-pale-plum);display:grid;grid-template-columns:.9fr 1.1fr;
  margin-bottom:2rem}
@media(max-width:820px){.desk{grid-template-columns:1fr}}
.desk__body{padding:clamp(1.8rem,3vw,2.6rem)}
.desk__body h3{font-size:1.6rem;margin-bottom:.3rem}
.desk__meta{display:flex;flex-wrap:wrap;gap:.5rem;margin:1.2rem 0}
.tag{font-size:.76rem;border:1px solid var(--kmt-pale-plum);padding:.32rem .75rem;border-radius:100px;
  color:var(--kmt-muted-plum);background:var(--kmt-ivory)}

/* Stat strip */
.stats{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid rgba(255,255,255,.22);
  margin-top:clamp(2.4rem,5vw,3.6rem)}
@media(max-width:720px){.stats{grid-template-columns:repeat(2,1fr)}}
.stats div{padding:1.5rem 1rem 0 0}
.stats b{display:block;font-family:var(--serif);font-size:clamp(1.7rem,3vw,2.4rem);color:#fff;font-weight:600}
.stats span{font-size:.8rem;color:rgba(255,255,255,.72)}

/* Language menu, two columns for a longer list */
.lang__m{min-width:330px;padding:.6rem;columns:2;column-gap:.4rem}
.lang__m a{break-inside:avoid;display:flex;justify-content:space-between;gap:.8rem;align-items:baseline}
.lang__m a i{font-style:normal;font-size:.72rem;opacity:.55;text-transform:uppercase;letter-spacing:.06em}
.lang__m a.on{background:var(--kmt-ivory);color:var(--kmt-plum);font-weight:600}
.lang__head{column-span:all;font-size:.68rem;letter-spacing:.14em;text-transform:uppercase;
  color:var(--kmt-muted-plum);font-weight:600;padding:.3rem .65rem .5rem}
@media(max-width:520px){.lang__m{columns:1;min-width:220px}}

/* Anchor offset so sticky headers don't cover targets */
:target{scroll-margin-top:140px}
h2[id],h3[id]{scroll-margin-top:140px}

/* ============================================================
   GRID v3 — seven groups, boxes, rich reveal with pricing + fee earners
   ============================================================ */
.explore{grid-template-columns:270px 1fr}
.explore__nav button{font-family:var(--sans);font-size:.95rem;padding:1.05rem 1.4rem}
.explore__body{padding:clamp(1.4rem,2.5vw,2.2rem)}
.cpanel>h2{color:var(--kmt-plum);margin-bottom:.6rem}
.cpanel>.lede{margin-bottom:1.6rem}
.boxes{gap:14px;background:transparent;border:0}
.box{border:1px solid var(--kmt-pale-plum);background:#fff;min-height:96px;padding:1.4rem 1.3rem;
  display:flex;align-items:center;transition:160ms}
.box h3{font-family:var(--serif);font-size:1.12rem;color:var(--kmt-plum);line-height:1.3}
.box:hover{border-color:var(--kmt-plum);background:var(--kmt-ivory);transform:translateY(-1px)}
.box.on{background:var(--kmt-plum);border-color:var(--kmt-plum)}
.box.on h3{color:#fff}
.detail{border:1px solid var(--kmt-pale-plum);background:#fff;padding:clamp(1.6rem,3vw,2.4rem);margin-top:14px}
.detail__grid{display:grid;grid-template-columns:1.25fr .75fr;gap:clamp(1.8rem,4vw,3.2rem)}
@media(max-width:900px){.detail__grid{grid-template-columns:1fr}}
.detail h4{font-size:1.5rem;margin-bottom:.9rem;color:var(--kmt-plum)}
.detail p{font-size:1rem;line-height:1.65;opacity:.9}
.detail h5,.side h5{font-family:var(--sans);font-size:.7rem;letter-spacing:.15em;text-transform:uppercase;
  color:var(--kmt-muted-plum);font-weight:600;margin:0 0 .7rem}
.detail h5+*{margin-bottom:1.5rem}
.pricing{background:var(--kmt-ivory);border-left:3px solid var(--kmt-plum);padding:1rem 1.2rem;font-size:.92rem}
.pricing p{margin:0;font-size:.92rem;line-height:1.6}
.pricing strong{color:var(--kmt-plum)}
.earners{display:flex;flex-wrap:wrap;gap:.6rem}
.earners--col{flex-direction:column;gap:.5rem}
.earner{display:inline-flex;align-items:center;gap:.65rem;border:1px solid var(--kmt-pale-plum);
  background:#fff;padding:.42rem .9rem .42rem .42rem;border-radius:100px;font-size:.88rem;
  color:var(--kmt-ink);transition:140ms;line-height:1.2}
.earner:hover{border-color:var(--kmt-plum);background:var(--kmt-ivory)}
.earner img,.earner .ini{width:32px;height:32px;border-radius:50%;object-fit:cover;flex:0 0 auto}
.earner .ini{background:var(--kmt-pale-plum);display:flex;align-items:center;justify-content:center;
  font-size:.8rem;font-weight:600;color:var(--kmt-plum)}
.earner span{display:flex;flex-direction:column}
.earner small{font-size:.74rem;opacity:.65}
.earner--plain{cursor:default}
.side{border:1px solid var(--kmt-pale-plum);padding:1.5rem;margin-bottom:1.2rem;background:#fff}
.side .pricing{font-size:.9rem}
.prose ul{padding-left:1.3rem}
.prose li{margin-bottom:.5rem}

/* ============================================================
   WOW LAYER — logo build, assistant, filters, motion polish
   ============================================================ */


/* Page transitions between static pages, progressive enhancement */
@view-transition{navigation:auto}
::view-transition-old(root){animation:vt-out .18s ease both}
::view-transition-new(root){animation:vt-in .28s cubic-bezier(.16,.84,.44,1) both}
@keyframes vt-out{to{opacity:0}}
@keyframes vt-in{from{opacity:0;transform:translateY(6px)}}

/* Hero text stagger */
.hero .kicker,.hero h1,.hero .lede,.hero .btn{opacity:0;transform:translateY(16px);
  animation:hero-in .8s cubic-bezier(.16,.84,.44,1) both}
.hero h1{animation-delay:.12s}.hero .lede{animation-delay:.24s}.hero .btn{animation-delay:.36s}
@keyframes hero-in{to{opacity:1;transform:none}}
.hero__pat{animation:pat-drift 60s linear infinite}
@keyframes pat-drift{to{background-position:240px 240px}}
@media(prefers-reduced-motion:reduce){.hero .kicker,.hero h1,.hero .lede,.hero .btn{animation:none;opacity:1;transform:none}
  .hero__pat{animation:none}}

/* Reading progress on long pages */
.progress{position:fixed;top:0;left:0;height:3px;width:0;background:var(--kmt-plum);z-index:300;transition:width .1s linear}

/* People filters */
.filters{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:2rem}
.filters button{background:#fff;border:1px solid var(--kmt-pale-plum);padding:.5rem 1rem;border-radius:100px;
  font-family:var(--sans);font-size:.86rem;font-weight:500;color:var(--kmt-ink);cursor:pointer;transition:140ms}
.filters button:hover{border-color:var(--kmt-plum);color:var(--kmt-plum)}
.filters button.on{background:var(--kmt-plum);border-color:var(--kmt-plum);color:#fff}
.pc{transition:opacity .3s ease,transform .3s ease}
.pc.hide{opacity:0;transform:scale(.96);pointer-events:none;position:absolute;visibility:hidden}
.pc .areas{display:flex;flex-wrap:wrap;gap:.3rem;margin-top:.5rem}
.pc .areas span{font-size:.68rem;letter-spacing:.04em;text-transform:uppercase;color:var(--kmt-muted-plum);
  background:var(--kmt-ivory);padding:.18rem .5rem;border-radius:3px}
.people{position:relative}

/* Areas of work on a profile */
.aow{display:grid;grid-template-columns:repeat(2,1fr);gap:.6rem}
@media(max-width:700px){.aow{grid-template-columns:1fr}}
.aow a{display:flex;flex-direction:column;gap:.15rem;padding:.9rem 1rem;border:1px solid var(--kmt-pale-plum);
  background:#fff;transition:140ms}
.aow a:hover{border-color:var(--kmt-plum);background:var(--kmt-ivory)}
.aow a b{font-family:var(--serif);font-weight:600;color:var(--kmt-plum);font-size:1rem}
.aow a small{font-size:.74rem;opacity:.65;letter-spacing:.05em;text-transform:uppercase}

/* Ask KMT assistant */
.ask-fab{position:fixed;right:max(20px,env(safe-area-inset-right));bottom:max(20px,env(safe-area-inset-bottom));
  z-index:250;display:flex;align-items:center;gap:.6rem;background:var(--kmt-plum);color:#fff;border:0;
  padding:.85rem 1.25rem .85rem 1rem;border-radius:100px;font-family:var(--sans);font-size:.92rem;font-weight:600;
  cursor:pointer;box-shadow:0 18px 40px -16px rgba(87,28,75,.6);transition:160ms}
.ask-fab:hover{background:#43153A;transform:translateY(-1px)}
.ask-fab svg{flex:0 0 auto}
.ask{position:fixed;right:max(20px,env(safe-area-inset-right));bottom:max(84px,calc(env(safe-area-inset-bottom) + 84px));
  z-index:251;width:min(400px,calc(100vw - 40px));max-height:min(620px,calc(100vh - 120px));background:#fff;
  border:1px solid var(--kmt-pale-plum);box-shadow:0 34px 70px -28px rgba(38,33,40,.4);display:none;
  flex-direction:column;overflow:hidden;transform:translateY(12px);opacity:0;transition:220ms cubic-bezier(.16,.84,.44,1)}
.ask.open{display:flex;transform:none;opacity:1}
.ask__hd{background:var(--kmt-plum);color:#fff;padding:1rem 1.2rem;display:flex;align-items:center;gap:.8rem}
.ask__hd b{font-family:var(--serif);font-size:1.1rem;font-weight:600}
.ask__hd small{display:block;font-size:.72rem;opacity:.8;margin-top:.1rem}
.ask__hd button{margin-left:auto;background:none;border:0;color:#fff;cursor:pointer;font-size:1.3rem;line-height:1;opacity:.85}
.ask__log{flex:1;overflow-y:auto;padding:1rem 1.2rem;display:flex;flex-direction:column;gap:.8rem;
  background:var(--kmt-ivory);font-size:.92rem}
.msg{max-width:88%;padding:.75rem 1rem;line-height:1.5;border-radius:12px}
.msg--u{align-self:flex-end;background:var(--kmt-plum);color:#fff;border-bottom-right-radius:3px}
.msg--a{align-self:flex-start;background:#fff;border:1px solid var(--kmt-pale-plum);border-bottom-left-radius:3px}
.msg--a h4{font-size:.98rem;margin:.2rem 0 .3rem;color:var(--kmt-plum)}
.msg--a p{margin:0 0 .5rem;font-size:.9rem}
.msg--a p:last-child{margin:0}
.msg .who{display:flex;flex-wrap:wrap;gap:.4rem;margin:.5rem 0}
.msg .who a{display:inline-flex;align-items:center;gap:.45rem;border:1px solid var(--kmt-pale-plum);
  padding:.3rem .7rem .3rem .3rem;border-radius:100px;font-size:.82rem;background:var(--kmt-ivory)}
.msg .who img,.msg .who .ini{width:24px;height:24px;border-radius:50%;object-fit:cover}
.msg .who .ini{background:var(--kmt-pale-plum);display:flex;align-items:center;justify-content:center;font-size:.7rem;font-weight:600;color:var(--kmt-plum)}
.msg .go{display:inline-block;margin-top:.3rem;color:var(--kmt-plum);font-weight:600;font-size:.86rem;border-bottom:1px solid currentColor}
.ask__chips{display:flex;flex-wrap:wrap;gap:.4rem;padding:.6rem 1.2rem 0;background:var(--kmt-ivory)}
.ask__chips button{background:#fff;border:1px solid var(--kmt-pale-plum);padding:.35rem .7rem;border-radius:100px;
  font-size:.78rem;font-family:var(--sans);cursor:pointer;color:var(--kmt-ink)}
.ask__chips button:hover{border-color:var(--kmt-plum);color:var(--kmt-plum)}
.ask__in{display:flex;gap:.5rem;padding:.8rem 1rem;border-top:1px solid var(--kmt-pale-plum);background:#fff}
.ask__in input{flex:1;border:1px solid var(--kmt-pale-plum);padding:.7rem .9rem;font-family:var(--sans);font-size:.92rem}
.ask__in input:focus{outline:none;border-color:var(--kmt-plum)}
.ask__in button{background:var(--kmt-plum);color:#fff;border:0;padding:.7rem 1rem;font-weight:600;cursor:pointer;font-family:var(--sans)}
.ask__ft{font-size:.68rem;opacity:.6;padding:.4rem 1.2rem .7rem;background:#fff;line-height:1.4}
.typing{display:inline-flex;gap:3px;padding:.4rem 0}
.typing i{width:6px;height:6px;border-radius:50%;background:var(--kmt-muted-plum);animation:tp 1s infinite}
.typing i:nth-child(2){animation-delay:.15s}.typing i:nth-child(3){animation-delay:.3s}
@keyframes tp{0%,60%,100%{opacity:.3;transform:translateY(0)}30%{opacity:1;transform:translateY(-3px)}}

/* ============================================================
   NAVIGATION, SEARCH AND ENGAGEMENT
   ============================================================ */

/* Utility bar above the header */
.util{background:var(--kmt-plum);color:rgba(255,255,255,.88);font-size:.8rem}
.util__in{display:flex;align-items:center;justify-content:space-between;gap:1.5rem;min-height:38px}
.util__l,.util__r{display:flex;align-items:center;gap:1.4rem}
.util a{display:inline-flex;align-items:center;gap:.4rem;color:inherit}
.util a:hover{color:#fff}
.util svg{opacity:.8}
.util__cta{font-weight:600;color:#fff!important;border-bottom:1px solid rgba(255,255,255,.4)}
@media(max-width:760px){.util__l span:not(:first-child),.util__r .hours{display:none}}

/* Header search button */
.sbtn{display:inline-flex;align-items:center;gap:.5rem;background:none;border:1px solid var(--kmt-pale-plum);
  padding:.45rem .8rem;font-family:var(--sans);font-size:.82rem;color:var(--kmt-ink);cursor:pointer;transition:140ms}
.sbtn:hover{border-color:var(--kmt-plum);color:var(--kmt-plum)}
.sbtn kbd{font-family:var(--sans);font-size:.68rem;border:1px solid var(--kmt-pale-plum);border-radius:3px;
  padding:.05rem .35rem;color:var(--kmt-muted-plum);background:var(--kmt-ivory)}
@media(max-width:760px){.sbtn span,.sbtn kbd{display:none}.sbtn{padding:.5rem}}

/* Two-level mega menu */
.drop__menu{min-width:820px;grid-template-columns:260px 1fr;gap:0;padding:0}
.mm__groups{border-right:1px solid var(--kmt-pale-plum);background:var(--kmt-ivory);padding:.9rem .6rem}
.mm__groups a{display:flex;justify-content:space-between;align-items:center;padding:.7rem .9rem;margin:0;
  font-size:.92rem;border-radius:3px;transition:120ms}
.mm__groups a small{display:none}
.mm__groups a.on,.mm__groups a:hover{background:#fff;color:var(--kmt-plum)}
.mm__groups a i{font-style:normal;font-size:.72rem;opacity:.5}
.mm__panels{padding:1.3rem 1.5rem;position:relative;min-height:320px}
.mm__panel{display:none;grid-template-columns:1fr 1fr;gap:.1rem 1.5rem}
.mm__panel.on{display:grid}
.mm__panel h6{grid-column:1/-1;font-family:var(--serif);font-size:1.15rem;color:var(--kmt-plum);margin:0 0 .3rem;
  letter-spacing:0;text-transform:none}
.mm__panel .intro{grid-column:1/-1;font-size:.84rem;opacity:.75;margin:0 0 .8rem}
.mm__panel a{font-size:.88rem;padding:.42rem .5rem;margin:0 -.5rem;border-radius:3px}
.mm__panel a:hover{background:var(--kmt-ivory);color:var(--kmt-plum)}
.mm__foot{grid-column:1/-1;border-top:1px solid var(--kmt-pale-plum);margin-top:.9rem;padding-top:.8rem;display:flex;gap:1.5rem}
.mm__foot a{font-weight:600;color:var(--kmt-plum)}
@media(max-width:1180px){.drop__menu{min-width:0;grid-template-columns:1fr}.mm__groups{border:0;padding:0}
  .mm__panels{display:none}}

/* Search modal */
.srch{position:fixed;inset:0;z-index:400;display:none;align-items:flex-start;justify-content:center;
  padding:min(10vh,90px) 1rem 1rem;background:rgba(38,33,40,.55);backdrop-filter:blur(3px)}
.srch.open{display:flex}
.srch__box{width:min(720px,100%);background:#fff;box-shadow:0 40px 90px -30px rgba(38,33,40,.6);
  display:flex;flex-direction:column;max-height:min(70vh,640px);transform:translateY(-8px);animation:srch-in .22s cubic-bezier(.16,.84,.44,1) both}
@keyframes srch-in{to{transform:none}}
.srch__in{display:flex;align-items:center;gap:.8rem;padding:1rem 1.2rem;border-bottom:1px solid var(--kmt-pale-plum)}
.srch__in svg{color:var(--kmt-muted-plum);flex:0 0 auto}
.srch__in input{flex:1;border:0;font-family:var(--sans);font-size:1.1rem;color:var(--kmt-ink);background:none}
.srch__in input:focus{outline:none}
.srch__in kbd{font-size:.7rem;border:1px solid var(--kmt-pale-plum);border-radius:3px;padding:.1rem .4rem;color:var(--kmt-muted-plum)}
.srch__res{overflow-y:auto;padding:.5rem 0}
.srch__grp{font-size:.68rem;letter-spacing:.14em;text-transform:uppercase;color:var(--kmt-muted-plum);
  font-weight:600;padding:.7rem 1.2rem .3rem}
.srch__res a{display:flex;align-items:center;gap:.9rem;padding:.65rem 1.2rem;transition:100ms}
.srch__res a:hover,.srch__res a.sel{background:var(--kmt-ivory)}
.srch__res a img,.srch__res a .ini{width:34px;height:34px;border-radius:50%;object-fit:cover;flex:0 0 auto}
.srch__res a .ini{background:var(--kmt-pale-plum);display:flex;align-items:center;justify-content:center;font-size:.8rem;font-weight:600;color:var(--kmt-plum)}
.srch__res a .ico{width:34px;height:34px;border-radius:6px;background:var(--kmt-ivory);display:flex;align-items:center;justify-content:center;color:var(--kmt-plum);flex:0 0 auto}
.srch__res a b{display:block;font-weight:600;font-size:.95rem}
.srch__res a small{display:block;font-size:.8rem;opacity:.7;margin-top:.1rem}
.srch__res a mark{background:var(--kmt-pale-plum);color:inherit;padding:0 .1em}
.srch__empty{padding:2rem 1.2rem;text-align:center;opacity:.7}
.srch__ft{border-top:1px solid var(--kmt-pale-plum);padding:.6rem 1.2rem;font-size:.74rem;opacity:.65;display:flex;gap:1.2rem}

/* Homepage find box */
.findbox{background:#fff;border:1px solid var(--kmt-pale-plum);padding:clamp(1.4rem,3vw,2.2rem);
  display:grid;grid-template-columns:1fr auto;gap:1rem;align-items:center;margin-top:-2.4rem;position:relative;z-index:3;
  box-shadow:0 30px 60px -36px rgba(38,33,40,.35)}
@media(max-width:760px){.findbox{grid-template-columns:1fr;margin-top:0}}
.findbox h3{font-size:1.25rem;margin-bottom:.2rem}
.findbox p{margin:0;font-size:.9rem;opacity:.8}
.findbox form{display:flex;gap:.5rem;min-width:min(440px,100%)}
.findbox input{flex:1;border:1px solid var(--kmt-pale-plum);padding:.85rem 1rem;font-family:var(--sans);font-size:.95rem}
.findbox input:focus{outline:none;border-color:var(--kmt-plum)}

/* Engagement bar: slides up once, dismissible */
.nudge{position:fixed;left:50%;bottom:max(20px,env(safe-area-inset-bottom));transform:translate(-50%,140%);
  z-index:240;width:min(760px,calc(100vw - 110px));background:#fff;border:1px solid var(--kmt-pale-plum);
  box-shadow:0 30px 70px -30px rgba(38,33,40,.5);display:flex;align-items:center;gap:1.2rem;padding:1rem 1.2rem;
  transition:transform .5s cubic-bezier(.16,.84,.44,1)}
.nudge.on{transform:translate(-50%,0)}
.nudge__ico{width:44px;height:44px;border-radius:50%;background:var(--kmt-plum);color:#fff;display:flex;
  align-items:center;justify-content:center;flex:0 0 auto}
.nudge b{display:block;font-family:var(--serif);font-size:1.05rem;color:var(--kmt-plum);font-weight:600}
.nudge p{margin:0;font-size:.86rem;opacity:.8}
.nudge__act{margin-left:auto;display:flex;gap:.5rem;align-items:center;flex:0 0 auto}
.nudge__act .btn{padding:.65rem 1.1rem;font-size:.86rem}
.nudge__act .ghost{background:none;border:1px solid var(--kmt-pale-plum);padding:.65rem 1rem;font-size:.86rem;
  font-family:var(--sans);cursor:pointer;color:var(--kmt-ink)}
.nudge__x{background:none;border:0;font-size:1.3rem;line-height:1;cursor:pointer;opacity:.5;padding:.2rem .4rem}
@media(max-width:760px){.nudge{flex-wrap:wrap;width:calc(100vw - 40px)}.nudge__act{margin-left:0;width:100%}.nudge__act .btn,.nudge__act .ghost{flex:1;text-align:center}}

/* Contextual lead card on sub-area pages */
.lead{border:1px solid var(--kmt-pale-plum);background:var(--kmt-plum);color:#fff;padding:1.5rem;margin-bottom:1.2rem}
.lead h5{color:rgba(255,255,255,.75)}
.lead__p{display:flex;gap:.9rem;align-items:center;margin-bottom:1rem}
.lead__p img,.lead__p .ini{width:56px;height:56px;border-radius:50%;object-fit:cover;flex:0 0 auto}
.lead__p .ini{background:rgba(255,255,255,.15);display:flex;align-items:center;justify-content:center;font-weight:600}
.lead__p b{display:block;font-family:var(--serif);font-size:1.15rem}
.lead__p small{opacity:.75;font-size:.8rem}
.lead a.btn{background:#fff;color:var(--kmt-plum);border-color:#fff;width:100%;text-align:center;padding:.75rem 1rem;font-size:.9rem}
.lead a.btn:hover{background:var(--kmt-ivory)}
.lead .alt{display:block;text-align:center;font-size:.82rem;margin-top:.6rem;opacity:.85}
.lead .alt:hover{opacity:1;text-decoration:underline}

/* Related areas */
.rel{display:grid;grid-template-columns:repeat(3,1fr);gap:.8rem}
@media(max-width:900px){.rel{grid-template-columns:1fr 1fr}}@media(max-width:560px){.rel{grid-template-columns:1fr}}
.rel a{padding:1rem 1.1rem;border:1px solid var(--kmt-pale-plum);background:#fff;font-family:var(--serif);
  font-weight:600;color:var(--kmt-plum);font-size:.98rem;transition:140ms;display:flex;justify-content:space-between;align-items:center;gap:.5rem}
.rel a:hover{border-color:var(--kmt-plum);background:var(--kmt-ivory)}
.rel a svg{flex:0 0 auto;opacity:.5}

/* Capabilities quick-jump */
.jump{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:1.4rem}
.jump a{font-size:.84rem;font-weight:500;border:1px solid rgba(255,255,255,.35);color:#fff;padding:.42rem .9rem;border-radius:100px;transition:140ms}
.jump a:hover{background:#fff;color:var(--kmt-plum);border-color:#fff}

/* Back to top */
.totop{position:fixed;left:max(20px,env(safe-area-inset-left));bottom:max(20px,env(safe-area-inset-bottom));z-index:230;
  width:44px;height:44px;border-radius:50%;background:#fff;border:1px solid var(--kmt-pale-plum);color:var(--kmt-plum);
  display:flex;align-items:center;justify-content:center;cursor:pointer;opacity:0;transform:translateY(10px);
  transition:200ms;box-shadow:0 14px 30px -14px rgba(38,33,40,.35)}
.totop.on{opacity:1;transform:none}
.totop:hover{background:var(--kmt-plum);color:#fff;border-color:var(--kmt-plum)}

/* Skip link */
.skip{position:absolute;left:-9999px;top:0;background:var(--kmt-plum);color:#fff;padding:.7rem 1rem;z-index:500}
.skip:focus{left:1rem;top:1rem}

/* Print */
@media print{.util,.hdr,.ftr,.ask-fab,.ask,.nudge,.totop,.subnav,.imgslot,.progress{display:none!important}
  body{font-size:11pt}.phead--plum{background:none;color:#000}.phead--plum h1,.phead--plum .lede{color:#000}
  a{color:#000;text-decoration:none}.rates th,.rates td{border-bottom:1px solid #999}}

/* ============================================================
   CAPABILITIES PAGE — matches the client's visual aid
   ============================================================ */
.capspage{background:var(--kmt-ivory)}
.capspage .explore{grid-template-columns:260px 1fr;border:0;min-height:calc(100vh - 160px);
  background:transparent}
.capspage .explore__nav{background:var(--kmt-ivory);border-right:0;padding:1.4rem 0 1.4rem 1.4rem}
.capspage .explore__nav button{background:#F1ECEE;border:1px solid #E3DAE0;border-bottom:0;padding:1.05rem 1.25rem;
  font-size:.98rem;font-weight:500;color:var(--kmt-plum)}
.capspage .explore__nav button:last-child{border-bottom:1px solid #E3DAE0}
.capspage .explore__nav button:hover{background:#fff}
.capspage .explore__nav button.on{background:var(--kmt-plum);color:#fff;border-color:var(--kmt-plum)}
.capspage .explore__body{background:var(--kmt-ivory);padding:clamp(1.6rem,3vw,2.6rem) clamp(1.4rem,3vw,2.6rem)}
.capspage .cpanel>h2{font-size:clamp(1.9rem,3.2vw,2.5rem);color:var(--kmt-plum);margin-bottom:.5rem}
.capspage .cpanel>.lede{color:#4A5A8A;opacity:1;font-size:1.05rem;margin-bottom:1.6rem;max-width:66ch}
.capspage .boxes{gap:16px}
.capspage .box{background:#fff;border:1px solid #D9D0D6;min-height:74px;padding:1.2rem 1.2rem;align-items:center}
.capspage .box h3{font-size:1.08rem;color:var(--kmt-plum);font-weight:500}
.capspage .box:hover{border-color:var(--kmt-plum);background:#fff;transform:none;box-shadow:0 10px 24px -18px rgba(87,28,75,.35)}
.capspage .box.on{background:var(--kmt-plum);border-color:var(--kmt-plum)}
.capspage .detail{margin-top:16px;background:#fff;border:1px solid #D9D0D6}
.capspage .detail h5,.capspage .side h5,.lbl{font-family:var(--sans);font-size:.7rem;letter-spacing:.15em;text-transform:uppercase;
  color:var(--kmt-muted-plum);font-weight:600;margin:0 0 .6rem}
.lbl{display:block;margin-bottom:.6rem}
@media(max-width:860px){.capspage .explore{grid-template-columns:1fr;min-height:0}
  .capspage .explore__nav{padding:1rem 1rem 0;display:flex;overflow-x:auto;gap:0}
  .capspage .explore__nav button{border:1px solid #E3DAE0;border-right:0;white-space:nowrap;width:auto}
  .capspage .explore__nav button:last-child{border-right:1px solid #E3DAE0}}

/* Seven practice groups, prominent on the homepage */
.groups{display:grid;grid-template-columns:repeat(7,1fr);gap:1px;background:var(--kmt-pale-plum);border:1px solid var(--kmt-pale-plum)}
@media(max-width:1100px){.groups{grid-template-columns:repeat(4,1fr)}}
@media(max-width:760px){.groups{grid-template-columns:repeat(2,1fr)}}
@media(max-width:420px){.groups{grid-template-columns:1fr}}
.group{background:#fff;padding:1.6rem 1.2rem 1.5rem;display:flex;flex-direction:column;gap:.5rem;transition:140ms;min-height:150px}
.group:hover{background:var(--kmt-plum)}
.group b{font-family:var(--serif);font-size:1.08rem;font-weight:600;color:var(--kmt-plum);line-height:1.25}
.group:hover b,.group:hover small,.group:hover span{color:#fff}
.group small{font-size:.74rem;letter-spacing:.06em;text-transform:uppercase;color:var(--kmt-muted-plum);margin-top:auto}
/* contact lines inside assistant pills */
.msg .who a span small.c{display:block;opacity:.7;font-size:.74rem;margin-top:.1rem}

/* ============================================================
   FEATURES — fee finder, journey, hover cards, works alongside
   ============================================================ */
.ff__top{display:grid;gap:.9rem;margin-bottom:1.2rem}
.ff__q{width:100%;border:1px solid var(--kmt-pale-plum);padding:.9rem 1.1rem;font-family:var(--sans);font-size:1rem;background:#fff}
.ff__q:focus{outline:none;border-color:var(--kmt-plum)}
.ff__chips{display:flex;flex-wrap:wrap;gap:.45rem}
.ff__chips button{background:#fff;border:1px solid var(--kmt-pale-plum);padding:.42rem .9rem;border-radius:100px;font-family:var(--sans);font-size:.84rem;cursor:pointer;color:var(--kmt-ink);transition:120ms}
.ff__chips button:hover{border-color:var(--kmt-plum);color:var(--kmt-plum)}
.ff__chips button.on{background:var(--kmt-plum);border-color:var(--kmt-plum);color:#fff}
.ff__t td b{display:block;font-weight:600;font-family:var(--sans)}
.ff__t td small{display:block;font-size:.78rem;opacity:.65;margin-top:.1rem}
.ff__t td.amt{font-family:var(--serif);font-size:1.05rem;color:var(--kmt-plum);font-weight:600;white-space:nowrap;text-align:left}
.ff__t th:last-child,.ff__t td:last-child{text-align:right}
.ff__empty{padding:1.2rem;background:var(--kmt-ivory);border:1px solid var(--kmt-pale-plum)}
.ff .hint{font-size:.8rem;opacity:.7;margin-top:1rem}

.journey{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,1fr);gap:1.4rem;counter-reset:j}
@media(max-width:900px){.journey{grid-template-columns:1fr 1fr}}@media(max-width:560px){.journey{grid-template-columns:1fr}}
.journey li{display:flex;gap:1rem;padding:1.5rem;border:1px solid var(--kmt-pale-plum);background:#fff;position:relative}
.journey .jn{flex:0 0 auto;width:36px;height:36px;border-radius:50%;background:var(--kmt-plum);color:#fff;display:flex;align-items:center;justify-content:center;font-family:var(--serif);font-weight:600}
.journey b{display:block;font-family:var(--serif);font-size:1.1rem;color:var(--kmt-plum);margin-bottom:.35rem}
.journey p{font-size:.9rem;margin:0 0 .5rem;opacity:.88}
.journey small{font-size:.7rem;letter-spacing:.08em;text-transform:uppercase;color:var(--kmt-muted-plum)}

.hcard{position:absolute;z-index:260;width:290px;background:#fff;border:1px solid var(--kmt-pale-plum);box-shadow:0 26px 54px -22px rgba(38,33,40,.4);
  padding:1rem;display:flex;gap:.9rem;align-items:flex-start;opacity:0;visibility:hidden;transform:translateY(-6px);transition:150ms;pointer-events:none}
.hcard.on{opacity:1;visibility:visible;transform:none;pointer-events:auto}
.hcard img,.hcard .ini{width:52px;height:52px;border-radius:50%;object-fit:cover;flex:0 0 auto}
.hcard .ini{background:var(--kmt-pale-plum);display:flex;align-items:center;justify-content:center;font-weight:600;color:var(--kmt-plum)}
.hcard b{display:block;font-family:var(--serif);color:var(--kmt-plum);font-size:1.05rem}
.hcard small{display:block;font-size:.78rem;opacity:.7}
.hcard em{display:block;font-style:normal;font-size:.76rem;color:var(--kmt-muted-plum);margin:.3rem 0}
.hcard a{display:block;font-size:.8rem;color:var(--kmt-plum);word-break:break-all}
.hcard a:hover{text-decoration:underline}

.wagrid{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem}
@media(max-width:1000px){.wagrid{grid-template-columns:1fr 1fr}}@media(max-width:560px){.wagrid{grid-template-columns:1fr}}
.wa{display:flex;gap:.9rem;align-items:center;padding:1rem;border:1px solid var(--kmt-pale-plum);background:#fff;transition:140ms}
.wa:hover{border-color:var(--kmt-plum);background:var(--kmt-ivory)}
.wa img,.wa .ini{width:52px;height:52px;border-radius:50%;object-fit:cover;flex:0 0 auto}
.wa .ini{background:var(--kmt-pale-plum);display:flex;align-items:center;justify-content:center;font-weight:600;color:var(--kmt-plum)}
.wa b{display:block;font-family:var(--serif);color:var(--kmt-plum);font-size:1rem}
.wa small{display:block;font-size:.76rem;opacity:.7}
.wa em{display:block;font-style:normal;font-size:.74rem;color:var(--kmt-muted-plum);margin-top:.25rem}
.box:focus-visible{outline:2px solid var(--kmt-plum);outline-offset:2px}

/* ============================================================
   CAREERS — talent strip and career ladder
   ============================================================ */
.tstrip{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(230px,1fr);gap:1rem;overflow-x:auto;
  padding-bottom:.8rem;scroll-snap-type:x proximity;scrollbar-width:thin}
.tstrip::-webkit-scrollbar{height:6px}.tstrip::-webkit-scrollbar-thumb{background:var(--kmt-pale-plum);border-radius:3px}
.tc{scroll-snap-align:start;background:#fff;border:1px solid var(--kmt-pale-plum);padding:1.1rem;display:flex;flex-direction:column;gap:.35rem;transition:160ms}
.tc:hover{border-color:var(--kmt-plum);transform:translateY(-2px);box-shadow:0 18px 34px -22px rgba(87,28,75,.35)}
.tc__ph{aspect-ratio:1/1;width:88px;border-radius:50%;overflow:hidden;background:var(--kmt-ivory);border:1px solid var(--kmt-pale-plum);margin-bottom:.5rem;display:flex;align-items:center;justify-content:center}
.tc__ph img{width:100%;height:100%;object-fit:cover}
.tc__ph .ini{font-family:var(--serif);font-size:2rem;color:var(--kmt-pale-plum)}
.tc b{font-family:var(--serif);font-size:1.08rem;color:var(--kmt-plum);font-weight:600}
.tc small{font-size:.76rem;opacity:.7}
.tc p{font-size:.84rem;margin:.4rem 0 0;line-height:1.5;opacity:.88;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.tc__tags{display:flex;flex-wrap:wrap;gap:.3rem;margin-top:auto;padding-top:.6rem}
.tc__tags span{font-size:.66rem;letter-spacing:.05em;text-transform:uppercase;color:var(--kmt-muted-plum);background:var(--kmt-ivory);padding:.18rem .5rem;border-radius:3px}
.ladder{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(6,1fr);gap:1px;background:var(--kmt-pale-plum);border:1px solid var(--kmt-pale-plum)}
@media(max-width:900px){.ladder{grid-template-columns:repeat(3,1fr)}}@media(max-width:520px){.ladder{grid-template-columns:repeat(2,1fr)}}
.ladder li{background:#fff;padding:1.3rem 1rem;display:flex;flex-direction:column;gap:.2rem;position:relative}
.ladder li::after{content:"";position:absolute;right:-7px;top:50%;width:12px;height:12px;border-top:1px solid var(--kmt-pale-plum);border-right:1px solid var(--kmt-pale-plum);transform:translateY(-50%) rotate(45deg);background:#fff;z-index:1}
.ladder li:last-child::after{display:none}
@media(max-width:900px){.ladder li::after{display:none}}
.ladder b{font-family:var(--serif);font-size:1.8rem;color:var(--kmt-plum);font-weight:600;line-height:1}
.ladder span{font-size:.8rem;opacity:.8}

/* ============================================================
   EXTRAS — languages, icons, checklist, routing, text size
   ============================================================ */
.langgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:.8rem}
@media(max-width:760px){.langgrid{grid-template-columns:1fr 1fr}}
.lang-card{background:#fff;border:1px solid var(--kmt-pale-plum);padding:1rem 1.1rem}
.lang-card b{display:block;font-family:var(--serif);color:var(--kmt-plum);font-size:1.08rem}
.lang-card small{display:block;font-size:.78rem;opacity:.72;margin-top:.15rem}
.gicon{color:var(--kmt-plum);flex:0 0 auto}
.group .gicon{margin-bottom:.4rem}
.group:hover .gicon{color:#fff}
.mm__groups a .gicon{width:18px;height:18px;margin-right:.6rem;opacity:.8}
.mm__groups a>span{display:flex;align-items:center}
.ck{list-style:none;margin:0;padding:0;display:grid;gap:.6rem}
.ck li{position:relative;padding-left:1.8rem;font-size:.98rem;line-height:1.5}
.ck li::before{content:"";position:absolute;left:0;top:.35rem;width:16px;height:16px;border:1.5px solid var(--kmt-plum);border-radius:3px}
.ck li::after{content:"";position:absolute;left:5px;top:.55rem;width:5px;height:9px;border-right:2px solid var(--kmt-plum);border-bottom:2px solid var(--kmt-plum);transform:rotate(45deg)}
.route{border:1px solid var(--kmt-pale-plum);background:#fff;padding:1rem 1.1rem;margin-top:-.2rem}
.route b{display:block;font-size:.88rem;color:var(--kmt-plum);margin-bottom:.6rem}
.route .who{display:flex;flex-wrap:wrap;gap:.5rem}
.route .who a{display:inline-flex;align-items:center;gap:.5rem;border:1px solid var(--kmt-pale-plum);background:var(--kmt-ivory);padding:.32rem .75rem .32rem .32rem;border-radius:100px;font-size:.84rem}
.route .who img,.route .who .ini{width:28px;height:28px;border-radius:50%;object-fit:cover}
.route .who .ini{background:var(--kmt-pale-plum);display:flex;align-items:center;justify-content:center;font-size:.72rem;font-weight:600;color:var(--kmt-plum)}
.route .who span{display:flex;flex-direction:column;line-height:1.15}
.route .who small{font-size:.7rem;opacity:.65}
.tsize{display:flex;align-items:center;gap:.25rem;margin-right:.6rem}
.tsize span{font-size:.72rem;opacity:.75;margin-right:.2rem}
.tsize button{background:none;border:1px solid rgba(255,255,255,.35);color:#fff;font-size:.72rem;padding:.15rem .45rem;cursor:pointer;font-family:var(--sans);line-height:1.3}
.tsize button:hover{background:rgba(255,255,255,.12)}
@media(max-width:760px){.tsize{display:none}}
.rt{display:inline-flex;align-items:center;gap:.4rem;font-size:.8rem;opacity:.8}

/* ============================================================
   OFFICE PHOTOGRAPHY — 11 Haymarket
   ============================================================ */
.office-img{margin:0;position:relative;overflow:hidden;background:var(--kmt-ivory)}
.office-img picture,.office-img img{display:block;width:100%;height:100%}
.office-img img{object-fit:cover;object-position:52% 50%}
.office-img--hero{aspect-ratio:4/3;border:1px solid rgba(255,255,255,.28);box-shadow:0 34px 70px -34px rgba(0,0,0,.55)}
.office-img--ftr{aspect-ratio:4/3;border:1px solid rgba(255,255,255,.22);max-width:320px}
.office-img--contact{aspect-ratio:4/3;border:1px solid var(--kmt-pale-plum)}
.office-img--wide{aspect-ratio:16/9;border:1px solid var(--kmt-pale-plum)}
.office-img figcaption{position:absolute;left:0;right:0;bottom:0;padding:1.6rem 1rem .75rem;font-size:.8rem;
  color:#fff;background:linear-gradient(to top,rgba(38,33,40,.72),rgba(38,33,40,0));letter-spacing:.01em}
@media(max-width:900px){.office-img--hero{aspect-ratio:16/10}}

/* ============================================================
   PRACTICE AND LOCATION IMAGERY
   ============================================================ */
.pimg{margin:0;position:relative;overflow:hidden;background:var(--kmt-ivory);border:1px solid var(--kmt-pale-plum)}
.pimg picture,.pimg img{display:block;width:100%;height:100%}
.pimg img{object-fit:cover;transition:transform .7s cubic-bezier(.16,.84,.44,1)}
.pimg--card{aspect-ratio:3/2}
.pimg--wide{aspect-ratio:16/9}
.pimg figcaption{position:absolute;left:0;right:0;bottom:0;padding:1.6rem 1rem .75rem;font-size:.8rem;color:#fff;
  background:linear-gradient(to top,rgba(38,33,40,.72),rgba(38,33,40,0))}
.desk>.pimg{aspect-ratio:auto;height:100%;min-height:280px;border:0}
.fc:hover .pimg img,.desk:hover .pimg img{transform:scale(1.03)}
@media(max-width:820px){.desk>.pimg{min-height:0;aspect-ratio:3/2}}
@media(prefers-reduced-motion:reduce){.pimg img{transition:none}.fc:hover .pimg img,.desk:hover .pimg img{transform:none}}

/* ============================================================
   MAP — loads on request (third-party cookies)
   ============================================================ */
.map{position:relative;aspect-ratio:4/3;border:1px solid var(--kmt-pale-plum);background:var(--kmt-ivory);overflow:hidden}
.map iframe{display:block;width:100%;height:100%;border:0}
.map__ph{height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:.35rem;padding:1.6rem;
  background:radial-gradient(circle at 50% 38%,#fff 0,var(--kmt-ivory) 70%)}
.map__ph svg{color:var(--kmt-plum);margin-bottom:.3rem}
.map__ph b{font-family:var(--serif);font-size:1.35rem;color:var(--kmt-plum);font-weight:600}
.map__ph span{font-size:.92rem;opacity:.8}
.map__act{display:flex;flex-wrap:wrap;gap:1rem;align-items:center;justify-content:center;margin:1rem 0 .6rem}
.map__act .btn{padding:.7rem 1.3rem;font-size:.9rem}
.map__ph small{font-size:.74rem;opacity:.6;max-width:34ch;line-height:1.45}

/* ============================================================
   LANGUAGE SWITCHER — Google Website Translator
   ============================================================ */
#google_translate_element,.skiptranslate>iframe,iframe.skiptranslate,.goog-te-banner-frame,#goog-gt-tt,.goog-te-balloon-frame,
.VIpgJd-ZVi9od-ORHb-OEVmcd,.VIpgJd-ZVi9od-aZ2wEe-wOHMyf{display:none!important}
body{top:0!important}
.goog-text-highlight{background:none!important;box-shadow:none!important}
.mt-note{background:var(--kmt-pale-plum);color:var(--kmt-ink);font-size:.86rem}
.mt-note__in{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.6rem 1.2rem;padding-block:.7rem}
.mt-note button{background:#fff;border:1px solid var(--kmt-plum);color:var(--kmt-plum);font-family:var(--sans);font-size:.82rem;font-weight:600;padding:.4rem .8rem;cursor:pointer}
.mt-note a{color:var(--kmt-plum);font-weight:600;text-decoration:underline}

/* profile facts panel */
.facts{margin:0 0 2.2rem;border-top:1px solid var(--kmt-pale-plum)}
.facts .drow{grid-template-columns:180px 1fr}
.prose ul{margin:.4rem 0 1.6rem}

.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}

/* ============================================================
   QA FIXES — contrast (WCAG AA 4.5:1) and small-screen overflow
   ============================================================ */
.nudge p{opacity:1}
.nudge__x{opacity:.75;color:var(--kmt-ink)}
.rt{opacity:1}
.lede .rt{color:inherit}
.subnav a{opacity:1;color:var(--kmt-muted-plum)}
.prose li>p,.prose li li{opacity:1}
.prose table{display:block;max-width:100%;overflow-x:auto;border-collapse:collapse}
.prose table td,.prose table th{padding:.5rem .7rem;border-bottom:1px solid var(--kmt-pale-plum);vertical-align:top}
.findbox form{min-width:0;flex-wrap:wrap}
.findbox form input{min-width:0;flex:1 1 200px}
@media(max-width:560px){.findbox form .btn{width:100%}}

/* ============================================================
   QA FIXES 2 — secondary text as solid colour (WCAG AA), not transparency
   ============================================================ */
.earner small,.wa small,.tc small,.hcard small,.ff__t td small,.route .who small,.msg .who a span small.c,.lang-card small,
.drop__menu a small,.mm__panel .intro,.mm__groups a i,.ladder span,.map__ph small,.map__ph span,.ask__ft,.field .hint,.ff .hint,
.pc span,.aow a small,.srch__res a small,.journey small,.imgslot span,.rt,.lede time{opacity:1!important;color:var(--kmt-muted-plum)!important}
.entry p,.pt p,.ic p,.fc p,.prose p,.prose li,.drow dd,.ccard p,.consent,.detail p,.journey p,.tc p,.findbox p{opacity:1;color:#3B3540}
.lede{opacity:1;color:#4A4250}
.prose a.btn,.prose a.btn:hover,.prose a.btn:visited{color:#fff;border-bottom:0;text-decoration:none}

.ic.ic--alt p,.ic.ic--alt time{color:rgba(255,255,255,.88);opacity:1}

.ftr__legal{font-size:.78rem;line-height:1.55;color:rgba(255,255,255,.8);max-width:110ch;margin:1.6rem 0 0;padding-top:1.2rem;border-top:1px solid rgba(255,255,255,.14)}

/* QA FIXES 3 — header items never break across lines */
.nav a,.nav .drop>a{white-space:nowrap}
@media(min-width:1181px) and (max-width:1400px){.nav{gap:1.05rem}.nav a{font-size:.86rem}.sbtn kbd{display:none}.hdr__logo .lg--primary{max-width:200px}}

.prose .byline{margin:2rem 0 1.5rem;padding-top:1.2rem;border-top:1px solid var(--kmt-pale-plum);font-size:.95rem;color:var(--kmt-muted-plum)}

.prose .citations{font-size:.92rem;padding-left:1.4rem}
.prose .citations li{margin:.25rem 0}
.prose .citations li:target{background:var(--kmt-pale-plum)}

.prose .disclaimer{font-size:.85rem;line-height:1.55;color:var(--kmt-muted-plum)!important;opacity:1;margin-top:2rem;padding-top:1rem;border-top:1px solid var(--kmt-pale-plum)}
.prose .byline+.disclaimer{border-top:0;padding-top:0;margin-top:1rem}

/* Vacancies */
.vacs{margin:2.4rem 0 2.8rem}
.vacs .head{margin-bottom:1.1rem}
.vac{display:grid;grid-template-columns:1fr auto;gap:1.5rem 2.5rem;align-items:center;background:#fff;border:1px solid var(--kmt-pale-plum);border-left:4px solid var(--kmt-plum);padding:1.7rem 1.9rem;transition:160ms}
.vac:hover{border-color:var(--kmt-plum);box-shadow:0 10px 30px -18px rgba(87,28,75,.45)}
.vac h4{font-family:var(--serif);font-size:clamp(1.25rem,2.1vw,1.6rem);line-height:1.25;margin:.45rem 0 .35rem;color:var(--kmt-ink);font-weight:600}
.vac .vac__meta{font-size:.86rem;font-weight:600;color:var(--kmt-plum);margin-bottom:.75rem}
.vac p{color:#3B3540;max-width:70ch}
.vac__go{display:inline-flex;align-items:center;gap:.55rem;font-weight:600;color:var(--kmt-plum);white-space:nowrap;font-size:.95rem}
.vac__go svg{transition:transform 160ms}
.vac:hover .vac__go svg{transform:translateX(4px)}
@media(max-width:760px){.vac{grid-template-columns:1fr;padding:1.35rem 1.25rem}}
.vac-prose p{font-size:1.06rem}
.vac-apply p{color:rgba(255,255,255,.88);font-size:.92rem;margin-bottom:.2rem}
.vac-apply .vac-apply__mail{font-family:var(--serif);font-size:1.2rem;color:#fff;margin-bottom:1.1rem;word-break:break-word}
.vac-apply a.btn{display:flex;align-items:center;justify-content:center;gap:.55rem}
.vac-apply .vac-copy{display:flex;align-items:center;justify-content:center;gap:.45rem;width:100%;background:none;border:0;color:#fff;font-family:var(--sans);cursor:pointer;padding:.4rem}
.vfacts{margin:0}
.vfacts div{display:grid;grid-template-columns:6.5rem 1fr;gap:.9rem;padding:.7rem 0;border-top:1px solid var(--kmt-pale-plum);font-size:.92rem}
.vfacts div:first-child{border-top:0;padding-top:.2rem}
.vfacts dt{color:var(--kmt-muted-plum);font-weight:600}
.vfacts dd{margin:0;color:var(--kmt-ink)}
.vac-glance{margin-top:2.4rem}
.vac-apply h5{font-family:var(--sans);font-size:.7rem;letter-spacing:.15em;text-transform:uppercase;font-weight:600;margin:0 0 .9rem;color:rgba(255,255,255,.78)}

/* Feedback round, 7 October 2026 */
.drop>a{display:block}
.util__l>span,.util__l .hours{display:inline-flex;align-items:center;gap:.4rem}
.ccard{display:flex;flex-direction:column}
.ccard .go{margin-top:auto;padding-top:.3rem}
.group small{white-space:nowrap;letter-spacing:.04em}
.prose img.about-img{display:block;width:100%;max-width:460px;height:auto}
@media(max-width:1199px) and (min-width:761px){.groups{grid-template-columns:repeat(4,1fr)}}
.util svg{flex:0 0 auto}
.util__l a,.util__l .hours{white-space:nowrap}
@media(max-width:919px){.util__l .hours{display:none}}

/* Uniform profile photos: square and round crops sit on the face */
.earner img,.msg .who img,.srch__res a img,.lead__p img,.hcard img,.wa img,.tc__ph img,.route .who img{object-position:50% 30%}

/* Homepage hero without the office photo */
.hero .lede{max-width:62ch}

/* Capabilities menu: practice groups only (16 Oct 2026) */
.drop__menu{min-width:300px;width:300px;grid-template-columns:1fr;padding:0}
.mm__groups{border-right:0;padding:.6rem}
.mm__groups a.on{background:transparent;color:inherit}
.mm__groups a:hover,.mm__groups a:focus-visible{background:#fff;color:var(--kmt-plum)}
@media(max-width:1180px){.drop__menu{width:auto;min-width:0}.mm__groups{padding:0}}
@media(max-width:1180px){.drop:hover .drop__menu{transform:none}}

/* Contact dropdown (20 Oct 2026) */
.drop--contact .drop__menu{min-width:280px;width:280px;left:auto;right:-1rem;transform:translateX(0) translateY(6px)}
.drop--contact:hover .drop__menu{transform:translateX(0) translateY(0)}
@media(max-width:1180px){.drop--contact .drop__menu{width:auto;min-width:0;left:auto;right:auto}.drop--contact:hover .drop__menu{transform:none}}

/* ===== Colour and graphics round (20 Oct 2026) ===== */
:root{
  --c-cc:#2F4C76;--c-dr:#7A2538;--c-im:#1D665E;--c-in:#9A4524;--c-pc:#7E5A1A;--c-re:#44643A;--c-rg:#443A7E;
  --c-cc-d:#223755;--c-dr-d:#581B28;--c-im-d:#154944;--c-in-d:#6F321A;--c-pc-d:#5B4113;--c-re-d:#31482A;--c-rg-d:#312A5B;
  --c-cc-t:#E6EAEF;--c-dr-t:#EFE5E7;--c-im-t:#E4EDEC;--c-in-t:#F3E9E5;--c-pc-t:#F0EBE4;--c-re-t:#E9ECE7;--c-rg-t:#E9E7F0;
  --kmt-deep:#3E1234;
  --kmt-bars:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 32 32'%3E%3Cpath fill='%23fff' d='M9 14L22 5L23 10L9 19Z M9 23L22 14L23 19L9 28Z'/%3E%3C/svg%3E");
}
[data-col="cc"]{--g:var(--c-cc);--g-d:var(--c-cc-d);--g-t:var(--c-cc-t)}
[data-col="dr"]{--g:var(--c-dr);--g-d:var(--c-dr-d);--g-t:var(--c-dr-t)}
[data-col="im"]{--g:var(--c-im);--g-d:var(--c-im-d);--g-t:var(--c-im-t)}
[data-col="in"]{--g:var(--c-in);--g-d:var(--c-in-d);--g-t:var(--c-in-t)}
[data-col="pc"]{--g:var(--c-pc);--g-d:var(--c-pc-d);--g-t:var(--c-pc-t)}
[data-col="re"]{--g:var(--c-re);--g-d:var(--c-re-d);--g-t:var(--c-re-t)}
[data-col="rg"]{--g:var(--c-rg);--g-d:var(--c-rg-d);--g-t:var(--c-rg-t)}
[data-col="pl"]{--g:var(--kmt-plum);--g-d:var(--kmt-deep);--g-t:var(--kmt-pale-plum)}

/* Page headers: warm ivory rather than white; practice pages carry their group colour */
.phead{background:var(--kmt-ivory)}
.phead--plum{background:var(--kmt-plum)}
.phead--g{background:linear-gradient(115deg,var(--g) 0%,var(--g-d) 100%);color:#fff;border-bottom:0;overflow:hidden}
.phead--g h1,.phead--g .crumb,.phead--g .crumb a,.phead--g .lede{color:#fff}
.phead--g .kicker{color:rgba(255,255,255,.82)}
.phead--g .lede{opacity:.92}
.phead--g .wrap{position:relative;z-index:2}
.phead__bars{position:absolute;right:-60px;top:-40px;width:420px;height:420px;background:var(--kmt-bars) no-repeat center/contain;opacity:.08;pointer-events:none}
@media(max-width:760px){.phead__bars{width:260px;height:260px;right:-50px;top:auto;bottom:-60px}}

/* Section backgrounds */
.sec--plum{background:var(--kmt-plum);color:#fff}
.sec--plum h2,.sec--plum h3,.sec--plum p,.sec--plum .lede{color:#fff}
.sec--plum .kicker{color:rgba(255,255,255,.82)}
.sec--soft{background:var(--g-t)}

/* Home: practice group tiles */
.group{border-top:4px solid var(--g)}
.group .gicon{color:var(--g)}
.group:hover{background:var(--g)}
.group:hover b,.group:hover small,.group:hover .gicon{color:#fff}

/* Home: entry tiles become colour blocks */
.entries{border:0}
.entries .grid3{gap:1rem}
.entry{background:var(--g);color:#fff;border:0!important;position:relative;overflow:hidden;padding:2.6rem 2rem 2.8rem}
.entry::after{content:"";position:absolute;right:-70px;bottom:-90px;width:260px;height:260px;background:var(--kmt-bars) no-repeat center/contain;opacity:.1;pointer-events:none}
.entry .kicker{color:rgba(255,255,255,.8)}
.entry h3,.entry p{color:#fff;position:relative;z-index:1}
.entry p{opacity:.9}
.entry:hover{background:var(--g-d)}

/* Home: approach tiles */
.approach .pt{background:#fff;border-left:4px solid var(--g);padding:1.4rem 1.5rem 1.5rem;margin:0}
.approach .pt h4{color:var(--g)}
.band .approach{gap:1rem}

/* Insight cards: a colour each */
.ic[data-col]{background:var(--g);border-color:var(--g);color:#fff;position:relative;overflow:hidden}
.ic[data-col]::after{content:"";position:absolute;right:-60px;top:-60px;width:200px;height:200px;background:var(--kmt-bars) no-repeat center/contain;opacity:.09;pointer-events:none}
.ic[data-col] .kicker{color:rgba(255,255,255,.78)}
.ic[data-col] h3,.ic[data-col] p{color:#fff;position:relative;z-index:1}
.ic[data-col] p{opacity:.9}
.ic[data-col] time{color:rgba(255,255,255,.85);position:relative;z-index:1}
.ic[data-col]:hover{background:var(--g-d);border-color:var(--g-d)}
.cards .ic[data-col]{margin-right:0;margin-bottom:0}
.cards{gap:1rem}

/* Group pages: sub-area cards with the area graphic */
.fc--img{padding:0;display:flex;flex-direction:column;background:#fff;margin-right:0;margin-bottom:0}
.fc--img>img{display:block;width:100%;height:auto;aspect-ratio:16/9;object-fit:cover}
.fc--img h3{margin:1.3rem 1.6rem .5rem}
.fc--img p{margin:0 1.6rem 1.6rem}
.fc--img:hover{background:var(--g-t);border-color:var(--g)}

/* Area pages: the area's own graphic, and the sibling links */
.aimg{display:block;width:100%;height:auto;aspect-ratio:4/3}
.pimg--area{aspect-ratio:4/3;border:0}
.rel a{border-left:4px solid var(--g)}
.rel a:hover{background:var(--g);border-color:var(--g);color:#fff}
.rel a:hover svg{color:#fff}

/* Capabilities explorer */
.explore__nav button[data-col]{box-shadow:inset 4px 0 0 var(--g)}
.explore__nav button[data-col].on{background:var(--g);border-color:var(--g);color:#fff;box-shadow:none}
@media(max-width:860px){.explore__nav button[data-col]{box-shadow:inset 0 4px 0 var(--g)}.explore__nav button[data-col].on{box-shadow:none}}
.capspage .box,.box{padding:0;flex-direction:column;align-items:stretch;min-height:0}
.box img{display:block;width:100%;height:auto;aspect-ratio:21/9;object-fit:cover}
.box h3{padding:.95rem 1.15rem 1.05rem}
.capspage .box.on,.box.on{background:var(--g);border-color:var(--g)}
.capspage .box.on h3,.box.on h3{color:#fff}
.capspage .box:hover,.box:hover{border-color:var(--g)}
.capspage .box.on:hover,.box.on:hover{background:var(--g-d);border-color:var(--g-d)}
.detail{border-top:3px solid var(--g)}

/* People: filters and profile chips */
.filters button[data-col]{box-shadow:inset 0 0 0 1px var(--g-t)}
.filters button[data-col].on{background:var(--g);border-color:var(--g);color:#fff}
.filters button[data-col]:not(.on):hover{background:var(--g-t);border-color:var(--g)}
.aow a[data-col]{border-left:4px solid var(--g)}
.aow a[data-col] b{color:var(--g)}
.aow a[data-col]:hover{background:var(--g-t);border-color:var(--g)}
.pc .areas span[data-col]{border-left:3px solid var(--g)}

/* Colour cards (contact "Where to start", fees "How we charge") */
.ccard[data-col]{background:var(--g);border-color:var(--g);color:#fff;position:relative;overflow:hidden;margin-right:0;margin-bottom:0}
.ccard[data-col]::after{content:"";position:absolute;right:-60px;bottom:-70px;width:200px;height:200px;background:var(--kmt-bars) no-repeat center/contain;opacity:.1;pointer-events:none}
.ccard[data-col] h3,.ccard[data-col] p{color:#fff;position:relative;z-index:1}
.ccard[data-col] p{opacity:.92}
.ccard[data-col] .go{color:#fff;position:relative;z-index:1}
.ccard[data-col]:hover{background:var(--g-d);border-color:var(--g-d)}
.ccards{gap:1rem}

/* About page blocks */
.ab-img{margin:0;overflow:hidden;background:var(--kmt-ivory)}
.ab-img img{display:block;width:100%;height:auto}
.ab-img--sm{max-width:460px}
.ab-pull{background:var(--c-pc);color:#fff;padding:1.8rem 2rem;margin-top:1rem;position:relative;overflow:hidden}
.ab-pull::after{content:"";position:absolute;right:-50px;bottom:-60px;width:180px;height:180px;background:var(--kmt-bars) no-repeat center/contain;opacity:.12}
.ab-pull h3{font-size:1.45rem;color:#fff;margin:0;position:relative;z-index:1}
.ab-services{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem}
@media(max-width:980px){.ab-services{grid-template-columns:1fr 1fr}}
@media(max-width:560px){.ab-services{grid-template-columns:1fr}}
.sv{display:flex;flex-direction:column;background:#fff;border:1px solid var(--kmt-pale-plum);transition:160ms}
.sv img{display:block;width:100%;height:auto;aspect-ratio:16/9;object-fit:cover}
.sv h3{font-size:1.15rem;margin:1.2rem 1.4rem .5rem;color:var(--g)}
.sv p{margin:0 1.4rem 1.4rem;font-size:.95rem}
.sv:hover{background:var(--g-t);border-color:var(--g)}
.ab-collab{background:var(--c-im);color:#fff;padding:clamp(2rem,4vw,3.4rem);position:relative;overflow:hidden}
.ab-collab::after{content:"";position:absolute;right:-80px;top:-80px;width:320px;height:320px;background:var(--kmt-bars) no-repeat center/contain;opacity:.1}
.ab-collab h2,.ab-collab p{color:#fff;position:relative;z-index:1;max-width:68ch}
.ab-collab p{opacity:.92}
.sec--plum .ab-img{border:0}

/* Group pages: header with the group photograph */
.phead--split{padding-block:clamp(40px,5vw,64px)}
.phead--split .phead__grid{display:grid;grid-template-columns:1.1fr .9fr;gap:clamp(2rem,5vw,4rem);align-items:center}
.phead__img{margin:0;aspect-ratio:4/3;overflow:hidden;background:rgba(255,255,255,.08)}
.phead__img picture,.phead__img img{display:block;width:100%;height:100%}
.phead__img img{object-fit:cover}
@media(max-width:900px){.phead--split .phead__grid{grid-template-columns:1fr}.phead__img{aspect-ratio:16/9}}

/* Insight and news articles: header in the colour of the article's card */
.phead--g .lede time,.phead--g .rt{color:#fff!important}
@media(max-width:520px){.capspage .box,.box{flex-direction:row;align-items:center}.box img{width:104px;flex:0 0 104px;aspect-ratio:4/3;align-self:stretch;height:auto}.box h3{padding:.8rem .9rem}}

/* The firm's area photographs (21 Oct 2026) */
.fc--img picture,.box picture,.sv picture{display:block}
.fc--img picture img{display:block;width:100%;height:auto;aspect-ratio:16/9;object-fit:cover}
.sv picture img{display:block;width:100%;height:auto;aspect-ratio:16/9;object-fit:cover}
@media(max-width:520px){.box picture{width:104px;flex:0 0 104px;align-self:stretch}.box picture img{width:100%;height:100%;aspect-ratio:auto;object-fit:cover}}

/* Main fee earners box on area pages (21 Oct 2026) */
.lead__list{display:grid;gap:.5rem;margin-bottom:1.1rem}
.lead__list a.lead__p{margin:0;color:#fff;padding:.35rem .9rem .35rem .35rem;border:1px solid rgba(255,255,255,.2);border-radius:100px;transition:background .14s,border-color .14s}
.lead__list a.lead__p:hover,.lead__list a.lead__p:focus-visible{background:rgba(255,255,255,.12);border-color:rgba(255,255,255,.5)}
.lead__list .lead__p img{width:40px;height:40px}
.lead__list .lead__p b{font-size:1rem;line-height:1.25}
.lead__list .lead__p small{display:block;opacity:.8;font-size:.76rem}
.lead p.alt{margin:.6rem 0 0;text-align:center;font-size:.8rem;opacity:.8}
.lead p.alt:hover{text-decoration:none}
/* ===== end colour and graphics round ===== */
/* Screen-fit refinements (22 Oct 2026) */
@media(max-width:1180px){
  .nav.open{overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch}
  /* inside the phone and tablet menu the language list opens in place, full width, so every language is on screen */
  .nav .lang{width:100%}
  .nav .lang__m{position:static;min-width:0;width:100%;margin-top:.6rem;box-shadow:none;columns:2}
}
/* header logo: the firm's full logo (icon, KMT, SOLICITORS) on every screen size */
@media(max-width:1023px){
  .hdr__logo .lg--word,.hdr__logo .lg--letter{display:none}
  .hdr__logo .lg--primary{display:block;width:300px;max-width:none;height:auto}
  .hdr.stuck .hdr__logo .lg--primary{width:260px}
}
@media(max-width:620px){
  .hdr__in{padding-block:1rem}
  .hdr__logo .lg--primary,.hdr.stuck .hdr__logo .lg--primary{width:clamp(180px,calc(100vw - 130px),220px)}
}
@media(max-width:1023px) and (max-height:500px) and (orientation:landscape){
  .hdr__in{padding-block:.7rem}
  .hdr.stuck .hdr__in{padding-block:.55rem}
  .hdr__logo .lg--primary,.hdr.stuck .hdr__logo .lg--primary{width:180px}
}
/* desktop menu bar keeps its designed size when a visitor enlarges the text (page content still scales) */
@media(min-width:1181px){
  .hdr__in{gap:32px;padding-block:24px}
  .hdr.stuck .hdr__in{padding-block:13.6px}
  .hdr__logo{gap:12.8px}
  .nav{gap:27.2px}
  .nav>a,.drop>a{font-size:14.72px;padding:6.4px 0}
  .sbtn{gap:8px;padding:7.2px 12.8px;font-size:13.12px}
  .sbtn kbd{font-size:10.88px;padding:.8px 5.6px}
  .lang>button{padding:6.72px 11.52px;font-size:13.12px}
}
@media(min-width:1181px) and (max-width:1400px){
  .nav{gap:16.8px}
  .nav>a,.drop>a{font-size:13.76px}
}
/* the compact menu bar runs to 1419px: from 1401px to 1409px the full-size logo and menu were 2 to 4px too wide */
@media(min-width:1401px) and (max-width:1419px){
  .nav{gap:16.8px}
  .nav>a,.drop>a{font-size:13.76px}
  .sbtn kbd{display:none}
  .hdr__logo .lg--primary{max-width:200px}
}
/* larger text: the homepage practice-area tiles step down to the smaller-screen layout so every label fits */
@media(min-width:1200px){html[data-ts="1"] .groups,html[data-ts="2"] .groups{grid-template-columns:repeat(4,1fr)}}
@media(min-width:761px) and (max-width:799px){html[data-ts="1"] .groups{grid-template-columns:repeat(2,1fr)}}
@media(min-width:761px) and (max-width:999px){html[data-ts="2"] .groups{grid-template-columns:repeat(2,1fr)}}
/* larger text: the opening hours in the top bar give way a little earlier so the bar stays on one line */
@media(max-width:1099px){html[data-ts="1"] .util__l .hours,html[data-ts="2"] .util__l .hours{display:none}}
/* People grid keeps its columns even if a photo fails to load (a broken image's alt text could widen a card) */
.people>.pc{min-width:0}
/* the text-size control is offered from 761px up; phones follow their own system text size */
@media(max-width:760px){html{font-size:100%!important}}
/* end screen-fit refinements */

/* Homepage hero animation (22 Oct 2026) */
.hero--anim{padding-block:clamp(48px,6vw,96px) clamp(72px,8vw,120px)}
.hero__split{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);gap:clamp(1.5rem,4vw,4rem);align-items:center}
.hero__copy{min-width:0}
.hero__media{position:relative;width:100%;max-width:560px;justify-self:end;aspect-ratio:4/3;background:var(--kmt-plum)}
.hero__vid{position:absolute;inset:0;display:block;width:100%;height:100%;object-fit:cover;object-position:50% 50%;
  -webkit-mask-image:radial-gradient(ellipse closest-side at 50% 50%,#000 64%,transparent 100%);
          mask-image:radial-gradient(ellipse closest-side at 50% 50%,#000 64%,transparent 100%)}
.hero__vid::-webkit-media-controls,.hero__vid::-webkit-media-controls-panel,.hero__vid::-webkit-media-controls-start-playback-button,.hero__vid::-webkit-media-controls-overlay-play-button{display:none!important;-webkit-appearance:none}
.hero__media.is-still{background-position:50% 50%;background-size:cover;background-repeat:no-repeat}
.hero__media.is-still .hero__vid{visibility:hidden}
.hero--anim .hero__pat{display:none}
@media(max-width:1000px){.hero__split{grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:1.5rem}}
@media(max-width:700px){
  .hero--anim{padding-block:12px clamp(64px,10vw,96px)}
  .hero__split{grid-template-columns:minmax(0,1fr);gap:.25rem}
  .hero__media{order:-1;justify-self:center;max-width:520px;aspect-ratio:16/9}
}
/* phones turned sideways: headline and mark side by side, the mark fully on the first screen */
@media(max-width:1023px) and (max-height:500px) and (orientation:landscape){
  .hero--anim{padding-block:16px 64px}
  .hero__split{grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:1.5rem}
  .hero__media{order:0;justify-self:end;align-self:start;max-width:none;aspect-ratio:4/3}
}
