/* MGCo. Legal — static site styles */
:root{--ink:#0B0F12;--navy:#103040;--teal:#006070;--teal-lt:#7FB5BD;--line:#E4E6E6;--line-dk:rgba(255,255,255,.12);--grey:#3A4449;--grey-2:#6B7377;--grey-3:#9AA3A7;--stroke-grey:#C6CCCE;--sans:'Archivo',sans-serif;--mono:'IBM Plex Mono',monospace;--serif:'Cormorant Garamond',serif}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:#fff;color:var(--ink);font-family:var(--sans);-webkit-font-smoothing:antialiased}
a{color:var(--teal);text-decoration:none}
a:hover{color:var(--navy)}
img{max-width:100%}
.mono{font-family:var(--mono)}
.kicker{margin:0 0 28px;font-family:var(--mono);font-size:11px;letter-spacing:.22em;text-transform:uppercase;color:var(--teal)}
.outline{color:transparent;-webkit-text-stroke:1.5px var(--navy)}
.outline-w{color:transparent;-webkit-text-stroke:1.2px var(--teal-lt)}
.serif-accent{font-family:var(--serif);font-style:italic;font-weight:500;text-transform:none;letter-spacing:0;color:var(--teal)}

/* Header */
.site-header{position:fixed;top:0;left:0;right:0;z-index:60;display:flex;align-items:stretch;justify-content:space-between;background:#fff;border-bottom:1px solid var(--line)}
.site-header .logo{display:flex;align-items:center;padding:14px 32px;border-right:1px solid var(--line)}
.site-header .logo img{height:38px;display:block}
.site-nav{display:flex;align-items:stretch}
.site-nav a{display:flex;align-items:center;padding:0 22px;border-left:1px solid var(--line);color:var(--ink);font-family:var(--mono);font-size:11px;letter-spacing:.14em;text-transform:uppercase;transition:background .2s,color .2s}
.site-nav a:hover{background:var(--ink);color:#fff}
.menu-btn{display:flex;align-items:center;gap:10px;padding:0 32px;border:none;border-left:1px solid var(--line);background:var(--navy);color:#fff;cursor:pointer;font-family:var(--mono);font-size:11px;letter-spacing:.18em;text-transform:uppercase;transition:background .2s}
.menu-btn:hover{background:var(--teal)}
.menu-btn .glyph{color:var(--teal-lt)}

/* Overlay menu */
.overlay-menu{position:fixed;inset:0;z-index:90;background:var(--ink);color:#fff;display:none;flex-direction:column}
.overlay-menu.open{display:flex;animation:fadeIn .3s ease both}
.overlay-menu .bar{display:flex;justify-content:space-between;align-items:center;padding:20px 32px;border-bottom:1px solid var(--line-dk)}
.overlay-menu .bar span{font-family:var(--mono);font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:var(--teal-lt)}
.overlay-menu .close-btn{background:none;border:1px solid rgba(255,255,255,.25);color:#fff;padding:10px 24px;font-family:var(--mono);font-size:11px;letter-spacing:.18em;text-transform:uppercase;cursor:pointer;transition:background .2s,color .2s}
.overlay-menu .close-btn:hover{background:#fff;color:var(--ink)}
.overlay-menu nav{flex:1;display:flex;flex-direction:column;justify-content:center;padding:0 32px;overflow-y:auto}
.overlay-menu nav a{display:flex;align-items:baseline;gap:32px;padding:6px 0;border-bottom:1px solid rgba(255,255,255,.1);color:#fff;transition:padding-left .35s cubic-bezier(.19,1,.22,1),color .2s}
.overlay-menu nav a:hover{color:var(--teal-lt);padding-left:24px}
.overlay-menu nav .n{font-family:var(--mono);font-size:12px;letter-spacing:.14em;color:var(--teal)}
.overlay-menu nav .l{font-weight:650;font-size:clamp(30px,4.8vw,64px);line-height:1.15;letter-spacing:-.02em;text-transform:uppercase}
.overlay-menu .meta{display:flex;gap:48px;flex-wrap:wrap;padding:20px 32px;border-top:1px solid var(--line-dk);font-family:var(--mono);font-size:11px;letter-spacing:.12em}
.overlay-menu .meta a{color:rgba(255,255,255,.75)}
.overlay-menu .meta .loc{margin-left:auto;color:rgba(255,255,255,.4)}

/* BCI gate */
.gate{position:fixed;inset:0;z-index:100;background:rgba(11,15,18,.82);display:none;align-items:center;justify-content:center;padding:24px}
.gate.open{display:flex;animation:fadeIn .4s ease both}
.gate .panel{background:#fff;max-width:660px;max-height:84vh;overflow:auto}
.gate .panel-head{display:flex;justify-content:space-between;align-items:center;padding:18px 40px;border-bottom:1px solid var(--line);font-family:var(--mono);font-size:10px;letter-spacing:.18em;text-transform:uppercase}
.gate .panel-head .t{color:var(--teal)}.gate .panel-head .r{color:var(--grey-3)}
.gate .panel-body{padding:36px 40px;font-size:13.5px;line-height:1.8;color:var(--grey)}
.gate .panel-body h2{margin:0 0 22px;font-weight:650;font-size:26px;line-height:1.2;letter-spacing:-.01em;color:var(--ink)}
.gate .panel-body p{margin:0 0 13px}
.gate .panel-foot{display:flex;border-top:1px solid var(--line)}
.gate .panel-foot button{flex:1;padding:20px;font-family:var(--mono);font-size:12px;letter-spacing:.2em;text-transform:uppercase;cursor:pointer;border:none;transition:background .2s,color .2s}
.gate .agree{background:var(--ink);color:#fff}.gate .agree:hover{background:var(--navy)}
.gate .disagree{background:#fff;color:var(--grey-2);border-left:1px solid var(--line)}.gate .disagree:hover{background:#F2F3F3;color:var(--ink)}

/* Hero */
.hero{min-height:100vh;display:grid;grid-template-columns:1fr 200px;border-bottom:1px solid var(--line)}
.hero-main{display:flex;flex-direction:column;justify-content:flex-end;padding:150px 0 0 32px;overflow:hidden}
.hero h1,.page-hero h1{margin:0;font-weight:700;text-transform:uppercase;line-height:.92;letter-spacing:-.03em}
.hero h1{font-size:clamp(58px,10.2vw,176px)}
.hero .line{display:block;overflow:hidden}
.hero .line>span{display:block;transform:translateY(112%);animation:mk .9s cubic-bezier(.19,1,.22,1) forwards}
.hero .l1>span{color:var(--navy);animation-delay:.25s}
.hero .l2>span{color:transparent;-webkit-text-stroke:1.5px var(--navy);animation-delay:.4s}
.hero .l3>span{color:var(--ink);animation-delay:.55s}
.hero .l4>span{font-family:var(--serif);font-style:italic;font-weight:500;text-transform:none;letter-spacing:0;color:var(--teal);animation-delay:.7s}
.hero-foot{display:flex;justify-content:space-between;align-items:flex-end;gap:48px;flex-wrap:wrap;margin:56px 32px 0 0;padding:26px 0;border-top:1px solid var(--ink)}
.hero-foot p{margin:0;max-width:480px;font-size:15px;line-height:1.7;color:var(--grey)}
.hero-rail{border-left:1px solid var(--line);padding:150px 24px 40px;display:flex;flex-direction:column;justify-content:space-between;font-family:var(--mono);font-size:10px;letter-spacing:.12em;color:var(--grey-2)}
.hero-rail .idx{display:flex;flex-direction:column;gap:9px;text-transform:uppercase}
.hero-rail .idx .t{color:var(--teal);margin-bottom:6px}
.hero-rail .vert{writing-mode:vertical-rl;text-transform:uppercase;letter-spacing:.3em;color:var(--grey-3)}
.fade-in{opacity:0;animation:rv .8s cubic-bezier(.19,1,.22,1) forwards}
.d1{animation-delay:.15s}.d2{animation-delay:.7s}.d3{animation-delay:.95s}.d4{animation-delay:1.1s}

/* Page hero (inner pages) */
.page-hero{padding:170px 32px 70px;border-bottom:1px solid var(--line)}
.page-hero h1{font-size:clamp(50px,9.6vw,160px)}
.page-hero h1 .a{display:block;color:var(--navy)}
.page-hero h1 .b{display:block;color:transparent;-webkit-text-stroke:1.5px var(--navy)}
.page-hero .lede{margin:44px 0 0;max-width:680px;font-size:16px;line-height:1.75;color:var(--grey)}

/* Buttons + links */
.btn{display:inline-block;font-family:var(--mono);font-size:11px;letter-spacing:.2em;text-transform:uppercase;color:var(--ink);border:1px solid var(--ink);padding:16px 30px;transition:background .25s,color .25s;background:none;cursor:pointer}
.btn:hover{background:var(--ink);color:#fff}
.btn-w{color:#fff;border-color:rgba(255,255,255,.4)}
.btn-w:hover{background:#fff;color:var(--ink)}
.tlink{font-family:var(--mono);font-size:11px;letter-spacing:.2em;text-transform:uppercase;color:var(--ink);border-bottom:1px solid var(--teal);padding-bottom:6px}

/* Split sections */
.split{display:grid;grid-template-columns:minmax(220px,1fr) minmax(320px,2.2fr);border-bottom:1px solid var(--line)}
.split-l{border-right:1px solid var(--line);padding:64px 32px}
.split-l .sticky{position:sticky;top:110px}
.big-num{display:block;font-weight:700;font-size:clamp(80px,9vw,150px);line-height:1;color:transparent;-webkit-text-stroke:1.2px var(--stroke-grey)}
.split-l .lab{font-family:var(--mono);font-size:11px;letter-spacing:.22em;text-transform:uppercase;color:var(--teal)}
.split-r{padding:64px 32px 80px}
.split-r h2{margin:0 0 32px;font-weight:600;font-size:clamp(28px,3.4vw,52px);line-height:1.15;letter-spacing:-.02em;max-width:900px;text-wrap:balance}
.two-col{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:40px;max-width:900px}
.two-col p,.split-r>p{margin:0 0 18px;font-size:14.5px;line-height:1.85;color:var(--grey);max-width:760px}

/* Section headers */
.sec-head{display:flex;justify-content:space-between;align-items:baseline;gap:32px;flex-wrap:wrap;padding:64px 32px 40px}
.sec-head h2{margin:0;font-weight:700;text-transform:uppercase;font-size:clamp(48px,7.4vw,120px);line-height:.95;letter-spacing:-.03em;color:var(--navy)}
.sec-head .tag{font-family:var(--mono);font-size:11px;letter-spacing:.2em;text-transform:uppercase;color:var(--grey-2)}

/* Practice accordion */
.practice-row{border-top:1px solid var(--line);cursor:pointer;transition:background .35s}
.practice-row .head{display:flex;align-items:baseline;gap:32px;padding:22px 32px}
.practice-row .n{font-family:var(--mono);font-size:12px;letter-spacing:.14em;min-width:34px;color:var(--grey-3);transition:color .3s}
.practice-row h3{margin:0;font-weight:600;font-size:clamp(22px,2.6vw,38px);line-height:1.1;letter-spacing:-.015em;text-transform:uppercase;color:var(--ink);transition:transform .4s cubic-bezier(.19,1,.22,1),color .35s}
.practice-row .arr{margin-left:auto;font-size:18px;color:var(--teal-lt);opacity:0;transition:opacity .3s}
.practice-row .body{display:grid;grid-template-rows:0fr;transition:grid-template-rows .5s cubic-bezier(.19,1,.22,1)}
.practice-row .body>div{overflow:hidden}
.practice-row .body p{margin:0;padding:0 32px 28px 98px;max-width:820px;font-size:14px;line-height:1.75;color:rgba(255,255,255,.75)}
.practice-row.active{background:var(--navy)}
.practice-row.active .n{color:var(--teal-lt)}
.practice-row.active h3{color:#fff;transform:translateX(14px)}
.practice-row.active .arr{opacity:1}
.practice-row.active .body{grid-template-rows:1fr}
.row-cta{border-top:1px solid var(--line);padding:22px 32px;text-align:right}

/* Dark sections */
.dark{background:var(--ink);color:#fff;border-bottom:1px solid var(--line-dk)}
.dark .sec-head h2{color:transparent;-webkit-text-stroke:1.5px rgba(255,255,255,.85)}
.dark .sec-head .tag{color:rgba(255,255,255,.45)}
.ind-row{display:flex;align-items:baseline;gap:32px;padding:30px 32px;border-top:1px solid var(--line-dk);color:#fff;transition:padding-left .4s cubic-bezier(.19,1,.22,1),color .2s}
.ind-row:hover{color:var(--teal-lt);padding-left:56px}
.ind-row .n{font-family:var(--mono);font-size:12px;letter-spacing:.14em;color:var(--teal);min-width:34px}
.ind-row .t{font-weight:600;font-size:clamp(24px,3.4vw,52px);line-height:1.05;letter-spacing:-.02em;text-transform:uppercase}
.ind-row .m{margin-left:auto;font-family:var(--mono);font-size:10.5px;letter-spacing:.16em;text-transform:uppercase;color:rgba(255,255,255,.4);text-align:right;max-width:280px}

/* Ticker */
.ticker-wrap{border-top:1px solid var(--line-dk);overflow:hidden;padding:20px 0}
.ticker{display:flex;white-space:nowrap;font-weight:700;text-transform:uppercase;font-size:clamp(28px,3.6vw,54px);letter-spacing:-.01em;color:transparent;-webkit-text-stroke:1px rgba(255,255,255,.35);animation:ticker 30s linear infinite}
.ticker span{padding-right:.6em}
.ticker-cap{margin:14px 32px 0;font-family:var(--mono);font-size:10.5px;letter-spacing:.2em;text-transform:uppercase;color:rgba(255,255,255,.45)}

/* Linkages */
.linkages{display:grid;grid-template-columns:1fr 1fr;border-bottom:1px solid var(--line)}
.linkage{padding:72px 32px}
.linkage:first-child{border-right:1px solid var(--line)}
.linkage h3{margin:0 0 22px;font-weight:600;font-size:clamp(26px,3vw,44px);letter-spacing:-.02em;line-height:1.05}
.linkage p{margin:0 0 26px;max-width:460px;font-size:14px;line-height:1.8;color:var(--grey)}
.linkage .k{margin:0 0 8px;font-family:var(--mono);font-size:11px;letter-spacing:.22em;text-transform:uppercase;color:var(--teal)}

/* Partners grid (home) */
.partners-grid{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid var(--line)}
.partner-card{position:relative;display:block;overflow:hidden}
.partner-card:first-child{border-right:1px solid var(--line)}
.partner-card img{display:block;width:100%;height:560px;object-fit:cover;object-position:top;filter:grayscale(1) contrast(1.06);transition:filter .5s ease,transform .7s cubic-bezier(.19,1,.22,1)}
.partner-card:hover img{filter:grayscale(0);transform:scale(1.02)}
.partner-card .cap{position:absolute;left:0;right:0;bottom:0;padding:24px 28px;background:linear-gradient(transparent,rgba(11,15,18,.82));pointer-events:none}
.partner-card .cap .nm{margin:0;font-weight:700;text-transform:uppercase;font-size:clamp(26px,3vw,46px);letter-spacing:-.02em;color:#fff;line-height:1}
.partner-card .cap .rl{margin:8px 0 0;font-family:var(--mono);font-size:10.5px;letter-spacing:.22em;text-transform:uppercase;color:var(--teal-lt)}

/* CTA band */
.cta-band{padding:90px 32px;display:flex;justify-content:space-between;align-items:center;gap:48px;flex-wrap:wrap;border-bottom:1px solid var(--line)}
.cta-band h2{margin:0;font-weight:700;text-transform:uppercase;font-size:clamp(30px,4.4vw,64px);letter-spacing:-.03em;line-height:1;max-width:820px;color:var(--navy)}
.cta-band.dark{border-bottom:none}
.cta-band.dark h2{color:#fff}

/* Contact big */
.contact-big{padding:110px 32px 90px;border-bottom:1px solid var(--line)}
.contact-big .big{display:block;font-weight:700;text-transform:uppercase;font-size:clamp(56px,10vw,168px);line-height:.95;letter-spacing:-.03em;color:var(--navy)}
.contact-big .big .o{color:transparent;-webkit-text-stroke:1.5px var(--teal)}
.contact-links{display:flex;gap:48px;flex-wrap:wrap;margin-top:40px;font-family:var(--mono);font-size:12px;letter-spacing:.12em}
.contact-links a{color:var(--ink);border-bottom:1px solid var(--teal);padding-bottom:5px}
.contact-links a.plain{color:var(--grey-2);border-bottom:none}

/* Values / list rows */
.value-row{display:grid;grid-template-columns:100px minmax(180px,1fr) minmax(280px,2fr);gap:32px;align-items:baseline;padding:30px 32px;border-top:1px solid var(--line);transition:background .3s,padding-left .4s cubic-bezier(.19,1,.22,1)}
.value-row:hover{background:#F5F7F7;padding-left:56px}
.value-row .n{font-family:var(--mono);font-size:12px;letter-spacing:.14em;color:var(--teal)}
.value-row h3{margin:0;font-weight:600;font-size:clamp(20px,2.2vw,30px);letter-spacing:-.015em;text-transform:uppercase}
.value-row p{margin:0;font-size:14px;line-height:1.75;color:var(--grey);max-width:640px}

/* Sector list */
.sector-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));border-top:1px solid var(--line);max-width:900px}
.sector-grid .cell{display:flex;align-items:baseline;gap:16px;padding:16px 4px;border-bottom:1px solid var(--line)}
.sector-grid .cell .n{font-family:var(--mono);font-size:10px;color:var(--grey-3)}
.sector-grid .cell .t{font-size:14px;font-weight:500;letter-spacing:.02em;text-transform:uppercase;color:var(--navy)}

/* Practice detail sections */
.area{display:grid;grid-template-columns:minmax(240px,1fr) minmax(320px,1.8fr);border-bottom:1px solid var(--line)}
.area-l{border-right:1px solid var(--line);padding:56px 32px}
.area-l .sticky{position:sticky;top:110px}
.area-l h2{margin:16px 0 0;font-weight:600;font-size:clamp(24px,2.4vw,36px);line-height:1.1;letter-spacing:-.015em;text-transform:uppercase;color:var(--navy);text-wrap:balance}
.area-r{padding:56px 32px 64px}
.area-r p.body{margin:0 0 28px;max-width:760px;font-size:15px;line-height:1.85;color:var(--grey)}
.area-r p.tags{margin:0;font-family:var(--mono);font-size:11px;letter-spacing:.16em;text-transform:uppercase;line-height:2.3;color:var(--teal)}
.area.inv{background:var(--ink);color:#fff}
.area.inv .area-l{border-right-color:var(--line-dk)}
.area.inv .area-l h2{color:#fff}
.area.inv .big-num{-webkit-text-stroke-color:rgba(255,255,255,.4)}
.area.inv .area-r p.body{color:rgba(255,255,255,.72)}
.area.inv .area-r p.tags{color:var(--teal-lt)}

/* Team page */
.partner-sec{display:grid;grid-template-columns:minmax(300px,1fr) minmax(340px,1.5fr);border-bottom:1px solid var(--line)}
.partner-sec .photo-col{border-right:1px solid var(--line)}
.partner-sec .photo-col .sticky{position:sticky;top:70px}
.partner-sec .photo-col img{display:block;width:100%;height:calc(100vh - 70px);object-fit:cover;object-position:top;filter:grayscale(1) contrast(1.06);transition:filter .5s ease}
.partner-sec .photo-col img:hover{filter:grayscale(0)}
.partner-sec .info{padding:64px 32px 84px}
.partner-sec .info .n{font-family:var(--mono);font-size:12px;letter-spacing:.14em;color:var(--teal)}
.partner-sec .info h2{margin:12px 0 6px;font-weight:700;text-transform:uppercase;font-size:clamp(34px,4.4vw,68px);line-height:.98;letter-spacing:-.025em;color:var(--navy)}
.partner-sec .info .role{margin:0 0 36px;font-family:var(--mono);font-size:11px;letter-spacing:.22em;text-transform:uppercase;color:var(--grey-2)}
.partner-sec .info p.bio{margin:0 0 18px;max-width:680px;font-size:14.5px;line-height:1.85;color:var(--grey)}
.spec-row{border-top:1px solid var(--line);padding:22px 0;display:grid;grid-template-columns:minmax(140px,1fr) minmax(220px,2.4fr);gap:24px}
.spec-row:last-child{border-bottom:1px solid var(--line)}
.spec-row .k{font-family:var(--mono);font-size:10px;letter-spacing:.2em;text-transform:uppercase;color:var(--teal)}
.spec-row p{margin:0 0 6px;font-size:13.5px;line-height:1.65}
.spec-row p.mono-list{font-family:var(--mono);font-size:11.5px;letter-spacing:.12em;text-transform:uppercase;line-height:2.2;color:var(--navy)}

/* Careers dark CTA */
.careers-cta{background:var(--ink);color:#fff;padding:110px 32px}
.careers-cta h2{margin:0 0 28px;max-width:1100px;font-weight:700;text-transform:uppercase;font-size:clamp(30px,4.6vw,68px);line-height:1;letter-spacing:-.025em}
.careers-cta p{margin:0 0 44px;max-width:620px;font-size:14.5px;line-height:1.8;color:rgba(255,255,255,.7)}
.careers-cta .apply{display:inline-block;background:#fff;color:var(--ink);padding:20px 44px;font-family:var(--mono);font-size:12px;letter-spacing:.2em;text-transform:uppercase;transition:background .25s,color .25s}
.careers-cta .apply:hover{background:var(--teal);color:#fff}

/* Vision band */
.vision{background:var(--ink);color:#fff;padding:110px 32px;border-bottom:1px solid var(--line-dk)}
.vision .k{margin:0 0 24px;font-family:var(--mono);font-size:11px;letter-spacing:.22em;text-transform:uppercase;color:var(--teal-lt)}
.vision h2{margin:0;max-width:1200px;font-weight:600;font-size:clamp(28px,4.2vw,64px);line-height:1.12;letter-spacing:-.02em;text-wrap:balance}

/* Contact page */
.contact-grid{display:grid;grid-template-columns:minmax(300px,1fr) minmax(320px,1fr);border-bottom:1px solid var(--line)}
.contact-grid .col-l{border-right:1px solid var(--line)}
.office{padding:48px 32px;border-bottom:1px solid var(--line)}
.office:last-child{border-bottom:none}
.office .k{margin:0 0 12px;font-family:var(--mono);font-size:10px;letter-spacing:.2em;text-transform:uppercase;color:var(--teal)}
.office .addr{margin:0 0 20px;font-weight:600;font-size:clamp(20px,2vw,28px);line-height:1.35;letter-spacing:-.01em;color:var(--navy)}
.office p.small{margin:0;font-size:14px;line-height:2;color:var(--grey)}
.form-col{padding:48px 32px 64px}
.form-col .hint{margin:0 0 36px;font-size:13px;line-height:1.7;color:var(--grey-2)}
.form-col form{display:flex;flex-direction:column;gap:24px}
.form-col label{display:flex;flex-direction:column;gap:10px;font-family:var(--mono);font-size:10px;letter-spacing:.2em;text-transform:uppercase;color:var(--grey-2)}
.form-col input,.form-col textarea{border:none;border-bottom:1px solid var(--stroke-grey);background:transparent;padding:10px 0;font-size:16px;font-family:var(--sans);color:var(--ink);outline:none;border-radius:0}
.form-col input:focus,.form-col textarea:focus{border-bottom-color:var(--teal)}
.form-col button{align-self:flex-start;background:var(--ink);color:#fff;border:none;padding:18px 40px;font-family:var(--mono);font-size:11px;letter-spacing:.2em;text-transform:uppercase;cursor:pointer;transition:background .25s}
.form-col button:hover{background:var(--navy)}

/* Footer */
.site-footer{background:var(--ink);color:rgba(255,255,255,.65)}
.site-footer .mast{padding:90px 32px 40px;border-bottom:1px solid var(--line-dk)}
.site-footer .mast .wordmark{margin:0;font-weight:650;font-size:clamp(64px,11vw,190px);line-height:.95;letter-spacing:-.03em;color:#fff;text-transform:uppercase}
.site-footer .mast .wordmark em{font-style:normal;color:var(--teal)}
.site-footer .mast .sub{margin:20px 0 0;font-family:var(--mono);font-size:11px;letter-spacing:.2em;text-transform:uppercase;color:rgba(255,255,255,.45)}
.site-footer .cols{display:grid;grid-template-columns:1.6fr 1fr 1.4fr;border-bottom:1px solid var(--line-dk)}
.site-footer .cols>div,.site-footer .cols>nav{padding:40px 32px}
.site-footer .cols .about-col{border-right:1px solid var(--line-dk)}
.site-footer .cols .about-col p{margin:0;max-width:420px;font-size:13.5px;line-height:1.8}
.site-footer .cols nav{border-right:1px solid var(--line-dk);display:flex;flex-direction:column;gap:10px;font-family:var(--mono);font-size:11.5px;letter-spacing:.12em;text-transform:uppercase}
.site-footer .cols nav a,.site-footer a{color:rgba(255,255,255,.75)}
.site-footer a:hover{color:var(--teal-lt)}
.site-footer .offices{font-size:13px;line-height:1.75}
.site-footer .offices .k{font-family:var(--mono);font-size:10px;letter-spacing:.18em;text-transform:uppercase;color:var(--teal)}
.site-footer .offices p{margin:0 0 16px}
.site-footer .legal{display:flex;justify-content:space-between;gap:24px;flex-wrap:wrap;padding:22px 32px;font-family:var(--mono);font-size:10.5px;letter-spacing:.1em;color:rgba(255,255,255,.4)}
.site-footer .legal a{color:rgba(255,255,255,.55)}
.site-footer .legal .links{display:flex;gap:28px;flex-wrap:wrap}

/* Reveal on scroll */
.reveal{opacity:0;transform:translateY(36px);transition:opacity .9s cubic-bezier(.19,1,.22,1),transform .9s cubic-bezier(.19,1,.22,1)}
.reveal.in{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}.reveal{opacity:1;transform:none}}

@keyframes fadeIn{from{opacity:0}to{opacity:1}}
@keyframes mk{to{transform:none}}
@keyframes rv{from{opacity:0;transform:translateY(36px)}to{opacity:1;transform:none}}
@keyframes ticker{from{transform:translateX(0)}to{transform:translateX(-50%)}}

/* Responsive */
@media (max-width:1100px){.site-nav a{display:none}}
@media (max-width:900px){
  .hero{grid-template-columns:1fr}
  .hero-rail{display:none}
  .split,.area,.partner-sec,.contact-grid,.linkages,.partners-grid{grid-template-columns:1fr}
  .split-l,.area-l,.contact-grid .col-l,.linkage:first-child,.partner-card:first-child{border-right:none;border-bottom:1px solid var(--line)}
  .area.inv .area-l{border-bottom-color:var(--line-dk)}
  .split-l .sticky,.area-l .sticky,.partner-sec .photo-col .sticky{position:static}
  .partner-sec .photo-col img{height:70vh}
  .value-row{grid-template-columns:60px 1fr;gap:16px}
  .value-row p{grid-column:1/-1}
  .practice-row .body p{padding-left:32px}
  .spec-row{grid-template-columns:1fr}
  .site-footer .cols{grid-template-columns:1fr}
  .site-footer .cols .about-col,.site-footer .cols nav{border-right:none;border-bottom:1px solid var(--line-dk)}
}
@media (max-width:600px){
  .site-header .logo{padding:12px 16px}
  .site-header .logo img{height:30px}
  .menu-btn{padding:0 20px}
  .hero-main,.page-hero{padding-left:20px;padding-right:20px}
  .page-hero{padding-top:140px}
  .sec-head,.split-l,.split-r,.area-l,.area-r,.cta-band,.contact-big,.office,.form-col,.linkage,.careers-cta,.vision,.partner-sec .info{padding-left:20px;padding-right:20px}
  .practice-row .head,.ind-row,.value-row,.row-cta{padding-left:20px;padding-right:20px}
  .practice-row .body p{padding:0 20px 24px}
  .site-footer .mast,.site-footer .cols>div,.site-footer .cols>nav,.site-footer .legal{padding-left:20px;padding-right:20px}
  .overlay-menu nav,.overlay-menu .bar,.overlay-menu .meta{padding-left:20px;padding-right:20px}
  .gate .panel-body,.gate .panel-head{padding-left:24px;padding-right:24px}
}
